Module: SemanticLogger::Test::Minitest
- Defined in:
- lib/semantic_logger/test/minitest.rb
Instance Method Summary collapse
-
#assert_semantic_logger_event(event, level: nil, name: nil, message: nil, message_includes: nil, payload: nil, payload_includes: nil, thread_name: nil, tags: nil, named_tags: nil, context: nil, metric: nil, metric_amount: nil, dimensions: nil) ⇒ Object
Verify a single log event has all the required attributes.
-
#semantic_logger_events(klass = nil, &block) ⇒ Object
Returns [Array<SemanticLogger::Log>] the log events from Semantic Logger captured whilst executing the supplied block.
Instance Method Details
#assert_semantic_logger_event(event, level: nil, name: nil, message: nil, message_includes: nil, payload: nil, payload_includes: nil, thread_name: nil, tags: nil, named_tags: nil, context: nil, metric: nil, metric_amount: nil, dimensions: nil) ⇒ Object
Verify a single log event has all the required attributes.
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/semantic_logger/test/minitest.rb', line 19 def assert_semantic_logger_event(event, level: nil, name: nil, message: nil, message_includes: nil, payload: nil, payload_includes: nil, thread_name: nil, tags: nil, named_tags: nil, context: nil, metric: nil, metric_amount: nil, dimensions: nil) msg = || || "no message" assert event, "Log event missing for message: '#{msg}'" assert_equal , event. if assert_includes event., if assert_equal name, event.name, -> { "Mismatched log name for message: '#{msg}'" } if name assert_equal level, event.level, -> { "Mismatched log level for message: '#{msg}'" } if level if payload_includes payload_includes.each_pair do |key, expected_value| value = event.payload[key] if expected_value.nil? assert_nil value, -> { "Mismatched key: #{key.inspect} in log payload: #{event.payload} for message: '#{msg}'" } else assert_equal expected_value, value, -> { "Mismatched key: #{key.inspect} in log payload: #{event.payload} for message: '#{msg}'" } end end elsif payload assert_equal payload, event.payload, -> { "Mismatched log payload: #{event.payload} for message: '#{msg}'" } end assert_equal thread_name, event.thread_name, -> { "Mismatched thread_name for message: '#{msg}'" } if thread_name assert_equal , event., -> { "Mismatched tags for message: '#{msg}'" } if assert_equal , event., -> { "Mismatched named_tags for message: '#{msg}'" } if assert_equal context, event.context, -> { "Mismatched context for message: '#{msg}'" } if context assert_equal metric, event.metric, -> { "Mismatched metric for message: '#{msg}'" } if metric assert_equal metric_amount, event.metric_amount, -> { "Mismatched metric_amount for message: '#{msg}'" } if metric_amount assert_equal dimensions, event.dimensions, -> { "Mismatched dimensions for message: '#{msg}'" } if dimensions end |
#semantic_logger_events(klass = nil, &block) ⇒ Object
Returns [Array<SemanticLogger::Log>] the log events from Semantic Logger captured whilst executing the supplied block.
6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/semantic_logger/test/minitest.rb', line 6 def semantic_logger_events(klass = nil, &block) logger = SemanticLogger::Test::CaptureLogEvents.new if klass klass.stub(:logger, logger, &block) else SemanticLogger.silence(:trace) do SemanticLogger::Logger.stub(:processor, logger, &block) end end logger.events end |