diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/mailman/app/membership.py | 2 | ||||
| -rw-r--r-- | src/mailman/model/tests/test_mailinglist.py | 19 |
2 files changed, 19 insertions, 2 deletions
diff --git a/src/mailman/app/membership.py b/src/mailman/app/membership.py index 8ae2ba095..81f221edc 100644 --- a/src/mailman/app/membership.py +++ b/src/mailman/app/membership.py @@ -79,7 +79,7 @@ def add_member(mlist, record, role=MemberRole.member): for address in user.addresses: if address.original_email == record.email: case_preserved = address - if address.email == record.email.lower(): + if address.email == record.email.lower(): # pragma: no branch case_insensitive = address assert case_preserved is not None or case_insensitive is not None, ( 'Could not find a linked address for: {}'.format(record.email)) diff --git a/src/mailman/model/tests/test_mailinglist.py b/src/mailman/model/tests/test_mailinglist.py index 9e3708ee5..328be93a1 100644 --- a/src/mailman/model/tests/test_mailinglist.py +++ b/src/mailman/model/tests/test_mailinglist.py @@ -36,7 +36,7 @@ from mailman.interfaces.mailinglist import ( from mailman.interfaces.member import ( AlreadySubscribedError, MemberRole, MissingPreferredAddressError) from mailman.interfaces.usermanager import IUserManager -from mailman.testing.helpers import configuration +from mailman.testing.helpers import configuration, get_queue_messages from mailman.testing.layers import ConfigLayer from mailman.utilities.datetime import now from zope.component import getUtility @@ -86,6 +86,23 @@ class TestMailingList(unittest.TestCase): def test_subscribe_argument(self): self.assertRaises(ValueError, self._mlist.subscribe, 'anne') + def test_subscribe_by_user_admin_notification(self): + # A notification is sent to the administrator with the user's email + # address when a user is subscribed instead of an explicit address. + self._mlist.send_welcome_message = False + self._mlist.admin_notify_mchanges = True + manager = getUtility(IUserManager) + user = manager.make_user('anne@example.com', 'Anne Person') + address = manager.create_address('aperson@example.com', 'A. Person') + address.verified_on = now() + user.preferred_address = address + self._mlist.subscribe(user) + # The welcome message was sent to the preferred address. + items = get_queue_messages('virgin') + self.assertEqual(len(items), 1) + self.assertIn('Anne Person <aperson@example.com>', + items[0].msg.get_payload()) + class TestListArchiver(unittest.TestCase): |
