test/integration/logger_test.rb in filum-1.0.0 vs test/integration/logger_test.rb in filum-1.0.1

- old
+ new

@@ -32,106 +32,23 @@ assert_logged(/\[23456a\]/) assert_logged(/\[34567a\]/) end def test_info_string_is_correct + random_string = [*'a'..'z'].sample(10).join + Filum.logger.info "Foobar #{random_string}" + assert_logged(/Foobar #{random_string}$/) + end + + def test_caller_line_is_correct + expected_file = 'logger_test.rb' + expected_line = __LINE__+1 Filum.logger.info "Foobar" - assert_logged(/Foobar$/) + assert_logged(/#{expected_file}:#{expected_line}/) end private def assert_logged(regex) assert File.readlines(Filum.config.logfile).grep(regex).size == 1 - end - end - - class LogFormatterTest < IntegrationTest - def test_string_format - formatter = Filum::Logger::Formatter.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) - 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 - end - - def test_call_calls_formatted_context_id - formatter = Filum::Logger::Formatter.new - formatter.expects(:formatted_context_id) - formatter.call("", "", "", "") - end - - def test_formatted_context_id_uses_config - Filum.config.context_id_length = 20 - context_id = "12345" - Thread.current[:context_id] = context_id - formatter = Filum::Logger::Formatter.new - output = formatter.send(:formatted_context_id) - assert_equal "#{context_id} ", output - end - - def test_call_calls_formatted_calling_file_and_line - formatter = Filum::Logger::Formatter.new - formatter.expects(:formatted_calling_file_and_line) - formatter.call("", "", "", "") - end - - def test_call_should_not_truncate_context_id - context_id = "context_id" - Thread.current[:context_id] = context_id - formatter = Filum::Logger::Formatter.new - output = formatter.send(:formatted_context_id) - assert_equal context_id, output - end - - def test_call_should_return_fixed_width_context_id - context_id = "1234" - Thread.current[:context_id] = context_id - formatter = Filum::Logger::Formatter.new - output = formatter.send(:formatted_context_id) - assert_equal "#{context_id} ", output - end - - def test_calling_file_and_line_parses_correctly - formatter = Filum::Logger::Formatter.new - line = "/Users/iHiD/Projects/meducation/filum/lib/filum/logger.rb:30:in `formatted_calling_file_and_line'" - formatter.stubs(calling_code: line) - output = formatter.send(:formatted_calling_file_and_line) - assert output =~ /logger\.rb:30\s*/ - end - - def test_formatted_calling_file_and_line_uses_config - Filum.config.filename_length = 40 - filename = "abcdefghij" - line = "/Users/iHiD/Projects/meducation/filum/lib/filum/#{filename}:30:in `formatted_calling_file_and_line'" - formatter = Filum::Logger::Formatter.new - formatter.stubs(calling_code: line) - output = formatter.send(:formatted_calling_file_and_line) - assert_equal "#{filename}:30 #{" " * 30}", output - end - - def test_formatted_calling_file_and_line_should_truncate - filename = "abcdefghijklmnopqrstuvwxyz1234" - line = "/Users/iHiD/Projects/meducation/filum/lib/filum/#{filename}:30:in `formatted_calling_file_and_line'" - formatter = Filum::Logger::Formatter.new - formatter.stubs(calling_code: line) - output = formatter.send(:formatted_calling_file_and_line) - assert_equal "abcdefghijklmnopq...:30 ", output - end - - def test_formatted_calling_file_and_line_should_pad - filename = "foobar.txt" - line = "/Users/iHiD/Projects/meducation/filum/lib/filum/#{filename}:30:in `formatted_calling_file_and_line'" - formatter = Filum::Logger::Formatter.new - formatter.stubs(calling_code: line) - output = formatter.send(:formatted_calling_file_and_line) - assert_equal "foobar.txt:30 ", output end end end