Merge "Update quota-set throw 500 error" into stable/havana
This commit is contained in:
commit
411cb92ac7
@ -42,7 +42,7 @@ class QuotaClassTemplate(xmlutil.TemplateBuilder):
|
|||||||
return xmlutil.MasterTemplate(root, 1)
|
return xmlutil.MasterTemplate(root, 1)
|
||||||
|
|
||||||
|
|
||||||
class QuotaClassSetsController(object):
|
class QuotaClassSetsController(wsgi.Controller):
|
||||||
|
|
||||||
def _format_quota_set(self, quota_class, quota_set):
|
def _format_quota_set(self, quota_class, quota_set):
|
||||||
"""Convert the quota object to a result dict"""
|
"""Convert the quota object to a result dict"""
|
||||||
@ -68,6 +68,11 @@ class QuotaClassSetsController(object):
|
|||||||
context = req.environ['cinder.context']
|
context = req.environ['cinder.context']
|
||||||
authorize(context)
|
authorize(context)
|
||||||
quota_class = id
|
quota_class = id
|
||||||
|
if not self.is_valid_body(body, 'quota_class_set'):
|
||||||
|
msg = _("Missing required element quota_class_set"
|
||||||
|
" in request body.")
|
||||||
|
raise webob.exc.HTTPBadRequest(explanation=msg)
|
||||||
|
|
||||||
for key in body['quota_class_set'].keys():
|
for key in body['quota_class_set'].keys():
|
||||||
if key in QUOTAS:
|
if key in QUOTAS:
|
||||||
try:
|
try:
|
||||||
|
@ -46,7 +46,7 @@ class QuotaTemplate(xmlutil.TemplateBuilder):
|
|||||||
return xmlutil.MasterTemplate(root, 1)
|
return xmlutil.MasterTemplate(root, 1)
|
||||||
|
|
||||||
|
|
||||||
class QuotaSetsController(object):
|
class QuotaSetsController(wsgi.Controller):
|
||||||
|
|
||||||
def _format_quota_set(self, project_id, quota_set):
|
def _format_quota_set(self, project_id, quota_set):
|
||||||
"""Convert the quota object to a result dict"""
|
"""Convert the quota object to a result dict"""
|
||||||
@ -100,6 +100,10 @@ class QuotaSetsController(object):
|
|||||||
context = req.environ['cinder.context']
|
context = req.environ['cinder.context']
|
||||||
authorize_update(context)
|
authorize_update(context)
|
||||||
project_id = id
|
project_id = id
|
||||||
|
if not self.is_valid_body(body, 'quota_set'):
|
||||||
|
msg = _("Missing required element quota_set in request body.")
|
||||||
|
raise webob.exc.HTTPBadRequest(explanation=msg)
|
||||||
|
|
||||||
for key in body['quota_set'].keys():
|
for key in body['quota_set'].keys():
|
||||||
if key in QUOTAS:
|
if key in QUOTAS:
|
||||||
value = self._validate_quota_limit(body['quota_set'][key])
|
value = self._validate_quota_limit(body['quota_set'][key])
|
||||||
|
@ -101,6 +101,16 @@ class QuotaSetsControllerTest(test.TestCase):
|
|||||||
self.assertRaises(webob.exc.HTTPForbidden, self.controller.update,
|
self.assertRaises(webob.exc.HTTPForbidden, self.controller.update,
|
||||||
self.req, 'foo', make_body(tenant_id=None))
|
self.req, 'foo', make_body(tenant_id=None))
|
||||||
|
|
||||||
|
def test_update_without_quota_set_field(self):
|
||||||
|
body = {'fake_quota_set': {'gigabytes': 100}}
|
||||||
|
self.assertRaises(webob.exc.HTTPBadRequest, self.controller.update,
|
||||||
|
self.req, 'foo', body)
|
||||||
|
|
||||||
|
def test_update_empty_body(self):
|
||||||
|
body = {}
|
||||||
|
self.assertRaises(webob.exc.HTTPBadRequest, self.controller.update,
|
||||||
|
self.req, 'foo', body)
|
||||||
|
|
||||||
|
|
||||||
class QuotaSerializerTest(test.TestCase):
|
class QuotaSerializerTest(test.TestCase):
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user