From edcc7ab36012207484023fbb3af2fba9f7cb2da8 Mon Sep 17 00:00:00 2001 From: parklong Date: Tue, 7 Apr 2015 11:54:11 +0800 Subject: [PATCH] Merge fixed_ips functional tests of v2 and v2.1 Currently v2 and v2.1 have separate functional tests and their corresponding sample files. As v2 and v2.1 are supposed to be identical, there is overhead to maintain two set of functional tests and sample files. We can have one set of tests which can run for both v2 and v2.1. This commit merges fixed_ips functional tests. Change-Id: Ia7d709adb90bf91adb92a3550584a30347d2f32d --- .../os-fixed-ips/fixedip-post-req.json | 3 - .../os-fixed-ips/fixedips-get-resp.json | 8 -- .../os-fixed-ips/fixedip-post-req.json.tpl | 3 - .../os-fixed-ips/fixedips-get-resp.json.tpl | 8 -- nova/tests/functional/test_api_samples.py | 83 ------------------- nova/tests/functional/v3/test_fixed_ips.py | 17 ++++ 6 files changed, 17 insertions(+), 105 deletions(-) delete mode 100644 doc/api_samples/os-fixed-ips/fixedip-post-req.json delete mode 100644 doc/api_samples/os-fixed-ips/fixedips-get-resp.json delete mode 100644 nova/tests/functional/api_samples/os-fixed-ips/fixedip-post-req.json.tpl delete mode 100644 nova/tests/functional/api_samples/os-fixed-ips/fixedips-get-resp.json.tpl diff --git a/doc/api_samples/os-fixed-ips/fixedip-post-req.json b/doc/api_samples/os-fixed-ips/fixedip-post-req.json deleted file mode 100644 index fd8ee48bf5..0000000000 --- a/doc/api_samples/os-fixed-ips/fixedip-post-req.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "reserve": null -} \ No newline at end of file diff --git a/doc/api_samples/os-fixed-ips/fixedips-get-resp.json b/doc/api_samples/os-fixed-ips/fixedips-get-resp.json deleted file mode 100644 index d63c91559a..0000000000 --- a/doc/api_samples/os-fixed-ips/fixedips-get-resp.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "fixed_ip": { - "address": "192.168.1.1", - "cidr": "192.168.1.0/24", - "host": "host", - "hostname": "openstack" - } -} \ No newline at end of file diff --git a/nova/tests/functional/api_samples/os-fixed-ips/fixedip-post-req.json.tpl b/nova/tests/functional/api_samples/os-fixed-ips/fixedip-post-req.json.tpl deleted file mode 100644 index 4a962d9816..0000000000 --- a/nova/tests/functional/api_samples/os-fixed-ips/fixedip-post-req.json.tpl +++ /dev/null @@ -1,3 +0,0 @@ -{ - "reserve": null -} diff --git a/nova/tests/functional/api_samples/os-fixed-ips/fixedips-get-resp.json.tpl b/nova/tests/functional/api_samples/os-fixed-ips/fixedips-get-resp.json.tpl deleted file mode 100644 index a3d11475bf..0000000000 --- a/nova/tests/functional/api_samples/os-fixed-ips/fixedips-get-resp.json.tpl +++ /dev/null @@ -1,8 +0,0 @@ -{ - "fixed_ip": { - "cidr": "%(cidr)s", - "hostname": "%(hostname)s", - "host": "%(host)s", - "address": "%(address)s" - } -} diff --git a/nova/tests/functional/test_api_samples.py b/nova/tests/functional/test_api_samples.py index e25bcde603..2219dcedd8 100644 --- a/nova/tests/functional/test_api_samples.py +++ b/nova/tests/functional/test_api_samples.py @@ -61,8 +61,6 @@ from nova.tests.unit import fake_network from nova.tests.unit import fake_network_cache_model from nova.tests.unit import fake_utils from nova.tests.unit.image import fake -from nova.tests.unit.objects import test_network -from nova.tests.unit import utils as test_utils from nova import utils from nova.volume import cinder @@ -974,87 +972,6 @@ class CloudPipeUpdateJsonTest(ApiSampleTestBaseV2): self.assertEqual(response.content, "") -class FixedIpJsonTest(ApiSampleTestBaseV2): - extension_name = "nova.api.openstack.compute.contrib.fixed_ips.Fixed_ips" - - def _get_flags(self): - f = super(FixedIpJsonTest, self)._get_flags() - f['osapi_compute_extension'] = CONF.osapi_compute_extension[:] - return f - - def setUp(self): - super(FixedIpJsonTest, self).setUp() - - instance = dict(test_utils.get_test_instance(), - hostname='openstack', host='host') - fake_fixed_ips = [{'id': 1, - 'address': '192.168.1.1', - 'network_id': 1, - 'virtual_interface_id': 1, - 'instance_uuid': '1', - 'allocated': False, - 'leased': False, - 'reserved': False, - 'created_at': None, - 'deleted_at': None, - 'updated_at': None, - 'deleted': None, - 'instance': instance, - 'network': test_network.fake_network, - 'host': None}, - {'id': 2, - 'address': '192.168.1.2', - 'network_id': 1, - 'virtual_interface_id': 2, - 'instance_uuid': '2', - 'allocated': False, - 'leased': False, - 'reserved': False, - 'created_at': None, - 'deleted_at': None, - 'updated_at': None, - 'deleted': None, - 'instance': instance, - 'network': test_network.fake_network, - 'host': None}, - ] - - def fake_fixed_ip_get_by_address(context, address, - columns_to_join=None): - for fixed_ip in fake_fixed_ips: - if fixed_ip['address'] == address: - return fixed_ip - raise exception.FixedIpNotFoundForAddress(address=address) - - def fake_fixed_ip_update(context, address, values): - fixed_ip = fake_fixed_ip_get_by_address(context, address) - if fixed_ip is None: - raise exception.FixedIpNotFoundForAddress(address=address) - else: - for key in values: - fixed_ip[key] = values[key] - - self.stubs.Set(db, "fixed_ip_get_by_address", - fake_fixed_ip_get_by_address) - self.stubs.Set(db, "fixed_ip_update", fake_fixed_ip_update) - - def test_fixed_ip_reserve(self): - # Reserve a Fixed IP. - response = self._do_post('os-fixed-ips/192.168.1.1/action', - 'fixedip-post-req', {}) - self.assertEqual(response.status_code, 202) - self.assertEqual(response.content, "") - - def test_get_fixed_ip(self): - # Return data about the given fixed ip. - response = self._do_get('os-fixed-ips/192.168.1.1') - project = {'cidr': '192.168.1.0/24', - 'hostname': 'openstack', - 'host': 'host', - 'address': '192.168.1.1'} - self._verify_response('fixedips-get-resp', project, response, 200) - - class UsedLimitsSamplesJsonTest(ApiSampleTestBaseV2): extension_name = ("nova.api.openstack.compute.contrib.used_limits." "Used_limits") diff --git a/nova/tests/functional/v3/test_fixed_ips.py b/nova/tests/functional/v3/test_fixed_ips.py index af95076a67..13f4815644 100644 --- a/nova/tests/functional/v3/test_fixed_ips.py +++ b/nova/tests/functional/v3/test_fixed_ips.py @@ -12,15 +12,32 @@ # License for the specific language governing permissions and limitations # under the License. +from oslo_config import cfg + from nova import db from nova import exception from nova.tests.functional.v3 import test_servers from nova.tests.unit.objects import test_network from nova.tests.unit import utils as test_utils +CONF = cfg.CONF +CONF.import_opt('osapi_compute_extension', + 'nova.api.openstack.compute.extensions') + class FixedIpTest(test_servers.ServersSampleBase): extension_name = "os-fixed-ips" + # TODO(park): Overriding '_api_version' till all functional tests + # are merged between v2 and v2.1. After that base class variable + # itself can be changed to 'v2' + _api_version = 'v2' + + def _get_flags(self): + f = super(FixedIpTest, self)._get_flags() + f['osapi_compute_extension'] = CONF.osapi_compute_extension[:] + f['osapi_compute_extension'].append( + 'nova.api.openstack.compute.contrib.fixed_ips.Fixed_ips') + return f def setUp(self): super(FixedIpTest, self).setUp()