fix: PRONOTE_URL ignoré à cause du double préfixe env_prefix

Le champ pronote_url dans PronoteSettings avec env_prefix=PRONOTE_
produisait PRONOTE_PRONOTE_URL au lieu de PRONOTE_URL. La variable
documentée dans .env.example et tous les guides était donc ignorée.

Renomme le champ pronote_url → url pour que le mécanisme standard
env_prefix + nom de champ produise PRONOTE_URL. Toutes les références
au champ settings.pronote.pronote_url sont mises à jour vers
settings.pronote.url dans le code de production et les tests.

Changements :
- settings.py : champ pronote_url → url, retrait du contournement alias
- client.py : self._settings.pronote_url → self._settings.url
- fallback.py : pronote.pronote_url → pronote.url
- tests : mises à jour des constructions et assertions, test de
  régression pour le mapping PRONOTE_URL → url

Co-authored-by: opencode/coder litellm/coder@agents.invalid
Co-authored-by: opencode/test-engineer litellm/test-engineer@agents.invalid
This commit is contained in:
2026-09-08 21:23:07 +02:00
parent bf4038814a
commit aa8865c22d
6 changed files with 47 additions and 34 deletions

View File

@@ -116,4 +116,19 @@ def test_no_singleton_import() -> None:
)
def test_url_from_pronote_url_env_var(monkeypatch: MonkeyPatch) -> None:
"""Vérifie que PRONOTE_URL mappe au champ url via le préfixe PRONOTE_.
Ce test couvre la régression où PRONOTE_URL n'était pas mappé vers le
champ du modèle à cause du double préfixe PRONOTE_.
:param monkeypatch: Fixture pytest pour modifier temporairement l'environnement.
:return: None
"""
test_url = "https://example.index-education.net/pronote/parent.html"
monkeypatch.setenv("PRONOTE_URL", test_url)
settings = load_settings()
assert settings.pronote.url == test_url
# Ensure trailing newline