import sys from pathlib import Path # 백엔드 경로 설정 SCRIPTS_DIR = Path(__file__).resolve().parent BACKEND_DIR = SCRIPTS_DIR.parent sys.path.append(str(BACKEND_DIR)) from app.utils.law_api import law_api def test_api(): print("=== [국가법령정보 Open API 기능 검증 테스트] ===") # 1. 표시광고법 검색 print("\n[Step 1] '표시광고의 공정화' MST 검색 중...") mst = law_api.search_law_mst("표시광고의 공정화") if not mst: print("[Fail] '표시광고의 공정화' 일련번호를 검색하지 못했습니다. API 키나 네트워크를 점검하세요.") return False print(f"[Success] '표시광고의 공정화' MST 획득: {mst}") # 2. 표시광고법 상세 조문 조회 print("\n[Step 2] '표시광고의 공정화' 조문 데이터 조회 중...") detail_text = law_api.get_law_detail_text(mst, limit_clause_count=5) if not detail_text or "파싱" in detail_text: print("[Fail] 조문 데이터를 불러오지 못했습니다.") return False print("[Success] 조문 데이터 일부 출력:") print("-" * 50) # 한글 인코딩 깨짐 방지 위해 이모지 배제하여 출력 print(detail_text[:600] + "\n...") print("-" * 50) # 3. 식품표시광고법 추가 테스트 print("\n[Step 3] '식품 등의 표시' 추가 검색 중...") mst_food = law_api.search_law_mst("식품 등의 표시") if mst_food: print(f"[Success] '식품 등의 표시' MST 획득: {mst_food}") food_text = law_api.get_law_detail_text(mst_food, limit_clause_count=3) print(food_text[:300] + "\n...") return True if __name__ == "__main__": success = test_api() if success: print("\n[Result] All Open API tests passed successfully!") sys.exit(0) else: print("\n[Result] Open API tests failed.") sys.exit(1)