summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGiampaolo Lauria <lauria@us.ibm.com>2012-12-07 08:55:15 -0500
committerGiampaolo Lauria <lauria@us.ibm.com>2012-12-08 14:11:15 -0500
commit797e9dc50f4e0a326e508ebddeb07b6b3721c8dc (patch)
tree121dfee1de28a3ef93dbaba4fcfad02fe83f3956
parent45a1878ef6e7b1b1e7024194111a7c74bd1fd9c0 (diff)
downloadnova-797e9dc50f4e0a326e508ebddeb07b6b3721c8dc.tar.gz
nova-797e9dc50f4e0a326e508ebddeb07b6b3721c8dc.tar.xz
nova-797e9dc50f4e0a326e508ebddeb07b6b3721c8dc.zip
Added sample tests to FlavorManage API.
Partially implements blueprint nova-api-samples Fixes bug 1070163 Change-Id: Ib838adf0c21f3eee6c52cd8e1942c96ae89cca98
-rw-r--r--doc/api_samples/os-flavor-manage/flavor-create-post-req.json13
-rw-r--r--doc/api_samples/os-flavor-manage/flavor-create-post-req.xml10
-rw-r--r--doc/api_samples/os-flavor-manage/flavor-create-post-resp.json19
-rw-r--r--doc/api_samples/os-flavor-manage/flavor-create-post-resp.xml5
-rw-r--r--nova/tests/integrated/api_samples/os-flavor-manage/flavor-create-post-req.json.tpl13
-rw-r--r--nova/tests/integrated/api_samples/os-flavor-manage/flavor-create-post-req.xml.tpl10
-rw-r--r--nova/tests/integrated/api_samples/os-flavor-manage/flavor-create-post-resp.json.tpl19
-rw-r--r--nova/tests/integrated/api_samples/os-flavor-manage/flavor-create-post-resp.xml.tpl5
-rw-r--r--nova/tests/integrated/test_api_samples.py33
9 files changed, 127 insertions, 0 deletions
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 000000000..9c5661cdb
--- /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 000000000..2018acb0f
--- /dev/null
+++ b/doc/api_samples/os-flavor-manage/flavor-create-post-req.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<flavor>
+ <name>test_flavor</name>
+ <ram>1024</ram>
+ <vcpus>2</vcpus>
+ <disk>10</disk>
+ <id>10</id>
+ <rxtx_factor>1</rxtx_factor>
+ <swap>0</swap>
+</flavor>
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 000000000..9280b047d
--- /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 000000000..e213ddb31
--- /dev/null
+++ b/doc/api_samples/os-flavor-manage/flavor-create-post-resp.xml
@@ -0,0 +1,5 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<flavor xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1" disk="10" vcpus="2" ram="1024" name="test_flavor" id="10">
+ <atom:link href="http://openstack.example.com/v2/openstack/flavors/10" rel="self"/>
+ <atom:link href="http://openstack.example.com/openstack/flavors/10" rel="bookmark"/>
+</flavor> \ 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 000000000..9ff3957b9
--- /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 000000000..6b03dc2f9
--- /dev/null
+++ b/nova/tests/integrated/api_samples/os-flavor-manage/flavor-create-post-req.xml.tpl
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<flavor>
+ <name>%(flavor_name)s</name>
+ <ram>1024</ram>
+ <vcpus>2</vcpus>
+ <disk>10</disk>
+ <id>%(flavor_id)s</id>
+ <rxtx_factor>1</rxtx_factor>
+ <swap>0</swap>
+</flavor>
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 000000000..ae0ce80ba
--- /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 000000000..156ef215e
--- /dev/null
+++ b/nova/tests/integrated/api_samples/os-flavor-manage/flavor-create-post-resp.xml.tpl
@@ -0,0 +1,5 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<flavor xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1" disk="10" vcpus="2" ram="1024" name="%(flavor_name)s" id="%(flavor_id)s">
+ <atom:link href="%(host)s/v2/openstack/flavors/%(flavor_id)s" rel="self"/>
+ <atom:link href="%(host)s/openstack/flavors/%(flavor_id)s" rel="bookmark"/>
+</flavor>
diff --git a/nova/tests/integrated/test_api_samples.py b/nova/tests/integrated/test_api_samples.py
index 4142e058f..b864b84fa 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"