~gmb/trac-launchpad-migrator/fix-wacky-userdata

« back to all changes in this revision

Viewing changes to tests.py

  • Committer: Graham Binns
  • Date: 2009-06-22 16:57:49 UTC
  • Revision ID: graham@canonical.com-20090622165749-n0jiunqiqxfa3qnv
If a user's username is a valid email address, extract_person_email will now return that rather than trying to construct a new one.

Show diffs side-by-side

added added

removed removed

Lines of Context:
24
24
 
25
25
class TracLaunchpadMigratorTestCase(unittest.TestCase):
26
26
 
 
27
    def setUp(self):
 
28
        self.trac_hostname = 'trac.example.com'
 
29
 
27
30
    def assertIsValidEmailAddress(self, email_address):
28
31
        """Return True if email_address is valid.
29
32
 
61
64
            'username': 'joe_bloggs',
62
65
            'email': '',
63
66
            }
64
 
        trac_hostname = 'trac.example.com'
65
67
 
66
68
        expected_email = '%s@%s' % (
67
 
            trac_person_without_email['username'], trac_hostname)
 
69
            trac_person_without_email['username'], self.trac_hostname)
68
70
        extracted_email = extract_person_email(
69
 
            trac_person_without_email, trac_hostname)
 
71
            trac_person_without_email, self.trac_hostname)
70
72
        self.assertEqual(
71
73
            extracted_email, expected_email,
72
74
            "extract_person_email returned '%s', expected '%s'," %
81
83
            'username': '<_joe@someurl.com@bloggs_>',
82
84
            'email': '',
83
85
            }
84
 
        trac_hostname = 'trac.example.com'
85
86
 
86
 
        expected_email = '_joesomeurl.combloggs_@%s' % trac_hostname
 
87
        expected_email = '_joesomeurl.combloggs_@%s' % self.trac_hostname
87
88
        extracted_email = extract_person_email(
88
 
            trac_person_with_weird_username, trac_hostname)
 
89
            trac_person_with_weird_username, self.trac_hostname)
89
90
 
90
91
        self.assertIsValidEmailAddress(extracted_email)
91
92
        self.assertEqual(
93
94
            "extract_person_email returned '%s', expected '%s'," %
94
95
                (extracted_email, expected_email))
95
96
 
 
97
    def test_extract_person_email_uses_valid_email_addr_from_username(self):
 
98
        # If the username of the user is already a valid email address,
 
99
        # extract_person_email will return that as the user's email
 
100
        # address rather than trying to construct one.
 
101
        trac_person = {
 
102
            'username': 'test@example.com',
 
103
            'email': ''
 
104
            }
 
105
 
 
106
        extracted_email = extract_person_email(
 
107
            trac_person, self.trac_hostname)
 
108
        self.assertEqual(
 
109
            extracted_email, trac_person['username'],
 
110
            "extract_person_email returned '%s', expected '%s'," %
 
111
                (extracted_email, trac_person['username']))
 
112
        self.assertIsValidEmailAddress(extracted_email)