diff --git a/testsuite/oidc/rhsso/objects.py b/testsuite/oidc/rhsso/objects.py index 33a66b80..13a5ae40 100644 --- a/testsuite/oidc/rhsso/objects.py +++ b/testsuite/oidc/rhsso/objects.py @@ -33,7 +33,7 @@ def create_user(self, username, password, **kwargs): """Creates new user""" kwargs["username"] = username kwargs["enabled"] = True - kwargs["email"] = f"{username}@anything.invalid" + kwargs.setdefault("email", f"{username}@anything.invalid") self.admin.create_user(kwargs) user_id = self.admin.get_user_id(username) self.admin.set_user_password(user_id, password, temporary=False) diff --git a/testsuite/tests/kuadrant/authorino/metadata/test_user_info.py b/testsuite/tests/kuadrant/authorino/metadata/test_user_info.py index 9cfdab4f..25494b6a 100644 --- a/testsuite/tests/kuadrant/authorino/metadata/test_user_info.py +++ b/testsuite/tests/kuadrant/authorino/metadata/test_user_info.py @@ -4,18 +4,25 @@ """ import pytest +from testsuite.httpx.auth import HttpxOidcClientAuth from testsuite.openshift.objects.auth_config import Rule +@pytest.fixture(scope="module") +def user2(rhsso): + """Second User which has incorrect email""" + return rhsso.realm.create_user("user2", "password", email="test@test.com") + + @pytest.fixture(scope="module") def authorization(authorization, rhsso): """ Adds auth metadata OIDC UserInfo which fetches OIDC UserInfo in request-time. Adds a simple rule that accepts only when fetched UserInfo contains the email address of the default RHSSO user. """ - user = rhsso.client.admin.get_user(rhsso.user) authorization.add_user_info_metadata("user-info", "rhsso") - authorization.add_auth_rule("rule", Rule("auth.metadata.user-info.email", "eq", user["email"])) + authorization.add_auth_rule("rule", + Rule("auth.metadata.user-info.email", "eq", rhsso.user.properties["email"])) return authorization @@ -25,8 +32,8 @@ def test_correct_auth(client, auth): assert response.status_code == 200 -def test_incorrect_auth(client, auth, rhsso): +def test_incorrect_auth(client, rhsso, user2): """Updates RHSSO user email address and tests incorrect auth""" - rhsso.client.admin.update_user(rhsso.user, {"email": "updatedMail@anything.invalid"}) + auth = HttpxOidcClientAuth(rhsso.get_token(user2.username, user2.password), "authorization") response = client.get("get", auth=auth) assert response.status_code == 403