From 3fa2200f0c5479cd168cfc7a2cb7ad9fda4d0985 Mon Sep 17 00:00:00 2001 From: ghanshyam Date: Mon, 24 Aug 2015 14:40:12 +0900 Subject: [PATCH] Share server POST sample file for microversion too There are many place where server POST request has been used to tests other API behavior. There was issue of having duplicate server POST req and resp sample files in each API sample directory. we added logic to share those sample files from common place ('servers' sample dir) As microversion tests also need to share such logic, This commit extends that logic to work for microversion tests also. Partially implements blueprint test-collapse-v2-and-v21 Change-Id: I3448e1934585c2dabed6c45216ea0513db258b27 --- .../servers/v2.9/server-post-req.json | 12 ------------ .../servers/v2.9/server-post-resp.json | 16 ---------------- .../api_sample_tests/api_sample_base.py | 17 ++++++++++------- .../servers/v2.9/server-post-req.json.tpl | 12 ------------ .../servers/v2.9/server-post-resp.json.tpl | 16 ---------------- .../api_sample_tests/test_remote_consoles.py | 8 -------- 6 files changed, 10 insertions(+), 71 deletions(-) delete mode 100644 doc/api_samples/servers/v2.9/server-post-req.json delete mode 100644 doc/api_samples/servers/v2.9/server-post-resp.json delete mode 100644 nova/tests/functional/api_sample_tests/api_samples/servers/v2.9/server-post-req.json.tpl delete mode 100644 nova/tests/functional/api_sample_tests/api_samples/servers/v2.9/server-post-resp.json.tpl diff --git a/doc/api_samples/servers/v2.9/server-post-req.json b/doc/api_samples/servers/v2.9/server-post-req.json deleted file mode 100644 index 42b0df9790..0000000000 --- a/doc/api_samples/servers/v2.9/server-post-req.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "server" : { - "accessIPv4": "1.2.3.4", - "accessIPv6": "80fe::", - "name" : "new-server-test", - "imageRef" : "http://glance.openstack.example.com/images/70a599e0-31e7-49b7-b260-868f441e862b", - "flavorRef" : "http://openstack.example.com/flavors/1", - "metadata" : { - "My Server Name" : "Apache1" - } - } -} diff --git a/doc/api_samples/servers/v2.9/server-post-resp.json b/doc/api_samples/servers/v2.9/server-post-resp.json deleted file mode 100644 index 2893e08544..0000000000 --- a/doc/api_samples/servers/v2.9/server-post-resp.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "server": { - "adminPass": "6NpUwoz2QDRN", - "id": "f5dc173b-6804-445a-a6d8-c705dad5b5eb", - "links": [ - { - "href": "http://openstack.example.com/v2/openstack/servers/f5dc173b-6804-445a-a6d8-c705dad5b5eb", - "rel": "self" - }, - { - "href": "http://openstack.example.com/openstack/servers/f5dc173b-6804-445a-a6d8-c705dad5b5eb", - "rel": "bookmark" - } - ] - } -} diff --git a/nova/tests/functional/api_sample_tests/api_sample_base.py b/nova/tests/functional/api_sample_tests/api_sample_base.py index 88adad69d1..9eac44e798 100644 --- a/nova/tests/functional/api_sample_tests/api_sample_base.py +++ b/nova/tests/functional/api_sample_tests/api_sample_base.py @@ -91,15 +91,18 @@ class ApiSampleTestBaseV3(testscenarios.WithScenarios, parts.append('all_extensions') # Note(gmann): if _use_common_server_api_samples is set to True # then common server sample files present in 'servers' directory - # will be used. + # will be used. As of now it is being used for server POST request + # to avoid duplicate copy of server req and resp sample files. + # Example - ServersSampleBase's _post_server method. elif cls._use_common_server_api_samples: parts.append('servers') - elif cls.sample_dir: - parts.append(cls.sample_dir) - elif cls.extension_name: - parts.append(cls.extension_name) - if api_version: - parts.append('v' + api_version) + else: + if cls.sample_dir: + parts.append(cls.sample_dir) + elif cls.extension_name: + parts.append(cls.extension_name) + if api_version: + parts.append('v' + api_version) parts.append(name + "." + cls.ctype + suffix) return os.path.join(*parts) diff --git a/nova/tests/functional/api_sample_tests/api_samples/servers/v2.9/server-post-req.json.tpl b/nova/tests/functional/api_sample_tests/api_samples/servers/v2.9/server-post-req.json.tpl deleted file mode 100644 index 84218dc787..0000000000 --- a/nova/tests/functional/api_sample_tests/api_samples/servers/v2.9/server-post-req.json.tpl +++ /dev/null @@ -1,12 +0,0 @@ -{ - "server" : { - "accessIPv4": "%(access_ip_v4)s", - "accessIPv6": "%(access_ip_v6)s", - "name" : "new-server-test", - "imageRef" : "%(glance_host)s/images/%(image_id)s", - "flavorRef" : "%(host)s/flavors/1", - "metadata" : { - "My Server Name" : "Apache1" - } - } -} diff --git a/nova/tests/functional/api_sample_tests/api_samples/servers/v2.9/server-post-resp.json.tpl b/nova/tests/functional/api_sample_tests/api_samples/servers/v2.9/server-post-resp.json.tpl deleted file mode 100644 index abbc7cf6b2..0000000000 --- a/nova/tests/functional/api_sample_tests/api_samples/servers/v2.9/server-post-resp.json.tpl +++ /dev/null @@ -1,16 +0,0 @@ -{ - "server": { - "adminPass": "%(password)s", - "id": "%(id)s", - "links": [ - { - "href": "http://openstack.example.com/v2/openstack/servers/%(uuid)s", - "rel": "self" - }, - { - "href": "http://openstack.example.com/openstack/servers/%(uuid)s", - "rel": "bookmark" - } - ] - } -} diff --git a/nova/tests/functional/api_sample_tests/test_remote_consoles.py b/nova/tests/functional/api_sample_tests/test_remote_consoles.py index ee5f53910a..cb9c81a208 100644 --- a/nova/tests/functional/api_sample_tests/test_remote_consoles.py +++ b/nova/tests/functional/api_sample_tests/test_remote_consoles.py @@ -100,11 +100,7 @@ class ConsolesV26SampleJsonTests(test_servers.ServersSampleBase): self.http_regex = "(https?://)([\w\d:#@%/;$()~_?\+-=\\\.&](#!)?)*" def test_create_console(self): - # NOTE(rgerganov): set temporary to None to avoid duplicating server - # templates in the v2.6 folder - ConsolesV26SampleJsonTests.request_api_version = None uuid = self._post_server() - ConsolesV26SampleJsonTests.request_api_version = '2.6' body = {'protocol': 'vnc', 'type': 'novnc'} response = self._do_post('servers/%s/remote-consoles' % uuid, @@ -127,11 +123,7 @@ class ConsolesV28SampleJsonTests(test_servers.ServersSampleBase): self.flags(enabled=True, group='mks') def test_create_mks_console(self): - # NOTE(rgerganov): set temporary to None to avoid duplicating server - # templates in the v2.8 folder - ConsolesV28SampleJsonTests.request_api_version = None uuid = self._post_server() - ConsolesV28SampleJsonTests.request_api_version = '2.8' body = {'protocol': 'mks', 'type': 'webmks'} response = self._do_post('servers/%s/remote-consoles' % uuid,