Further fixes for issue 96. Adds tests and also fixes it for Python 3
diff --git a/python3/httplib2test.py b/python3/httplib2test.py
index 264677c..de473ac 100755
--- a/python3/httplib2test.py
+++ b/python3/httplib2test.py
@@ -14,16 +14,16 @@
__history__ = """ """
__version__ = "0.2 ($Rev: 118 $)"
-
-import sys
-import unittest
+import base64
import http.client
import httplib2
-import os
-import urllib.parse
-import time
-import base64
import io
+import os
+import socket
+import sys
+import time
+import unittest
+import urllib.parse
# The test resources base uri
base = 'http://bitworking.org/projects/httplib2/test/'
@@ -164,6 +164,22 @@
self.assertTrue(content.startswith(b"Unable to find"))
self.assertEqual(response.status, 400)
+ def testGetConnectionRefused(self):
+ self.http.force_exception_to_status_code = False
+ try:
+ self.http.request("http://localhost:7777/")
+ self.fail("An socket.error exception must be thrown on Connection Refused.")
+ except socket.error:
+ pass
+
+ # Now test with exceptions turned off
+ self.http.force_exception_to_status_code = True
+
+ (response, content) = self.http.request("http://localhost:7777/")
+ self.assertEqual(response['content-type'], 'text/plain')
+ self.assertTrue(b"Connection refused" in content)
+ self.assertEqual(response.status, 400)
+
def testGetIRI(self):
if sys.version_info >= (2,3):
uri = urllib.parse.urljoin(base, "reflector/reflector.cgi?d=\N{CYRILLIC CAPITAL LETTER DJE}")