test/loggable_test.rb in semantic_logger-2.16.0 vs test/loggable_test.rb in semantic_logger-2.17.0

- old
+ new

@@ -12,31 +12,41 @@ before do @time = Time.new @io = StringIO.new @appender = SemanticLogger::Appender::File.new(@io) SemanticLogger.default_level = :trace - SemanticLogger.add_appender(@appender) - @hash = {session_id: 'HSSKLEU@JDK767', tracking_number: 12345} - @hash_str = @hash.inspect.sub("{", "\\{").sub("}", "\\}") - @thread_name = Thread.current.name + @mock_logger = MockLogger.new + @appender = SemanticLogger.add_appender(@mock_logger) + @hash = {session_id: 'HSSKLEU@JDK767', tracking_number: 12345} + @hash_str = @hash.inspect.sub("{", "\\{").sub("}", "\\}") + @thread_name = Thread.current.name end after do SemanticLogger.remove_appender(@appender) end - describe "for each log level" do + describe 'for each log level' do # Ensure that any log level can be logged SemanticLogger::LEVELS.each do |level| it "log #{level} information with class attribute" do - TestAttribute.logger.send(level, "hello #{level}", @hash) - SemanticLogger.flush - assert_match /\d+-\d+-\d+ \d+:\d+:\d+.\d+ \w \[\d+:#{@thread_name}\] TestAttribute -- hello #{level} -- #{@hash_str}\n/, @io.string + SemanticLogger.stub(:backtrace_level_index, 0) do + SemanticLogger.stub(:appenders, [@appender]) do + TestAttribute.logger.send(level, "hello #{level}", @hash) + SemanticLogger.flush + assert_match /\d+-\d+-\d+ \d+:\d+:\d+.\d+ \w \[\d+:#{@thread_name} loggable_test.rb:\d+\] TestAttribute -- hello #{level} -- #{@hash_str}/, @mock_logger.message + end + end end + it "log #{level} information with instance attribute" do - TestAttribute.new.logger.send(level, "hello #{level}", @hash) - SemanticLogger.flush - assert_match /\d+-\d+-\d+ \d+:\d+:\d+.\d+ \w \[\d+:#{@thread_name}\] TestAttribute -- hello #{level} -- #{@hash_str}\n/, @io.string + SemanticLogger.stub(:backtrace_level_index, 0) do + SemanticLogger.stub(:appenders, [@appender]) do + TestAttribute.new.logger.send(level, "hello #{level}", @hash) + SemanticLogger.flush + assert_match /\d+-\d+-\d+ \d+:\d+:\d+.\d+ \w \[\d+:#{@thread_name} loggable_test.rb:\d+\] TestAttribute -- hello #{level} -- #{@hash_str}/, @mock_logger.message + end + end end end end end