summaryrefslogtreecommitdiff
path: root/src/mailman/utilities
diff options
context:
space:
mode:
authorAurélien Bompard2015-03-21 15:00:12 +0100
committerAurélien Bompard2015-03-21 15:00:12 +0100
commit0ab304f8fb2c853cc9e65eccd33274ed8618a5ce (patch)
treed59034994411ce283752fa8a1551278faaf626ca /src/mailman/utilities
parent179c011f2dd6c488010bd963fbe92c9fb49ca0f8 (diff)
downloadmailman-0ab304f8fb2c853cc9e65eccd33274ed8618a5ce.tar.gz
mailman-0ab304f8fb2c853cc9e65eccd33274ed8618a5ce.tar.zst
mailman-0ab304f8fb2c853cc9e65eccd33274ed8618a5ce.zip
Diffstat (limited to 'src/mailman/utilities')
-rw-r--r--src/mailman/utilities/importer.py3
-rw-r--r--src/mailman/utilities/tests/test_import.py27
2 files changed, 29 insertions, 1 deletions
diff --git a/src/mailman/utilities/importer.py b/src/mailman/utilities/importer.py
index 8590d9b1b..d41179f67 100644
--- a/src/mailman/utilities/importer.py
+++ b/src/mailman/utilities/importer.py
@@ -40,6 +40,7 @@ from mailman.interfaces.digests import DigestFrequency
from mailman.interfaces.languages import ILanguageManager
from mailman.interfaces.mailinglist import IAcceptableAliasSet
from mailman.interfaces.mailinglist import Personalization, ReplyToMunging
+from mailman.interfaces.mailinglist import SubscriptionPolicy
from mailman.interfaces.member import DeliveryMode, DeliveryStatus, MemberRole
from mailman.interfaces.nntp import NewsgroupModeration
from mailman.interfaces.usermanager import IUserManager
@@ -177,6 +178,7 @@ TYPES = dict(
personalize=Personalization,
preferred_language=check_language_code,
reply_goes_to_list=ReplyToMunging,
+ subscription_policy=SubscriptionPolicy,
topics_enabled=bool,
)
@@ -201,6 +203,7 @@ NAME_MAPPINGS = dict(
real_name='display_name',
send_goodbye_msg='send_goodbye_message',
send_welcome_msg='send_welcome_message',
+ subscribe_policy='subscription_policy',
)
# These DateTime fields of the mailinglist table need a type conversion to
diff --git a/src/mailman/utilities/tests/test_import.py b/src/mailman/utilities/tests/test_import.py
index b0ab9938d..e42bb0a7e 100644
--- a/src/mailman/utilities/tests/test_import.py
+++ b/src/mailman/utilities/tests/test_import.py
@@ -43,7 +43,8 @@ from mailman.interfaces.autorespond import ResponseAction
from mailman.interfaces.bans import IBanManager
from mailman.interfaces.bounce import UnrecognizedBounceDisposition
from mailman.interfaces.languages import ILanguageManager
-from mailman.interfaces.mailinglist import IAcceptableAliasSet
+from mailman.interfaces.mailinglist import (
+ IAcceptableAliasSet, SubscriptionPolicy)
from mailman.interfaces.member import DeliveryMode, DeliveryStatus
from mailman.interfaces.nntp import NewsgroupModeration
from mailman.interfaces.templates import ITemplateLoader
@@ -300,6 +301,30 @@ class TestBasicImport(unittest.TestCase):
self._import()
self.assertEqual(self._mlist.encode_ascii_prefixes, True)
+ def test_subscription_policy_open(self):
+ self._mlist.subscription_policy = SubscriptionPolicy.confirm
+ self._pckdict['subscribe_policy'] = 0
+ self._import()
+ self.assertEqual(self._mlist.subscription_policy, SubscriptionPolicy.open)
+
+ def test_subscription_policy_confirm(self):
+ self._mlist.subscription_policy = SubscriptionPolicy.open
+ self._pckdict['subscribe_policy'] = 1
+ self._import()
+ self.assertEqual(self._mlist.subscription_policy, SubscriptionPolicy.confirm)
+
+ def test_subscription_policy_moderate(self):
+ self._mlist.subscription_policy = SubscriptionPolicy.open
+ self._pckdict['subscribe_policy'] = 2
+ self._import()
+ self.assertEqual(self._mlist.subscription_policy, SubscriptionPolicy.moderate)
+
+ def test_subscription_policy_confirm_then_moderate(self):
+ self._mlist.subscription_policy = SubscriptionPolicy.open
+ self._pckdict['subscribe_policy'] = 3
+ self._import()
+ self.assertEqual(self._mlist.subscription_policy, SubscriptionPolicy.confirm_then_moderate)
+
class TestArchiveImport(unittest.TestCase):