def test_24_invalid_email_local_part_exceeds_limit(self): with self.assertRaises(MalformedEmailAddressException) as e: extract_email_address_details( '*****@*****.**' ) self.assertEqual( '1234567890123456789012345678901234567890123456789012345678901234+x exceeds length constraint: 64 characters.', e.exception.message )
def test_11_valid_email_address_top_level_domain(self): expected = EmailDetails('example', 's.example') actual = extract_email_address_details('*****@*****.**') self.assertEqual(expected, actual)
def test_10_invalid_email_address_domain_name_no_TLD(self): with self.assertRaises(MalformedEmailAddressException) as e: extract_email_address_details('admin@mailserver1') self.assertEqual('admin@mailserver1', e.exception.message)
def test_09_valid_email_address_strange_domain(self): expected = EmailDetails('example-indeed', 'strange-example.com') actual = extract_email_address_details('*****@*****.**') self.assertEqual(expected, actual)
def test_01_can_extract_address(self): expected = EmailDetails('basil', '5yp.com') actual = extract_email_address_details( '*****@*****.**' ) self.assertEqual(expected, actual)
def test_17_malformed_email_multiple_dots_in_domain(self): with self.assertRaises(MalformedEmailAddressException) as e: extract_email_address_details('abc @ 123 .... abc .... com') self.assertEqual('abc @ 123 .... abc .... com', e.exception.message)
def test_15_missing_id(self): with self.assertRaises(MalformedEmailAddressException) as e: extract_email_address_details('@5yp.com') self.assertEqual('@5yp.com', e.exception.message)
def test_13_exception_raised_for_malformed_email_address(self): with self.assertRaises(MalformedEmailAddressException) as e: extract_email_address_details('BAD_EMAIL_ADDRESS') self.assertEqual('BAD_EMAIL_ADDRESS', e.exception.message)
def test_04_valid_email_address_with_symbol(self): expected = EmailDetails('disposable.style.email.with+symbol', 'example.com') actual = extract_email_address_details('*****@*****.**') self.assertEqual(expected, actual)
def test_03_valid_very_common_email_address(self): expected = EmailDetails('very.common', 'example.co.uk') actual = extract_email_address_details('*****@*****.**') self.assertEqual(expected, actual)
def test_02_valid_email_address(self): expected = EmailDetails('simple', 'example.com') actual = extract_email_address_details('*****@*****.**') self.assertEqual(expected, actual)
def test_25_invalid_email_double_dot_before_at_symbol(self): with self.assertRaises(MalformedEmailAddressException) as e: extract_email_address_details('*****@*****.**') self.assertEqual('john..doe contains multiple dot characters adjacent to each other.', e.exception.message)
def test_23_invalid_email_invalid_characters(self): with self.assertRaises(MalformedEmailAddressException) as e: extract_email_address_details('this\ still\"not\\[email protected]') self.assertEqual('this\ still\"not\\allowed contains invalid double quotes.', e.exception.message)
def test_21_invalid_email_quoted_strings_not_dot_separated(self): with self.assertRaises(MalformedEmailAddressException) as e: extract_email_address_details('just"not"*****@*****.**') self.assertEqual('just"not"right contains invalid double quotes.', e.exception.message)
def test_12_valid_email_address_spaces(self): expected = EmailDetails('" "', 'example.org') actual = extract_email_address_details('" "@example.org') self.assertEqual(expected, actual)
def test_05_valid_email_address_with_hyphen(self): expected = EmailDetails('other.email-with-hyphen', 'example.co.uk') actual = extract_email_address_details('*****@*****.**') self.assertEqual(expected, actual)
def test_00_is_id_valid(self): actual = extract_email_address_details( '*****@*****.**' ) self.assertEqual('basil', actual._local_part)
def test_06_valid_email_address_fully_qualified_domain(self): expected = EmailDetails('fully-qualified-domain', 'example.com') actual = extract_email_address_details('*****@*****.**') self.assertEqual(expected, actual)
def test_14_missing_domain(self): with self.assertRaises(MalformedEmailAddressException) as e: extract_email_address_details('sufi@') self.assertEqual('sufi@', e.exception.message)
def test_07_valid_email_address_with_tag_sorting(self): expected = EmailDetails('user.name+tag+sorting', 'example.com') actual = extract_email_address_details('*****@*****.**') self.assertEqual(expected, actual)
def test_16_malformed_email(self): with self.assertRaises(MalformedEmailAddressException) as e: extract_email_address_details('bbb@xyz,com@') self.assertEqual('bbb@xyz,com@', e.exception.message)
def test_08_valid_email_address_one_letter_local_part(self): expected = EmailDetails('x', 'example.com') actual = extract_email_address_details('*****@*****.**') self.assertEqual(expected, actual)
def test_18_invalid_email_no_at_symbol(self): with self.assertRaises(MalformedEmailAddressException) as e: extract_email_address_details('Abc.example.com') self.assertEqual('Abc.example.com', e.exception.message)
def test_20_invalid_email_special_characters(self): with self.assertRaises(MalformedEmailAddressException) as e: extract_email_address_details('a"b(c)d,e:f;g<h>i[j\k][email protected]') self.assertEqual('a"b(c)d,e:f;g<h>i[j\k][email protected]', e.exception.message)