diff options
Diffstat (limited to 'keystone/tests/unit/test_v3_assignment.py')
-rw-r--r-- | keystone/tests/unit/test_v3_assignment.py | 35 |
1 files changed, 31 insertions, 4 deletions
diff --git a/keystone/tests/unit/test_v3_assignment.py b/keystone/tests/unit/test_v3_assignment.py index 3bc15af6e..260bb5146 100644 --- a/keystone/tests/unit/test_v3_assignment.py +++ b/keystone/tests/unit/test_v3_assignment.py @@ -920,7 +920,7 @@ class AssignmentTestCase(test_v3.RestfulTestCase, self.role2 = unit.new_role_ref() PROVIDERS.role_api.create_role(self.role2['id'], self.role2) - # Now add one of each of the four types of assignment + # Now add one of each of the six types of assignment gd_entity = self.build_role_assignment_entity( domain_id=self.domain_id, group_id=group1['id'], @@ -944,6 +944,22 @@ class AssignmentTestCase(test_v3.RestfulTestCase, role_id=self.role2['id']) self.put(up_entity['links']['assignment']) + gs_entity = self.build_role_assignment_entity( + system='all', + group_id=group1['id'], + role_id=self.role1['id']) + self.put(gs_entity['links']['assignment']) + us_entity = self.build_role_assignment_entity( + system='all', + user_id=user1['id'], + role_id=self.role2['id']) + self.put(us_entity['links']['assignment']) + us2_entity = self.build_role_assignment_entity( + system='all', + user_id=user2['id'], + role_id=self.role2['id']) + self.put(us2_entity['links']['assignment']) + # Now list by various filters to make sure we get back the right ones collection_url = ('/role_assignments?scope.project.id=%s' % @@ -970,7 +986,7 @@ class AssignmentTestCase(test_v3.RestfulTestCase, r = self.get(collection_url, expected_status=http_client.OK) self.head(collection_url, expected_status=http_client.OK) self.assertValidRoleAssignmentListResponse(r, - expected_length=2, + expected_length=3, resource_url=collection_url) self.assertRoleAssignmentInListResponse(r, up_entity) self.assertRoleAssignmentInListResponse(r, ud_entity) @@ -979,7 +995,7 @@ class AssignmentTestCase(test_v3.RestfulTestCase, r = self.get(collection_url, expected_status=http_client.OK) self.head(collection_url, expected_status=http_client.OK) self.assertValidRoleAssignmentListResponse(r, - expected_length=2, + expected_length=3, resource_url=collection_url) self.assertRoleAssignmentInListResponse(r, gd_entity) self.assertRoleAssignmentInListResponse(r, gp_entity) @@ -988,10 +1004,21 @@ class AssignmentTestCase(test_v3.RestfulTestCase, r = self.get(collection_url, expected_status=http_client.OK) self.head(collection_url, expected_status=http_client.OK) self.assertValidRoleAssignmentListResponse(r, - expected_length=2, + expected_length=3, resource_url=collection_url) self.assertRoleAssignmentInListResponse(r, gd_entity) self.assertRoleAssignmentInListResponse(r, gp_entity) + self.assertRoleAssignmentInListResponse(r, gs_entity) + + collection_url = '/role_assignments?role.id=%s' % self.role2['id'] + r = self.get(collection_url, expected_status=http_client.OK) + self.head(collection_url, expected_status=http_client.OK) + self.assertValidRoleAssignmentListResponse(r, + expected_length=4, + resource_url=collection_url) + self.assertRoleAssignmentInListResponse(r, ud_entity) + self.assertRoleAssignmentInListResponse(r, up_entity) + self.assertRoleAssignmentInListResponse(r, us_entity) # Let's try combining two filers together.... |