Coverage for view / web / web_api.py: 100%

8 statements  

« prev     ^ index     » next       coverage.py v7.13.5, created at 2026-04-04 15:08 +0000

1""" 

2FastAPI 라우터: 웹 뷰용 API 엔드포인트. 

3각 페이지별 라우터는 view.web.routes 패키지에 분리되어 있으며, 

4이 모듈은 하위 호환성을 위한 파사드 역할을 한다. 

5""" 

6 

7# --- 통합 라우터 --- 

8from view.web.routes import router # noqa: F401 

9 

10# --- 공통 유틸리티 re-export (기존 코드 호환용) --- 

11from view.web.api_common import ( # noqa: F401 

12 set_ctx, 

13 _get_ctx, 

14 check_auth, 

15 _serialize_response, 

16 _serialize_list_items, 

17 _PRICE_CACHE, 

18 OrderRequest, 

19 EnvironmentRequest, 

20 ProgramTradingRequest, 

21 ProgramTradingUnsubscribeRequest, 

22 ProgramTradingDataModel, 

23) 

24 

25# --- 개별 엔드포인트 함수 re-export (테스트 호환용) --- 

26from view.web.routes.program import stream_program_trading # noqa: F401 

27 

28 

29# _ctx를 프로퍼티처럼 동작시키기 위해 모듈 레벨에서 api_common 참조 

30import view.web.api_common as _api_common 

31 

32 

33def __getattr__(name): 

34 """모듈 레벨 속성 접근 시 api_common의 _ctx를 반환 (테스트 호환용).""" 

35 if name == "_ctx": 

36 return _api_common._ctx 

37 raise AttributeError(f"module {__name__!r} has no attribute {name!r}")