mcpField
C
cli-anything-wiremock

cli-anything-wiremock

github.com/hkudsテスト・品質57.6k477 回インストール5 週間前に更新
リポジトリ

cli-anything-wiremock について

cli-anything-wiremockは、開発者やエージェントがWireMock Admin REST APIを操作するコマンドラインツールです。HTTPスタブの管理、リクエストの確認、シナリオ制御、バックエンド通信の記録ができます。

主な機能

  1. 01HTTPスタブマッピングの管理
  2. 02処理済みリクエストの確認
  3. 03一致するリクエストの検索と集計
  4. 04ステートフルシナリオの制御
  5. 05実バックエンド通信の記録
  6. 06サーバー設定と状態の確認

活用シーン

  1. 01統合テスト用のモック応答設定
  2. 02システムテスト中のリクエスト確認
  3. 03未一致リクエストと通信の検証
  4. 04実バックエンド通信からのスタブ作成

MCP 対応

エージェントのツール呼び出しからWireMockを管理できます。入力にはMCPサーバーや接続についての記載はありません。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/hkuds/cli-anything --skill cli-anything-wiremock

インストール後、Claude Code で/cli-anything-wiremockを入力して読み込まれたか確認します。

詳細

概要

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 versionWireMock サーバーのバージョンを表示する
トップレベルコマンド
コマンド説明
statusWireMock が実行中かどうかを確認する
reset完全リセット: スタブ + リクエスト + シナリオ
shutdownWireMock サーバーを正常にシャットダウンする

主な例

# Check connectivity
cli-anything-wiremock status

# Create a stub using quick form
cli-anything-wiremock stub quick GET /api/users 200 --body '[{"id":1}]'

# Create a stub using full JSON
cli-anything-wiremock stub create '{
  "request": {"method": "POST", "url": "/api/orders"},
  "response": {"status": 201, "body": "{\"id\":99}"}
}'

# Verify a POST was made exactly once
cli-anything-wiremock --json request count '{"method":"POST","url":"/api/orders"}'
# → {"count": 1}

# Scenario: advance state
cli-anything-wiremock scenario set "cart-flow" "item-added"

# Record a real backend
cli-anything-wiremock record start https://api.example.com
# ... make requests ...
cli-anything-wiremock record stop

エージェント向けガイダンス

エージェントのコンテキストでは常に --json を使用する

スクリプトやエージェントのツール呼び出しでのすべての実行には --json を使用してください。JSON 出力はコマンドの種類によって異なります (これらはすべてのレスポンスを包むエンベロープではなく、それぞれ異なるレスポンスの種類です):

# Data commands return raw WireMock API JSON directly:
cli-anything-wiremock --json stub quick GET /api/hello 200 --body '{"hello":"world"}'
# → {"id": "abc-123", "request": {...}, "response": {...}, ...}

cli-anything-wiremock --json stub list
# → {"mappings": [...], "total": N}

# Void commands (delete, reset, save) return:
# → {"status": "ok"}

# Errors return:
# → {"status": "error", "message": "Connection refused"}
環境変数による接続

コマンドを呼び出す前に、環境変数で接続パラメータを設定してください:

export WIREMOCK_HOST=localhost
export WIREMOCK_PORT=8080
テスト検証のワークフローパターン
  1. テスト対象システムを実行する前にスタブをセットアップします:
    cli-anything-wiremock --json stub quick POST /api/payment 200 --body '{"success":true}'
    
  2. テスト対象システムを実行します。
  3. インタラクションを検証します:
    cli-anything-wiremock --json request count '{"method":"POST","url":"/api/payment"}'
    
  4. クリーンアップします:
    cli-anything-wiremock reset
    
エラーハンドリング

すべてのエラーで終了コードは非ゼロになります。--json モードでは、エラーは {"status": "error", "message": "..."} を返します。成功時は WireMock API の生のレスポンスを返します。

コメント