Merge "Correct returned HTTP status code (Use 403 instead of 413)"

This commit is contained in:
Jenkins
2014-08-12 02:06:29 +00:00
committed by Gerrit Code Review
6 changed files with 12 additions and 12 deletions

View File

@@ -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):

View File

@@ -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:

View File

@@ -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)

View File

@@ -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):

View File

@@ -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)

View File

@@ -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):