Fix project manager user to be created in samae project
Tempest dynamic credential creates the project per test class and adds requested role users to
the same project. Project members, project admins, and project readers share the same project,
but the project manager does not share the same project; instead, the project ends up being
created as a separate project.
Fixing the same and also add the unit test.
Closes-Bug: #2110507
Change-Id: I63a0395025272202bb62851b76e8ec22f5f6db24
diff --git a/tempest/lib/common/dynamic_creds.py b/tempest/lib/common/dynamic_creds.py
index 6c90938..1815dc6 100644
--- a/tempest/lib/common/dynamic_creds.py
+++ b/tempest/lib/common/dynamic_creds.py
@@ -384,8 +384,9 @@
subnet_id=subnet_id)
def _get_project_id(self, credential_type, scope):
- same_creds = [['admin'], ['member'], ['reader']]
- same_alt_creds = [['alt_admin'], ['alt_member'], ['alt_reader']]
+ same_creds = [['admin'], ['manager'], ['member'], ['reader']]
+ same_alt_creds = [['alt_admin'], ['alt_manager'],
+ ['alt_member'], ['alt_reader']]
search_in = []
if credential_type in same_creds:
search_in = same_creds
diff --git a/tempest/tests/lib/common/test_dynamic_creds.py b/tempest/tests/lib/common/test_dynamic_creds.py
index 4c2ea30..4122db3 100644
--- a/tempest/tests/lib/common/test_dynamic_creds.py
+++ b/tempest/tests/lib/common/test_dynamic_creds.py
@@ -252,6 +252,7 @@
reader_func = creds.get_project_alt_reader_creds
else:
admin_func = creds.get_project_admin_creds
+ manager_func = creds.get_project_manager_creds
member_func = creds.get_project_member_creds
reader_func = creds.get_project_reader_creds
self._mock_assign_user_role()
@@ -286,6 +287,15 @@
self._request_and_check_second_creds(
creds, admin_func, member_creds, show_mock, sm_count=2)
+ # Now request for the project manager creds which should not create new
+ # project instead should use the project_id of member_creds already
+ # created project.
+ # TODO(gmaan): test test_alt_creds also once alt project
+ # manager is available.
+ if not test_alt_creds:
+ self._request_and_check_second_creds(
+ creds, manager_func, member_creds, show_mock, sm_count=3)
+
def test_creds_within_same_project(self):
self._creds_within_same_project()