Merge "Fix to show default class limits for a quota class"

This commit is contained in:
Jenkins 2017-05-23 05:47:18 +00:00 committed by Gerrit Code Review
commit ffc1884b0a
2 changed files with 17 additions and 6 deletions

View File

@ -37,10 +37,11 @@ class QuotaClassSetController(object):
consts.NEUTRON_QUOTA_FIELDS +
consts.NOVA_QUOTA_FIELDS)
def _format_quota_set(self, quota_class, quota_set):
def _format_quota_set(self, context, quota_class, quota_set):
"""Convert the quota object to a result dict."""
result = db_api.quota_class_get_default(context)
if quota_class:
result = dict(id=str(quota_class))
result['class_name'] = str(quota_class)
else:
result = {}
@ -67,7 +68,7 @@ class QuotaClassSetController(object):
values = db_api.quota_class_get_all_by_name(context, class_name)
return self._format_quota_set(class_name, values)
return self._format_quota_set(context, class_name, values)
@index.when(method='PUT', template='json')
def put(self, project_id, class_name):
@ -100,7 +101,7 @@ class QuotaClassSetController(object):
values = db_api.quota_class_get_all_by_name(context, class_name)
return self._format_quota_set(class_name, values)
return self._format_quota_set(context, class_name, values)
@index.when(method='delete', template='json')
def delete(self, project_id, class_name):

View File

@ -48,6 +48,10 @@ class TestQuotaClassController(testroot.KBApiTest):
@mock.patch.object(quota_class, 'db_api')
def test_get_all_admin(self, mock_db_api):
result = Result('class1', 'ram', 100)
default_result = Result('default', 'cores', 10)
mock_db_api.quota_class_get_default.return_value = \
{"class_name": default_result.class_name,
default_result.resource: default_result.hard_limit}
mock_db_api.quota_class_get_all_by_name.return_value = \
{"class_name": result.class_name,
result.resource: result.hard_limit}
@ -56,7 +60,8 @@ class TestQuotaClassController(testroot.KBApiTest):
fake_url,
headers=ADMIN_HEADERS)
self.assertEqual(response.status_int, 200)
self.assertEqual({'quota_class_set': {'id': 'class1', 'ram': 100}},
self.assertEqual({'quota_class_set': {'class_name': 'class1',
'ram': 100, 'cores': 10}},
eval(response.text))
def test_get_invalid_req(self):
@ -74,6 +79,10 @@ class TestQuotaClassController(testroot.KBApiTest):
@mock.patch.object(quota_class, 'db_api')
def test_put_admin(self, mock_db_api):
result = Result('class1', 'cores', 10)
default_result = Result('default', 'ram', 100)
mock_db_api.quota_class_get_default.return_value = \
{"class_name": default_result.class_name,
default_result.resource: default_result.hard_limit}
mock_db_api.quota_class_get_all_by_name.return_value = \
{"class_name": result.class_name,
result.resource: result.hard_limit}
@ -84,7 +93,8 @@ class TestQuotaClassController(testroot.KBApiTest):
headers=ADMIN_HEADERS,
params=data)
self.assertEqual(response.status_int, 200)
self.assertEqual({'quota_class_set': {'id': 'class1', 'cores': 10}},
self.assertEqual({'quota_class_set': {'class_name': 'class1',
'cores': 10, 'ram': 100}},
eval(response.text))
@mock.patch.object(quota_class, 'db_api')