From 797e9dc50f4e0a326e508ebddeb07b6b3721c8dc Mon Sep 17 00:00:00 2001 From: Giampaolo Lauria Date: Fri, 7 Dec 2012 08:55:15 -0500 Subject: [PATCH] Added sample tests to FlavorManage API. Partially implements blueprint nova-api-samples Fixes bug 1070163 Change-Id: Ib838adf0c21f3eee6c52cd8e1942c96ae89cca98 --- .../flavor-create-post-req.json | 13 ++++++++ .../flavor-create-post-req.xml | 10 ++++++ .../flavor-create-post-resp.json | 19 +++++++++++ .../flavor-create-post-resp.xml | 5 +++ .../flavor-create-post-req.json.tpl | 13 ++++++++ .../flavor-create-post-req.xml.tpl | 10 ++++++ .../flavor-create-post-resp.json.tpl | 19 +++++++++++ .../flavor-create-post-resp.xml.tpl | 5 +++ nova/tests/integrated/test_api_samples.py | 33 +++++++++++++++++++ 9 files changed, 127 insertions(+) create mode 100644 doc/api_samples/os-flavor-manage/flavor-create-post-req.json create mode 100644 doc/api_samples/os-flavor-manage/flavor-create-post-req.xml create mode 100644 doc/api_samples/os-flavor-manage/flavor-create-post-resp.json create mode 100644 doc/api_samples/os-flavor-manage/flavor-create-post-resp.xml create mode 100644 nova/tests/integrated/api_samples/os-flavor-manage/flavor-create-post-req.json.tpl create mode 100644 nova/tests/integrated/api_samples/os-flavor-manage/flavor-create-post-req.xml.tpl create mode 100644 nova/tests/integrated/api_samples/os-flavor-manage/flavor-create-post-resp.json.tpl create mode 100644 nova/tests/integrated/api_samples/os-flavor-manage/flavor-create-post-resp.xml.tpl diff --git a/doc/api_samples/os-flavor-manage/flavor-create-post-req.json b/doc/api_samples/os-flavor-manage/flavor-create-post-req.json new file mode 100644 index 000000000000..9c5661cdbf6f --- /dev/null +++ b/doc/api_samples/os-flavor-manage/flavor-create-post-req.json @@ -0,0 +1,13 @@ +{ + "flavor": { + "name": "test_flavor", + "ram": 1024, + "vcpus": 2, + "disk": 10, + "id": "10", + "os-flavor-access:is_public": true, + "rxtx_factor": 1, + "OS-FLV-EXT-DATA:ephemeral": 0, + "swap": 0 + } +} diff --git a/doc/api_samples/os-flavor-manage/flavor-create-post-req.xml b/doc/api_samples/os-flavor-manage/flavor-create-post-req.xml new file mode 100644 index 000000000000..2018acb0f305 --- /dev/null +++ b/doc/api_samples/os-flavor-manage/flavor-create-post-req.xml @@ -0,0 +1,10 @@ + + + test_flavor + 1024 + 2 + 10 + 10 + 1 + 0 + diff --git a/doc/api_samples/os-flavor-manage/flavor-create-post-resp.json b/doc/api_samples/os-flavor-manage/flavor-create-post-resp.json new file mode 100644 index 000000000000..9280b047df9b --- /dev/null +++ b/doc/api_samples/os-flavor-manage/flavor-create-post-resp.json @@ -0,0 +1,19 @@ +{ + "flavor": { + "disk": 10, + "id": "10", + "links": [ + { + "href": "http://openstack.example.com/v2/openstack/flavors/10", + "rel": "self" + }, + { + "href": "http://openstack.example.com/openstack/flavors/10", + "rel": "bookmark" + } + ], + "name": "test_flavor", + "ram": 1024, + "vcpus": 2 + } +} \ No newline at end of file diff --git a/doc/api_samples/os-flavor-manage/flavor-create-post-resp.xml b/doc/api_samples/os-flavor-manage/flavor-create-post-resp.xml new file mode 100644 index 000000000000..e213ddb311c1 --- /dev/null +++ b/doc/api_samples/os-flavor-manage/flavor-create-post-resp.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/nova/tests/integrated/api_samples/os-flavor-manage/flavor-create-post-req.json.tpl b/nova/tests/integrated/api_samples/os-flavor-manage/flavor-create-post-req.json.tpl new file mode 100644 index 000000000000..9ff3957b9c8e --- /dev/null +++ b/nova/tests/integrated/api_samples/os-flavor-manage/flavor-create-post-req.json.tpl @@ -0,0 +1,13 @@ +{ + "flavor": { + "name": "%(flavor_name)s", + "ram": 1024, + "vcpus": 2, + "disk": 10, + "id": "%(flavor_id)s", + "os-flavor-access:is_public": true, + "rxtx_factor": 1, + "OS-FLV-EXT-DATA:ephemeral": 0, + "swap": 0 + } +} diff --git a/nova/tests/integrated/api_samples/os-flavor-manage/flavor-create-post-req.xml.tpl b/nova/tests/integrated/api_samples/os-flavor-manage/flavor-create-post-req.xml.tpl new file mode 100644 index 000000000000..6b03dc2f91a9 --- /dev/null +++ b/nova/tests/integrated/api_samples/os-flavor-manage/flavor-create-post-req.xml.tpl @@ -0,0 +1,10 @@ + + + %(flavor_name)s + 1024 + 2 + 10 + %(flavor_id)s + 1 + 0 + diff --git a/nova/tests/integrated/api_samples/os-flavor-manage/flavor-create-post-resp.json.tpl b/nova/tests/integrated/api_samples/os-flavor-manage/flavor-create-post-resp.json.tpl new file mode 100644 index 000000000000..ae0ce80ba2d3 --- /dev/null +++ b/nova/tests/integrated/api_samples/os-flavor-manage/flavor-create-post-resp.json.tpl @@ -0,0 +1,19 @@ +{ + "flavor": { + "disk": 10, + "id": "%(flavor_id)s", + "links": [ + { + "href": "%(host)s/v2/openstack/flavors/%(flavor_id)s", + "rel": "self" + }, + { + "href": "%(host)s/openstack/flavors/%(flavor_id)s", + "rel": "bookmark" + } + ], + "name": "%(flavor_name)s", + "ram": 1024, + "vcpus": 2 + } +} diff --git a/nova/tests/integrated/api_samples/os-flavor-manage/flavor-create-post-resp.xml.tpl b/nova/tests/integrated/api_samples/os-flavor-manage/flavor-create-post-resp.xml.tpl new file mode 100644 index 000000000000..156ef215e69f --- /dev/null +++ b/nova/tests/integrated/api_samples/os-flavor-manage/flavor-create-post-resp.xml.tpl @@ -0,0 +1,5 @@ + + + + + diff --git a/nova/tests/integrated/test_api_samples.py b/nova/tests/integrated/test_api_samples.py index 4142e058f1f9..b864b84fadfb 100644 --- a/nova/tests/integrated/test_api_samples.py +++ b/nova/tests/integrated/test_api_samples.py @@ -1852,3 +1852,36 @@ class ExtendedStatusSampleJsonTests(ServersSampleBase): class ExtendedStatusSampleXmlTests(ExtendedStatusSampleJsonTests): ctype = 'xml' + + +class FlavorManageSampleJsonTests(ApiSampleTestBase): + extension_name = ("nova.api.openstack.compute.contrib.flavormanage." + "Flavormanage") + + def _create_flavor(self): + """Create a flavor""" + subs = { + 'flavor_id': 10, + 'flavor_name': "test_flavor" + } + response = self._do_post("flavors", + "flavor-create-post-req", + subs) + self.assertEqual(response.status, 200) + subs.update(self._get_regexes()) + return self._verify_response("flavor-create-post-resp", subs, response) + + def test_create_flavor(self): + """Get api sample to create a flavor""" + self._create_flavor() + + def test_delete_flavor(self): + """Get api sample to delete a flavor""" + self._create_flavor() + response = self._do_delete("flavors/10") + self.assertEqual(response.status, 202) + self.assertEqual(response.read(), '') + + +class FlavorManageSampleXmlTests(FlavorManageSampleJsonTests): + ctype = "xml"