summaryrefslogtreecommitdiff
path: root/src/mailman/app/tests/test_lifecycle.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/mailman/app/tests/test_lifecycle.py')
-rw-r--r--src/mailman/app/tests/test_lifecycle.py16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/mailman/app/tests/test_lifecycle.py b/src/mailman/app/tests/test_lifecycle.py
index cea06359d..0fb54f193 100644
--- a/src/mailman/app/tests/test_lifecycle.py
+++ b/src/mailman/app/tests/test_lifecycle.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2013 by the Free Software Foundation, Inc.
+# Copyright (C) 2012-2014 by the Free Software Foundation, Inc.
#
# This file is part of GNU Mailman.
#
@@ -25,11 +25,14 @@ __all__ = [
]
+import os
+import shutil
import unittest
+from mailman.config import config
from mailman.interfaces.address import InvalidEmailAddressError
from mailman.interfaces.domain import BadDomainSpecificationError
-from mailman.app.lifecycle import create_list
+from mailman.app.lifecycle import create_list, remove_list
from mailman.testing.layers import ConfigLayer
@@ -48,3 +51,12 @@ class TestLifecycle(unittest.TestCase):
# Creating a list with an unregistered domain raises an exception.
self.assertRaises(BadDomainSpecificationError,
create_list, 'test@nodomain.example.org')
+
+ def test_remove_list_error(self):
+ # An error occurs while deleting the list's data directory.
+ mlist = create_list('test@example.com')
+ data_dir = os.path.join(config.LIST_DATA_DIR, mlist.fqdn_listname)
+ os.chmod(data_dir, 0)
+ self.addCleanup(shutil.rmtree, data_dir)
+ self.assertRaises(OSError, remove_list, mlist)
+ os.chmod(data_dir, 0o777)