From 8c168dd4fd55aed89b62eec5a0506299dd0d0438 Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Wed, 12 Sep 2012 10:37:22 -0700 Subject: Adds more servers list and servers details samples This moves the servers detail test into the base servers test so it runs with all_extensions as well. It also renames the results to be consistent with the other tests. Finally it adds test for servers-list both with and without extensions. Change-Id: I6eed3932fa594f1a39faa55453461680781e6a9f --- .../all_extensions/server-get-resp.json.tpl | 6 +- .../all_extensions/server-get-resp.xml.tpl | 4 +- .../all_extensions/servers-details-resp.json.tpl | 70 ++++++++++++++++++++++ .../all_extensions/servers-details-resp.xml.tpl | 24 ++++++++ .../all_extensions/servers-list-resp.json.tpl | 18 ++++++ .../all_extensions/servers-list-resp.xml.tpl | 7 +++ .../api_samples/server-detail-get-resp.json.tpl | 56 ----------------- .../api_samples/server-detail-get-resp.xml.tpl | 21 ------- .../api_samples/server-get-resp.json.tpl | 6 +- .../integrated/api_samples/server-get-resp.xml.tpl | 4 +- .../api_samples/servers-details-resp.json.tpl | 56 +++++++++++++++++ .../api_samples/servers-details-resp.xml.tpl | 21 +++++++ .../api_samples/servers-list-resp.json.tpl | 18 ++++++ .../api_samples/servers-list-resp.xml.tpl | 7 +++ nova/tests/integrated/test_api_samples.py | 22 ++++--- 15 files changed, 244 insertions(+), 96 deletions(-) create mode 100644 nova/tests/integrated/api_samples/all_extensions/servers-details-resp.json.tpl create mode 100644 nova/tests/integrated/api_samples/all_extensions/servers-details-resp.xml.tpl create mode 100644 nova/tests/integrated/api_samples/all_extensions/servers-list-resp.json.tpl create mode 100644 nova/tests/integrated/api_samples/all_extensions/servers-list-resp.xml.tpl delete mode 100644 nova/tests/integrated/api_samples/server-detail-get-resp.json.tpl delete mode 100644 nova/tests/integrated/api_samples/server-detail-get-resp.xml.tpl create mode 100644 nova/tests/integrated/api_samples/servers-details-resp.json.tpl create mode 100644 nova/tests/integrated/api_samples/servers-details-resp.xml.tpl create mode 100644 nova/tests/integrated/api_samples/servers-list-resp.json.tpl create mode 100644 nova/tests/integrated/api_samples/servers-list-resp.xml.tpl (limited to 'nova') diff --git a/nova/tests/integrated/api_samples/all_extensions/server-get-resp.json.tpl b/nova/tests/integrated/api_samples/all_extensions/server-get-resp.json.tpl index c4e2ecf78..2c44cdfc0 100644 --- a/nova/tests/integrated/api_samples/all_extensions/server-get-resp.json.tpl +++ b/nova/tests/integrated/api_samples/all_extensions/server-get-resp.json.tpl @@ -29,7 +29,7 @@ ] }, "hostId": "%(hostid)s", - "id": "%(uuid)s", + "id": "%(id)s", "image": { "id": "%(uuid)s", "links": [ @@ -42,11 +42,11 @@ "key_name": null, "links": [ { - "href": "%(host)s/v2/openstack/servers/%(uuid)s", + "href": "%(host)s/v2/openstack/servers/%(id)s", "rel": "self" }, { - "href": "%(host)s/openstack/servers/%(uuid)s", + "href": "%(host)s/openstack/servers/%(id)s", "rel": "bookmark" } ], diff --git a/nova/tests/integrated/api_samples/all_extensions/server-get-resp.xml.tpl b/nova/tests/integrated/api_samples/all_extensions/server-get-resp.xml.tpl index 8211a3e0a..d910a7e23 100644 --- a/nova/tests/integrated/api_samples/all_extensions/server-get-resp.xml.tpl +++ b/nova/tests/integrated/api_samples/all_extensions/server-get-resp.xml.tpl @@ -14,8 +14,8 @@ - - + + diff --git a/nova/tests/integrated/api_samples/all_extensions/servers-details-resp.json.tpl b/nova/tests/integrated/api_samples/all_extensions/servers-details-resp.json.tpl new file mode 100644 index 000000000..21185c5d5 --- /dev/null +++ b/nova/tests/integrated/api_samples/all_extensions/servers-details-resp.json.tpl @@ -0,0 +1,70 @@ +{ + "servers": [ + { + "OS-DCF:diskConfig": "AUTO", + "OS-EXT-SRV-ATTR:host": "%(compute_host)s", + "OS-EXT-SRV-ATTR:hypervisor_hostname": null, + "OS-EXT-SRV-ATTR:instance_name": "instance-00000001", + "OS-EXT-STS:power_state": 1, + "OS-EXT-STS:task_state": null, + "OS-EXT-STS:vm_state": "active", + "accessIPv4": "", + "accessIPv6": "", + "addresses": { + "private": [ + { + "addr": "%(ip)s", + "version": 4 + } + ] + }, + "config_drive": "", + "created": "%(timestamp)s", + "flavor": { + "id": "1", + "links": [ + { + "href": "%(host)s/openstack/flavors/1", + "rel": "bookmark" + } + ] + }, + "hostId": "%(hostid)s", + "id": "%(id)s", + "image": { + "id": "%(uuid)s", + "links": [ + { + "href": "%(host)s/openstack/images/%(uuid)s", + "rel": "bookmark" + } + ] + }, + "key_name": null, + "links": [ + { + "href": "%(host)s/v2/openstack/servers/%(id)s", + "rel": "self" + }, + { + "href": "%(host)s/openstack/servers/%(id)s", + "rel": "bookmark" + } + ], + "metadata": { + "My Server Name": "Apache1" + }, + "name": "new-server-test", + "progress": 0, + "security_groups": [ + { + "name": "default" + } + ], + "status": "ACTIVE", + "tenant_id": "openstack", + "updated": "%(timestamp)s", + "user_id": "fake" + } + ] +} diff --git a/nova/tests/integrated/api_samples/all_extensions/servers-details-resp.xml.tpl b/nova/tests/integrated/api_samples/all_extensions/servers-details-resp.xml.tpl new file mode 100644 index 000000000..eb7bed92d --- /dev/null +++ b/nova/tests/integrated/api_samples/all_extensions/servers-details-resp.xml.tpl @@ -0,0 +1,24 @@ + + + + + + + + + + + Apache1 + + + + + + + + + + + + + diff --git a/nova/tests/integrated/api_samples/all_extensions/servers-list-resp.json.tpl b/nova/tests/integrated/api_samples/all_extensions/servers-list-resp.json.tpl new file mode 100644 index 000000000..8b97dc28d --- /dev/null +++ b/nova/tests/integrated/api_samples/all_extensions/servers-list-resp.json.tpl @@ -0,0 +1,18 @@ +{ + "servers": [ + { + "id": "%(id)s", + "links": [ + { + "href": "%(host)s/v2/openstack/servers/%(id)s", + "rel": "self" + }, + { + "href": "%(host)s/openstack/servers/%(id)s", + "rel": "bookmark" + } + ], + "name": "new-server-test" + } + ] +} diff --git a/nova/tests/integrated/api_samples/all_extensions/servers-list-resp.xml.tpl b/nova/tests/integrated/api_samples/all_extensions/servers-list-resp.xml.tpl new file mode 100644 index 000000000..03bee03a6 --- /dev/null +++ b/nova/tests/integrated/api_samples/all_extensions/servers-list-resp.xml.tpl @@ -0,0 +1,7 @@ + + + + + + + diff --git a/nova/tests/integrated/api_samples/server-detail-get-resp.json.tpl b/nova/tests/integrated/api_samples/server-detail-get-resp.json.tpl deleted file mode 100644 index 921bfdf88..000000000 --- a/nova/tests/integrated/api_samples/server-detail-get-resp.json.tpl +++ /dev/null @@ -1,56 +0,0 @@ -{ - "servers": [ - { - "accessIPv4": "", - "accessIPv6": "", - "addresses": { - "private": [ - { - "addr": "%(ip)s", - "version": 4 - } - ] - }, - "created": "%(timestamp)s", - "flavor": { - "id": "1", - "links": [ - { - "href": "%(host)s/openstack/flavors/1", - "rel": "bookmark" - } - ] - }, - "hostId": "%(hostid)s", - "id": "%(uuid)s", - "image": { - "id": "%(uuid)s", - "links": [ - { - "href": "%(host)s/openstack/images/%(uuid)s", - "rel": "bookmark" - } - ] - }, - "links": [ - { - "href": "%(host)s/v2/openstack/servers/%(uuid)s", - "rel": "self" - }, - { - "href": "%(host)s/openstack/servers/%(uuid)s", - "rel": "bookmark" - } - ], - "metadata": { - "My Server Name": "Apache1" - }, - "name": "new-server-test", - "progress": 0, - "status": "ACTIVE", - "tenant_id": "openstack", - "updated": "%(timestamp)s", - "user_id": "fake" - } - ] -} diff --git a/nova/tests/integrated/api_samples/server-detail-get-resp.xml.tpl b/nova/tests/integrated/api_samples/server-detail-get-resp.xml.tpl deleted file mode 100644 index 4465f68d7..000000000 --- a/nova/tests/integrated/api_samples/server-detail-get-resp.xml.tpl +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - Apache1 - - - - - - - - - - diff --git a/nova/tests/integrated/api_samples/server-get-resp.json.tpl b/nova/tests/integrated/api_samples/server-get-resp.json.tpl index 76907e6c3..86e39aedc 100644 --- a/nova/tests/integrated/api_samples/server-get-resp.json.tpl +++ b/nova/tests/integrated/api_samples/server-get-resp.json.tpl @@ -21,7 +21,7 @@ ] }, "hostId": "%(hostid)s", - "id": "%(uuid)s", + "id": "%(id)s", "image": { "id": "%(uuid)s", "links": [ @@ -33,11 +33,11 @@ }, "links": [ { - "href": "%(host)s/v2/openstack/servers/%(uuid)s", + "href": "%(host)s/v2/openstack/servers/%(id)s", "rel": "self" }, { - "href": "%(host)s/openstack/servers/%(uuid)s", + "href": "%(host)s/openstack/servers/%(id)s", "rel": "bookmark" } ], diff --git a/nova/tests/integrated/api_samples/server-get-resp.xml.tpl b/nova/tests/integrated/api_samples/server-get-resp.xml.tpl index f3e4b4bd0..adc8a5c1b 100644 --- a/nova/tests/integrated/api_samples/server-get-resp.xml.tpl +++ b/nova/tests/integrated/api_samples/server-get-resp.xml.tpl @@ -14,6 +14,6 @@ - - + + diff --git a/nova/tests/integrated/api_samples/servers-details-resp.json.tpl b/nova/tests/integrated/api_samples/servers-details-resp.json.tpl new file mode 100644 index 000000000..e244ea0df --- /dev/null +++ b/nova/tests/integrated/api_samples/servers-details-resp.json.tpl @@ -0,0 +1,56 @@ +{ + "servers": [ + { + "accessIPv4": "", + "accessIPv6": "", + "addresses": { + "private": [ + { + "addr": "%(ip)s", + "version": 4 + } + ] + }, + "created": "%(timestamp)s", + "flavor": { + "id": "1", + "links": [ + { + "href": "%(host)s/openstack/flavors/1", + "rel": "bookmark" + } + ] + }, + "hostId": "%(hostid)s", + "id": "%(id)s", + "image": { + "id": "%(uuid)s", + "links": [ + { + "href": "%(host)s/openstack/images/%(uuid)s", + "rel": "bookmark" + } + ] + }, + "links": [ + { + "href": "%(host)s/v2/openstack/servers/%(id)s", + "rel": "self" + }, + { + "href": "%(host)s/openstack/servers/%(id)s", + "rel": "bookmark" + } + ], + "metadata": { + "My Server Name": "Apache1" + }, + "name": "new-server-test", + "progress": 0, + "status": "ACTIVE", + "tenant_id": "openstack", + "updated": "%(timestamp)s", + "user_id": "fake" + } + ] +} diff --git a/nova/tests/integrated/api_samples/servers-details-resp.xml.tpl b/nova/tests/integrated/api_samples/servers-details-resp.xml.tpl new file mode 100644 index 000000000..568807ecb --- /dev/null +++ b/nova/tests/integrated/api_samples/servers-details-resp.xml.tpl @@ -0,0 +1,21 @@ + + + + + + + + + + + Apache1 + + + + + + + + + + diff --git a/nova/tests/integrated/api_samples/servers-list-resp.json.tpl b/nova/tests/integrated/api_samples/servers-list-resp.json.tpl new file mode 100644 index 000000000..8b97dc28d --- /dev/null +++ b/nova/tests/integrated/api_samples/servers-list-resp.json.tpl @@ -0,0 +1,18 @@ +{ + "servers": [ + { + "id": "%(id)s", + "links": [ + { + "href": "%(host)s/v2/openstack/servers/%(id)s", + "rel": "self" + }, + { + "href": "%(host)s/openstack/servers/%(id)s", + "rel": "bookmark" + } + ], + "name": "new-server-test" + } + ] +} diff --git a/nova/tests/integrated/api_samples/servers-list-resp.xml.tpl b/nova/tests/integrated/api_samples/servers-list-resp.xml.tpl new file mode 100644 index 000000000..03bee03a6 --- /dev/null +++ b/nova/tests/integrated/api_samples/servers-list-resp.xml.tpl @@ -0,0 +1,7 @@ + + + + + + + diff --git a/nova/tests/integrated/test_api_samples.py b/nova/tests/integrated/test_api_samples.py index 0c1bfdd3f..c03d7d8a3 100644 --- a/nova/tests/integrated/test_api_samples.py +++ b/nova/tests/integrated/test_api_samples.py @@ -236,7 +236,7 @@ class ApiSampleTestBase(integrated_helpers._IntegratedTestBase): class VersionsSampleJsonTest(ApiSampleTestBase): - def test_servers_get(self): + def test_versions_get(self): response = self._do_get('', strip_version=True) subs = self._get_regexes() return self._verify_response('versions-get-resp', subs, response) @@ -267,24 +267,28 @@ class ServersSampleJsonTest(ServersSampleBase): response = self._do_get('servers/%s' % uuid) subs = self._get_regexes() subs['hostid'] = '[a-f0-9]+' + subs['id'] = uuid return self._verify_response('server-get-resp', subs, response) + def test_servers_list(self): + uuid = self._post_server() + response = self._do_get('servers') + self.assertEqual(response.status, 200) + subs = self._get_regexes() + subs['id'] = uuid + return self._verify_response('servers-list-resp', subs, response) -class ServersSampleXmlTest(ServersSampleJsonTest): - ctype = 'xml' - - -class ServersDetailJsonTest(ServersSampleBase): - def test_servers_detail_get(self): + def test_servers_details(self): uuid = self._post_server() response = self._do_get('servers/detail') self.assertEqual(response.status, 200) subs = self._get_regexes() subs['hostid'] = '[a-f0-9]+' - return self._verify_response('server-detail-get-resp', subs, response) + subs['id'] = uuid + return self._verify_response('servers-details-resp', subs, response) -class ServersDetailXmlTest(ServersDetailJsonTest): +class ServersSampleXmlTest(ServersSampleJsonTest): ctype = 'xml' -- cgit