Wrap socket.error in ConnectionError (+ unit tests)

This commit is contained in:
Stefan Praszalowicz
2012-08-08 11:12:32 -07:00
parent bc7b2f9a67
commit 875c9e18ab
2 changed files with 18 additions and 0 deletions
+4
View File
@@ -8,6 +8,7 @@ This module contains the primary objects that power Requests.
"""
import os
import socket
from datetime import datetime
from .hooks import dispatch_hook, HOOKS
@@ -608,6 +609,9 @@ class Request(object):
)
self.sent = True
except socket.error as sockerr:
raise ConnectionError(sockerr)
except MaxRetryError as e:
raise ConnectionError(e)
+14
View File
@@ -811,6 +811,20 @@ class RequestsTestSuite(TestSetup, TestBaseMixin, unittest.TestCase):
assert ds1.prefetch
assert not ds2.prefetch
def test_connection_error(self):
try:
get('http://localhost:1/nope')
except requests.ConnectionError:
pass
else:
assert False
def test_connection_error_with_safe_mode(self):
config = {'safe_mode': True}
r = get('http://localhost:1/nope', allow_redirects=False, config=config)
assert r.content == None
# def test_invalid_content(self):
# # WARNING: if you're using a terrible DNS provider (comcast),
# # this will fail.