Merge "Correct returned HTTP status code (Use 403 instead of 413)"
This commit is contained in:
@@ -429,7 +429,7 @@ class ServersController(wsgi.Controller):
|
||||
req.cache_db_instance(instance)
|
||||
return self._view_builder.show(req, instance)
|
||||
|
||||
@extensions.expected_errors((400, 409, 413))
|
||||
@extensions.expected_errors((400, 403, 409, 413))
|
||||
@wsgi.response(202)
|
||||
@validation.schema(schema_server_create)
|
||||
def create(self, req, body):
|
||||
@@ -509,7 +509,7 @@ class ServersController(wsgi.Controller):
|
||||
**create_kwargs)
|
||||
except (exception.QuotaError,
|
||||
exception.PortLimitExceeded) as error:
|
||||
raise exc.HTTPRequestEntityTooLarge(
|
||||
raise exc.HTTPForbidden(
|
||||
explanation=error.format_message(),
|
||||
headers={'Retry-After': 0})
|
||||
except exception.InvalidMetadataSize as error:
|
||||
@@ -728,7 +728,7 @@ class ServersController(wsgi.Controller):
|
||||
try:
|
||||
self.compute_api.resize(context, instance, flavor_id, **kwargs)
|
||||
except exception.QuotaError as error:
|
||||
raise exc.HTTPRequestEntityTooLarge(
|
||||
raise exc.HTTPForbidden(
|
||||
explanation=error.format_message(),
|
||||
headers={'Retry-After': 0})
|
||||
except exception.FlavorNotFound:
|
||||
@@ -810,7 +810,7 @@ class ServersController(wsgi.Controller):
|
||||
|
||||
return common.get_id_from_href(flavor_ref)
|
||||
|
||||
@extensions.expected_errors((400, 401, 404, 409, 413))
|
||||
@extensions.expected_errors((400, 401, 403, 404, 409))
|
||||
@wsgi.response(202)
|
||||
@wsgi.action('resize')
|
||||
def _action_resize(self, req, id, body):
|
||||
|
||||
@@ -957,7 +957,7 @@ class Controller(wsgi.Controller):
|
||||
legacy_bdm=legacy_bdm)
|
||||
except (exception.QuotaError,
|
||||
exception.PortLimitExceeded) as error:
|
||||
raise exc.HTTPRequestEntityTooLarge(
|
||||
raise exc.HTTPForbidden(
|
||||
explanation=error.format_message(),
|
||||
headers={'Retry-After': 0})
|
||||
except exception.InvalidMetadataSize as error:
|
||||
@@ -1166,7 +1166,7 @@ class Controller(wsgi.Controller):
|
||||
try:
|
||||
self.compute_api.resize(context, instance, flavor_id, **kwargs)
|
||||
except exception.QuotaError as error:
|
||||
raise exc.HTTPRequestEntityTooLarge(
|
||||
raise exc.HTTPForbidden(
|
||||
explanation=error.format_message(),
|
||||
headers={'Retry-After': 0})
|
||||
except exception.FlavorNotFound:
|
||||
|
||||
@@ -676,7 +676,7 @@ class ServerActionsControllerTest(test.TestCase):
|
||||
self.stubs.Set(compute_api.API, 'resize', fake_resize)
|
||||
|
||||
req = fakes.HTTPRequestV3.blank(self.url)
|
||||
self.assertRaises(webob.exc.HTTPRequestEntityTooLarge,
|
||||
self.assertRaises(webob.exc.HTTPForbidden,
|
||||
self.controller._action_resize,
|
||||
req, FAKE_UUID, body)
|
||||
|
||||
|
||||
@@ -2267,7 +2267,7 @@ class ServersControllerCreateTest(test.TestCase):
|
||||
self.body['server']['image_ref'] = image_href
|
||||
self.body['server']['metadata']['vote'] = 'fiddletown'
|
||||
self.req.body = jsonutils.dumps(self.body)
|
||||
self.assertRaises(webob.exc.HTTPRequestEntityTooLarge,
|
||||
self.assertRaises(webob.exc.HTTPForbidden,
|
||||
self.controller.create, self.req, body=self.body)
|
||||
|
||||
def test_create_instance_metadata_key_too_long(self):
|
||||
@@ -2431,7 +2431,7 @@ class ServersControllerCreateTest(test.TestCase):
|
||||
try:
|
||||
self.controller.create(self.req, body=self.body).obj['server']
|
||||
self.fail('expected quota to be exceeded')
|
||||
except webob.exc.HTTPRequestEntityTooLarge as e:
|
||||
except webob.exc.HTTPForbidden as e:
|
||||
self.assertEqual(e.explanation, expected_msg)
|
||||
|
||||
def test_create_instance_above_quota_instances(self):
|
||||
|
||||
@@ -861,7 +861,7 @@ class ServerActionsControllerTest(test.TestCase):
|
||||
self.stubs.Set(compute_api.API, 'resize', fake_resize)
|
||||
|
||||
req = fakes.HTTPRequest.blank(self.url)
|
||||
self.assertRaises(webob.exc.HTTPRequestEntityTooLarge,
|
||||
self.assertRaises(webob.exc.HTTPForbidden,
|
||||
self.controller._action_resize,
|
||||
req, FAKE_UUID, body)
|
||||
|
||||
|
||||
@@ -2317,7 +2317,7 @@ class ServersControllerCreateTest(test.TestCase):
|
||||
self.body['server']['imageRef'] = image_href
|
||||
self.body['server']['metadata']['vote'] = 'fiddletown'
|
||||
self.req.body = jsonutils.dumps(self.body)
|
||||
self.assertRaises(webob.exc.HTTPRequestEntityTooLarge,
|
||||
self.assertRaises(webob.exc.HTTPForbidden,
|
||||
self.controller.create, self.req, self.body)
|
||||
|
||||
def test_create_instance_metadata_key_too_long(self):
|
||||
@@ -3263,7 +3263,7 @@ class ServersControllerCreateTest(test.TestCase):
|
||||
try:
|
||||
self.controller.create(self.req, self.body).obj['server']
|
||||
self.fail('expected quota to be exceeded')
|
||||
except webob.exc.HTTPRequestEntityTooLarge as e:
|
||||
except webob.exc.HTTPForbidden as e:
|
||||
self.assertEqual(e.explanation, expected_msg)
|
||||
|
||||
def test_create_instance_above_quota_instances(self):
|
||||
|
||||
Reference in New Issue
Block a user