summaryrefslogtreecommitdiff
path: root/src/mailman/model/tests
diff options
context:
space:
mode:
Diffstat (limited to 'src/mailman/model/tests')
-rw-r--r--src/mailman/model/tests/test_mailinglist.py24
-rw-r--r--src/mailman/model/tests/test_workflow.py24
2 files changed, 36 insertions, 12 deletions
diff --git a/src/mailman/model/tests/test_mailinglist.py b/src/mailman/model/tests/test_mailinglist.py
index 72232cb53..a402c6dc4 100644
--- a/src/mailman/model/tests/test_mailinglist.py
+++ b/src/mailman/model/tests/test_mailinglist.py
@@ -28,6 +28,8 @@ from mailman.interfaces.mailinglist import (
from mailman.interfaces.member import (
AlreadySubscribedError, MemberRole, MissingPreferredAddressError)
from mailman.interfaces.usermanager import IUserManager
+from mailman.interfaces.workflows import (
+ ISubscriptionWorkflow, IUnsubscriptionWorkflow)
from mailman.testing.helpers import (
configuration, get_queue_messages, set_preferred)
from mailman.testing.layers import ConfigLayer
@@ -408,3 +410,25 @@ class TestHeaderMatch(unittest.TestCase):
header_matches = IHeaderMatchList(self._mlist)
with self.assertRaises(IndexError):
del header_matches[0]
+
+ def test_subscription_policy(self):
+ for workflow_class in config.workflows:
+ if ISubscriptionWorkflow.implementedBy(workflow_class):
+ self._mlist.subscription_policy = workflow_class.name
+ self.assertEqual(self._mlist.subscription_policy,
+ workflow_class)
+
+ def test_subscription_policy_invalid(self):
+ with self.assertRaises(ValueError):
+ self._mlist.subscription_policy = 'not-a-subscription-policy'
+
+ def test_unsubscription_policy(self):
+ for workflow_class in config.workflows:
+ if IUnsubscriptionWorkflow.implementedBy(workflow_class):
+ self._mlist.unsubscription_policy = workflow_class.name
+ self.assertEqual(self._mlist.unsubscription_policy,
+ workflow_class)
+
+ def test_unsubscription_policy_invalid(self):
+ with self.assertRaises(ValueError):
+ self._mlist.unsubscription_policy = 'not-an-unsubscription-policy'
diff --git a/src/mailman/model/tests/test_workflow.py b/src/mailman/model/tests/test_workflow.py
index 9cc5446b7..900efbb25 100644
--- a/src/mailman/model/tests/test_workflow.py
+++ b/src/mailman/model/tests/test_workflow.py
@@ -19,7 +19,7 @@
import unittest
-from mailman.interfaces.workflow import IWorkflowStateManager
+from mailman.interfaces.workflows import IWorkflowStateManager
from mailman.testing.layers import ConfigLayer
from zope.component import getUtility
@@ -33,12 +33,12 @@ class TestWorkflow(unittest.TestCase):
def test_save_restore_workflow(self):
# Save and restore a workflow.
token = 'bee'
- step = 'cat'
+ steps = 'cat'
data = 'dog'
- self._manager.save(token, step, data)
+ self._manager.save(token, steps, data)
state = self._manager.restore(token)
self.assertEqual(state.token, token)
- self.assertEqual(state.step, step)
+ self.assertEqual(state.steps, steps)
self.assertEqual(state.data, data)
def test_save_restore_workflow_without_step(self):
@@ -48,17 +48,17 @@ class TestWorkflow(unittest.TestCase):
self._manager.save(token, data=data)
state = self._manager.restore(token)
self.assertEqual(state.token, token)
- self.assertIsNone(state.step)
+ self.assertIsNone(state.steps)
self.assertEqual(state.data, data)
def test_save_restore_workflow_without_data(self):
# Save and restore a workflow that contains no data.
token = 'bee'
- step = 'cat'
- self._manager.save(token, step)
+ steps = 'cat'
+ self._manager.save(token, steps)
state = self._manager.restore(token)
self.assertEqual(state.token, token)
- self.assertEqual(state.step, step)
+ self.assertEqual(state.steps, steps)
self.assertIsNone(state.data)
def test_save_restore_workflow_without_step_or_data(self):
@@ -67,7 +67,7 @@ class TestWorkflow(unittest.TestCase):
self._manager.save(token)
state = self._manager.restore(token)
self.assertEqual(state.token, token)
- self.assertIsNone(state.step)
+ self.assertIsNone(state.steps)
self.assertIsNone(state.data)
def test_restore_workflow_with_no_matching_token(self):
@@ -106,13 +106,13 @@ class TestWorkflow(unittest.TestCase):
self._manager.discard('token2')
self.assertEqual(self._manager.count, 3)
state = self._manager.restore('token1')
- self.assertEqual(state.step, 'one')
+ self.assertEqual(state.steps, 'one')
state = self._manager.restore('token2')
self.assertIsNone(state)
state = self._manager.restore('token3')
- self.assertEqual(state.step, 'three')
+ self.assertEqual(state.steps, 'three')
state = self._manager.restore('token4')
- self.assertEqual(state.step, 'four')
+ self.assertEqual(state.steps, 'four')
def test_discard_missing_workflow(self):
self._manager.discard('bogus-token')