Le français du dépôt s'écrit accentué. Harmonise les commentaires d'en-tête, les docstrings, le message de démarrage et les deux détails d'erreur de la sonde de disponibilité, avec leurs assertions.
38 lines
1.2 KiB
Python
38 lines
1.2 KiB
Python
from typing import Any
|
|
|
|
from app.core.config import Settings
|
|
|
|
SETTINGS_DE_TEST: dict[str, Any] = {
|
|
"env": "local",
|
|
"debug": False,
|
|
"log_level": "WARNING",
|
|
"cors_origins": "",
|
|
"secret_key": "secret-de-test",
|
|
"database_url": "postgresql+asyncpg://enervision:change_me@localhost:5433/enervision_test",
|
|
}
|
|
|
|
|
|
class FakeSession:
|
|
"""Session factice : renvoie `result`, ou leve `failure` si elle est fournie."""
|
|
|
|
def __init__(self, result: object = None, failure: Exception | None = None) -> None:
|
|
self._result = result
|
|
self._failure = failure
|
|
|
|
async def scalar(self, *_: object, **__: object) -> object:
|
|
return self._repondre()
|
|
|
|
async def execute(self, *_: object, **__: object) -> object:
|
|
return self._repondre()
|
|
|
|
def _repondre(self) -> object:
|
|
if self._failure is not None:
|
|
raise self._failure
|
|
return self._result
|
|
|
|
|
|
# Piège : les arguments nommés priment sur l'environnement et sur .env, contrairement
|
|
# aux variables posées par la fixture `environment`, qui restent surchargeables.
|
|
def make_settings(**overrides: Any) -> Settings:
|
|
return Settings(**{**SETTINGS_DE_TEST, **overrides})
|