summaryrefslogtreecommitdiff
path: root/src/mailman/testing/helpers.py
diff options
context:
space:
mode:
authorBarry Warsaw2010-06-18 19:23:35 -0400
committerBarry Warsaw2010-06-18 19:23:35 -0400
commitb3e874703bce97c121eb97dd9776da15a8b90070 (patch)
tree9d884eeb4c6fd4a5e7aad8e96ced642f57ecc7ac /src/mailman/testing/helpers.py
parentf4e7637b1682f025cc6c8bfb172eda8b710e3218 (diff)
downloadmailman-b3e874703bce97c121eb97dd9776da15a8b90070.tar.gz
mailman-b3e874703bce97c121eb97dd9776da15a8b90070.tar.zst
mailman-b3e874703bce97c121eb97dd9776da15a8b90070.zip
Diffstat (limited to 'src/mailman/testing/helpers.py')
-rw-r--r--src/mailman/testing/helpers.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/mailman/testing/helpers.py b/src/mailman/testing/helpers.py
index b9936ac71..67e2ad21a 100644
--- a/src/mailman/testing/helpers.py
+++ b/src/mailman/testing/helpers.py
@@ -27,6 +27,7 @@ __all__ = [
'get_lmtp_client',
'get_queue_messages',
'make_testable_runner',
+ 'subscribe',
'wait_for_webservice',
]
@@ -43,9 +44,12 @@ import threading
from contextlib import contextmanager
from zope import event
+from zope.component import getUtility
from mailman.bin.master import Loop as Master
from mailman.config import config
+from mailman.interfaces.member import MemberRole
+from mailman.interfaces.usermanager import IUserManager
from mailman.utilities.mailbox import Mailbox
@@ -252,3 +256,17 @@ def event_subscribers(*subscribers):
event.subscribers = list(subscribers)
yield
event.subscribers[:] = old_subscribers
+
+
+
+def subscribe(mlist, first_name, role=MemberRole.member):
+ """Helper for subscribing a sample person to a mailing list."""
+ user_manager = getUtility(IUserManager)
+ address = '{0}person@example.com'.format(first_name[0].lower())
+ full_name = '{0} Person'.format(first_name)
+ person = user_manager.get_user(address)
+ if person is None:
+ person = user_manager.create_user(address, full_name)
+ preferred_address = list(person.addresses)[0]
+ preferred_address.subscribe(mlist, role)
+ config.db.commit()