Added tempest test case for assign role to group region

Change-Id: I2ba95a10fab43fd15fec0ab3cd7177fec52d0dea
This commit is contained in:
Chi Lo 2019-05-23 14:09:15 -07:00
parent 3c59adebd2
commit 38b573b1d4
3 changed files with 50 additions and 6 deletions

View File

@ -162,12 +162,14 @@ unassign_group_role = _delete
list_group_roles = {
'status_code': [200],
'response_body': {
'type': 'object',
'type': 'array',
'properties': {
'roles': {
'type': 'array',
'items': {'type': 'string'}
}
},
'customer': {'type': 'string'},
'domain': {'type': 'string'}
},
'required': ['roles']
}

View File

@ -67,6 +67,12 @@ class GrpClient(base_client.RangerClientBase):
post_body = json.dumps(args)
return self.post_request(uri, post_body, schema.assign_group_roles)
def assign_group_region_roles(self, group_id, region_id, *args):
uri = '%s/%s/orm/groups/%s/regions/%s/roles' % (
self.cms_url, self.version, group_id, region_id)
post_body = json.dumps(args)
return self.post_request(uri, post_body, schema.assign_group_roles)
def unassign_group_role(
self, group_id, role, assignmenet_type, assignment_value):
uri = '%s/%s/orm/groups/%s/roles/%s/%s/%s' % (self.cms_url,

View File

@ -134,7 +134,7 @@ class TestTempestGrp(grp_base.GrpBaseOrmTest):
CONF.ranger.domain)
_, body = self.grp_client.list_group_roles(self.setup_group_id,
list_filter)
self.assertEqual(body['roles'], role['roles'])
self.assertEqual(body[0]['roles'], role['roles'])
# unassign role
_, body = self.grp_client.unassign_group_role(self.setup_group_id,
@ -145,7 +145,7 @@ class TestTempestGrp(grp_base.GrpBaseOrmTest):
self._wait_for_group_status(self.setup_group_id, 'Success')
_, body = self.grp_client.list_group_roles(self.setup_group_id,
list_filter)
self.assertEqual(body['roles'], [])
self.assertEqual(body[0]['roles'], [])
@decorators.idempotent_id('67f5e46e-9267-4cbb-84d6-ee8521370e23')
def test_assign_unassign_list_role_to_group_on_customer(self):
@ -169,7 +169,8 @@ class TestTempestGrp(grp_base.GrpBaseOrmTest):
self.setup_customer_id)
_, body = self.grp_client.list_group_roles(self.setup_group_id,
list_filter)
self.assertEqual(body['roles'], role['roles'])
self.assertEqual(body[0]['roles'], role['roles'])
# unassign role
_, body = self.grp_client.unassign_group_role(self.setup_group_id,
@ -180,7 +181,42 @@ class TestTempestGrp(grp_base.GrpBaseOrmTest):
self._wait_for_group_status(self.setup_group_id, 'Success')
_, body = self.grp_client.list_group_roles(self.setup_group_id,
list_filter)
self.assertEqual(body['roles'], [])
self.assertEqual(body[0]['roles'], [])
@decorators.idempotent_id('282de091-84f5-47a1-9c43-4d8a94981ae4')
def test_assign_unassign_list_role_to_group_region_on_customer(self):
role = {
'roles': ["admin"],
'customer': self.setup_customer_id
}
region_name = [
region['name'] for region in self.setup_group['regions']]
# assign role
post_body = [role]
_, body = self.grp_client.assign_group_region_roles(
self.setup_group_id, region_name[0], *post_body)
self._wait_for_group_status(self.setup_group_id, 'Success')
self.assertEqual(body['roles'][0]['customer'], role['customer'])
self.assertEqual(body['roles'][0]['roles'][0], role['roles'][0])
# list roles by region
list_filter = "?region=%s" % (region_name[0])
_, body = self.grp_client.list_group_roles(self.setup_group_id,
list_filter)
self.assertEqual(body[0]['roles'], role['roles'])
# unassign role
_, body = self.grp_client.unassign_group_role(self.setup_group_id,
role['roles'][0],
'customer',
role['customer'])
self._wait_for_group_status(self.setup_group_id, 'Success')
_, body = self.grp_client.list_group_roles(self.setup_group_id,
list_filter)
self.assertEqual(body, [])
@decorators.idempotent_id('880f614f-6317-4973-a244-f2e44443f551')
def test_add_delete_group_regions(self):