Ensure HTTP errors raise exceptions even when response processing is disabled
This commit is contained in:
parent
e8806426ce
commit
533c2661b1
2 changed files with 22 additions and 2 deletions
|
@ -124,3 +124,15 @@ class TestHttpErrors(unittest.TestCase):
|
||||||
response = GetOrPost(self.client, method).call(self.test_endpoint)
|
response = GetOrPost(self.client, method).call(self.test_endpoint)
|
||||||
self.assertEqual(response["code"], 202)
|
self.assertEqual(response["code"], 202)
|
||||||
|
|
||||||
|
@httpretty.activate
|
||||||
|
@data(GET, POST)
|
||||||
|
def test_http_error_with_no_response_processing(self, method):
|
||||||
|
"""
|
||||||
|
Check that get/post methods work with response processing disabled
|
||||||
|
when an HTTP error code is returned.
|
||||||
|
"""
|
||||||
|
httpretty.register_uri(method, self.test_uri, status=500)
|
||||||
|
with self.assertRaises(trovebox.TroveboxError):
|
||||||
|
response = GetOrPost(self.client, method).call(self.test_endpoint,
|
||||||
|
process_response=False)
|
||||||
|
|
||||||
|
|
|
@ -113,7 +113,11 @@ class Http(object):
|
||||||
if process_response:
|
if process_response:
|
||||||
return self._process_response(response)
|
return self._process_response(response)
|
||||||
else:
|
else:
|
||||||
|
if 200 <= response.status_code < 300:
|
||||||
return response.text
|
return response.text
|
||||||
|
else:
|
||||||
|
raise TroveboxError("HTTP Error %d: %s" %
|
||||||
|
(response.status_code, response.reason))
|
||||||
|
|
||||||
def post(self, endpoint, process_response=True, files=None, **params):
|
def post(self, endpoint, process_response=True, files=None, **params):
|
||||||
"""
|
"""
|
||||||
|
@ -163,7 +167,11 @@ class Http(object):
|
||||||
if process_response:
|
if process_response:
|
||||||
return self._process_response(response)
|
return self._process_response(response)
|
||||||
else:
|
else:
|
||||||
|
if 200 <= response.status_code < 300:
|
||||||
return response.text
|
return response.text
|
||||||
|
else:
|
||||||
|
raise TroveboxError("HTTP Error %d: %s" %
|
||||||
|
(response.status_code, response.reason))
|
||||||
|
|
||||||
def _construct_url(self, endpoint):
|
def _construct_url(self, endpoint):
|
||||||
"""Return the full URL to the specified endpoint"""
|
"""Return the full URL to the specified endpoint"""
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue