/api/v1/health/ready interrogeait la base par un SELECT 1, qui ne distingue pas un PostgreSQL nu d'un PostgreSQL avec TimescaleDB. La sonde lit desormais pg_extension et repond 503 si l'extension manque, cas qui survient quand db/init n'a pas ete joue. - Premiere revision Alembic : aucune table, une garde qui refuse de s'appliquer sans l'extension. - Tests du chemin nominal et de l'extension absente, plus un test marque `integration` contre la vraie base. pytest ecarte ce marqueur par defaut pour que make check reste jouable sans Docker. - conftest recycle l'engine entre les tests : get_engine est lru_cache alors que pytest-asyncio ouvre une boucle par test, et les connexions asyncpg sont liees a leur boucle.
17 lines
296 B
Python
17 lines
296 B
Python
from typing import Literal
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class LivenessStatus(BaseModel):
|
|
status: Literal["ok"]
|
|
service: str
|
|
version: str
|
|
environment: str
|
|
|
|
|
|
class ReadinessStatus(BaseModel):
|
|
status: Literal["ready"]
|
|
database: Literal["reachable"]
|
|
timescaledb: str
|