Merge server groups tests between v2 and v2.1

Currently v2 and v2.1 have separate functional tests and their
corresponding sample files. As v2 and v2.1 are supposed to be identical,
there is overhead to maintain two set of functional tests and sample files.
We can have one set of tests which can run for both v2 and v2.1.

This commit merges servers groups functional tests.
Also inheriting this tests class from ApiSampleTestBaseV3 instead of
ServersSampleBase as this does not use any ServersSampleBase class methods.

Change-Id: I687ce52a9844b830ee324105c4f49dec83534d9b
This commit is contained in:
ghanshyam
2015-04-16 14:45:35 +09:00
parent e77edeee0e
commit 9c70db4d44
10 changed files with 19 additions and 124 deletions
@@ -1,9 +0,0 @@
{
"server_group": {
"id": "5bbcc3c4-1da2-4437-a48a-66f15b1b13f9",
"name": "test",
"policies": ["anti-affinity"],
"members": [],
"metadata": {}
}
}
@@ -1,11 +0,0 @@
{
"server_groups": [
{
"id": "616fb98f-46ca-475e-917e-2563e5a8cd19",
"name": "test",
"policies": ["anti-affinity"],
"members": [],
"metadata": {}
}
]
}
@@ -1,6 +0,0 @@
{
"server_group": {
"name": "test",
"policies": ["anti-affinity"]
}
}
@@ -1,9 +0,0 @@
{
"server_group": {
"id": "5bbcc3c4-1da2-4437-a48a-66f15b1b13f9",
"name": "test",
"policies": ["anti-affinity"],
"members": [],
"metadata": {}
}
}
@@ -1,9 +0,0 @@
{
"server_group": {
"id": "%(id)s",
"name": "%(name)s",
"policies": ["anti-affinity"],
"members": [],
"metadata": {}
}
}
@@ -1,11 +0,0 @@
{
"server_groups": [
{
"id": "%(id)s",
"name": "test",
"policies": ["anti-affinity"],
"members": [],
"metadata": {}
}
]
}
@@ -1,6 +0,0 @@
{
"server_group": {
"name": "%(name)s",
"policies": ["anti-affinity"]
}
}
@@ -1,10 +0,0 @@
{
"server_group": {
"id": "%(id)s",
"name": "%(name)s",
"policies": ["anti-affinity"],
"members": [],
"metadata": {}
}
}
-51
View File
@@ -2326,57 +2326,6 @@ class PreserveEphemeralOnRebuildJsonTest(ServersSampleBase):
self.assertEqual(response.status_code, 202)
class ServerGroupsSampleJsonTest(ServersSampleBase):
extension_name = ("nova.api.openstack.compute.contrib"
".server_groups.Server_groups")
def _get_create_subs(self):
return {'name': 'test'}
def _post_server_group(self):
"""Verify the response status code and returns the UUID of the
newly created server group.
"""
subs = self._get_create_subs()
response = self._do_post('os-server-groups',
'server-groups-post-req', subs)
subs = self._get_regexes()
subs['name'] = 'test'
return self._verify_response('server-groups-post-resp',
subs, response, 200)
def _create_server_group(self):
subs = self._get_create_subs()
return self._do_post('os-server-groups',
'server-groups-post-req', subs)
def test_server_groups_post(self):
return self._post_server_group()
def test_server_groups_list(self):
subs = self._get_create_subs()
uuid = self._post_server_group()
response = self._do_get('os-server-groups')
subs.update(self._get_regexes())
subs['id'] = uuid
self._verify_response('server-groups-list-resp',
subs, response, 200)
def test_server_groups_get(self):
# Get api sample of server groups get request.
subs = {'name': 'test'}
uuid = self._post_server_group()
subs['id'] = uuid
response = self._do_get('os-server-groups/%s' % uuid)
self._verify_response('server-groups-get-resp', subs, response, 200)
def test_server_groups_delete(self):
uuid = self._post_server_group()
response = self._do_delete('os-server-groups/%s' % uuid)
self.assertEqual(response.status_code, 204)
class ServerGroupQuotas_LimitsSampleJsonTest(LimitsSampleJsonTest):
sample_dir = None
extension_name = ("nova.api.openstack.compute.contrib."
+19 -2
View File
@@ -13,11 +13,28 @@
# License for the specific language governing permissions and limitations
# under the License.
from nova.tests.functional.v3 import test_servers
from oslo_config import cfg
from nova.tests.functional.v3 import api_sample_base
CONF = cfg.CONF
CONF.import_opt('osapi_compute_extension',
'nova.api.openstack.compute.extensions')
class ServerGroupsSampleJsonTest(test_servers.ServersSampleBase):
class ServerGroupsSampleJsonTest(api_sample_base.ApiSampleTestBaseV3):
extension_name = "os-server-groups"
# TODO(gmann): Overriding '_api_version' till all functional tests
# are merged between v2 and v2.1. After that base class variable
# itself can be changed to 'v2'
_api_version = 'v2'
def _get_flags(self):
f = super(ServerGroupsSampleJsonTest, self)._get_flags()
f['osapi_compute_extension'] = CONF.osapi_compute_extension[:]
f['osapi_compute_extension'].append(
'nova.api.openstack.compute.contrib.server_groups.Server_groups')
return f
def _get_create_subs(self):
return {'name': 'test'}