summaryrefslogtreecommitdiff
path: root/src/mailman/core/tests
diff options
context:
space:
mode:
authorBarry Warsaw2016-03-24 21:29:30 -0400
committerBarry Warsaw2016-03-24 21:29:30 -0400
commit5404f98d90410d69a744d9c0fb71a8a31f3a4a88 (patch)
treebeb5010e4d74ab0f8056419dc05058fc2bbd8cc6 /src/mailman/core/tests
parenta0cf7d44cbf0527d8bac05f870208a85689da42f (diff)
downloadmailman-5404f98d90410d69a744d9c0fb71a8a31f3a4a88.tar.gz
mailman-5404f98d90410d69a744d9c0fb71a8a31f3a4a88.tar.zst
mailman-5404f98d90410d69a744d9c0fb71a8a31f3a4a88.zip
Diffstat (limited to 'src/mailman/core/tests')
-rw-r--r--src/mailman/core/tests/test_pipelines.py40
-rw-r--r--src/mailman/core/tests/test_runner.py31
-rw-r--r--src/mailman/core/tests/test_switchboard.py5
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