test/test_messages_dir.rb in sup-1.0 vs test/test_messages_dir.rb in sup-1.1
- old
+ new
@@ -11,23 +11,26 @@
class TestMessagesDir < ::Minitest::Test
def setup
@path = Dir.mktmpdir
Redwood::HookManager.init File.join(@path, 'hooks')
+ @log = StringIO.new
+ Redwood::Logger.add_sink @log
+ Redwood::Logger.remove_sink $stderr
end
def teardown
+ Redwood::Logger.clear!
+ Redwood::Logger.remove_sink @log
+ Redwood::Logger.add_sink $stderr
Redwood::HookManager.deinstantiate!
FileUtils.rm_r @path
end
def test_binary_content_transfer_encoding
- message = ''
- File.open('test/fixtures/binary-content-transfer-encoding-2.eml') { |f| message = f.read }
-
source = DummySource.new("sup-test://test_messages")
- source.messages = [ message ]
+ source.messages = [ fixture_path('binary-content-transfer-encoding-2.eml') ]
source_info = 0
sup_message = Message.build_from_source(source, source_info)
sup_message.load_from_source!
@@ -39,27 +42,25 @@
subj = sup_message.subj
assert_equal("Important", subj)
chunks = sup_message.load_from_source!
- indexable_chunks = sup_message.indexable_chunks
# there should be only one chunk
#assert_equal(1, chunks.length)
lines = chunks[0].lines
# lines should contain an error message
assert (lines.join.include? "An error occurred while loading this message."), "This message should not load successfully"
+
+ assert_match(/WARNING: problem reading message/, @log.string)
end
def test_bad_content_transfer_encoding
- message = ''
- File.open('test/fixtures/bad-content-transfer-encoding-1.eml') { |f| message = f.read }
-
source = DummySource.new("sup-test://test_messages")
- source.messages = [ message ]
+ source.messages = [ fixture_path('bad-content-transfer-encoding-1.eml') ]
source_info = 0
sup_message = Message.build_from_source(source, source_info)
sup_message.load_from_source!
@@ -71,27 +72,25 @@
subj = sup_message.subj
assert_equal("Content-Transfer-Encoding:-bug in sup", subj)
chunks = sup_message.load_from_source!
- indexable_chunks = sup_message.indexable_chunks
# there should be only one chunk
#assert_equal(1, chunks.length)
lines = chunks[0].lines
# lines should contain an error message
assert (lines.join.include? "An error occurred while loading this message."), "This message should not load successfully"
+
+ assert_match(/WARNING: problem reading message/, @log.string)
end
def test_missing_line
- message = ''
- File.open('test/fixtures/missing-line.eml') { |f| message = f.read }
-
source = DummySource.new("sup-test://test_messages")
- source.messages = [ message ]
+ source.messages = [ fixture_path('missing-line.eml') ]
source_info = 0
sup_message = Message.build_from_source(source, source_info)
sup_message.load_from_source!
@@ -103,10 +102,9 @@
subj = sup_message.subj
assert_equal("Encoding bug", subj)
chunks = sup_message.load_from_source!
- indexable_chunks = sup_message.indexable_chunks
# there should be only one chunk
#assert_equal(1, chunks.length)
lines = chunks[0].lines