From 785918250fc818d83a5bb6e62a3018c67fba76ee Mon Sep 17 00:00:00 2001 From: Andrew Kuchling Date: Mon, 11 Nov 2013 14:03:23 -0500 Subject: [PATCH] Closes #6683: add a test that exercises multiple authentication. The SMTP server advertises four different authentication methods, and the code will try CRAM-MD5 first, which will fail, but LOGIN succeeds. --- Lib/test/test_smtplib.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Lib/test/test_smtplib.py b/Lib/test/test_smtplib.py index a501f40b567..e6f39dec773 100644 --- a/Lib/test/test_smtplib.py +++ b/Lib/test/test_smtplib.py @@ -819,6 +819,15 @@ class SMTPSimTests(unittest.TestCase): self.assertIn(sim_auth_credentials['cram-md5'], str(err)) smtp.close() + def testAUTH_multiple(self): + # Test that multiple authentication methods are tried. + self.serv.add_feature("AUTH BOGUS PLAIN LOGIN CRAM-MD5") + smtp = smtplib.SMTP(HOST, self.port, local_hostname='localhost', timeout=15) + try: smtp.login(sim_auth[0], sim_auth[1]) + except smtplib.SMTPAuthenticationError as err: + self.assertIn(sim_auth_login_password, str(err)) + smtp.close() + def test_with_statement(self): with smtplib.SMTP(HOST, self.port) as smtp: code, message = smtp.noop()