Skip to content

Commit 29a89c7

Browse files
committed
Set reviewer role only in the .env file
1 parent d92b3c8 commit 29a89c7

File tree

5 files changed

+10
-10
lines changed

5 files changed

+10
-10
lines changed

docker-compose.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ services:
99
- ./src/config.override.toml:/app/config.override.toml:ro
1010
environment:
1111
- KEYCLOAK_CLIENT_SECRET=$KEYCLOAK_CLIENT_SECRET
12+
- REVIEWER_ROLE_NAME=$REVIEWER_ROLE_NAME
1213
- ES_USER=$ES_USER
1314
- ES_PASSWORD=$ES_PASSWORD
1415
ports:

src/authentication.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
from fastapi.security import OpenIdConnect
2828
from keycloak import KeycloakOpenID
2929

30-
from config import KEYCLOAK_CONFIG, ROLES_CONFIG
30+
from config import KEYCLOAK_CONFIG
3131

3232
load_dotenv()
3333

@@ -43,7 +43,7 @@
4343
realm_name=KEYCLOAK_CONFIG.get("realm"),
4444
verify=True,
4545
)
46-
_REVIEWER_ROLE = ROLES_CONFIG.get("reviewer")
46+
_REVIEWER_ROLE = os.getenv("REVIEWER_ROLE_NAME")
4747

4848

4949
@dataclasses.dataclass

src/config.default.toml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,6 @@ database = "aiod"
99
username = "root"
1010
password = "ok"
1111

12-
# Configurable aliases for roles configured in Keycloak
13-
# format: name_in_source = "name in keycloak"
14-
[roles]
15-
reviewer = "review_aiod_resources"
16-
1712
# Additional options for development
1813
[dev]
1914
reload = true

src/config.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,4 @@ def _merge_configurations(
3232
CONFIG = _merge_configurations(DEFAULT_CONFIG, OVERRIDE_CONFIG)
3333
DB_CONFIG = CONFIG.get("database", {})
3434
KEYCLOAK_CONFIG = CONFIG.get("keycloak", {})
35-
ROLES_CONFIG = CONFIG.get("roles", {})
3635
REQUEST_TIMEOUT = CONFIG.get("dev", {}).get("request_timeout", None)

src/tests/authorization/test_authorization.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
import contextlib
22
import json
3+
import os
34
from http import HTTPStatus
45
from unittest.mock import Mock
56

67
import pytest
8+
from dotenv import load_dotenv
79
from starlette.testclient import TestClient
810

911
from authentication import keycloak_openid, KeycloakUser
10-
from config import ROLES_CONFIG
1112
from database.authorization import (
1213
register_user,
1314
add_administrator,
@@ -18,9 +19,13 @@
1819
from database.session import DbSession
1920
from routers.review_router import ListMode
2021

22+
load_dotenv()
23+
2124
ALICE = KeycloakUser("Alice", {"edit_aiod_resources"}, "alice-sub")
2225
BOB = KeycloakUser("Bob", {"edit_aiod_resources"}, "bob-sub")
23-
REVIEWER = KeycloakUser("Reviewer", {ROLES_CONFIG.get("reviewer"), "edit_aiod_resources"}, "reviewer-sub")
26+
review_role = os.getenv("REVIEWER_ROLE_NAME")
27+
assert review_role, "The REVIEWER_ROLE_NAME environment variable must be set"
28+
REVIEWER = KeycloakUser("Reviewer", {review_role, "edit_aiod_resources"}, "reviewer-sub")
2429

2530

2631
def _register_user_in_db(user: KeycloakUser) -> KeycloakUser:

0 commit comments

Comments
 (0)