diff options
| author | Barry Warsaw | 2014-12-10 21:59:13 -0500 |
|---|---|---|
| committer | Barry Warsaw | 2014-12-10 21:59:13 -0500 |
| commit | 4173e7219271fa6ffc336c6a6d16b041cc62df12 (patch) | |
| tree | 9b7b062bfed10eb6333b867d8f222fbc93b3c769 /src/mailman/testing/helpers.py | |
| parent | 8e51aa72c58ee96ca464d2b28d71d68c84d9f5a9 (diff) | |
| parent | 6cdf2ce4c74a41014324afb020997f782e6fbcd3 (diff) | |
| download | mailman-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.py | 25 |
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() |
