Add a version API test for Nova v3 API
The version API of Nova returns the API version information with the
following body:
{"version":
{"id": "v3.0",
"status": "EXPERIMENTAL",
"updated": "2013-07-23T11:33:21Z",
..
}
}
This patch adds the API test.
Partially implements blueprint nova-v3-api-tests
Change-Id: Ibd6c3b4f3228340b265cbc9a0e7fe2dbc93c691c
diff --git a/tempest/services/compute/v3/xml/version_client.py b/tempest/services/compute/v3/xml/version_client.py
new file mode 100644
index 0000000..7ecb31f
--- /dev/null
+++ b/tempest/services/compute/v3/xml/version_client.py
@@ -0,0 +1,37 @@
+# Copyright 2014 NEC Corporation
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+from lxml import etree
+
+from tempest.common import rest_client
+from tempest.services.compute.xml import common
+
+
+class VersionV3ClientXML(rest_client.RestClientXML):
+
+ def __init__(self, config, username, password, auth_url, tenant_name=None):
+ super(VersionV3ClientXML, self).__init__(config, username,
+ password, auth_url,
+ tenant_name)
+ self.service = self.config.compute.catalog_v3_type
+
+ def _parse_array(self, node):
+ json = common.xml_to_json(node)
+ return json
+
+ def get_version(self):
+ resp, body = self.get('', self.headers)
+ body = self._parse_array(etree.fromstring(body))
+ return resp, body