diff options
| author | Aurélien Bompard | 2016-04-26 00:47:45 +0200 |
|---|---|---|
| committer | Aurélien Bompard | 2016-04-26 00:47:45 +0200 |
| commit | 7cc656e5c24e76b1f692461afba4ef22c4c093be (patch) | |
| tree | 3158827ac32eaa1fe15a54d62e6f449d44a489db | |
| parent | bbaf4977a0099c5c0f27f37e5789598e82549585 (diff) | |
| download | mailman-7cc656e5c24e76b1f692461afba4ef22c4c093be.tar.gz mailman-7cc656e5c24e76b1f692461afba4ef22c4c093be.tar.zst mailman-7cc656e5c24e76b1f692461afba4ef22c4c093be.zip | |
| -rw-r--r-- | src/mailman/model/tests/test_subscriptions.py | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/mailman/model/tests/test_subscriptions.py b/src/mailman/model/tests/test_subscriptions.py index ede1ed1ca..f0d380f21 100644 --- a/src/mailman/model/tests/test_subscriptions.py +++ b/src/mailman/model/tests/test_subscriptions.py @@ -419,3 +419,46 @@ class TestSubscriptionService(unittest.TestCase): self.assertEqual(len(list(members)), 1) self.assertEqual(len(members), 1) self.assertEqual(members[0].user, user) + + def test_find_members_user_and_secondary_address(self): + # A user has two subscriptions: the user itself and one of its + # secondary addresses. + user = self._user_manager.create_user( + 'anne@example.com', 'Anne User') + set_preferred(user) + # Create a secondary address. + address_2 = self._user_manager.create_address( + 'anne2@example.com', 'Anne User 2') + address_2.user = user + # Subscribe the user and the secondary address. + self._mlist.subscribe(user) + self._mlist.subscribe(address_2) + # Search for the user-based subscription. + members = self._service.find_members('anne@example.com') + self.assertEqual(len(members), 1) + self.assertEqual(members[0]._user, user) + self.assertIsNone(members[0].address_id) + # Search for the address-based subscription. + members = self._service.find_members('anne2@example.com') + self.assertEqual(len(members), 1) + self.assertEqual(members[0]._address, address_2) + self.assertIsNone(members[0].user_id) + # Search for the user. + members = self._service.find_members(user.user_id) + self.assertEqual(len(members), 2) + + def test_find_members_user_and_primary_address(self): + # A user has two subscriptions: the user itself and its primary + # address. + user = self._user_manager.create_user( + 'anne@example.com', 'Anne User') + set_preferred(user) + # Subscribe the user and the primary address too. + self._mlist.subscribe(user) + self._mlist.subscribe(user.preferred_address) + # Search for the user's address. + members = self._service.find_members('anne@example.com') + self.assertEqual(len(members), 2) + # Search for the user. + members = self._service.find_members(user.user_id) + self.assertEqual(len(members), 2) |
