summaryrefslogtreecommitdiff
path: root/heat/tests/openstack/keystone
diff options
context:
space:
mode:
authorPeter Razumovsky <prazumovsky@mirantis.com>2016-04-08 16:31:49 +0300
committerPeter Razumovsky <prazumovsky@mirantis.com>2016-09-27 13:19:54 +0300
commit8de00cdc478a8fc30984d62ebd81c0ffcce24c0d (patch)
tree4edccfc2aacf6e5b6bab477afcc81736d7b000d3 /heat/tests/openstack/keystone
parent885eb51ecce2d49135047f589be642f2cd68c7f4 (diff)
downloadheat-8de00cdc478a8fc30984d62ebd81c0ffcce24c0d.tar.gz
Keystone role assignment observe reality method
Add special parsing method for role assignments to use it in resources with role assignments. implements bp get-reality-for-resources Change-Id: I1fbb1449723843d88501b8f11913e9908fe4cd00
Diffstat (limited to 'heat/tests/openstack/keystone')
-rw-r--r--heat/tests/openstack/keystone/test_role_assignments.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/heat/tests/openstack/keystone/test_role_assignments.py b/heat/tests/openstack/keystone/test_role_assignments.py
index c4c01c50a..3527bc711 100644
--- a/heat/tests/openstack/keystone/test_role_assignments.py
+++ b/heat/tests/openstack/keystone/test_role_assignments.py
@@ -346,6 +346,40 @@ class KeystoneRoleAssignmentMixinTest(common.HeatTestCase):
self.assertRaises(exception.ResourcePropertyConflict,
self.test_role_assignment.validate)
+ def test_empty_parse_list_assignments(self):
+ self.assertEqual([],
+ self.test_role_assignment.parse_list_assignments())
+
+ def test_user_parse_list_assignments(self):
+ self._test_parse_list_assignments('user')
+
+ def test_group_parse_list_assignments(self):
+ self._test_parse_list_assignments('group')
+
+ def _test_parse_list_assignments(self, entity=None):
+ dict_obj = mock.MagicMock()
+ dict_obj.to_dict.side_effect = [{'scope': {
+ 'project': {'id': 'fc0fe982401643368ff2eb11d9ca70f1'}},
+ 'role': {'id': '3b8b253648f44256a457a5073b78021d'},
+ entity: {'id': '4147558a763046cfb68fb870d58ef4cf'}},
+ {'role': {'id': '3b8b253648f44258021d6a457a5073b7'},
+ entity: {'id': '4147558a763046cfb68fb870d58ef4cf'}}]
+ self.keystoneclient.role_assignments.list.return_value = [dict_obj,
+ dict_obj]
+
+ kwargs = {'%s_id' % entity: '4147558a763046cfb68fb870d58ef4cf'}
+ list_assignments = self.test_role_assignment.parse_list_assignments(
+ **kwargs)
+ expected = [
+ {'role': '3b8b253648f44256a457a5073b78021d',
+ 'project': 'fc0fe982401643368ff2eb11d9ca70f1',
+ 'domain': None},
+ {'role': '3b8b253648f44258021d6a457a5073b7',
+ 'project': None,
+ 'domain': None},
+ ]
+ self.assertEqual(expected, list_assignments)
+
class KeystoneUserRoleAssignmentTest(common.HeatTestCase):