summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2012-12-11 17:47:01 +0000
committerGerrit Code Review <review@openstack.org>2012-12-11 17:47:01 +0000
commit2d143aa8b5f676d3967d16b08a65b5dfe73c3ebd (patch)
tree4fce854390575d22941b5c5b6fa8241a1a729e02 /nova/tests
parent83b104ad87f72f2e7323de9b2617df0e25e870a5 (diff)
parent4371509084c97072cc5f2fe16fe01f09b81b1af0 (diff)
Merge "Consider reserved count in os-user-limits extension"
Diffstat (limited to 'nova/tests')
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_used_limits.py33
1 files changed, 24 insertions, 9 deletions
diff --git a/nova/tests/api/openstack/compute/contrib/test_used_limits.py b/nova/tests/api/openstack/compute/contrib/test_used_limits.py
index 3ab814ebb..4a75961ed 100644
--- a/nova/tests/api/openstack/compute/contrib/test_used_limits.py
+++ b/nova/tests/api/openstack/compute/contrib/test_used_limits.py
@@ -24,8 +24,10 @@ from nova import test
class FakeRequest(object):
- def __init__(self, context):
+ def __init__(self, context, reserved=False):
self.environ = {'nova.context': context}
+ self.reserved = reserved
+ self.GET = {'reserved': 1} if reserved else {}
class UsedLimitsTestCase(test.TestCase):
@@ -36,9 +38,9 @@ class UsedLimitsTestCase(test.TestCase):
self.controller = used_limits.UsedLimitsController()
self.fake_context = nova.context.RequestContext('fake', 'fake')
- self.fake_req = FakeRequest(self.fake_context)
- def test_used_limits(self):
+ def _do_test_used_limits(self, reserved):
+ fake_req = FakeRequest(self.fake_context, reserved=reserved)
obj = {
"limits": {
"rate": [],
@@ -57,19 +59,30 @@ class UsedLimitsTestCase(test.TestCase):
}
limits = {}
for display_name, q in quota_map.iteritems():
- limits[q] = {'limit': 10, 'in_use': 2}
+ limits[q] = {'limit': len(display_name),
+ 'in_use': len(display_name) / 2,
+ 'reserved': len(display_name) / 3}
def stub_get_project_quotas(context, project_id, usages=True):
return limits
self.stubs.Set(quota.QUOTAS, "get_project_quotas",
stub_get_project_quotas)
- self.controller.index(self.fake_req, res)
+ self.controller.index(fake_req, res)
abs_limits = res.obj['limits']['absolute']
for used_limit, value in abs_limits.iteritems():
- self.assertEqual(value, limits[quota_map[used_limit]]['in_use'])
+ r = limits[quota_map[used_limit]]['reserved'] if reserved else 0
+ self.assertEqual(value,
+ limits[quota_map[used_limit]]['in_use'] + r)
+
+ def test_used_limits_basic(self):
+ self._do_test_used_limits(False)
+
+ def test_used_limits_with_reserved(self):
+ self._do_test_used_limits(True)
def test_used_ram_added(self):
+ fake_req = FakeRequest(self.fake_context)
obj = {
"limits": {
"rate": [],
@@ -84,12 +97,13 @@ class UsedLimitsTestCase(test.TestCase):
return {'ram': {'limit': 512, 'in_use': 256}}
self.stubs.Set(quota.QUOTAS, "get_project_quotas",
stub_get_project_quotas)
- self.controller.index(self.fake_req, res)
+ self.controller.index(fake_req, res)
abs_limits = res.obj['limits']['absolute']
self.assertTrue('totalRAMUsed' in abs_limits)
self.assertEqual(abs_limits['totalRAMUsed'], 256)
def test_no_ram_quota(self):
+ fake_req = FakeRequest(self.fake_context)
obj = {
"limits": {
"rate": [],
@@ -102,11 +116,12 @@ class UsedLimitsTestCase(test.TestCase):
return {}
self.stubs.Set(quota.QUOTAS, "get_project_quotas",
stub_get_project_quotas)
- self.controller.index(self.fake_req, res)
+ self.controller.index(fake_req, res)
abs_limits = res.obj['limits']['absolute']
self.assertFalse('totalRAMUsed' in abs_limits)
def test_used_limits_xmlns(self):
+ fake_req = FakeRequest(self.fake_context)
obj = {
"limits": {
"rate": [],
@@ -120,6 +135,6 @@ class UsedLimitsTestCase(test.TestCase):
return {}
self.stubs.Set(quota.QUOTAS, "get_project_quotas",
stub_get_project_quotas)
- self.controller.index(self.fake_req, res)
+ self.controller.index(fake_req, res)
response = res.serialize(None, 'xml')
self.assertTrue(used_limits.XMLNS in response.body)