diff options
| author | Barry Warsaw | 2011-01-02 17:09:11 -0500 |
|---|---|---|
| committer | Barry Warsaw | 2011-01-02 17:09:11 -0500 |
| commit | 00e2ef1c318e00cbf0f862ed839f6c7e44b1c0a9 (patch) | |
| tree | 158da3cac60ec65e8a153c5fd46bee3934eb7b28 /src/mailman/testing | |
| parent | 0fd3cd5393d319da4111b3e196c03ec67b0b9c66 (diff) | |
| download | mailman-00e2ef1c318e00cbf0f862ed839f6c7e44b1c0a9.tar.gz mailman-00e2ef1c318e00cbf0f862ed839f6c7e44b1c0a9.tar.zst mailman-00e2ef1c318e00cbf0f862ed839f6c7e44b1c0a9.zip | |
Split member and nonmember moderation.
* member-moderation happens at the same place in the built-in chain that the
previously named moderation rule happens. nonmember-moderation happens
after all the other normal moderation rules.
* Handle unsubscribed nonmember posts.
Other changes:
* Message.senders now filters out Nones and empty strings.
* Various test cleanups and simplifications.
* More `address` -> `email` fixes.
* Give Link class a useful repr.
* Fix a potential UnboundLocalError.
* Various other small changes.
Diffstat (limited to 'src/mailman/testing')
| -rw-r--r-- | src/mailman/testing/helpers.py | 23 |
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() |
