From 30dd94a3361f32e0dfaa1b1b2f9970d858d29650 Mon Sep 17 00:00:00 2001 From: Abhilash Raj Date: Fri, 31 Jul 2015 12:47:43 +0530 Subject: Fix #115 --- src/mailman/model/listmanager.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/mailman/model/listmanager.py b/src/mailman/model/listmanager.py index 8fc739543..b92ab2fc1 100644 --- a/src/mailman/model/listmanager.py +++ b/src/mailman/model/listmanager.py @@ -27,7 +27,9 @@ from mailman.interfaces.address import InvalidEmailAddressError from mailman.interfaces.listmanager import ( IListManager, ListAlreadyExistsError, ListCreatedEvent, ListCreatingEvent, ListDeletedEvent, ListDeletingEvent) -from mailman.model.mailinglist import IAcceptableAliasSet, MailingList +from mailman.model.autorespond import AutoResponseRecord +from mailman.model.mailinglist import ( + IAcceptableAliasSet, MailingList, ListArchiver) from mailman.model.mime import ContentFilter from mailman.utilities.datetime import now from zope.event import notify @@ -77,6 +79,8 @@ class ListManager: # First delete information associated with the mailing list. IAcceptableAliasSet(mlist).clear() store.query(ContentFilter).filter_by(mailing_list=mlist).delete() + store.query(ListArchiver).filter_by(mailing_list=mlist).delete() + store.query(AutoResponseRecord).filter_by(mailing_list=mlist).delete() store.delete(mlist) notify(ListDeletedEvent(fqdn_listname)) -- cgit v1.2.3-70-g09d2 From a965e47571d12d06327e44f16ee8d5a65fe33eff Mon Sep 17 00:00:00 2001 From: Abhilash Raj Date: Fri, 31 Jul 2015 19:53:08 +0530 Subject: Add tests for #115 --- src/mailman/model/tests/test_listmanager.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/mailman/model/tests/test_listmanager.py b/src/mailman/model/tests/test_listmanager.py index f74bf54d7..f608dbdc5 100644 --- a/src/mailman/model/tests/test_listmanager.py +++ b/src/mailman/model/tests/test_listmanager.py @@ -29,10 +29,12 @@ import unittest from mailman.app.lifecycle import create_list from mailman.app.moderator import hold_message from mailman.config import config +from mailman.database.transaction import transaction from mailman.interfaces.address import InvalidEmailAddressError from mailman.interfaces.listmanager import ( IListManager, ListAlreadyExistsError, ListCreatedEvent, ListCreatingEvent, ListDeletedEvent, ListDeletingEvent) +from mailman.interfaces.mailinglist import IListArchiverSet from mailman.interfaces.messages import IMessageStore from mailman.interfaces.requests import IListRequests from mailman.interfaces.subscriptions import ISubscriptionService @@ -86,6 +88,13 @@ class TestListManager(unittest.TestCase): sorted(getUtility(IListManager).list_ids), ['ant.example.com', 'bee.example.com', 'cat.example.com']) + def test_delete_lists_with_data_in_listarchiver(self): + mlist = create_list('ant@example.com') + with transaction(): + aset = getUtility(IListArchiverSet)(mlist) + list_manager = getUtility(IListManager) + list_manager.delete(mlist) + self.assertIsNone(list_manager.get('ant@example.com')) class TestListLifecycleEvents(unittest.TestCase): -- cgit v1.2.3-70-g09d2 From 2463db867ef1b105ecfac1ed4736bdc68a9a4826 Mon Sep 17 00:00:00 2001 From: Abhilash Raj Date: Fri, 31 Jul 2015 20:09:00 +0530 Subject: Fix zope lookup error in the previous commit --- src/mailman/model/tests/test_listmanager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mailman/model/tests/test_listmanager.py b/src/mailman/model/tests/test_listmanager.py index f608dbdc5..f8290b634 100644 --- a/src/mailman/model/tests/test_listmanager.py +++ b/src/mailman/model/tests/test_listmanager.py @@ -91,7 +91,7 @@ class TestListManager(unittest.TestCase): def test_delete_lists_with_data_in_listarchiver(self): mlist = create_list('ant@example.com') with transaction(): - aset = getUtility(IListArchiverSet)(mlist) + aset = IListArchiverSet(mlist) list_manager = getUtility(IListManager) list_manager.delete(mlist) self.assertIsNone(list_manager.get('ant@example.com')) -- cgit v1.2.3-70-g09d2