test/unit/log_formatter_test.rb in filum-1.0.2 vs test/unit/log_formatter_test.rb in filum-1.0.3

- old
+ new

@@ -2,25 +2,50 @@ module Filum class LogFormatterTest < Minitest::Test - def test_string_format + def test_string_format_contains_correct_when_padding_stripped_out formatter = Filum::LogFormatter.new severity = "SEV123" timestamp = "Timestamp123" msg = "My Message" context_id = "context_id" object_id = Thread.current.object_id file_and_line = "file_and_line" - formatter.stubs(calling_file_and_line: file_and_line) + formatter.stubs(formatted_calling_file_and_line: file_and_line) Thread.current[:context_id] = context_id output = formatter.call(severity, timestamp, nil, msg) - desired = "#{timestamp} thread_id-#{object_id} [#{context_id}] #{severity} | #{file_and_line} | #{msg}\n" - assert_equal desired.strip.hex, output.strip.hex + desired = "#{timestamp} t-#{object_id} [#{context_id}] #{severity} | #{file_and_line} | #{msg}\n" + assert_equal desired, output.gsub(/[ ]+/, ' ') end + + def test_severity_should_pad_to_5_chars + formatter = Filum::LogFormatter.new + severity = "SEV" + timestamp = "Timestamp123" + msg = "My Message" + output = formatter.call(severity, timestamp, nil, msg) + actual_severity_field = output.match(/SEV\s+\|/)[0] + assert_equal "SEV |", actual_severity_field + end + + def test_can_format_with_nil_severity + formatter = Filum::LogFormatter.new + formatter.call(nil, "timestamp", nil, "msg") + end + + def test_can_format_with_nil_timestamp + formatter = Filum::LogFormatter.new + formatter.call("SEV", nil, nil, "msg") + end + + def test_can_format_with_nil_msg + formatter = Filum::LogFormatter.new + formatter.call("SEV", "timestamp", nil, nil) + end def test_call_calls_formatted_context_id formatter = Filum::LogFormatter.new formatter.expects(:formatted_context_id) formatter.call("", "", "", "") @@ -90,7 +115,28 @@ formatter = Filum::LogFormatter.new formatter.stubs(calling_code: line) output = formatter.send(:formatted_calling_file_and_line) assert_equal "foobar.txt:30 ", output end + + def test_call_calls_formatted_thread_id + formatter = Filum::LogFormatter.new + formatter.expects(:formatted_thread_id) + formatter.call("", "", "", "") + end + + def test_formatted_thread_id_should_pad + formatter = Filum::LogFormatter.new + formatter.stubs(thread_id: "0123456") + output = formatter.send(:formatted_thread_id) + assert_equal "t-0123456 ", output + end + + def test_formatted_thread_id_should_overflow_not_trim + formatter = Filum::LogFormatter.new + formatter.stubs(thread_id: "01234567890") + output = formatter.send(:formatted_thread_id) + assert_equal "t-01234567890", output + end + end end \ No newline at end of file