~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_smtp_connection.py

  • Committer: Martin Pool
  • Date: 2010-04-01 04:41:18 UTC
  • mto: This revision was merged to the branch mainline in revision 5128.
  • Revision ID: mbp@sourcefrog.net-20100401044118-shyctqc02ob08ngz
ignore .testrepository

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2007, 2009, 2010 Canonical Ltd
 
1
# Copyright (C) 2005, 2007, 2009 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
91
91
class TestSMTPConnection(tests.TestCaseInTempDir):
92
92
 
93
93
    def get_connection(self, text, smtp_factory=None):
94
 
        my_config = config.GlobalConfig.from_string(text)
 
94
        my_config = config.GlobalConfig()
 
95
        config_file = StringIO(text)
 
96
        my_config._get_parser(config_file)
95
97
        return smtp_connection.SMTPConnection(my_config,
96
98
                                              _smtp_factory=smtp_factory)
97
99
 
158
160
 
159
161
    def test_authenticate_with_byte_strings(self):
160
162
        user = 'joe'
161
 
        unicode_pass = u'h\xECspass'
162
 
        utf8_pass = unicode_pass.encode('utf-8')
 
163
        password = 'h\xC3\xACspass'
163
164
        factory = WideOpenSMTPFactory()
164
165
        conn = self.get_connection(
165
 
            u'[DEFAULT]\nsmtp_username=%s\nsmtp_password=%s\n'
166
 
            % (user, unicode_pass), smtp_factory=factory)
167
 
        self.assertEqual(unicode_pass, conn._smtp_password)
 
166
            '[DEFAULT]\nsmtp_username=%s\nsmtp_password=%s\n'
 
167
            % (user, password), smtp_factory=factory)
 
168
        self.assertEqual(u'h\xECspass', conn._smtp_password)
168
169
        conn._connect()
169
170
        self.assertEqual([('connect', 'localhost'),
170
171
                          ('ehlo',),
171
172
                          ('has_extn', 'starttls'),
172
 
                          ('login', user, utf8_pass)], factory._calls)
 
173
                          ('login', user, password)], factory._calls)
173
174
        smtp_username, smtp_password = factory._calls[-1][1:]
174
175
        self.assertIsInstance(smtp_username, str)
175
176
        self.assertIsInstance(smtp_password, str)