diff options
Diffstat (limited to 'src/mailman/core/tests')
| -rw-r--r-- | src/mailman/core/tests/test_pipelines.py | 40 | ||||
| -rw-r--r-- | src/mailman/core/tests/test_runner.py | 31 | ||||
| -rw-r--r-- | src/mailman/core/tests/test_switchboard.py | 5 |
3 files changed, 23 insertions, 53 deletions
diff --git a/src/mailman/core/tests/test_pipelines.py b/src/mailman/core/tests/test_pipelines.py index f36679347..98ce125a7 100644 --- a/src/mailman/core/tests/test_pipelines.py +++ b/src/mailman/core/tests/test_pipelines.py @@ -17,31 +17,25 @@ """Test the core modification pipelines.""" -__all__ = [ - 'TestOwnerPipeline', - 'TestPostingPipeline', - ] - - import unittest from mailman.app.lifecycle import create_list from mailman.config import config -from mailman.core.errors import DiscardMessage, RejectMessage from mailman.core.pipelines import process from mailman.interfaces.handler import IHandler from mailman.interfaces.member import MemberRole -from mailman.interfaces.pipeline import IPipeline +from mailman.interfaces.pipeline import ( + DiscardMessage, IPipeline, RejectMessage) from mailman.interfaces.usermanager import IUserManager from mailman.testing.helpers import ( - LogFileMark, digest_mbox, get_queue_messages, reset_the_world, + LogFileMark, digest_mbox, get_queue_messages, specialized_message_from_string as mfs) from mailman.testing.layers import ConfigLayer +from operator import delitem from zope.component import getUtility from zope.interface import implementer - @implementer(IHandler) class DiscardingHandler: name = 'discarding' @@ -76,7 +70,6 @@ class RejectingPipeline: yield RejectHandler() - class TestPostingPipeline(unittest.TestCase): """Test various aspects of the built-in postings pipeline.""" @@ -85,7 +78,9 @@ class TestPostingPipeline(unittest.TestCase): def setUp(self): self._mlist = create_list('test@example.com') config.pipelines['test-discarding'] = DiscardingPipeline() + self.addCleanup(delitem, config.pipelines, 'test-discarding') config.pipelines['test-rejecting'] = RejectingPipeline() + self.addCleanup(delitem, config.pipelines, 'test-rejecting') self._msg = mfs("""\ From: Anne Person <anne@example.org> To: test@example.com @@ -95,11 +90,6 @@ Message-ID: <ant> testing """) - def tearDown(self): - reset_the_world() - del config.pipelines['test-discarding'] - del config.pipelines['test-rejecting'] - def test_rfc2369_headers(self): # Ensure that RFC 2369 List-* headers are added. msgdata = {} @@ -129,9 +119,8 @@ testing '"rejecting": by test handler')) # In the rejection case, the original message will also be in the # virgin queue. - messages = get_queue_messages('virgin') - self.assertEqual(len(messages), 1) - self.assertEqual(str(messages[0].msg['subject']), 'a test') + items = get_queue_messages('virgin', expected_count=1) + self.assertEqual(str(items[0].msg['subject']), 'a test') def test_decorate_bulk(self): # Ensure that bulk postings get decorated with the footer. @@ -160,18 +149,14 @@ testing process(self._mlist, self._msg, {}, pipeline_name='default-posting-pipeline') for queue in ('archive', 'nntp'): - messages = get_queue_messages(queue) - self.assertEqual( - len(messages), 1, - 'Queue {} has {} messages'.format(queue, len(messages))) - payload = messages[0].msg.get_payload() + items = get_queue_messages(queue, expected_count=1) + payload = items[0].msg.get_payload() self.assertNotIn('Test mailing list', payload) self.assertEqual(len(digest_mbox(self._mlist)), 1) payload = digest_mbox(self._mlist)[0].get_payload() self.assertNotIn('Test mailing list', payload) - class TestOwnerPipeline(unittest.TestCase): """Test various aspects of the built-in owner pipeline.""" @@ -204,7 +189,6 @@ To: test-owner@example.com # outgoing queue. process(self._mlist, self._msg, {}, pipeline_name='default-owner-pipeline') - messages = get_queue_messages('out', sort_on='to') - self.assertEqual(len(messages), 1) - self.assertEqual(messages[0].msgdata['recipients'], + items = get_queue_messages('out', sort_on='to', expected_count=1) + self.assertEqual(items[0].msgdata['recipients'], set(('anne@example.com', 'bart@example.com'))) diff --git a/src/mailman/core/tests/test_runner.py b/src/mailman/core/tests/test_runner.py index e06357d7c..69911f95e 100644 --- a/src/mailman/core/tests/test_runner.py +++ b/src/mailman/core/tests/test_runner.py @@ -17,11 +17,6 @@ """Test some Runner base class behavior.""" -__all__ = [ - 'TestRunner', - ] - - import unittest from mailman.app.lifecycle import create_list @@ -38,13 +33,11 @@ from mailman.testing.helpers import ( from mailman.testing.layers import ConfigLayer - class CrashingRunner(Runner): def _dispose(self, mlist, msg, msgdata): raise RuntimeError('borked') - class TestRunner(unittest.TestCase): """Test the Runner base class behavior.""" @@ -77,17 +70,16 @@ Message-ID: <ant> # message, and metadata. self.assertEqual(len(self._events), 1) event = self._events[0] - self.assertTrue(isinstance(event, RunnerCrashEvent)) + self.assertIsInstance(event, RunnerCrashEvent) self.assertEqual(event.mailing_list, self._mlist) self.assertEqual(event.message['message-id'], '<ant>') self.assertEqual(event.metadata['listid'], 'test.example.com') - self.assertTrue(isinstance(event.error, RuntimeError)) + self.assertIsInstance(event.error, RuntimeError) self.assertEqual(str(event.error), 'borked') - self.assertTrue(isinstance(event.runner, CrashingRunner)) + self.assertIsInstance(event.runner, CrashingRunner) # The message should also have ended up in the shunt queue. - shunted = get_queue_messages('shunt') - self.assertEqual(len(shunted), 1) - self.assertEqual(shunted[0].msg['message-id'], '<ant>') + items = get_queue_messages('shunt', expected_count=1) + self.assertEqual(items[0].msg['message-id'], '<ant>') def test_digest_messages(self): # In LP: #1130697, the digest runner creates MIME digests using the @@ -112,18 +104,17 @@ Message-ID: <ant> runner.run() error_text = error_log.read() self.assertEqual(len(error_text), 0, error_text) - self.assertEqual(len(get_queue_messages('shunt')), 0) - messages = get_queue_messages('out') - self.assertEqual(len(messages), 2) + get_queue_messages('shunt', expected_count=0) + items = get_queue_messages('out', expected_count=2) # Which one is the MIME digest? mime_digest = None - for bag in messages: - if bag.msg.get_content_type() == 'multipart/mixed': + for item in items: + if item.msg.get_content_type() == 'multipart/mixed': assert mime_digest is None, 'Found two MIME digests' - mime_digest = bag.msg + mime_digest = item.msg # The cook-headers handler ran. self.assertIn('x-mailman-version', mime_digest) self.assertEqual(mime_digest['precedence'], 'list') # The list's -request address is the original sender. - self.assertEqual(bag.msgdata['original_sender'], + self.assertEqual(item.msgdata['original_sender'], 'test-request@example.com') diff --git a/src/mailman/core/tests/test_switchboard.py b/src/mailman/core/tests/test_switchboard.py index b2e10fc3f..9389959b0 100644 --- a/src/mailman/core/tests/test_switchboard.py +++ b/src/mailman/core/tests/test_switchboard.py @@ -17,11 +17,6 @@ """Switchboard tests.""" -__all__ = [ - 'TestSwitchboard', - ] - - import unittest from mailman.config import config |
