概要
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 | スタブを簡易作成: メソッド URL ステータスコード |
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
エラーハンドリング
すべてのエラーで非ゼロの終了コードが返されます。--json モードでは、エラーは {"status": "error", "message": "..."} を返します。成功時は、生のWireMock APIレスポンスを返します。