diff options
| author | Barry Warsaw | 2015-03-24 22:39:51 -0400 |
|---|---|---|
| committer | Barry Warsaw | 2015-03-24 22:39:51 -0400 |
| commit | 3f0b367751acf7ab5201c3961f2b75c2acb730dc (patch) | |
| tree | 45a8a228f3fce65d67a0083791ae343cb4608b09 /src/mailman/model/tests/test_mailinglist.py | |
| parent | 18b7980823d2f9d5b7b0f50596cc05e8efb845e8 (diff) | |
| download | mailman-3f0b367751acf7ab5201c3961f2b75c2acb730dc.tar.gz mailman-3f0b367751acf7ab5201c3961f2b75c2acb730dc.tar.zst mailman-3f0b367751acf7ab5201c3961f2b75c2acb730dc.zip | |
LP: #1432239 - Make sure acceptable aliases are deleted before the mailing
list is deleted.
Diffstat (limited to 'src/mailman/model/tests/test_mailinglist.py')
| -rw-r--r-- | src/mailman/model/tests/test_mailinglist.py | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/src/mailman/model/tests/test_mailinglist.py b/src/mailman/model/tests/test_mailinglist.py index 843918e5e..745096b4b 100644 --- a/src/mailman/model/tests/test_mailinglist.py +++ b/src/mailman/model/tests/test_mailinglist.py @@ -18,6 +18,7 @@ """Test MailingLists and related model objects..""" __all__ = [ + 'TestAcceptableAliases', 'TestDisabledListArchiver', 'TestListArchiver', 'TestMailingList', @@ -28,7 +29,10 @@ import unittest from mailman.app.lifecycle import create_list from mailman.config import config -from mailman.interfaces.mailinglist import IListArchiverSet +from mailman.database.transaction import transaction +from mailman.interfaces.listmanager import IListManager +from mailman.interfaces.mailinglist import ( + IAcceptableAliasSet, IListArchiverSet) from mailman.interfaces.member import ( AlreadySubscribedError, MemberRole, MissingPreferredAddressError) from mailman.interfaces.usermanager import IUserManager @@ -141,3 +145,21 @@ class TestDisabledListArchiver(unittest.TestCase): archiver = archiver_set.get('prototype') self.assertTrue(archiver.is_enabled) config.pop('enable prototype') + + + +class TestAcceptableAliases(unittest.TestCase): + layer = ConfigLayer + + def setUp(self): + self._mlist = create_list('ant@example.com') + + def test_delete_list_with_acceptable_aliases(self): + # LP: #1432239 - deleting a mailing list with acceptable aliases + # causes a SQLAlchemy error. The aliases must be deleted first. + with transaction(): + alias_set = IAcceptableAliasSet(self._mlist) + alias_set.add('bee@example.com') + self.assertEqual(['bee@example.com'], list(alias_set.aliases)) + getUtility(IListManager).delete(self._mlist) + self.assertEqual(len(list(alias_set.aliases)), 0) |
