summaryrefslogtreecommitdiff
path: root/src/mailman/testing/helpers.py
diff options
context:
space:
mode:
authorBarry Warsaw2014-12-10 21:59:13 -0500
committerBarry Warsaw2014-12-10 21:59:13 -0500
commit4173e7219271fa6ffc336c6a6d16b041cc62df12 (patch)
tree9b7b062bfed10eb6333b867d8f222fbc93b3c769 /src/mailman/testing/helpers.py
parent8e51aa72c58ee96ca464d2b28d71d68c84d9f5a9 (diff)
parent6cdf2ce4c74a41014324afb020997f782e6fbcd3 (diff)
downloadmailman-4173e7219271fa6ffc336c6a6d16b041cc62df12.tar.gz
mailman-4173e7219271fa6ffc336c6a6d16b041cc62df12.tar.zst
mailman-4173e7219271fa6ffc336c6a6d16b041cc62df12.zip
Diffstat (limited to 'src/mailman/testing/helpers.py')
-rw-r--r--src/mailman/testing/helpers.py25
1 files changed, 24 insertions, 1 deletions
diff --git a/src/mailman/testing/helpers.py b/src/mailman/testing/helpers.py
index b0fe14a0d..38e210b06 100644
--- a/src/mailman/testing/helpers.py
+++ b/src/mailman/testing/helpers.py
@@ -31,6 +31,7 @@ __all__ = [
'get_lmtp_client',
'get_nntp_server',
'get_queue_messages',
+ 'make_digest_messages',
'make_testable_runner',
'reset_the_world',
'specialized_message_from_string',
@@ -72,6 +73,7 @@ from mailman.interfaces.member import MemberRole
from mailman.interfaces.messages import IMessageStore
from mailman.interfaces.styles import IStyleManager
from mailman.interfaces.usermanager import IUserManager
+from mailman.runners.digest import DigestRunner
from mailman.utilities.mailbox import Mailbox
@@ -342,7 +344,7 @@ def call_api(url, data=None, method=None, username=None, password=None):
if len(content) == 0:
return None, response
# XXX Workaround http://bugs.python.org/issue10038
- content = unicode(content)
+ content = content.decode('utf-8')
return json.loads(content), response
@@ -529,3 +531,24 @@ class LogFileMark:
with open(self._filename) as fp:
fp.seek(self._filepos)
return fp.read()
+
+
+
+def make_digest_messages(mlist, msg=None):
+ if msg is None:
+ msg = specialized_message_from_string("""\
+From: anne@example.org
+To: {listname}
+Message-ID: <testing>
+
+message triggering a digest
+""".format(listname=mlist.fqdn_listname))
+ mbox_path = os.path.join(mlist.data_path, 'digest.mmdf')
+ config.handlers['to-digest'].process(mlist, msg, {})
+ config.switchboards['digest'].enqueue(
+ msg,
+ listname=mlist.fqdn_listname,
+ digest_path=mbox_path,
+ volume=1, digest_number=1)
+ runner = make_testable_runner(DigestRunner, 'digest')
+ runner.run()