summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
authorChristopher Yeoh <cyeoh@au1.ibm.com>2013-03-10 15:43:19 +1030
committerChristopher Yeoh <cyeoh@au1.ibm.com>2013-03-13 00:32:49 +1030
commit02c7cd97fa4b8a81f0795be757bd99a29a037795 (patch)
treeb6fcb6f5145ffc6befa7b232e93302e56e8c5997 /nova/tests
parent92482459963e21cb692c0515450abc81d69e40ed (diff)
Fix more OS-DCF:diskConfig XML handling
Add handling in the deserialisation code to handle the OS-DCF:diskConfig attribute in the rebuild and resize actions so the diskConfig extension can handle it properly. Formerly only the older auto_disk_config attribute was managed (and incorrectly so). Fixes bug 1153133 Change-Id: I68479d258cf23083274dd21b1f9eabab2feeb093
Diffstat (limited to 'nova/tests')
-rw-r--r--nova/tests/api/openstack/compute/test_servers.py63
1 files changed, 63 insertions, 0 deletions
diff --git a/nova/tests/api/openstack/compute/test_servers.py b/nova/tests/api/openstack/compute/test_servers.py
index da653c980..e706f5046 100644
--- a/nova/tests/api/openstack/compute/test_servers.py
+++ b/nova/tests/api/openstack/compute/test_servers.py
@@ -3844,6 +3844,69 @@ class TestServerCreateRequestXMLDeserializer(test.TestCase):
self.assertEquals(request['body'], expected)
+class TestServerActionRequestXMLDeserializer(test.TestCase):
+
+ def setUp(self):
+ super(TestServerActionRequestXMLDeserializer, self).setUp()
+ self.deserializer = servers.ActionDeserializer()
+
+ def test_rebuild_request(self):
+ serial_request = """
+<rebuild xmlns="http://docs.openstack.org/compute/api/v1.1"
+ xmlns:OS-DCF="http://docs.openstack.org/compute/ext/disk_config/api/v1.1"
+ OS-DCF:diskConfig="MANUAL" imageRef="1"/>"""
+ request = self.deserializer.deserialize(serial_request)
+ expected = {
+ "rebuild": {
+ "imageRef": "1",
+ "OS-DCF:diskConfig": "MANUAL",
+ },
+ }
+ self.assertEquals(request['body'], expected)
+
+ def test_rebuild_request_auto_disk_config_compat(self):
+ serial_request = """
+<rebuild xmlns="http://docs.openstack.org/compute/api/v1.1"
+ xmlns:OS-DCF="http://docs.openstack.org/compute/ext/disk_config/api/v1.1"
+ auto_disk_config="MANUAL" imageRef="1"/>"""
+ request = self.deserializer.deserialize(serial_request)
+ expected = {
+ "rebuild": {
+ "imageRef": "1",
+ "OS-DCF:diskConfig": "MANUAL",
+ },
+ }
+ self.assertEquals(request['body'], expected)
+
+ def test_resize_request(self):
+ serial_request = """
+<resize xmlns="http://docs.openstack.org/compute/api/v1.1"
+ xmlns:OS-DCF="http://docs.openstack.org/compute/ext/disk_config/api/v1.1"
+ OS-DCF:diskConfig="MANUAL" flavorRef="1"/>"""
+ request = self.deserializer.deserialize(serial_request)
+ expected = {
+ "resize": {
+ "flavorRef": "1",
+ "OS-DCF:diskConfig": "MANUAL",
+ },
+ }
+ self.assertEquals(request['body'], expected)
+
+ def test_resize_request_auto_disk_config_compat(self):
+ serial_request = """
+<resize xmlns="http://docs.openstack.org/compute/api/v1.1"
+ xmlns:OS-DCF="http://docs.openstack.org/compute/ext/disk_config/api/v1.1"
+ auto_disk_config="MANUAL" flavorRef="1"/>"""
+ request = self.deserializer.deserialize(serial_request)
+ expected = {
+ "resize": {
+ "flavorRef": "1",
+ "OS-DCF:diskConfig": "MANUAL",
+ },
+ }
+ self.assertEquals(request['body'], expected)
+
+
class TestAddressesXMLSerialization(test.TestCase):
index_serializer = ips.AddressesTemplate()