[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 재현)