bpo-32663 Make SMTPUTF8SimTests run (GH-5314) (#8471)
Enable and fix SMTPUTF8SimTests in test_smtplib.
The tests for SMTPUTF8SimTests in test_smtplib.py were not actually
being run because test_smtplib was still using the 'test_main' pattern,
and the class was never added to test_main.
Additionally, one of the tests needed to be moved to the non-UTF8 server
class because it relies on the server not being UTF-8 compatible (and it
had a bug in in).
(cherry picked from commit 48ed88a93b
)
Co-authored-by: chason <chason@gmail.com>
This commit is contained in:
parent
973649342c
commit
89352b08aa
|
@ -1074,6 +1074,19 @@ class SMTPSimTests(unittest.TestCase):
|
|||
self.assertRaises(UnicodeEncodeError, smtp.sendmail, 'Alice', 'Böb', '')
|
||||
self.assertRaises(UnicodeEncodeError, smtp.mail, 'Älice')
|
||||
|
||||
def test_send_message_error_on_non_ascii_addrs_if_no_smtputf8(self):
|
||||
# This test is located here and not in the SMTPUTF8SimTests
|
||||
# class because it needs a "regular" SMTP server to work
|
||||
msg = EmailMessage()
|
||||
msg['From'] = "Páolo <főo@bar.com>"
|
||||
msg['To'] = 'Dinsdale'
|
||||
msg['Subject'] = 'Nudge nudge, wink, wink \u1F609'
|
||||
smtp = smtplib.SMTP(
|
||||
HOST, self.port, local_hostname='localhost', timeout=3)
|
||||
self.addCleanup(smtp.close)
|
||||
with self.assertRaises(smtplib.SMTPNotSupportedError):
|
||||
smtp.send_message(msg)
|
||||
|
||||
def test_name_field_not_included_in_envelop_addresses(self):
|
||||
smtp = smtplib.SMTP(
|
||||
HOST, self.port, local_hostname='localhost', timeout=3
|
||||
|
@ -1218,17 +1231,6 @@ class SMTPUTF8SimTests(unittest.TestCase):
|
|||
self.assertIn('SMTPUTF8', self.serv.last_mail_options)
|
||||
self.assertEqual(self.serv.last_rcpt_options, [])
|
||||
|
||||
def test_send_message_error_on_non_ascii_addrs_if_no_smtputf8(self):
|
||||
msg = EmailMessage()
|
||||
msg['From'] = "Páolo <főo@bar.com>"
|
||||
msg['To'] = 'Dinsdale'
|
||||
msg['Subject'] = 'Nudge nudge, wink, wink \u1F609'
|
||||
smtp = smtplib.SMTP(
|
||||
HOST, self.port, local_hostname='localhost', timeout=3)
|
||||
self.addCleanup(smtp.close)
|
||||
self.assertRaises(smtplib.SMTPNotSupportedError,
|
||||
smtp.send_message(msg))
|
||||
|
||||
|
||||
EXPECTED_RESPONSE = encode_base64(b'\0psu\0doesnotexist', eol='')
|
||||
|
||||
|
@ -1296,18 +1298,5 @@ class SMTPAUTHInitialResponseSimTests(unittest.TestCase):
|
|||
self.assertEqual(code, 235)
|
||||
|
||||
|
||||
@support.reap_threads
|
||||
def test_main(verbose=None):
|
||||
support.run_unittest(
|
||||
BadHELOServerTests,
|
||||
DebuggingServerTests,
|
||||
GeneralTests,
|
||||
NonConnectingTests,
|
||||
SMTPAUTHInitialResponseSimTests,
|
||||
SMTPSimTests,
|
||||
TooLongLineTests,
|
||||
)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
test_main()
|
||||
unittest.main()
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
Making sure the `SMTPUTF8SimTests` class of tests gets run in
|
||||
test_smtplib.py.
|
Loading…
Reference in New Issue