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}")