diff options
author | Peter Razumovsky <prazumovsky@mirantis.com> | 2016-04-08 16:31:49 +0300 |
---|---|---|
committer | Peter Razumovsky <prazumovsky@mirantis.com> | 2016-09-27 13:19:54 +0300 |
commit | 8de00cdc478a8fc30984d62ebd81c0ffcce24c0d (patch) | |
tree | 4edccfc2aacf6e5b6bab477afcc81736d7b000d3 /heat/tests/openstack/keystone | |
parent | 885eb51ecce2d49135047f589be642f2cd68c7f4 (diff) | |
download | heat-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.py | 34 |
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): |