/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to breezy/tests/test_smtp_connection.py

  • Committer: Jelmer Vernooij
  • Date: 2018-07-07 19:27:38 UTC
  • mto: (7027.4.10 python3-blackbox)
  • mto: This revision was merged to the branch mainline in revision 7038.
  • Revision ID: jelmer@jelmer.uk-20180707192738-cbt5f28lbd3lx4td
Add some more bees; support writing both bytes and unicode strings in build_tree_contents.

Show diffs side-by-side

added added

removed removed

Lines of Context:
97
97
            my_config, _smtp_factory=smtp_factory)
98
98
 
99
99
    def test_defaults(self):
100
 
        conn = self.get_connection('')
 
100
        conn = self.get_connection(b'')
101
101
        self.assertEqual('localhost', conn._smtp_server)
102
102
        self.assertEqual(None, conn._smtp_username)
103
103
        self.assertEqual(None, conn._smtp_password)
104
104
 
105
105
    def test_smtp_server(self):
106
 
        conn = self.get_connection('smtp_server=host:10')
 
106
        conn = self.get_connection(b'smtp_server=host:10')
107
107
        self.assertEqual('host:10', conn._smtp_server)
108
108
 
109
109
    def test_missing_server(self):
110
 
        conn = self.get_connection('', smtp_factory=connection_refuser)
 
110
        conn = self.get_connection(b'', smtp_factory=connection_refuser)
111
111
        self.assertRaises(smtp_connection.DefaultSMTPConnectionRefused,
112
112
                          conn._connect)
113
 
        conn = self.get_connection('smtp_server=smtp.example.com',
 
113
        conn = self.get_connection(b'smtp_server=smtp.example.com',
114
114
                                   smtp_factory=connection_refuser)
115
115
        self.assertRaises(smtp_connection.SMTPConnectionRefused, conn._connect)
116
116
 
117
117
    def test_smtp_username(self):
118
 
        conn = self.get_connection('')
 
118
        conn = self.get_connection(b'')
119
119
        self.assertIs(None, conn._smtp_username)
120
120
 
121
 
        conn = self.get_connection('smtp_username=joebody')
 
121
        conn = self.get_connection(b'smtp_username=joebody')
122
122
        self.assertEqual(u'joebody', conn._smtp_username)
123
123
 
124
124
    def test_smtp_password_from_config(self):
125
 
        conn = self.get_connection('')
 
125
        conn = self.get_connection(b'')
126
126
        self.assertIs(None, conn._smtp_password)
127
127
 
128
 
        conn = self.get_connection('smtp_password=mypass')
 
128
        conn = self.get_connection(b'smtp_password=mypass')
129
129
        self.assertEqual(u'mypass', conn._smtp_password)
130
130
 
131
131
    def test_smtp_password_from_user(self):
132
132
        user = 'joe'
133
133
        password = 'hispass'
134
134
        factory = WideOpenSMTPFactory()
135
 
        conn = self.get_connection('[DEFAULT]\nsmtp_username=%s\n' % user,
 
135
        conn = self.get_connection(b'[DEFAULT]\nsmtp_username=%s\n' % user,
136
136
                                   smtp_factory=factory)
137
137
        self.assertIs(None, conn._smtp_password)
138
138
 
144
144
        user = 'joe'
145
145
        password = 'hispass'
146
146
        factory = WideOpenSMTPFactory()
147
 
        conn = self.get_connection('[DEFAULT]\nsmtp_username=%s\n' % user,
 
147
        conn = self.get_connection(b'[DEFAULT]\nsmtp_username=%s\n' % user,
148
148
                                   smtp_factory=factory)
149
149
        self.assertEqual(user, conn._smtp_username)
150
150
        self.assertIs(None, conn._smtp_password)
164
164
        utf8_pass = unicode_pass.encode('utf-8')
165
165
        factory = WideOpenSMTPFactory()
166
166
        conn = self.get_connection(
167
 
            '[DEFAULT]\nsmtp_username=%s\nsmtp_password=%s\n'
 
167
            b'[DEFAULT]\nsmtp_username=%s\nsmtp_password=%s\n'
168
168
            % (user, utf8_pass), smtp_factory=factory)
169
169
        self.assertEqual(unicode_pass, conn._smtp_password)
170
170
        conn._connect()
178
178
 
179
179
    def test_create_connection(self):
180
180
        factory = StubSMTPFactory()
181
 
        conn = self.get_connection('', smtp_factory=factory)
 
181
        conn = self.get_connection(b'', smtp_factory=factory)
182
182
        conn._create_connection()
183
183
        self.assertEqual([('connect', 'localhost'),
184
184
                          ('ehlo',),
187
187
    def test_create_connection_ehlo_fails(self):
188
188
        # Check that we call HELO if EHLO failed.
189
189
        factory = StubSMTPFactory(fail_on=['ehlo'])
190
 
        conn = self.get_connection('', smtp_factory=factory)
 
190
        conn = self.get_connection(b'', smtp_factory=factory)
191
191
        conn._create_connection()
192
192
        self.assertEqual([('connect', 'localhost'),
193
193
                          ('ehlo',),
197
197
    def test_create_connection_ehlo_helo_fails(self):
198
198
        # Check that we raise an exception if both EHLO and HELO fail.
199
199
        factory = StubSMTPFactory(fail_on=['ehlo', 'helo'])
200
 
        conn = self.get_connection('', smtp_factory=factory)
 
200
        conn = self.get_connection(b'', smtp_factory=factory)
201
201
        self.assertRaises(smtp_connection.SMTPError, conn._create_connection)
202
202
        self.assertEqual([('connect', 'localhost'),
203
203
                          ('ehlo',),
207
207
        # Check that STARTTLS plus a second EHLO are called if the
208
208
        # server says it supports the feature.
209
209
        factory = StubSMTPFactory(smtp_features=['starttls'])
210
 
        conn = self.get_connection('', smtp_factory=factory)
 
210
        conn = self.get_connection(b'', smtp_factory=factory)
211
211
        conn._create_connection()
212
212
        self.assertEqual([('connect', 'localhost'),
213
213
                          ('ehlo',),
220
220
        # support STARTTLS, but then fails when we try to activate it.
221
221
        factory = StubSMTPFactory(fail_on=['starttls'],
222
222
                                  smtp_features=['starttls'])
223
 
        conn = self.get_connection('', smtp_factory=factory)
 
223
        conn = self.get_connection(b'', smtp_factory=factory)
224
224
        self.assertRaises(smtp_connection.SMTPError, conn._create_connection)
225
225
        self.assertEqual([('connect', 'localhost'),
226
226
                          ('ehlo',),