개요
cli-anything-wiremock은 WireMock Admin REST API(/__admin/)를 래핑하는 명령줄 인터페이스입니다. 에이전트와 개발자는 터미널 또는 에이전트 도구 호출을 통해 HTTP 스텁 매핑을 관리하고, 서빙된 요청을 검사하고, 상태 저장 시나리오를 제어하며, 실제 백엔드 트래픽을 기록할 수 있습니다.
WireMock은 일반적으로 통합 테스트 환경에서 실제 HTTP 백엔드를 통제 가능한 모의 응답으로 대체하는 데 사용됩니다.
명령 그룹
stub — HTTP 스텁 매핑 관리
| 명령어 | 설명 |
|---|
stub list | 등록된 모든 스텁 목록 표시 |
stub get <id> | UUID로 특정 스텁의 상세 정보 조회 |
stub create <json> | JSON 문자열로 스텁 생성 |
stub quick M URL S | 빠른 스텁 생성: METHOD URL STATUS_CODE |
stub delete <id> | UUID로 스텁 삭제 |
stub reset | 모든 스텁을 디스크 기본값으로 리셋 |
stub save | 메모리 내 스텁을 디스크에 저장 |
stub import <file> | JSON 파일에서 스텁 가져오기 |
request — 서빙된 요청 검사
| 명령어 | 설명 |
|---|
request list | 최근 서빙된 요청 목록 표시 |
request find <pattern> | JSON 패턴과 일치하는 요청 검색 |
request count <pattern> | JSON 패턴과 일치하는 요청 개수 카운트 |
request unmatched | 어떤 스텁과도 일치하지 않은 요청 목록(404) |
request reset | 요청 저널 초기화 |
scenario — 상태 저장 시나리오 관리
| 명령어 | 설명 |
|---|
scenario list | 모든 시나리오 및 현재 상태 목록 표시 |
scenario set N S | 시나리오 NAME을 STATE로 설정 |
scenario reset | 모든 시나리오를 초기 상태로 리셋 |
record — 실제 백엔드 트래픽 기록
| 명령어 | 설명 |
|---|
record start <url> | TARGET_URL로 프록시 + 기록 시작 |
record stop | 기록 중지, 캡처된 스텁 반환 |
record status | 현재 기록 중인지 확인 |
record snapshot | 메모리 내 요청을 스텁으로 스냅샷 생성 |
settings — 글로벌 서버 설정
| 명령어 | 설명 |
|---|
settings get | 현재 글로벌 WireMock 설정 조회 |
settings version | WireMock 서버 버전 표시 |
최상위 명령어
| 명령어 | 설명 |
|---|
status | WireMock 실행 상태 확인 |
reset | 전체 리셋: 스텁 + 요청 + 시나리오 |
shutdown | WireMock 서버 정상 종료 |
주요 예제
cli-anything-wiremock status
cli-anything-wiremock stub quick GET /api/users 200 --body '[{"id":1}]'
cli-anything-wiremock stub create '{
"request": {"method": "POST", "url": "/api/orders"},
"response": {"status": 201, "body": "{\"id\":99}"}
}'
cli-anything-wiremock --json request count '{"method":"POST","url":"/api/orders"}'
cli-anything-wiremock scenario set "cart-flow" "item-added"
cli-anything-wiremock record start https://api.example.com
cli-anything-wiremock record stop
에이전트 가이드
에이전트 컨텍스트에서는 항상 --json 사용
스크립트나 에이전트 도구 호출에서는 모든 호출에 --json을 사용하세요. JSON 출력은 명령 유형에 따라 다릅니다(이들은 모든 응답을 감싸는 래퍼가 아닌 별개의 응답 유형입니다):
cli-anything-wiremock --json stub quick GET /api/hello 200 --body '{"hello":"world"}'
cli-anything-wiremock --json stub list
환경 변수를 통한 연결
명령어를 호출하기 전에 환경 변수로 연결 매개변수를 설정하세요:
export WIREMOCK_HOST=localhost
export WIREMOCK_PORT=8080
테스트 검증 워크플로우 패턴
- 테스트 대상 시스템을 실행하기 전에 스텁을 설정합니다:
cli-anything-wiremock --json stub quick POST /api/payment 200 --body '{"success":true}'
- 테스트 대상 시스템을 실행합니다.
- 상호작용을 확인합니다:
cli-anything-wiremock --json request count '{"method":"POST","url":"/api/payment"}'
- 정리합니다:
cli-anything-wiremock reset
오류 처리
모든 오류는 0이 아닌 종료 코드를 반환합니다. --json 모드에서 오류는 {"status": "error", "message": "..."}를 반환합니다. 성공 시 원시 WireMock API 응답을 반환합니다.