summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/test/test_xmlrpc.py30
-rw-r--r--Lib/xmlrpc/client.py2
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")