style(backend): rétablit les accents dans les messages et commentaires
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.
This commit is contained in:
@@ -27,10 +27,10 @@ async def readiness(session: SessionDep) -> ReadinessStatus:
|
|||||||
try:
|
try:
|
||||||
version: str | None = await session.scalar(TIMESCALEDB_VERSION)
|
version: str | None = await session.scalar(TIMESCALEDB_VERSION)
|
||||||
except SQLAlchemyError, OSError:
|
except SQLAlchemyError, OSError:
|
||||||
logger.exception("Base de donnees injoignable")
|
logger.exception("Base de données injoignable")
|
||||||
raise HTTPException(
|
raise HTTPException(
|
||||||
status_code=status.HTTP_503_SERVICE_UNAVAILABLE,
|
status_code=status.HTTP_503_SERVICE_UNAVAILABLE,
|
||||||
detail="Base de donnees injoignable",
|
detail="Base de données injoignable",
|
||||||
) from None
|
) from None
|
||||||
|
|
||||||
if version is None:
|
if version is None:
|
||||||
|
|||||||
@@ -2,4 +2,4 @@ from sqlalchemy.orm import DeclarativeBase
|
|||||||
|
|
||||||
|
|
||||||
class Base(DeclarativeBase):
|
class Base(DeclarativeBase):
|
||||||
"""Base declarative commune a tous les modeles."""
|
"""Base déclarative commune à tous les modèles."""
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ logger = get_logger(__name__)
|
|||||||
async def lifespan(_: FastAPI) -> AsyncIterator[None]:
|
async def lifespan(_: FastAPI) -> AsyncIterator[None]:
|
||||||
settings = get_settings()
|
settings = get_settings()
|
||||||
logger.info(
|
logger.info(
|
||||||
"Demarrage de %s %s en environnement %s", settings.name, settings.version, settings.env
|
"Démarrage de %s %s en environnement %s", settings.name, settings.version, settings.env
|
||||||
)
|
)
|
||||||
yield
|
yield
|
||||||
await get_engine().dispose()
|
await get_engine().dispose()
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
# Piege : tout modele absent de ce module reste invisible de `alembic revision
|
# Piège : tout modèle absent de ce module reste invisible de `alembic revision
|
||||||
# --autogenerate`, qui genererait alors un drop de sa table.
|
# --autogenerate`, qui générerait alors un drop de sa table.
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ async def test_readiness_returns_503_when_database_is_unreachable(
|
|||||||
response = await client.get("/api/v1/health/ready")
|
response = await client.get("/api/v1/health/ready")
|
||||||
|
|
||||||
assert response.status_code == 503
|
assert response.status_code == 503
|
||||||
assert response.json()["detail"] == "Base de donnees injoignable"
|
assert response.json()["detail"] == "Base de données injoignable"
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize("path", ["/openapi.json", "/metrics"])
|
@pytest.mark.parametrize("path", ["/openapi.json", "/metrics"])
|
||||||
|
|||||||
@@ -12,8 +12,8 @@ from app.main import create_app
|
|||||||
from tests.factories import FakeSession
|
from tests.factories import FakeSession
|
||||||
|
|
||||||
|
|
||||||
# Piege : les variables d'environnement priment sur apps/backend/.env. Celles qu'on ne
|
# Piège : les variables d'environnement priment sur apps/backend/.env. Celles qu'on ne
|
||||||
# pose pas ici, c'est le .env du poste qui les decide, et les assertions avec.
|
# pose pas ici, c'est le .env du poste qui les décide, et les assertions avec.
|
||||||
@pytest.fixture(autouse=True, scope="session")
|
@pytest.fixture(autouse=True, scope="session")
|
||||||
def environment() -> Iterator[None]:
|
def environment() -> Iterator[None]:
|
||||||
os.environ.update(
|
os.environ.update(
|
||||||
@@ -33,8 +33,8 @@ def environment() -> Iterator[None]:
|
|||||||
get_settings.cache_clear()
|
get_settings.cache_clear()
|
||||||
|
|
||||||
|
|
||||||
# Piege : get_engine est lru_cache et pytest-asyncio ouvre une boucle par test. Sans ce
|
# Piège : get_engine est lru_cache et pytest-asyncio ouvre une boucle par test. Sans ce
|
||||||
# recyclage, le 2e test touchant vraiment la base heriterait d une boucle morte.
|
# recyclage, le 2e test touchant vraiment la base hériterait d'une boucle morte.
|
||||||
@pytest.fixture(autouse=True)
|
@pytest.fixture(autouse=True)
|
||||||
async def engine_per_test() -> AsyncIterator[None]:
|
async def engine_per_test() -> AsyncIterator[None]:
|
||||||
yield
|
yield
|
||||||
@@ -67,7 +67,7 @@ def fake_session(app: FastAPI) -> Callable[..., None]:
|
|||||||
return install
|
return install
|
||||||
|
|
||||||
|
|
||||||
# Contrainte : ouvre une vraie connexion, donc reservee aux tests `integration`.
|
# Contrainte : ouvre une vraie connexion, donc réservée aux tests `integration`.
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
async def session() -> AsyncIterator[AsyncSession]:
|
async def session() -> AsyncIterator[AsyncSession]:
|
||||||
async with get_session_factory()() as async_session:
|
async with get_session_factory()() as async_session:
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ class FakeSession:
|
|||||||
return self._result
|
return self._result
|
||||||
|
|
||||||
|
|
||||||
# Piege : les arguments nommes priment sur l'environnement et sur .env, contrairement
|
# Piège : les arguments nommés priment sur l'environnement et sur .env, contrairement
|
||||||
# aux variables posees par la fixture `environment`, qui restent surchargeables.
|
# aux variables posées par la fixture `environment`, qui restent surchargeables.
|
||||||
def make_settings(**overrides: Any) -> Settings:
|
def make_settings(**overrides: Any) -> Settings:
|
||||||
return Settings(**{**SETTINGS_DE_TEST, **overrides})
|
return Settings(**{**SETTINGS_DE_TEST, **overrides})
|
||||||
|
|||||||
Reference in New Issue
Block a user