diff --git a/app/scodoc/sco_edt_cal.py b/app/scodoc/sco_edt_cal.py index 476546f9b4..9c2104c3c9 100644 --- a/app/scodoc/sco_edt_cal.py +++ b/app/scodoc/sco_edt_cal.py @@ -41,7 +41,7 @@ from app.scodoc.sco_exceptions import ScoValueError import app.scodoc.sco_utils as scu -def get_ics_filename(edt_id: str) -> str: +def get_ics_filename(edt_id: str) -> str | None: "Le chemin vers l'ics de cet edt_id" edt_ics_path = ScoDocSiteConfig.get("edt_ics_path") if not edt_ics_path.strip(): @@ -62,6 +62,8 @@ def formsemestre_load_calendar( "accès aux emplois du temps non configuré pour ce semestre (pas d'edt_id)" ) ics_filename = get_ics_filename(edt_id) + if ics_filename is None: + raise ScoValueError("accès aux emplois du temps non configuré (pas de chemin)") try: with open(ics_filename, "rb") as file: log(f"Loading edt from {ics_filename}") diff --git a/tests/api/test_api_permissions.py b/tests/api/test_api_permissions.py index 974e01874a..f02e16a11b 100755 --- a/tests/api/test_api_permissions.py +++ b/tests/api/test_api_permissions.py @@ -2,8 +2,8 @@ """Test permissions - On a deux utilisateurs dans la base test API: - - "test", avec le rôle LecteurAPI qui a la permission ScoView, + On a deux utilisateurs dans la base test API: + - "test", avec le rôle LecteurAPI qui a la permission ScoView, - et "other", qui n'a aucune permission. @@ -70,6 +70,9 @@ def test_permissions(api_headers): # par défaut, on passe tous les arguments de all_args endpoint_args = { "api.formsemestres_query": {}, + "api.formsemestre_edt": { + "formsemestre_id": 1, + }, } for rule in api_rules: args = endpoint_args.get(rule.endpoint, all_args)