Coverage for fss\starter\system\api\v1\probe_controller.py: 80%

20 statements  

« prev     ^ index     » next       coverage.py v7.4.4, created at 2024-04-12 22:20 +0800

1"""Project health probe""" 

2 

3from fastapi import APIRouter, Depends 

4from loguru import logger 

5 

6from fss.starter.system.enum.system import SystemResponseCode 

7from fss.starter.system.service.impl.user_service_impl import get_user_service 

8from fss.starter.system.service.user_service import UserService 

9 

10probe_router = APIRouter() 

11 

12USER_ID = 1 

13HI = "hi" 

14HELLO = "hello" 

15 

16 

17# Liveness probe 

18@probe_router.get("/liveness") 

19def liveness(): 

20 return {"code": SystemResponseCode.SUCCESS.code, "msg": HI} 

21 

22 

23# Readiness probe 

24@probe_router.get("/readiness") 

25async def readiness(user_service: UserService = Depends(get_user_service)): 

26 try: 

27 await user_service.find_by_id(USER_ID) 

28 except Exception as e: 

29 logger.error(f"readiness error: {e}") 

30 return { 

31 "code": SystemResponseCode.SERVICE_INTERNAL_ERROR.code, 

32 "msg": SystemResponseCode.SERVICE_INTERNAL_ERROR.msg, 

33 } 

34 return {"code": SystemResponseCode.SUCCESS.code, "msg": HELLO}