[tor-commits] [bridgedb/master] Add unittests for bridgedb.parse.addr.normalizeEmail().
isis at torproject.org
isis at torproject.org
Fri May 16 18:52:52 UTC 2014
commit e33c55bd62fcced148e5fcdcb7319583ea982538
Author: Isis Lovecruft <isis at torproject.org>
Date: Wed Apr 23 06:58:06 2014 +0000
Add unittests for bridgedb.parse.addr.normalizeEmail().
---
lib/bridgedb/test/test_parse_addr.py | 57 ++++++++++++++++++++++++++++++++++
1 file changed, 57 insertions(+)
diff --git a/lib/bridgedb/test/test_parse_addr.py b/lib/bridgedb/test/test_parse_addr.py
index 1e6af83..55f0f60 100644
--- a/lib/bridgedb/test/test_parse_addr.py
+++ b/lib/bridgedb/test/test_parse_addr.py
@@ -122,6 +122,63 @@ class ExtractEmailAddressTests(unittest.TestCase):
self.assertEqual(domain, 'gmail.com')
+class NormalizeEmailTests(unittest.TestCase):
+ """Unittests for :func:`bridgedb.parse.addr.normalizeEmail`."""
+
+ def test_permitted(self):
+ """A valid email address from a permitted domain should return
+ unchanged.
+ """
+ domainrules = {}
+ domainmap = {'foo.example.com': 'example.com'}
+ emailaddr = 'alice at foo.example.com'
+ normalized = addr.normalizeEmail(emailaddr, domainmap, domainrules)
+ self.assertEqual(emailaddr, normalized)
+
+ def test_notPermitted(self):
+ """A valid email address from a non-permitted domain should raise an
+ UnsupportedDomain error.
+ """
+ domainrules = {}
+ domainmap = {'bar.example.com': 'example.com'}
+ emailaddr = 'Alice <alice at foo.example.com>'
+ self.assertRaises(addr.UnsupportedDomain,
+ addr.normalizeEmail,
+ emailaddr, domainmap, domainrules)
+
+ def test_ignoreDots(self):
+ """A valid email address with a '.' should remove the '.' if
+ 'ignore_dots' is in domainrules.
+ """
+ domainrules = {'example.com': 'ignore_dots'}
+ domainmap = {'foo.example.com': 'example.com'}
+ emailaddr = 'alice.bridges at foo.example.com'
+ normalized = addr.normalizeEmail(emailaddr, domainmap, domainrules)
+ self.assertEqual('alicebridges at foo.example.com', normalized)
+
+ def test_ignorePlus(self):
+ """A valid email address with a '+' and some extra stuff, from a
+ permitted domain, should remove the '+' stuff if 'ignore_plus' is
+ enabled.
+ """
+ domainrules = {}
+ domainmap = {'foo.example.com': 'example.com'}
+ emailaddr = 'alice+bridges at foo.example.com'
+ normalized = addr.normalizeEmail(emailaddr, domainmap, domainrules)
+ self.assertEqual('alice at foo.example.com', normalized)
+
+ def test_dontIgnorePlus(self):
+ """A valid email address with a '+' and some extra stuff, from a
+ permitted domain, should return unchanged if 'ignore_plus' is disabled.
+ """
+ domainrules = {}
+ domainmap = {'foo.example.com': 'example.com'}
+ emailaddr = 'alice+bridges at foo.example.com'
+ normalized = addr.normalizeEmail(emailaddr, domainmap, domainrules,
+ ignorePlus=False)
+ self.assertEqual(emailaddr, normalized)
+
+
class ParseAddrIsIPAddressTests(unittest.TestCase):
"""Unittests for :func:`bridgedb.parse.addr.isIPAddress`.
More information about the tor-commits
mailing list