summaryrefslogtreecommitdiff
path: root/src/mailman/testing/helpers.py
diff options
context:
space:
mode:
authorBarry Warsaw2011-01-02 17:09:11 -0500
committerBarry Warsaw2011-01-02 17:09:11 -0500
commit00e2ef1c318e00cbf0f862ed839f6c7e44b1c0a9 (patch)
tree158da3cac60ec65e8a153c5fd46bee3934eb7b28 /src/mailman/testing/helpers.py
parent0fd3cd5393d319da4111b3e196c03ec67b0b9c66 (diff)
downloadmailman-00e2ef1c318e00cbf0f862ed839f6c7e44b1c0a9.tar.gz
mailman-00e2ef1c318e00cbf0f862ed839f6c7e44b1c0a9.tar.zst
mailman-00e2ef1c318e00cbf0f862ed839f6c7e44b1c0a9.zip
Diffstat (limited to 'src/mailman/testing/helpers.py')
-rw-r--r--src/mailman/testing/helpers.py23
1 files changed, 16 insertions, 7 deletions
diff --git a/src/mailman/testing/helpers.py b/src/mailman/testing/helpers.py
index adcc20aef..fd2b9ffb3 100644
--- a/src/mailman/testing/helpers.py
+++ b/src/mailman/testing/helpers.py
@@ -252,19 +252,28 @@ def event_subscribers(*subscribers):
"""
old_subscribers = event.subscribers[:]
event.subscribers = list(subscribers)
- yield
- event.subscribers[:] = old_subscribers
+ try:
+ yield
+ finally:
+ 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())
+ email = '{0}person@example.com'.format(first_name[0].lower())
full_name = '{0} Person'.format(first_name)
- person = user_manager.get_user(address)
+ person = user_manager.get_user(email)
if person is None:
- person = user_manager.create_user(address, full_name)
- preferred_address = list(person.addresses)[0]
- preferred_address.subscribe(mlist, role)
+ address = user_manager.get_address(email)
+ if address is None:
+ person = user_manager.create_user(email, full_name)
+ preferred_address = list(person.addresses)[0]
+ preferred_address.subscribe(mlist, role)
+ else:
+ address.subscribe(mlist, role)
+ else:
+ preferred_address = list(person.addresses)[0]
+ preferred_address.subscribe(mlist, role)
config.db.commit()