summaryrefslogtreecommitdiff
path: root/src/mailman/rest/tests/test_lists.py
diff options
context:
space:
mode:
authorBarry Warsaw2015-03-24 22:39:51 -0400
committerBarry Warsaw2015-03-24 22:39:51 -0400
commit3f0b367751acf7ab5201c3961f2b75c2acb730dc (patch)
tree45a8a228f3fce65d67a0083791ae343cb4608b09 /src/mailman/rest/tests/test_lists.py
parent18b7980823d2f9d5b7b0f50596cc05e8efb845e8 (diff)
downloadmailman-3f0b367751acf7ab5201c3961f2b75c2acb730dc.tar.gz
mailman-3f0b367751acf7ab5201c3961f2b75c2acb730dc.tar.zst
mailman-3f0b367751acf7ab5201c3961f2b75c2acb730dc.zip
Diffstat (limited to 'src/mailman/rest/tests/test_lists.py')
-rw-r--r--src/mailman/rest/tests/test_lists.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/mailman/rest/tests/test_lists.py b/src/mailman/rest/tests/test_lists.py
index a365db969..8e89f423c 100644
--- a/src/mailman/rest/tests/test_lists.py
+++ b/src/mailman/rest/tests/test_lists.py
@@ -28,8 +28,12 @@ __all__ = [
import unittest
from mailman.app.lifecycle import create_list
+from mailman.config import config
from mailman.database.transaction import transaction
+from mailman.interfaces.listmanager import IListManager
+from mailman.interfaces.mailinglist import IAcceptableAliasSet
from mailman.interfaces.usermanager import IUserManager
+from mailman.model.mailinglist import AcceptableAlias
from mailman.testing.helpers import call_api
from mailman.testing.layers import RESTLayer
from urllib.error import HTTPError
@@ -176,6 +180,18 @@ class TestLists(unittest.TestCase):
self.assertEqual(member['email'], 'bart@example.com')
self.assertEqual(member['role'], 'member')
+ 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')
+ call_api('http://localhost:9001/3.0/lists/test.example.com',
+ method='DELETE')
+ # Neither the mailing list, nor the aliases are present.
+ self.assertIsNone(getUtility(IListManager).get('test@example.com'))
+ self.assertEqual(config.db.store.query(AcceptableAlias).count(), 0)
+
class TestListArchivers(unittest.TestCase):