summaryrefslogtreecommitdiff
path: root/src/mailman/model/tests/test_listmanager.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/mailman/model/tests/test_listmanager.py')
-rw-r--r--src/mailman/model/tests/test_listmanager.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/mailman/model/tests/test_listmanager.py b/src/mailman/model/tests/test_listmanager.py
index 0a7133840..2d3a4e3dc 100644
--- a/src/mailman/model/tests/test_listmanager.py
+++ b/src/mailman/model/tests/test_listmanager.py
@@ -29,6 +29,7 @@ __all__ = [
import unittest
+from storm.locals import Store
from zope.component import getUtility
from mailman.app.lifecycle import create_list
@@ -40,6 +41,7 @@ from mailman.interfaces.messages import IMessageStore
from mailman.interfaces.requests import IListRequests
from mailman.interfaces.subscriptions import ISubscriptionService
from mailman.interfaces.usermanager import IUserManager
+from mailman.model.mime import ContentFilter
from mailman.testing.helpers import (
event_subscribers, specialized_message_from_string)
from mailman.testing.layers import ConfigLayer
@@ -129,6 +131,19 @@ Message-ID: <argon>
saved_message = getUtility(IMessageStore).get_message_by_id('<argon>')
self.assertEqual(saved_message.as_string(), msg.as_string())
+ def test_content_filters_are_deleted_when_mailing_list_is_deleted(self):
+ # When a mailing list with content filters is deleted, the filters
+ # must be deleted first or an IntegrityError will be raised.
+ filter_names = ('filter_types', 'pass_types',
+ 'filter_extensions', 'pass_extensions')
+ for name in filter_names:
+ setattr(self._ant, name, ['test-filter-1', 'test-filter-2'])
+ getUtility(IListManager).delete(self._ant)
+ store = Store.of(self._ant)
+ filters = store.find(ContentFilter,
+ ContentFilter.mailing_list == self._ant)
+ self.assertEqual(filters.count(), 0)
+
class TestListCreation(unittest.TestCase):