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