54 lines
1.2 KiB
Ruby
54 lines
1.2 KiB
Ruby
# Utilities that are only used in the testing code
|
|
require 'stringio'
|
|
|
|
module OpenID
|
|
module TestUtil
|
|
def assert_log_matches(*regexes)
|
|
begin
|
|
old_logger = Util.logger
|
|
log_output = StringIO.new
|
|
Util.logger = Logger.new(log_output)
|
|
result = yield
|
|
ensure
|
|
Util.logger = old_logger
|
|
end
|
|
log_output.rewind
|
|
log_lines = log_output.readlines
|
|
assert_equal(regexes.length, log_lines.length,
|
|
[regexes, log_lines].inspect)
|
|
log_lines.zip(regexes) do |line, regex|
|
|
assert_match(regex, line)
|
|
end
|
|
result
|
|
end
|
|
|
|
def assert_log_line_count(num_lines)
|
|
begin
|
|
old_logger = Util.logger
|
|
log_output = StringIO.new
|
|
Util.logger = Logger.new(log_output)
|
|
result = yield
|
|
ensure
|
|
Util.logger = old_logger
|
|
end
|
|
log_output.rewind
|
|
log_lines = log_output.readlines
|
|
assert_equal(num_lines, log_lines.length)
|
|
result
|
|
end
|
|
|
|
def silence_logging
|
|
begin
|
|
old_logger = Util.logger
|
|
log_output = StringIO.new
|
|
Util.logger = Logger.new(log_output)
|
|
result = yield
|
|
ensure
|
|
Util.logger = old_logger
|
|
end
|
|
result
|
|
end
|
|
end
|
|
end
|
|
|