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