diff options
author | Jenkins <jenkins@review.openstack.org> | 2012-02-22 03:32:32 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2012-02-22 03:32:32 +0000 |
commit | 6b3e1b09b28a10e69480cd84d3a1109350cacfa4 (patch) | |
tree | 34d1ac0211644dbe46e72da14ce53ad038349ae2 /nova | |
parent | c4ff7ef07c50deccf3cb7877ecab2245724f3091 (diff) | |
parent | 47da3250da90bb960b310dc85f60e850979fe3fe (diff) | |
download | nova-6b3e1b09b28a10e69480cd84d3a1109350cacfa4.tar.gz |
Merge "Alter output format of volume types resources"
Diffstat (limited to 'nova')
-rw-r--r-- | nova/api/openstack/compute/contrib/volumetypes.py | 6 | ||||
-rw-r--r-- | nova/api/openstack/volume/types.py | 6 | ||||
-rw-r--r-- | nova/tests/api/openstack/compute/contrib/test_volume_types.py | 15 | ||||
-rw-r--r-- | nova/tests/api/openstack/volume/test_types.py | 15 |
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) |