Merge "Fix exception raising in FakeConn"

This commit is contained in:
Jenkins 2014-07-03 11:42:47 +00:00 committed by Gerrit Code Review
commit f43050d242
2 changed files with 12 additions and 12 deletions

View File

@ -606,7 +606,7 @@ def fake_http_connect(*code_iter, **kwargs):
def __init__(self, status, etag=None, body='', timestamp='1', def __init__(self, status, etag=None, body='', timestamp='1',
headers=None): headers=None):
# connect exception # connect exception
if isinstance(status, Exception): if isinstance(status, (Exception, Timeout)):
raise status raise status
if isinstance(status, tuple): if isinstance(status, tuple):
self.expect_status, self.status = status self.expect_status, self.status = status
@ -641,11 +641,11 @@ def fake_http_connect(*code_iter, **kwargs):
self._next_sleep = None self._next_sleep = None
def getresponse(self): def getresponse(self):
if isinstance(self.status, Exception): if isinstance(self.status, (Exception, Timeout)):
raise self.status raise self.status
exc = kwargs.get('raise_exc') exc = kwargs.get('raise_exc')
if exc: if exc:
if isinstance(exc, Exception): if isinstance(exc, (Exception, Timeout)):
raise exc raise exc
raise Exception('test') raise Exception('test')
if kwargs.get('raise_timeout_exc'): if kwargs.get('raise_timeout_exc'):
@ -653,7 +653,7 @@ def fake_http_connect(*code_iter, **kwargs):
return self return self
def getexpect(self): def getexpect(self):
if isinstance(self.expect_status, Exception): if isinstance(self.expect_status, (Exception, Timeout)):
raise self.expect_status raise self.expect_status
return FakeConn(self.expect_status) return FakeConn(self.expect_status)

View File

@ -1601,17 +1601,17 @@ class TestObjectController(unittest.TestCase):
self.assertEquals(res.status[:len(expected)], expected) self.assertEquals(res.status[:len(expected)], expected)
test_status_map((200, 200, 201, 201, -1), 201) # connect exc test_status_map((200, 200, 201, 201, -1), 201) # connect exc
# connect errors # connect errors
test_status_map((200, 200, 201, 201, Timeout()), 201) test_status_map((200, 200, Timeout(), 201, 201, ), 201)
test_status_map((200, 200, 201, 201, Exception()), 201) test_status_map((200, 200, 201, 201, Exception()), 201)
# expect errors # expect errors
test_status_map((200, 200, 201, 201, (Timeout(), None)), 201) test_status_map((200, 200, (Timeout(), None), 201, 201), 201)
test_status_map((200, 200, 201, 201, (Exception(), None)), 201) test_status_map((200, 200, (Exception(), None), 201, 201), 201)
# response errors # response errors
test_status_map((200, 200, 201, 201, (100, Timeout())), 201) test_status_map((200, 200, (100, Timeout()), 201, 201), 201)
test_status_map((200, 200, 201, 201, (100, Exception())), 201) test_status_map((200, 200, (100, Exception()), 201, 201), 201)
test_status_map((200, 200, 201, 201, 507), 201) # error limited test_status_map((200, 200, 507, 201, 201), 201) # error limited
test_status_map((200, 200, 201, -1, -1), 503) test_status_map((200, 200, -1, 201, -1), 503)
test_status_map((200, 200, 503, 503, -1), 503) test_status_map((200, 200, 503, -1, 503), 503)
def test_PUT_send_exceptions(self): def test_PUT_send_exceptions(self):
with save_globals(): with save_globals():