summaryrefslogtreecommitdiff
path: root/src/mailman/testing/helpers.py
diff options
context:
space:
mode:
authorBarry Warsaw2015-03-28 16:14:10 -0400
committerBarry Warsaw2015-03-28 16:14:10 -0400
commitdb5311200674432669787ef05d019536d3011c4e (patch)
tree31ff2401763890d49ee0a2c94ec684709fc926dc /src/mailman/testing/helpers.py
parentf3d34e989155cbe82e0c2db3fc9659ff73001dbe (diff)
parenteef0c0a53ed3068a1c8def64f51479673d7c08a7 (diff)
downloadmailman-db5311200674432669787ef05d019536d3011c4e.tar.gz
mailman-db5311200674432669787ef05d019536d3011c4e.tar.zst
mailman-db5311200674432669787ef05d019536d3011c4e.zip
Diffstat (limited to 'src/mailman/testing/helpers.py')
-rw-r--r--src/mailman/testing/helpers.py21
1 files changed, 13 insertions, 8 deletions
diff --git a/src/mailman/testing/helpers.py b/src/mailman/testing/helpers.py
index a869c8d55..8fa4fbd2f 100644
--- a/src/mailman/testing/helpers.py
+++ b/src/mailman/testing/helpers.py
@@ -435,10 +435,14 @@ class chdir:
-def subscribe(mlist, first_name, role=MemberRole.member):
- """Helper for subscribing a sample person to a mailing list."""
+def subscribe(mlist, first_name, role=MemberRole.member, email=None):
+ """Helper for subscribing a sample person to a mailing list.
+
+ Returns the newly created member object.
+ """
user_manager = getUtility(IUserManager)
- email = '{0}person@example.com'.format(first_name[0].lower())
+ email = ('{0}person@example.com'.format(first_name[0].lower())
+ if email is None else email)
full_name = '{0} Person'.format(first_name)
with transaction():
person = user_manager.get_user(email)
@@ -446,13 +450,14 @@ def subscribe(mlist, first_name, role=MemberRole.member):
address = user_manager.get_address(email)
if address is None:
person = user_manager.create_user(email, full_name)
- preferred_address = list(person.addresses)[0]
- mlist.subscribe(preferred_address, role)
+ subscription_address = list(person.addresses)[0]
else:
- mlist.subscribe(address, role)
+ subscription_address = address
else:
- preferred_address = list(person.addresses)[0]
- mlist.subscribe(preferred_address, role)
+ subscription_address = list(person.addresses)[0]
+ mlist.subscribe(subscription_address, role)
+ roster = mlist.get_roster(role)
+ return roster.get_member(email)