summaryrefslogtreecommitdiff
path: root/src/mailman/model/tests/test_usermanager.py
diff options
context:
space:
mode:
authorJ08nY2017-06-15 23:22:05 +0200
committerJ08nY2017-06-16 15:23:08 +0200
commit5464216a2b852a8954c618aaed170e89cb8951f3 (patch)
tree85f1c67fb034be385b7a941526831f9ca76eff79 /src/mailman/model/tests/test_usermanager.py
parent28dbc044a0d0c464c6800df6b5e27e2b25025b8d (diff)
downloadmailman-address-events.tar.gz
mailman-address-events.tar.zst
mailman-address-events.zip
Diffstat (limited to 'src/mailman/model/tests/test_usermanager.py')
-rw-r--r--src/mailman/model/tests/test_usermanager.py28
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