summaryrefslogtreecommitdiff
path: root/keystoneclient/tests
diff options
context:
space:
mode:
authorLance Bragstad <lbragstad@gmail.com>2018-01-22 18:09:25 +0000
committerLance Bragstad <lbragstad@gmail.com>2018-01-23 23:38:34 +0000
commit1e435e6dcddb34868307b5c20c5319bf0c1d348b (patch)
tree530ed03e59965164fffd0120a6085b35c6c6eb76 /keystoneclient/tests
parente5d44e5cea91cc512b7995a91c0c7656f70b3d13 (diff)
downloadpython-keystoneclient-1e435e6dcddb34868307b5c20c5319bf0c1d348b.tar.gz
Add system role functionality
This commit adds the necessary bits to be able to use system role assignments from python-keystoneclient. bp system-scope Change-Id: Iecbcbf020a15f2bec777334c648d4477f89f3b2c
Diffstat (limited to 'keystoneclient/tests')
-rw-r--r--keystoneclient/tests/unit/v3/test_role_assignments.py74
1 files changed, 73 insertions, 1 deletions
diff --git a/keystoneclient/tests/unit/v3/test_role_assignments.py b/keystoneclient/tests/unit/v3/test_role_assignments.py
index b24799c..45dd13d 100644
--- a/keystoneclient/tests/unit/v3/test_role_assignments.py
+++ b/keystoneclient/tests/unit/v3/test_role_assignments.py
@@ -23,6 +23,32 @@ class RoleAssignmentsTests(utils.ClientTestCase, utils.CrudTests):
self.collection_key = 'role_assignments'
self.model = role_assignments.RoleAssignment
self.manager = self.client.role_assignments
+ self.TEST_USER_SYSTEM_LIST = [{
+ 'role': {
+ 'id': self.TEST_ROLE_ID
+ },
+ 'scope': {
+ 'system': {
+ 'all': True
+ }
+ },
+ 'user': {
+ 'id': self.TEST_USER_ID
+ }
+ }]
+ self.TEST_GROUP_SYSTEM_LIST = [{
+ 'role': {
+ 'id': self.TEST_ROLE_ID
+ },
+ 'scope': {
+ 'system': {
+ 'all': True
+ }
+ },
+ 'group': {
+ 'id': self.TEST_GROUP_ID
+ }
+ }]
self.TEST_USER_DOMAIN_LIST = [{
'role': {
'id': self.TEST_ROLE_ID
@@ -65,7 +91,9 @@ class RoleAssignmentsTests(utils.ClientTestCase, utils.CrudTests):
self.TEST_ALL_RESPONSE_LIST = (self.TEST_USER_PROJECT_LIST +
self.TEST_GROUP_PROJECT_LIST +
- self.TEST_USER_DOMAIN_LIST)
+ self.TEST_USER_DOMAIN_LIST +
+ self.TEST_USER_SYSTEM_LIST +
+ self.TEST_GROUP_SYSTEM_LIST)
def _assert_returned_list(self, ref_list, returned_list):
self.assertEqual(len(ref_list), len(returned_list))
@@ -150,6 +178,50 @@ class RoleAssignmentsTests(utils.ClientTestCase, utils.CrudTests):
kwargs = {'scope.domain.id': self.TEST_DOMAIN_ID}
self.assertQueryStringContains(**kwargs)
+ def test_system_assignment_list(self):
+ ref_list = self.TEST_USER_SYSTEM_LIST + self.TEST_GROUP_SYSTEM_LIST
+
+ self.stub_entity('GET',
+ [self.collection_key, '?scope.system=all'],
+ entity=ref_list)
+
+ returned_list = self.manager.list(system='all')
+ self._assert_returned_list(ref_list, returned_list)
+
+ kwargs = {'scope.system': 'all'}
+ self.assertQueryStringContains(**kwargs)
+
+ def test_system_assignment_list_for_user(self):
+ ref_list = self.TEST_USER_SYSTEM_LIST
+
+ self.stub_entity('GET',
+ [self.collection_key,
+ '?user.id=%s&scope.system=all' % self.TEST_USER_ID],
+ entity=ref_list)
+
+ returned_list = self.manager.list(system='all', user=self.TEST_USER_ID)
+ self._assert_returned_list(ref_list, returned_list)
+
+ kwargs = {'scope.system': 'all', 'user.id': self.TEST_USER_ID}
+ self.assertQueryStringContains(**kwargs)
+
+ def test_system_assignment_list_for_group(self):
+ ref_list = self.TEST_GROUP_SYSTEM_LIST
+
+ self.stub_entity(
+ 'GET',
+ [self.collection_key,
+ '?group.id=%s&scope.system=all' % self.TEST_GROUP_ID],
+ entity=ref_list)
+
+ returned_list = self.manager.list(
+ system='all', group=self.TEST_GROUP_ID
+ )
+ self._assert_returned_list(ref_list, returned_list)
+
+ kwargs = {'scope.system': 'all', 'group.id': self.TEST_GROUP_ID}
+ self.assertQueryStringContains(**kwargs)
+
def test_group_assignments_list(self):
ref_list = self.TEST_GROUP_PROJECT_LIST
self.stub_entity('GET',