summaryrefslogtreecommitdiff
path: root/src/mailman/model/tests
diff options
context:
space:
mode:
authorMark Sapiro2016-07-18 21:28:07 -0700
committerMark Sapiro2016-07-18 21:28:07 -0700
commit1ff113e928edff617188cb06fe1d27a142a7765c (patch)
tree9fa4998ecb112d4eba611e9ea7867c6b4c82f461 /src/mailman/model/tests
parenta3e6f5952f262557d7279cad372d2f4f532d9b36 (diff)
downloadmailman-1ff113e928edff617188cb06fe1d27a142a7765c.tar.gz
mailman-1ff113e928edff617188cb06fe1d27a142a7765c.tar.zst
mailman-1ff113e928edff617188cb06fe1d27a142a7765c.zip
Improved email address validation and added tests.
Diffstat (limited to 'src/mailman/model/tests')
-rw-r--r--src/mailman/model/tests/test_address.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/mailman/model/tests/test_address.py b/src/mailman/model/tests/test_address.py
index 896310796..3336dcea6 100644
--- a/src/mailman/model/tests/test_address.py
+++ b/src/mailman/model/tests/test_address.py
@@ -40,6 +40,42 @@ class TestAddress(unittest.TestCase):
self.assertRaises(InvalidEmailAddressError,
Address, 'not_a_valid_email_string', '')
+ def test_no_local_email_string_raises_exception(self):
+ self.assertRaises(InvalidEmailAddressError,
+ Address, '@example.com', '')
+
+ def test_space_in_email_string_raises_exception(self):
+ self.assertRaises(InvalidEmailAddressError,
+ Address, 'us er@example.com', '')
+
+ def test_non_ascii_email_local_part_raises_exception(self):
+ self.assertRaises(InvalidEmailAddressError,
+ Address, 'us\xe9r@example.com', '')
+
+ def test_non_ascii_email_domain_raises_exception(self):
+ self.assertRaises(InvalidEmailAddressError,
+ Address, 'user@\xe9xample.com', '')
+
+ def test_leading_hyphen_email_domain_raises_exception(self):
+ self.assertRaises(InvalidEmailAddressError,
+ Address, 'user@example.-com', '')
+
+ def test_empty_part_email_domain_raises_exception(self):
+ self.assertRaises(InvalidEmailAddressError,
+ Address, 'user@example..com', '')
+
+ def test_bad_ascii_email_domain_raises_exception(self):
+ self.assertRaises(InvalidEmailAddressError,
+ Address, 'user@x_example.com', '')
+
+ def test_high_unicode_email_local_part_raises_exception(self):
+ self.assertRaises(InvalidEmailAddressError,
+ Address, 'us\u0117r@example.com', '')
+
+ def test_non_ascii_email_domain_raises_exception(self):
+ self.assertRaises(InvalidEmailAddressError,
+ Address, 'user@\u0117xample.com', '')
+
def test_local_part_differs_only_by_case(self):
with self.assertRaises(ExistingAddressError) as cm:
self._usermgr.create_address('fperson@example.com')