Sha256: 4dc178922c3b49843b9a3b83768422183f90ae64a7206cde755238bdd43d1520

Contents?: true

Size: 975 Bytes

Versions: 18

Compression:

Stored size: 975 Bytes

Contents

# frozen_string_literal: true

require 'minitest/autorun'
require 'json'
require_relative '../lib/twiglet/formatter'
require_relative '../lib/twiglet/validator'

describe Twiglet::Formatter do
  before do
    @now = -> { Time.utc(2020, 5, 11, 15, 1, 1) }
    @formatter = Twiglet::Formatter.new('petshop', now: @now, validator: Twiglet::Validator.new({}.to_json))
  end

  it 'initializes an instance of a Ruby Logger Formatter' do
    assert @formatter.is_a?(::Logger::Formatter)
  end

  it 'returns a formatted log from a string message' do
    msg = @formatter.call('warn', nil, nil, 'shop is running low on dog food')
    expected_log = {
      "ecs" => {
        "version" => '1.5.0'
      },
      "@timestamp" => '2020-05-11T15:01:01.000Z',
      "service" => {
        "name" => 'petshop'
      },
      "log" => {
        "level" => 'warn'
      },
      "message" => 'shop is running low on dog food'
    }
    assert_equal JSON.parse(msg), expected_log
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
twiglet-3.4.9 test/formatter_test.rb
twiglet-3.4.8 test/formatter_test.rb
twiglet-3.4.3 test/formatter_test.rb
twiglet-3.4.2 test/formatter_test.rb
twiglet-3.4.1 test/formatter_test.rb
twiglet-3.4.0 test/formatter_test.rb
twiglet-3.3.7 test/formatter_test.rb
twiglet-3.3.6 test/formatter_test.rb
twiglet-3.3.5 test/formatter_test.rb
twiglet-3.3.4 test/formatter_test.rb
twiglet-3.3.3 test/formatter_test.rb
twiglet-3.3.2 test/formatter_test.rb
twiglet-3.3.0 test/formatter_test.rb
twiglet-3.2.5 test/formatter_test.rb
twiglet-3.2.4 test/formatter_test.rb
twiglet-3.2.2 test/formatter_test.rb
twiglet-3.2.1 test/formatter_test.rb
twiglet-3.2.0 test/formatter_test.rb