diff options
| author | Mark Sapiro | 2016-07-18 21:28:07 -0700 |
|---|---|---|
| committer | Mark Sapiro | 2016-07-18 21:28:07 -0700 |
| commit | 1ff113e928edff617188cb06fe1d27a142a7765c (patch) | |
| tree | 9fa4998ecb112d4eba611e9ea7867c6b4c82f461 /src/mailman/model/tests | |
| parent | a3e6f5952f262557d7279cad372d2f4f532d9b36 (diff) | |
| download | mailman-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.py | 36 |
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') |
