diff options
Diffstat (limited to 'src/mailman/model/tests/test_usermanager.py')
| -rw-r--r-- | src/mailman/model/tests/test_usermanager.py | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/src/mailman/model/tests/test_usermanager.py b/src/mailman/model/tests/test_usermanager.py index 754acb610..7b5b490e1 100644 --- a/src/mailman/model/tests/test_usermanager.py +++ b/src/mailman/model/tests/test_usermanager.py @@ -24,7 +24,10 @@ from mailman.config import config from mailman.interfaces.address import ExistingAddressError from mailman.interfaces.autorespond import IAutoResponseSet, Response from mailman.interfaces.member import DeliveryMode -from mailman.interfaces.usermanager import IUserManager +from mailman.interfaces.usermanager import ( + AddressCreatedEvent, AddressCreatingEvent, AddressDeletedEvent, + AddressDeletingEvent, IUserManager) +from mailman.testing.helpers import event_subscribers from mailman.testing.layers import ConfigLayer from mailman.utilities.datetime import now from zope.component import getUtility @@ -35,6 +38,29 @@ class TestUserManager(unittest.TestCase): def setUp(self): self._usermanager = getUtility(IUserManager) + self._events = [] + + def _record_event(self, event): + self._events.append(event) + + def test_create_address_event(self): + with event_subscribers(self._record_event): + address = self._usermanager.create_address('anne@example.com') + self.assertEqual(len(self._events), 2) + self.assertIsInstance(self._events[0], AddressCreatingEvent) + self.assertEqual(self._events[0].email, 'anne@example.com') + self.assertIsInstance(self._events[1], AddressCreatedEvent) + self.assertEqual(self._events[1].address, address) + + def test_delete_address_event(self): + address = self._usermanager.create_address('anne@example.com') + with event_subscribers(self._record_event): + self._usermanager.delete_address(address) + self.assertEqual(len(self._events), 2) + self.assertIsInstance(self._events[0], AddressDeletingEvent) + self.assertEqual(self._events[0].address, address) + self.assertIsInstance(self._events[1], AddressDeletedEvent) + self.assertEqual(self._events[1].email, 'anne@example.com') def test_create_user_with_existing_address(self): # LP: #1418280. If a user is created when an email address is passed |
