Merge "Update quota-set throw 500 error" into stable/havana

This commit is contained in:
Jenkins 2014-03-28 06:02:04 +00:00 committed by Gerrit Code Review
commit 411cb92ac7
3 changed files with 21 additions and 2 deletions

View File

@ -42,7 +42,7 @@ class QuotaClassTemplate(xmlutil.TemplateBuilder):
return xmlutil.MasterTemplate(root, 1)
class QuotaClassSetsController(object):
class QuotaClassSetsController(wsgi.Controller):
def _format_quota_set(self, quota_class, quota_set):
"""Convert the quota object to a result dict"""
@ -68,6 +68,11 @@ class QuotaClassSetsController(object):
context = req.environ['cinder.context']
authorize(context)
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():
if key in QUOTAS:
try:

View File

@ -46,7 +46,7 @@ class QuotaTemplate(xmlutil.TemplateBuilder):
return xmlutil.MasterTemplate(root, 1)
class QuotaSetsController(object):
class QuotaSetsController(wsgi.Controller):
def _format_quota_set(self, project_id, quota_set):
"""Convert the quota object to a result dict"""
@ -100,6 +100,10 @@ class QuotaSetsController(object):
context = req.environ['cinder.context']
authorize_update(context)
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():
if key in QUOTAS:
value = self._validate_quota_limit(body['quota_set'][key])

View File

@ -101,6 +101,16 @@ class QuotaSetsControllerTest(test.TestCase):
self.assertRaises(webob.exc.HTTPForbidden, self.controller.update,
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):