Replace HTTP numeric constants with http_client constants
Replace usage of HTTP numeric constants with http_client constants. For example instead of: 400 use http_client.BAD_REQUEST Change-Id: I81b44d0be844d539da2a5ad4a9e40dbc5d903c94
This commit is contained in:
parent
13d837739d
commit
c622e5ba7d
@ -15,6 +15,8 @@
|
||||
|
||||
import logging
|
||||
|
||||
from six.moves import http_client
|
||||
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
@ -115,15 +117,16 @@ class AccessError(HTTPError):
|
||||
|
||||
def raise_for_response(method, url, response):
|
||||
"""Raise a correct error class, if needed."""
|
||||
if response.status_code < 400:
|
||||
if response.status_code < http_client.BAD_REQUEST:
|
||||
return
|
||||
elif response.status_code == 404:
|
||||
elif response.status_code == http_client.NOT_FOUND:
|
||||
raise ResourceNotFoundError(method, url, response)
|
||||
elif response.status_code == 400:
|
||||
elif response.status_code == http_client.BAD_REQUEST:
|
||||
raise BadRequestError(method, url, response)
|
||||
elif response.status_code in (401, 403):
|
||||
elif response.status_code in (http_client.UNAUTHORIZED,
|
||||
http_client.FORBIDDEN):
|
||||
raise AccessError(method, url, response)
|
||||
elif response.status_code >= 500:
|
||||
elif response.status_code >= http_client.INTERNAL_SERVER_ERROR:
|
||||
raise ServerSideError(method, url, response)
|
||||
else:
|
||||
raise HTTPError(method, url, response)
|
||||
|
@ -16,6 +16,7 @@
|
||||
import copy
|
||||
|
||||
import mock
|
||||
from six.moves import http_client
|
||||
|
||||
from sushy import exceptions
|
||||
from sushy.resources import base as resource_base
|
||||
@ -106,7 +107,7 @@ class ResourceCollectionBaseTestCase(base.TestCase):
|
||||
self.test_resource_collection.members_identities = ('1',)
|
||||
self.conn.get.side_effect = exceptions.ResourceNotFoundError(
|
||||
method='GET', url='http://foo.bar:8000/redfish/v1/Fakes/2',
|
||||
response=mock.Mock(status_code=404))
|
||||
response=mock.Mock(status_code=http_client.NOT_FOUND))
|
||||
# | WHEN & THEN |
|
||||
self.assertRaises(exceptions.ResourceNotFoundError,
|
||||
self.test_resource_collection.get_member, '2')
|
||||
|
@ -17,6 +17,7 @@ import json
|
||||
|
||||
import mock
|
||||
import requests
|
||||
from six.moves import http_client
|
||||
|
||||
from sushy import connector
|
||||
from sushy import exceptions
|
||||
@ -74,7 +75,7 @@ class ConnectorOpTestCase(base.TestCase):
|
||||
self.session = mock.Mock(spec=requests.Session)
|
||||
self.conn._session = self.session
|
||||
self.request = self.session.request
|
||||
self.request.return_value.status_code = 200
|
||||
self.request.return_value.status_code = http_client.OK
|
||||
|
||||
def test_ok_get(self):
|
||||
expected_headers = self.headers.copy()
|
||||
@ -107,19 +108,19 @@ class ConnectorOpTestCase(base.TestCase):
|
||||
self.assertRaises(exceptions.ConnectionError, self.conn._op, 'GET')
|
||||
|
||||
def test_unknown_http_error(self):
|
||||
self.request.return_value.status_code = 409
|
||||
self.request.return_value.status_code = http_client.CONFLICT
|
||||
self.request.return_value.json.side_effect = ValueError('no json')
|
||||
|
||||
with self.assertRaisesRegex(exceptions.HTTPError,
|
||||
'unknown error') as cm:
|
||||
self.conn._op('GET', 'http://foo.bar')
|
||||
exc = cm.exception
|
||||
self.assertEqual(409, exc.status_code)
|
||||
self.assertEqual(http_client.CONFLICT, exc.status_code)
|
||||
self.assertIsNone(exc.body)
|
||||
self.assertIsNone(exc.detail)
|
||||
|
||||
def test_known_http_error(self):
|
||||
self.request.return_value.status_code = 400
|
||||
self.request.return_value.status_code = http_client.BAD_REQUEST
|
||||
with open('sushy/tests/unit/json_samples/error.json', 'r') as f:
|
||||
self.request.return_value.json.return_value = json.load(f)
|
||||
|
||||
@ -127,36 +128,37 @@ class ConnectorOpTestCase(base.TestCase):
|
||||
'A general error has occurred') as cm:
|
||||
self.conn._op('GET', 'http://foo.bar')
|
||||
exc = cm.exception
|
||||
self.assertEqual(400, exc.status_code)
|
||||
self.assertEqual(http_client.BAD_REQUEST, exc.status_code)
|
||||
self.assertIsNotNone(exc.body)
|
||||
self.assertIn('A general error has occurred', exc.detail)
|
||||
|
||||
def test_not_found_error(self):
|
||||
self.request.return_value.status_code = 404
|
||||
self.request.return_value.status_code = http_client.NOT_FOUND
|
||||
self.request.return_value.json.side_effect = ValueError('no json')
|
||||
|
||||
with self.assertRaisesRegex(exceptions.ResourceNotFoundError,
|
||||
'Resource http://foo.bar not found') as cm:
|
||||
self.conn._op('GET', 'http://foo.bar')
|
||||
exc = cm.exception
|
||||
self.assertEqual(404, exc.status_code)
|
||||
self.assertEqual(http_client.NOT_FOUND, exc.status_code)
|
||||
|
||||
def test_server_error(self):
|
||||
self.request.return_value.status_code = 500
|
||||
self.request.return_value.status_code = (
|
||||
http_client.INTERNAL_SERVER_ERROR)
|
||||
self.request.return_value.json.side_effect = ValueError('no json')
|
||||
|
||||
with self.assertRaisesRegex(exceptions.ServerSideError,
|
||||
'unknown error') as cm:
|
||||
self.conn._op('GET', 'http://foo.bar')
|
||||
exc = cm.exception
|
||||
self.assertEqual(500, exc.status_code)
|
||||
self.assertEqual(http_client.INTERNAL_SERVER_ERROR, exc.status_code)
|
||||
|
||||
def test_access_error(self):
|
||||
self.request.return_value.status_code = 403
|
||||
self.request.return_value.status_code = http_client.FORBIDDEN
|
||||
self.request.return_value.json.side_effect = ValueError('no json')
|
||||
|
||||
with self.assertRaisesRegex(exceptions.AccessError,
|
||||
'unknown error') as cm:
|
||||
self.conn._op('GET', 'http://foo.bar')
|
||||
exc = cm.exception
|
||||
self.assertEqual(403, exc.status_code)
|
||||
self.assertEqual(http_client.FORBIDDEN, exc.status_code)
|
||||
|
Loading…
Reference in New Issue
Block a user