Further fixes for issue 96. Adds tests and also fixes it for Python 3
diff --git a/python2/httplib2test.py b/python2/httplib2test.py
index 5a81a70..50222f2 100755
--- a/python2/httplib2test.py
+++ b/python2/httplib2test.py
@@ -15,15 +15,16 @@
 __version__ = "0.1 ($Rev: 118 $)"
 
 
-import sys
-import unittest
+import StringIO
+import base64
 import httplib
 import httplib2
 import os
-import urlparse
+import socket
+import sys
 import time
-import base64
-import StringIO
+import unittest
+import urlparse
 
 # Python 2.3 support
 if not hasattr(unittest.TestCase, 'assertTrue'):
@@ -166,6 +167,22 @@
         self.assertTrue(content.startswith("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("Connection refused" in content)
+        self.assertEqual(response.status, 400)
+
     def testGetIRI(self):
         if sys.version_info >= (2,3):
             uri = urlparse.urljoin(base, u"reflector/reflector.cgi?d=\N{CYRILLIC CAPITAL LETTER DJE}")