[BE-09] data-go-kr mock에 에어코리아 3종 endpoint 추가 + 전국 시설 mock 확장
작업 내용 (설계 의도)
변경 사항
로컬 mock에 에어코리아 API 3종을 추가하고, 공공체육시설 mock을 서울 8구에서 전국(다중 시/도)으로 확장해 전국 확장·대기질을 mock으로 검증 가능하게 한다. Kotlin 코드와 독립(JS)이라 wave 1 병렬. env 스위치는 기존 base-url+api-key 메커니즘 재사용. 근거 TDD: ../TDD.md FR-9, AS-IS “외부 연동 규약”.
mock-servers/data-go-kr/server.js에 추가:GET /B552584/MsrstnInfoInqireSvc/getTMStdrCrdnt— umdName/주소 → tmX/tmY 반환.GET /B552584/MsrstnInfoInqireSvc/getNearbyMsrstnList— tmX/tmY → 근접측정소 목록(stationName).GET /B552584/ArpltnInforInqireSvc/getMsrstnAcctoRltmMesureDnsty— stationName → pm10Value/pm25Value/dataTime. 세 응답 모두response.body.items.item[]포맷.
- 공공체육시설
GU_LIST·주소 생성을 다중 시/도(서울·부산·대구·인천 등 10개 이상)로 확장 — 서울 외 500건 이상 적재 가능하도록TOTAL_FACILITIES상향, roadAddr에 실제 시/도 접두(“부산광역시 …”). - 실패 재현용 쿼리(예:
stationName=__FAIL__시 5xx)로 graceful degrade 테스트 지원.
롤백
- 신규 route 제거로 즉시 원복(기존 route 무변경).
의존
- 없음
다이어그램
처리 흐름
sequenceDiagram participant G as AirKoreaGatewayImpl participant Mock as data-go-kr mock G->>Mock: getTMStdrCrdnt(umdName) Mock-->>G: tmX,tmY G->>Mock: getNearbyMsrstnList(tmX,tmY) Mock-->>G: stationName G->>Mock: getMsrstnAcctoRltmMesureDnsty(stationName) Mock-->>G: pm10,pm25,dataTime
테스트 케이스
- getTMStdrCrdnt 호출 시 tmX·tmY를 포함한 표준 envelope를 반환한다
- getNearbyMsrstnList가 tmX·tmY로 근접측정소명을 반환한다
- getMsrstnAcctoRltmMesureDnsty가 stationName으로 pm10Value·pm25Value·dataTime을 반환한다
- 공공체육시설 목록이 서울 외 시/도(부산 등) 주소를 포함해 페이징으로 반환된다
- stationName 실패 트리거 시 5xx를 반환한다(degrade 재현)