Use configured admin creds in rbac utils
Use ``get_configured_admin_credentials()`` in rbac_utils to instantiate
an admin client manager without having to rely on creating a new
set of credentials, which is problematic when using pre-provisioned
credentials. This is because rbac_utils consumes a set of credentials
allocated in the accounts.yaml file, which can cause tests to fail.
Using ``get_configured_admin_credentials()`` is a workaround because
it uses admin credentials specified in tempest's config's [auth]
section, which already exist in the system.
Change-Id: I0622bb057c365fdf652e4a110125678371ac4569
diff --git a/patrole_tempest_plugin/tests/unit/fixtures.py b/patrole_tempest_plugin/tests/unit/fixtures.py
index 6b42949..9d53eb9 100644
--- a/patrole_tempest_plugin/tests/unit/fixtures.py
+++ b/patrole_tempest_plugin/tests/unit/fixtures.py
@@ -19,6 +19,8 @@
import fixtures
import mock
+from tempest import clients
+from tempest.common import credentials_factory as credentials
from tempest import config
from patrole_tempest_plugin import rbac_utils
@@ -72,10 +74,13 @@
'get_identity_version.return_value': 'v3'
}
self.mock_test_obj = mock.Mock(**test_obj_kwargs)
- self.mock_time = mock.patch.object(rbac_utils, 'time').start()
- self.roles_v3_client = (
- self.mock_test_obj.get_client_manager.return_value.roles_v3_client)
+ # Mock out functionality that can't be used by unit tests.
+ self.mock_time = mock.patch.object(rbac_utils, 'time').start()
+ mock.patch.object(
+ credentials, 'get_configured_admin_credentials').start()
+ mock_admin_mgr = mock.patch.object(clients, 'Manager').start()
+ self.roles_v3_client = mock_admin_mgr.return_value.roles_v3_client
self.set_roles(['admin', 'member'], [])