summaryrefslogtreecommitdiff
path: root/src/mailman/runners/tests/test_digest.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/mailman/runners/tests/test_digest.py')
-rw-r--r--src/mailman/runners/tests/test_digest.py45
1 files changed, 10 insertions, 35 deletions
diff --git a/src/mailman/runners/tests/test_digest.py b/src/mailman/runners/tests/test_digest.py
index 80cf253bc..74508bd7d 100644
--- a/src/mailman/runners/tests/test_digest.py
+++ b/src/mailman/runners/tests/test_digest.py
@@ -35,7 +35,7 @@ from mailman.email.message import Message
from mailman.runners.digest import DigestRunner
from mailman.testing.helpers import (
LogFileMark, digest_mbox, get_queue_messages, make_testable_runner,
- specialized_message_from_string as mfs)
+ specialized_message_from_string as mfs, make_digest_messages)
from mailman.testing.layers import ConfigLayer
@@ -54,23 +54,9 @@ class TestDigest(unittest.TestCase):
self._runner = make_testable_runner(DigestRunner, 'digest')
self._process = config.handlers['to-digest'].process
- def test_simple_message(self):
- msg = mfs("""\
-From: anne@example.org
-To: test@example.com
-
-message triggering a digest
-""")
- mbox_path = os.path.join(self._mlist.data_path, 'digest.mmdf')
- self._process(self._mlist, msg, {})
- self._digestq.enqueue(
- msg,
- listname=self._mlist.fqdn_listname,
- digest_path=mbox_path,
- volume=1, digest_number=1)
- self._runner.run()
- # There are two messages in the virgin queue: the digest as plain-text
- # and as multipart.
+ def _check_virgin_queue(self):
+ # There should be two messages in the virgin queue: the digest as
+ # plain-text and as multipart.
messages = get_queue_messages('virgin')
self.assertEqual(len(messages), 2)
self.assertEqual(
@@ -80,6 +66,10 @@ message triggering a digest
self.assertEqual(item.msg['subject'],
'Test Digest, Vol 1, Issue 1')
+ def test_simple_message(self):
+ make_digest_messages(self._mlist)
+ self._check_virgin_queue()
+
def test_non_ascii_message(self):
msg = Message()
msg['From'] = 'anne@example.org'
@@ -88,25 +78,10 @@ message triggering a digest
msg.attach(MIMEText('message with non-ascii chars: \xc3\xa9',
'plain', 'utf-8'))
mbox = digest_mbox(self._mlist)
- mbox_path = os.path.join(self._mlist.data_path, 'digest.mmdf')
mbox.add(msg.as_string())
- self._digestq.enqueue(
- msg,
- listname=self._mlist.fqdn_listname,
- digest_path=mbox_path,
- volume=1, digest_number=1)
# Use any error logs as the error message if the test fails.
error_log = LogFileMark('mailman.error')
- self._runner.run()
+ make_digest_messages(self._mlist, msg)
# The runner will send the file to the shunt queue on exception.
self.assertEqual(len(self._shuntq.files), 0, error_log.read())
- # There are two messages in the virgin queue: the digest as plain-text
- # and as multipart.
- messages = get_queue_messages('virgin')
- self.assertEqual(len(messages), 2)
- self.assertEqual(
- sorted(item.msg.get_content_type() for item in messages),
- ['multipart/mixed', 'text/plain'])
- for item in messages:
- self.assertEqual(item.msg['subject'],
- 'Test Digest, Vol 1, Issue 1')
+ self._check_virgin_queue()