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

1from app.schemas.ready import ReadyResponse 

2from app.repositories.probe_repository import ProbeRepository 

3from fastapi import HTTPException 

4 

5 

6class ReadyService: 

7 def __init__( 

8 self, 

9 repository: ProbeRepository, 

10 ) -> None: 

11 self.repository = repository 

12 

13 async def process(self) -> ReadyResponse: 

14 is_ready = await self.repository.is_ready() 

15 

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 )