Coverage for app/services/ready_service.py: 55%
11 statements
« prev ^ index » next coverage.py v7.14.1, created at 2026-06-16 20:06 +0000
« prev ^ index » next coverage.py v7.14.1, created at 2026-06-16 20:06 +0000
1from app.schemas.ready import ReadyResponse
2from app.repositories.probe_repository import ProbeRepository
3from fastapi import HTTPException
6class ReadyService:
7 def __init__(
8 self,
9 repository: ProbeRepository,
10 ) -> None:
11 self.repository = repository
13 async def process(self) -> ReadyResponse:
14 is_ready = await self.repository.is_ready()
16 if is_ready:
17 return ReadyResponse(api=True, database=True)
18 else:
19 raise HTTPException(
20 status_code=503,
21 detail={
22 "code": "SERVICE_NOT_READY",
23 "message": "Service is not ready. Database connection unavailable.",
24 },
25 )