Merge "Bugfix in simple_tenant_usage API detail view"

This commit is contained in:
Jenkins
2012-05-25 19:32:11 +00:00
committed by Gerrit Code Review
2 changed files with 20 additions and 5 deletions

View File

@@ -202,10 +202,11 @@ class SimpleTenantUsageController(object):
def _get_datetime_range(self, req):
qs = req.environ.get('QUERY_STRING', '')
env = urlparse.parse_qs(qs)
# NOTE(lzyeval): env.get() always returns a list
period_start = self._parse_datetime(env.get('start', [None])[0])
period_stop = self._parse_datetime(env.get('end', [None])[0])
detailed = bool(env.get('detailed', False))
detailed = env.get('detailed', ['0'])[0] == '1'
return (period_start, period_stop, detailed)
@wsgi.serializers(xml=SimpleTenantUsagesTemplate)

View File

@@ -116,11 +116,11 @@ class SimpleTenantUsageTest(test.TestCase):
SERVERS * VCPUS * HOURS)
self.assertFalse(usages[i].get('server_usages'))
def test_verify_detailed_index(self):
def _get_tenant_usages(self, detailed=''):
req = webob.Request.blank(
'/v2/faketenant_0/os-simple-tenant-usage?'
'detailed=1&start=%s&end=%s' %
(START.isoformat(), STOP.isoformat()))
'detailed=%s&start=%s&end=%s' %
(detailed, START.isoformat(), STOP.isoformat()))
req.method = "GET"
req.headers["content-type"] = "application/json"
@@ -128,12 +128,26 @@ class SimpleTenantUsageTest(test.TestCase):
fake_auth_context=self.admin_context))
self.assertEqual(res.status_int, 200)
res_dict = json.loads(res.body)
usages = res_dict['tenant_usages']
return res_dict['tenant_usages']
def test_verify_detailed_index(self):
usages = self._get_tenant_usages('1')
for i in xrange(TENANTS):
servers = usages[i]['server_usages']
for j in xrange(SERVERS):
self.assertEqual(int(servers[j]['hours']), HOURS)
def test_verify_simple_index(self):
usages = self._get_tenant_usages(detailed='0')
for i in xrange(TENANTS):
self.assertEqual(usages[i].get('server_usages'), None)
def test_verify_simple_index_empty_param(self):
# NOTE(lzyeval): 'detailed=&start=..&end=..'
usages = self._get_tenant_usages()
for i in xrange(TENANTS):
self.assertEqual(usages[i].get('server_usages'), None)
def test_verify_show(self):
req = webob.Request.blank(
'/v2/faketenant_0/os-simple-tenant-usage/'