Sha256: b02df160932dff3d6ca21d978d2b0f3d14a674501590dfff920445bda09e688d

Contents?: true

Size: 1.15 KB

Versions: 4

Compression:

Stored size: 1.15 KB

Contents

require "spec_helper"

describe Logtail::LogEntry do
  let(:time) { Time.utc(2021, 06, 11, 12, 0, 0) }

  describe "#to_msgpack" do
    it "should encode properly with an event and context" do
      event = {
        message: "event_message",
        event: {
          event_type: {
            a: 1
          }
        }
      }
      context = {custom: {a: "b"}}
      log_entry = described_class.new("INFO", time, nil, "log message", context, event)
      msgpack = log_entry.to_msgpack
      expect(msgpack).to start_with("\x85\xA5level\xA4INFO\xA2dt\xBB2021-06-11T12:00:00.000000Z".force_encoding("ASCII-8BIT"))
    end
  end

  describe "#to_hash" do
    it "should include runtime context information" do
      log_entry = Logtail::Logger::PassThroughFormatter.new.call("INFO", time, "", "log message")

      hash = log_entry.to_hash
      expect(hash[:context]).to_not be_nil
      expect(hash[:context][:runtime]).to_not be_nil
      expect(hash[:context][:runtime][:file]).to end_with('/spec/logtail/log_entry_spec.rb')
      expect(hash[:context][:runtime][:line]).to be(25)
      expect(hash[:context][:runtime][:frame_label]).to_not be_nil
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
logtail-0.1.6 spec/logtail/log_entry_spec.rb
logtail-0.1.5 spec/logtail/log_entry_spec.rb
logtail-0.1.4 spec/logtail/log_entry_spec.rb
logtail-0.1.3 spec/logtail/log_entry_spec.rb