summaryrefslogtreecommitdiff
path: root/src/mailman/utilities/tests/test_import.py
diff options
context:
space:
mode:
authorAurélien Bompard2013-10-08 15:45:36 +0200
committerAurélien Bompard2013-10-08 15:45:36 +0200
commit228e1c57fb79411381fc0da3bcbd69fbaf3cbf9a (patch)
tree451129a6eec5280f662290d40ad019f45236c00b /src/mailman/utilities/tests/test_import.py
parent004915c1fa7eaa8957101d41eeef0c48ff621eeb (diff)
downloadmailman-228e1c57fb79411381fc0da3bcbd69fbaf3cbf9a.tar.gz
mailman-228e1c57fb79411381fc0da3bcbd69fbaf3cbf9a.tar.zst
mailman-228e1c57fb79411381fc0da3bcbd69fbaf3cbf9a.zip
Diffstat (limited to 'src/mailman/utilities/tests/test_import.py')
-rw-r--r--src/mailman/utilities/tests/test_import.py39
1 files changed, 38 insertions, 1 deletions
diff --git a/src/mailman/utilities/tests/test_import.py b/src/mailman/utilities/tests/test_import.py
index 2e6a4c0be..2cd737f08 100644
--- a/src/mailman/utilities/tests/test_import.py
+++ b/src/mailman/utilities/tests/test_import.py
@@ -31,7 +31,7 @@ from datetime import timedelta, datetime
from mailman.app.lifecycle import create_list, remove_list
from mailman.testing.layers import ConfigLayer
-from mailman.utilities.importer import import_config_pck
+from mailman.utilities.importer import import_config_pck, Import21Error
from mailman.interfaces.archiver import ArchivePolicy
from mailman.interfaces.action import Action, FilterAction
from mailman.interfaces.bounce import UnrecognizedBounceDisposition
@@ -226,6 +226,32 @@ class TestBasicImport(unittest.TestCase):
unicode(self._pckdict[b"info"], "ascii", "replace"),
"We don't fall back to replacing non-ascii chars")
+ def test_preferred_language(self):
+ self._pckdict[b"preferred_language"] = b'ja'
+ english = getUtility(ILanguageManager).get('en')
+ japanese = getUtility(ILanguageManager).get('ja')
+ self.assertEqual(self._mlist.preferred_language, english)
+ self._import()
+ self.assertEqual(self._mlist.preferred_language, japanese)
+
+ def test_preferred_language_unknown_previous(self):
+ # when the previous language is unknown, it should not fail
+ self._mlist._preferred_language = 'xx' # non-existant
+ self._import()
+ english = getUtility(ILanguageManager).get('en')
+ self.assertEqual(self._mlist.preferred_language, english)
+
+ def test_new_language(self):
+ self._pckdict[b"preferred_language"] = b'xx_XX'
+ try:
+ self._import()
+ except Import21Error, e:
+ # check the message
+ self.assertTrue("xx_XX" in str(e))
+ self.assertTrue("[language.xx]" in str(e))
+ else:
+ self.fail("Import21Error was not raised")
+
class TestArchiveImport(unittest.TestCase):
@@ -549,6 +575,17 @@ class TestRosterImport(unittest.TestCase):
self.assertEqual(member.preferred_language.code,
self._pckdict["language"][addr])
+ def test_new_language(self):
+ self._pckdict[b"language"][b"anne@example.com"] = b'xx_XX'
+ try:
+ import_config_pck(self._mlist, self._pckdict)
+ except Import21Error, e:
+ # check the message
+ self.assertTrue("xx_XX" in str(e))
+ self.assertTrue("[language.xx]" in str(e))
+ else:
+ self.fail("Import21Error was not raised")
+
def test_username(self):
import_config_pck(self._mlist, self._pckdict)
for name in ("anne", "bob", "cindy", "dave"):