diff options
-rw-r--r-- | Lib/test/test_xmlrpc.py | 30 | ||||
-rw-r--r-- | Lib/xmlrpc/client.py | 2 |
2 files changed, 10 insertions, 22 deletions
diff --git a/Lib/test/test_xmlrpc.py b/Lib/test/test_xmlrpc.py index 8f41d7f..7236947 100644 --- a/Lib/test/test_xmlrpc.py +++ b/Lib/test/test_xmlrpc.py @@ -144,30 +144,18 @@ class XMLRPCTestCase(unittest.TestCase): [('Authorization', 'Basic dXNlcg==')], {})) def test_ssl_presence(self): - #Check for ssl support - have_ssl = False - if hasattr(socket, 'ssl'): - have_ssl = True - else: - try: - import ssl - except: - pass - else: - have_ssl = True try: - xmlrpc.client.ServerProxy('https://localhost:9999').bad_function() + import ssl except: - exc = sys.exc_info() - if exc[0] == socket.error: - self.assertTrue(have_ssl, - "No SSL support, but xmlrpclib reports supported.") - elif exc[0] == NotImplementedError and str(exc[1]) == \ - "your version of http.client doesn't support HTTPS": - self.assertFalse(have_ssl, - "SSL supported, but xmlrpclib reports not.") + have_ssl = False else: - self.fail("Unable to determine status of SSL check.") + has_ssl = True + try: + xmlrpc.client.ServerProxy('https://localhost:9999').bad_function() + except NotImplementedError: + self.assertFalse(has_ssl, "xmlrpc client's error with SSL support") + except socket.error: + self.assertTrue(has_ssl) class HelperTestCase(unittest.TestCase): def test_escape(self): diff --git a/Lib/xmlrpc/client.py b/Lib/xmlrpc/client.py index d7dbbcc..9357ac3 100644 --- a/Lib/xmlrpc/client.py +++ b/Lib/xmlrpc/client.py @@ -1178,7 +1178,7 @@ class SafeTransport(Transport): def send_request(self, host, handler, request_body, debug): import socket - if not hasattr(http.client, "ssl"): + if not hasattr(http.client, "HTTPSConnection"): raise NotImplementedError( "your version of http.client doesn't support HTTPS") |