summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorchason <chason@gmail.com>2018-07-25 19:01:28 (GMT)
committerR. David Murray <rdmurray@bitdance.com>2018-07-25 19:01:28 (GMT)
commit48ed88a93bb0bbeaae9a4cfaa533e4edf13bcb51 (patch)
tree58759edab2e0c4c5924644366402dd76f39bfe68 /Lib
parent60b04c9f6fb87522a62ab6b95db9f8a09aef42d4 (diff)
downloadcpython-48ed88a93bb0bbeaae9a4cfaa533e4edf13bcb51.zip
cpython-48ed88a93bb0bbeaae9a4cfaa533e4edf13bcb51.tar.gz
cpython-48ed88a93bb0bbeaae9a4cfaa533e4edf13bcb51.tar.bz2
bpo-32663 Make SMTPUTF8SimTests run (#5314)
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).
Diffstat (limited to 'Lib')
-rw-r--r--Lib/test/test_smtplib.py39
1 files changed, 14 insertions, 25 deletions
diff --git a/Lib/test/test_smtplib.py b/Lib/test/test_smtplib.py
index 7991174..495764f 100644
--- a/Lib/test/test_smtplib.py
+++ b/Lib/test/test_smtplib.py
@@ -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()