Skip to content

Commit 4bde25e

Browse files
committed
Fix python-keycloak==7.1 tests compatibility
1 parent dca6c4b commit 4bde25e

File tree

3 files changed

+21
-0
lines changed

3 files changed

+21
-0
lines changed

tests/test_unit/test_auth/auth_fixtures/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from tests.test_unit.test_auth.auth_fixtures.keycloak_fixture import (
22
create_session_cookie,
33
mock_keycloak_api,
4+
mock_keycloak_certs,
45
mock_keycloak_introspect_token,
56
mock_keycloak_logout,
67
mock_keycloak_realm,
@@ -12,6 +13,7 @@
1213
__all__ = [
1314
"create_session_cookie",
1415
"mock_keycloak_api",
16+
"mock_keycloak_certs",
1517
"mock_keycloak_introspect_token",
1618
"mock_keycloak_logout",
1719
"mock_keycloak_realm",

tests/test_unit/test_auth/auth_fixtures/keycloak_fixture.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,3 +209,18 @@ def _mock_keycloak_introspect_token(user):
209209
)
210210

211211
return _mock_keycloak_introspect_token
212+
213+
214+
@pytest.fixture
215+
def mock_keycloak_certs(settings, mock_keycloak_api):
216+
keycloak_settings = settings.auth.model_dump()["keycloak"]
217+
api_url = keycloak_settings["api_url"]
218+
realm_name = keycloak_settings["client_id"]
219+
realm_url = f"{api_url}/realms/{realm_name}"
220+
certs_url = f"{realm_url}/protocol/openid-connect/certs"
221+
222+
mock_keycloak_api.get(certs_url).respond(
223+
json={"keys": []},
224+
status_code=200,
225+
content_type="application/json",
226+
)

tests/test_unit/test_auth/test_keycloak.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ async def test_keycloak_get_user_authorized(
5959
create_session_cookie,
6060
mock_keycloak_well_known,
6161
mock_keycloak_realm,
62+
mock_keycloak_certs,
6263
):
6364
client.cookies.clear()
6465
session_cookie = create_session_cookie(simple_user)
@@ -86,6 +87,7 @@ async def test_keycloak_get_user_expired_access_token(
8687
mock_keycloak_well_known,
8788
mock_keycloak_realm,
8889
mock_keycloak_token_refresh,
90+
mock_keycloak_certs,
8991
):
9092
session_cookie = create_session_cookie(simple_user, expire_in_msec=-100000000) # expired access token
9193
client.cookies = {"session": session_cookie}
@@ -113,6 +115,7 @@ async def test_keycloak_get_user_inactive(
113115
create_session_cookie,
114116
mock_keycloak_well_known,
115117
mock_keycloak_realm,
118+
mock_keycloak_certs,
116119
):
117120
client.cookies = {"session": create_session_cookie(inactive_user)}
118121
response = await client.get(f"/v1/users/{simple_user.id}")
@@ -156,6 +159,7 @@ async def test_keycloak_auth_logout(
156159
mock_keycloak_realm,
157160
mock_keycloak_token_refresh,
158161
mock_keycloak_logout,
162+
mock_keycloak_certs,
159163
):
160164
client.cookies = {"session": create_session_cookie(simple_user)}
161165
response = await client.get("/v1/auth/logout")

0 commit comments

Comments
 (0)