summaryrefslogtreecommitdiff
path: root/nova
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2012-02-22 03:32:32 +0000
committerGerrit Code Review <review@openstack.org>2012-02-22 03:32:32 +0000
commit6b3e1b09b28a10e69480cd84d3a1109350cacfa4 (patch)
tree34d1ac0211644dbe46e72da14ce53ad038349ae2 /nova
parentc4ff7ef07c50deccf3cb7877ecab2245724f3091 (diff)
parent47da3250da90bb960b310dc85f60e850979fe3fe (diff)
downloadnova-6b3e1b09b28a10e69480cd84d3a1109350cacfa4.tar.gz
Merge "Alter output format of volume types resources"
Diffstat (limited to 'nova')
-rw-r--r--nova/api/openstack/compute/contrib/volumetypes.py6
-rw-r--r--nova/api/openstack/volume/types.py6
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_volume_types.py15
-rw-r--r--nova/tests/api/openstack/volume/test_types.py15
4 files changed, 24 insertions, 18 deletions
diff --git a/nova/api/openstack/compute/contrib/volumetypes.py b/nova/api/openstack/compute/contrib/volumetypes.py
index af68b3adb2..d0d0575fd7 100644
--- a/nova/api/openstack/compute/contrib/volumetypes.py
+++ b/nova/api/openstack/compute/contrib/volumetypes.py
@@ -47,8 +47,8 @@ class VolumeTypeTemplate(xmlutil.TemplateBuilder):
class VolumeTypesTemplate(xmlutil.TemplateBuilder):
def construct(self):
root = xmlutil.TemplateElement('volume_types')
- sel = lambda obj, do_raise=False: obj.values()
- elem = xmlutil.SubTemplateElement(root, 'volume_type', selector=sel)
+ elem = xmlutil.SubTemplateElement(root, 'volume_type',
+ selector='volume_types')
make_voltype(elem)
return xmlutil.MasterTemplate(root, 1)
@@ -61,7 +61,7 @@ class VolumeTypesController(object):
""" Returns the list of volume types """
context = req.environ['nova.context']
authorize(context)
- return volume_types.get_all_types(context)
+ return {'volume_types': volume_types.get_all_types(context).values()}
@wsgi.serializers(xml=VolumeTypeTemplate)
def create(self, req, body):
diff --git a/nova/api/openstack/volume/types.py b/nova/api/openstack/volume/types.py
index 97fb52497e..80875e06fb 100644
--- a/nova/api/openstack/volume/types.py
+++ b/nova/api/openstack/volume/types.py
@@ -42,8 +42,8 @@ class VolumeTypeTemplate(xmlutil.TemplateBuilder):
class VolumeTypesTemplate(xmlutil.TemplateBuilder):
def construct(self):
root = xmlutil.TemplateElement('volume_types')
- sel = lambda obj, do_raise=False: obj.values()
- elem = xmlutil.SubTemplateElement(root, 'volume_type', selector=sel)
+ elem = xmlutil.SubTemplateElement(root, 'volume_type',
+ selector='volume_types')
make_voltype(elem)
return xmlutil.MasterTemplate(root, 1)
@@ -55,7 +55,7 @@ class VolumeTypesController(object):
def index(self, req):
""" Returns the list of volume types """
context = req.environ['nova.context']
- return volume_types.get_all_types(context)
+ return {'volume_types': volume_types.get_all_types(context).values()}
@wsgi.serializers(xml=VolumeTypeTemplate)
def show(self, req, id):
diff --git a/nova/tests/api/openstack/compute/contrib/test_volume_types.py b/nova/tests/api/openstack/compute/contrib/test_volume_types.py
index 8432876842..b8581b99dc 100644
--- a/nova/tests/api/openstack/compute/contrib/test_volume_types.py
+++ b/nova/tests/api/openstack/compute/contrib/test_volume_types.py
@@ -87,10 +87,13 @@ class VolumeTypesApiTest(test.TestCase):
req = fakes.HTTPRequest.blank('/v2/fake/os-volume-types')
res_dict = self.controller.index(req)
- self.assertEqual(3, len(res_dict))
- for name in ['vol_type_1', 'vol_type_2', 'vol_type_3']:
- self.assertEqual(name, res_dict[name]['name'])
- self.assertEqual('value1', res_dict[name]['extra_specs']['key1'])
+ self.assertEqual(3, len(res_dict['volume_types']))
+
+ expected_names = ['vol_type_1', 'vol_type_2', 'vol_type_3']
+ actual_names = map(lambda e: e['name'], res_dict['volume_types'])
+ self.assertEqual(set(actual_names), set(expected_names))
+ for entry in res_dict['volume_types']:
+ self.assertEqual('value1', entry['extra_specs']['key1'])
def test_volume_types_index_no_data(self):
self.stubs.Set(volume_types, 'get_all_types',
@@ -99,7 +102,7 @@ class VolumeTypesApiTest(test.TestCase):
req = fakes.HTTPRequest.blank('/v2/fake/os-volume-types')
res_dict = self.controller.index(req)
- self.assertEqual(0, len(res_dict))
+ self.assertEqual(0, len(res_dict['volume_types']))
def test_volume_types_show(self):
self.stubs.Set(volume_types, 'get_volume_type',
@@ -183,7 +186,7 @@ class VolumeTypesSerializerTest(test.TestCase):
# Just getting some input data
vtypes = return_volume_types_get_all_types(None)
- text = serializer.serialize(vtypes)
+ text = serializer.serialize({'volume_types': vtypes.values()})
print text
tree = etree.fromstring(text)
diff --git a/nova/tests/api/openstack/volume/test_types.py b/nova/tests/api/openstack/volume/test_types.py
index 8178a989e4..e16d853e5d 100644
--- a/nova/tests/api/openstack/volume/test_types.py
+++ b/nova/tests/api/openstack/volume/test_types.py
@@ -87,10 +87,13 @@ class VolumeTypesApiTest(test.TestCase):
req = fakes.HTTPRequest.blank('/v2/123/os-volume-types')
res_dict = self.controller.index(req)
- self.assertEqual(3, len(res_dict))
- for name in ['vol_type_1', 'vol_type_2', 'vol_type_3']:
- self.assertEqual(name, res_dict[name]['name'])
- self.assertEqual('value1', res_dict[name]['extra_specs']['key1'])
+ self.assertEqual(3, len(res_dict['volume_types']))
+
+ expected_names = ['vol_type_1', 'vol_type_2', 'vol_type_3']
+ actual_names = map(lambda e: e['name'], res_dict['volume_types'])
+ self.assertEqual(set(actual_names), set(expected_names))
+ for entry in res_dict['volume_types']:
+ self.assertEqual('value1', entry['extra_specs']['key1'])
def test_volume_types_index_no_data(self):
self.stubs.Set(volume_types, 'get_all_types',
@@ -99,7 +102,7 @@ class VolumeTypesApiTest(test.TestCase):
req = fakes.HTTPRequest.blank('/v2/123/os-volume-types')
res_dict = self.controller.index(req)
- self.assertEqual(0, len(res_dict))
+ self.assertEqual(0, len(res_dict['volume_types']))
def test_volume_types_show(self):
self.stubs.Set(volume_types, 'get_volume_type',
@@ -140,7 +143,7 @@ class VolumeTypesSerializerTest(test.TestCase):
# Just getting some input data
vtypes = return_volume_types_get_all_types(None)
- text = serializer.serialize(vtypes)
+ text = serializer.serialize({'volume_types': vtypes.values()})
print text
tree = etree.fromstring(text)