1
0
مراية لـ https://github.com/postalserver/postal.git تم المزامنة 2025-12-01 05:43:04 +00:00
الملفات
postal/lib/test_logger.rb
Adam Cooke b4016f6b49 test: add tests for message unqueueing
This adds a comprehensive set of tests for the message unqueueing service.

Additionally, it improves how message databases are used for testing environments.
2024-02-23 22:51:34 +00:00

48 أسطر
940 B
Ruby

# frozen_string_literal: true
class TestLogger
def initialize
@log_lines = []
@group_set = Klogger::GroupSet.new
@print = false
end
def print!
@print = true
end
def add(level, message, **tags)
@group_set.groups.each do |group|
tags = group[:tags].merge(tags)
end
@log_lines << { level: level, message: message, tags: tags }
puts message if @print
true
end
[:info, :debug, :warn, :error].each do |level|
define_method(level) do |message, **tags|
add(level, message, **tags)
end
end
def tagged(**tags, &block)
@group_set.call_without_id(**tags, &block)
end
def log_line(match)
@log_lines.reverse.each do |log_line|
return log_line if match.is_a?(String) && log_line[:message] == match
return log_line if match.is_a?(Regexp) && log_line[:message] =~ match
end
nil
end
def has_logged?(match)
!!log_line(match)
end
end