Coverage for app/api/v1/dependencies.py: 96%

25 statements  

« prev     ^ index     » next       coverage.py v7.14.1, created at 2026-06-16 20:06 +0000

1from typing import Annotated 

2 

3from fastapi import Depends 

4 

5from app.core.database import get_session 

6from app.repositories.probe_repository import ProbeRepository 

7from app.services.check_service import CheckService 

8from app.services.move_service import MoveService 

9from sqlalchemy.ext.asyncio import AsyncSession 

10 

11from app.services.ready_service import ReadyService 

12from app.services.setup_service import SetupService 

13 

14 

15AsyncSessionDependency = Annotated[AsyncSession, Depends(get_session)] 

16 

17 

18def get_probe_repository(session: AsyncSessionDependency) -> ProbeRepository: 

19 return ProbeRepository(session=session) 

20 

21 

22ProbeRepositoryDependency = Annotated[ProbeRepository, Depends(get_probe_repository)] 

23 

24 

25def get_setup_service(repository: ProbeRepositoryDependency) -> SetupService: 

26 return SetupService(repository) 

27 

28 

29def get_move_service(repository: ProbeRepositoryDependency) -> MoveService: 

30 return MoveService(repository) 

31 

32 

33def get_check_service(repository: ProbeRepositoryDependency) -> CheckService: 

34 return CheckService(repository) 

35 

36 

37def get_ready_service(repository: ProbeRepositoryDependency) -> ReadyService: 

38 return ReadyService(repository) 

39 

40 

41MoveServiceDependency = Annotated[ 

42 MoveService, 

43 Depends(get_move_service), 

44] 

45 

46CheckServiceDependency = Annotated[ 

47 CheckService, 

48 Depends(get_check_service), 

49] 

50 

51SetupServiceDependency = Annotated[ 

52 SetupService, 

53 Depends(get_setup_service), 

54] 

55 

56ReadyServiceDependency = Annotated[ 

57 ReadyService, 

58 Depends(get_ready_service), 

59]