Removed duplicate class objects during setup

This patch removed inheritance of region group test class from
region test class to avoid duplicate creation of test objects.

Change-Id: Ia21e21fa8940fc9d7521889fbf3d924fc1847e3a
This commit is contained in:
Chi Lo 2020-08-18 14:46:56 -07:00
parent 3db2d2c746
commit 4d2e23a4b0
2 changed files with 141 additions and 119 deletions

View File

@ -53,9 +53,9 @@ class RmsBaseOrmTest(base.BaseOrmTest):
@classmethod @classmethod
def setup_clients(cls): def setup_clients(cls):
super(RmsBaseOrmTest, cls).setup_clients()
cls.client = cls.os_primary.rms_client cls.client = cls.os_primary.rms_client
cls.cms_client = cls.os_primary.cms_client cls.cms_client = cls.os_primary.cms_client
super(RmsBaseOrmTest, cls).setup_clients()
@classmethod @classmethod
def _get_region_params(cls): def _get_region_params(cls):
@ -110,9 +110,9 @@ class RmsBaseOrmTest(base.BaseOrmTest):
@classmethod @classmethod
def _get_customer_params(cls): def _get_customer_params(cls):
customer = {} customer = {}
customer['description'] = data_utils.rand_name('ormTempestCms') customer['description'] = data_utils.rand_name('ormTempestRms')
customer['enabled'] = True customer['enabled'] = True
customer['name'] = data_utils.rand_name('ormTempestCms') customer['name'] = data_utils.rand_name('ormTempestRms')
customer['regions'] = [{'name': CONF.identity.region}] customer['regions'] = [{'name': CONF.identity.region}]
customer['defaultQuotas'] = [] customer['defaultQuotas'] = []
customer['users'] = [] customer['users'] = []

View File

@ -1,116 +1,138 @@
# Copyright 2016 AT&T Corp # Copyright 2016 AT&T Corp
# All Rights Reserved. # All Rights Reserved.
# #
# Licensed under the Apache License, Version 2.0 (the "License"); you may # 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 # not use this file except in compliance with the License. You may obtain
# a copy of the License at # a copy of the License at
# #
# http://www.apache.org/licenses/LICENSE-2.0 # http://www.apache.org/licenses/LICENSE-2.0
# #
# Unless required by applicable law or agreed to in writing, software # Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
from ranger_tempest_plugin import data_utils as orm_data_utils from ranger_tempest_plugin import data_utils as orm_data_utils
from ranger_tempest_plugin.tests.api import rms_base from ranger_tempest_plugin.tests.api import base
from ranger_tempest_plugin.tests.api.rms_base import RmsBaseOrmTest
from tempest.lib import decorators
from tempest.lib import exceptions from tempest.lib import decorators
from tempest.lib import exceptions
class TestTempestRegionGroup(rms_base.RmsBaseOrmTest):
class TestTempestRegionGroup(base.BaseOrmTest):
@classmethod
def resource_setup(cls): @classmethod
super(TestTempestRegionGroup, cls).resource_setup() def resource_setup(cls):
super(TestTempestRegionGroup, cls).resource_setup()
cls.group_ids = []
_, cls.group_1 = cls.client.create_region_group( cls.region_ids = []
**orm_data_utils.rand_region_group(cls.setup_ids)) # create standard region
cls.group_ids.append(cls.group_1['group']['id']) _, cls.region_1 = cls.client.create_region(
**RmsBaseOrmTest._get_region_params())
_, cls.group_2 = cls.client.create_region_group( cls.region_ids.append(cls.region_1['id'])
**orm_data_utils.rand_region_group(cls.setup_ids))
cls.group_ids.append(cls.group_2['group']['id']) # create region sharing region_1 properties
another_region = RmsBaseOrmTest._get_region_params()
for group_id in cls.group_ids: another_region['metadata'] = {'key2': ['value2']}
cls.addClassResourceCleanup(cls.client.delete_region_group, _, cls.region_2 = cls.client.create_region(**another_region)
group_id) cls.region_ids.append(cls.region_2['id'])
@decorators.idempotent_id('0d377eb2-754d-49c1-9a4f-c7019dfe80ca') for region_id in cls.region_ids:
def test_update_group(self): cls.addClassResourceCleanup(cls.client.delete_region, region_id)
_id = self.group_ids[-1]
group = orm_data_utils.rand_region_group(self.setup_ids, _id) # set up region groups
_, body = self.client.update_region_group(_id, **group) cls.group_ids = []
self.assert_expected(group, body['group'], ['regions']) _, cls.group_1 = cls.client.create_region_group(
**orm_data_utils.rand_region_group(cls.region_ids))
@decorators.idempotent_id('b946c6c4-d601-42b9-befd-ba40992a3c53') cls.group_ids.append(cls.group_1['group']['id'])
def test_list_groups(self):
_, body = self.client.list_region_groups() _, cls.group_2 = cls.client.create_region_group(
groups = [x['id'] for x in body['groups']] **orm_data_utils.rand_region_group(cls.region_ids))
self.assertIn(self.group_1['group']['id'], groups) cls.group_ids.append(cls.group_2['group']['id'])
self.assertIn(self.group_2['group']['id'], groups)
for group_id in cls.group_ids:
@decorators.idempotent_id('9a37d966-4416-4ff3-8f3b-6847810662d7') cls.addClassResourceCleanup(cls.client.delete_region_group,
def test_get_group(self): group_id)
_id = self.group_1['group']['id']
_, body = self.client.get_region_group(_id) @classmethod
self.assert_expected(self.group_1['group'], body, ['links']) def setup_clients(cls):
super(TestTempestRegionGroup, cls).setup_clients()
@decorators.idempotent_id('504cc5cb-bc19-48ea-9456-16f5b24c9529') cls.client = cls.os_primary.rms_client
def test_create_region_group(self):
_, region_group = self.client.create_region_group( @decorators.idempotent_id('0d377eb2-754d-49c1-9a4f-c7019dfe80ca')
**orm_data_utils.rand_region_group(self.setup_ids) def test_update_group(self):
) _id = self.group_ids[-1]
_, region_group_details = self.client.get_region_group( group = orm_data_utils.rand_region_group(self.region_ids, _id)
region_group['group']['id'] _, body = self.client.update_region_group(_id, **group)
) self.assert_expected(group, body['group'], ['regions'])
self.assertIn(
self.setup_ids[0], @decorators.idempotent_id('b946c6c4-d601-42b9-befd-ba40992a3c53')
region_group_details['regions'] def test_list_groups(self):
) _, body = self.client.list_region_groups()
self.assertIn( groups = [x['id'] for x in body['groups']]
self.setup_ids[1], self.assertIn(self.group_1['group']['id'], groups)
region_group_details['regions'] self.assertIn(self.group_2['group']['id'], groups)
)
@decorators.idempotent_id('9a37d966-4416-4ff3-8f3b-6847810662d7')
self.addCleanup( def test_get_group(self):
self.client.delete_region_group, _id = self.group_1['group']['id']
region_group['group']['id']) _, body = self.client.get_region_group(_id)
self.assert_expected(self.group_1['group'], body, ['links'])
@decorators.idempotent_id('504cc5cb-bc19-48ea-9456-16f5b24c9530')
def test_delete_region_group(self): @decorators.idempotent_id('504cc5cb-bc19-48ea-9456-16f5b24c9529')
_, region_group = self.client.create_region_group( def test_create_region_group(self):
**orm_data_utils.rand_region_group(self.setup_ids) _, region_group = self.client.create_region_group(
) **orm_data_utils.rand_region_group(self.region_ids)
_, region_group_details = self.client.get_region_group( )
region_group['group']['id'] _, region_group_details = self.client.get_region_group(
) region_group['group']['id']
)
self.assertIn( self.assertIn(
self.setup_ids[0], self.region_ids[0],
region_group_details['regions'] region_group_details['regions']
) )
self.assertIn( self.assertIn(
self.setup_ids[1], self.region_ids[1],
region_group_details['regions'] region_group_details['regions']
) )
self.client.delete_region_group(region_group['group']['id']) self.addCleanup(
self.assertRaises( self.client.delete_region_group,
exceptions.NotFound, self.client.get_region_group, region_group['group']['id'])
region_group['group']['id']
) @decorators.idempotent_id('504cc5cb-bc19-48ea-9456-16f5b24c9530')
def test_delete_region_group(self):
@decorators.idempotent_id('504cc5cb-bc19-48ea-9456-16f5b24c9531') _, region_group = self.client.create_region_group(
def test_validate_region_group(self): **orm_data_utils.rand_region_group(self.region_ids)
# Validate the Regions added to group are present in Ranger )
# try to add NON-EXISTENANT Region in the payload to create Group _, region_group_details = self.client.get_region_group(
ids = ['some_non_existenant_region'] region_group['group']['id']
)
self.assertRaises(
exceptions.BadRequest, self.client.create_region_group, self.assertIn(
**orm_data_utils.rand_region_group(ids) self.region_ids[0],
) region_group_details['regions']
)
self.assertIn(
self.region_ids[1],
region_group_details['regions']
)
self.client.delete_region_group(region_group['group']['id'])
self.assertRaises(
exceptions.NotFound, self.client.get_region_group,
region_group['group']['id']
)
@decorators.idempotent_id('504cc5cb-bc19-48ea-9456-16f5b24c9531')
def test_validate_region_group(self):
# Validate the Regions added to group are present in Ranger
# try to add NON-EXISTENANT Region in the payload to create Group
ids = ['some_non_existenant_region']
self.assertRaises(
exceptions.BadRequest, self.client.create_region_group,
**orm_data_utils.rand_region_group(ids)
)