cli-anything-wiremock

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Overview

概述

cli-anything-wiremock
is a command-line interface that wraps the WireMock Admin REST API (
/__admin/
). It allows agents and developers to manage HTTP stub mappings, inspect served requests, control stateful scenarios, and record real backend traffic — all from the terminal or from agent tool calls.
WireMock is commonly used in integration testing environments to replace real HTTP backends with controllable mock responses.
cli-anything-wiremock
是一个封装了WireMock Admin REST API(
/__admin/
)的命令行界面。它允许Agent和开发人员从终端或通过Agent工具调用管理HTTP存根映射、检查已处理的请求、控制有状态场景以及录制真实后端流量。
WireMock通常用于集成测试环境,以可控的模拟响应替代真实的HTTP后端。

Command Groups

命令组

stub
— Manage HTTP stub mappings

stub
— 管理HTTP存根映射

CommandDescription
stub list
List all registered stubs
stub get <id>
Get details of a specific stub by UUID
stub create <json>
Create a stub from a JSON string
stub quick M URL S
Quickly create a stub: METHOD URL STATUS_CODE
stub delete <id>
Delete a stub by UUID
stub reset
Reset all stubs to the defaults on disk
stub save
Persist in-memory stubs to disk
stub import <file>
Import stubs from a JSON file
命令描述
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
— Inspect served requests

request
— 检查已处理的请求

CommandDescription
request list
List recent served requests
request find <pattern>
Find requests matching a JSON pattern
request count <pattern>
Count requests matching a JSON pattern
request unmatched
List requests that matched no stub (404s)
request reset
Clear the request journal
命令描述
request list
列出最近处理的请求
request find <pattern>
查找匹配JSON模式的请求
request count <pattern>
统计匹配JSON模式的请求数量
request unmatched
列出未匹配到任何存根的请求(404请求)
request reset
清空请求日志

scenario
— Stateful scenario management

scenario
— 有状态场景管理

CommandDescription
scenario list
List all scenarios and current states
scenario set N S
Set scenario NAME to STATE
scenario reset
Reset all scenarios to their initial state
命令描述
scenario list
列出所有场景及其当前状态
scenario set N S
将指定NAME的场景设置为STATE状态
scenario reset
将所有场景重置为初始状态

record
— Record traffic from a real backend

record
— 录制真实后端的流量

CommandDescription
record start <url>
Start proxying + recording to TARGET_URL
record stop
Stop recording, return captured stubs
record status
Check if currently recording
record snapshot
Snapshot in-memory requests as stubs
命令描述
record start <url>
启动代理并录制流量到TARGET_URL
record stop
停止录制,返回捕获的存根
record status
检查当前是否正在录制
record snapshot
将内存中的请求快照为存根

settings
— Global server settings

settings
— 全局服务器设置

CommandDescription
settings get
Get current global WireMock settings
settings version
Show WireMock server version
命令描述
settings get
获取当前WireMock全局设置
settings version
显示WireMock服务器版本

Top-level commands

顶级命令

CommandDescription
status
Check if WireMock is running
reset
Full reset: stubs + requests + scenarios
shutdown
Gracefully shut down the WireMock server
命令描述
status
检查WireMock是否正在运行
reset
完全重置:存根 + 请求 + 场景
shutdown
优雅关闭WireMock服务器

Key Examples

关键示例

bash
undefined
bash
undefined

Check connectivity

Check connectivity

cli-anything-wiremock status
cli-anything-wiremock status

Create a stub using quick form

Create a stub using quick form

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

Create a stub using full JSON

Create a stub using full JSON

cli-anything-wiremock stub create '{ "request": {"method": "POST", "url": "/api/orders"}, "response": {"status": 201, "body": "{"id":99}"} }'
cli-anything-wiremock stub create '{ "request": {"method": "POST", "url": "/api/orders"}, "response": {"status": 201, "body": "{"id":99}"} }'

Verify a POST was made exactly once

Verify a POST was made exactly once

cli-anything-wiremock --json request count '{"method":"POST","url":"/api/orders"}'
cli-anything-wiremock --json request count '{"method":"POST","url":"/api/orders"}'

→ {"count": 1}

→ {"count": 1}

Scenario: advance state

Scenario: advance state

cli-anything-wiremock scenario set "cart-flow" "item-added"
cli-anything-wiremock scenario set "cart-flow" "item-added"

Record a real backend

Record a real backend

cli-anything-wiremock record start https://api.example.com
cli-anything-wiremock record start https://api.example.com

... make requests ...

... make requests ...

cli-anything-wiremock record stop
undefined
cli-anything-wiremock record stop
undefined

Agent Guidance

Agent使用指南

Always use
--json
in agent contexts

在Agent环境中始终使用
--json
参数

Use
--json
for all invocations in scripts or agent tool calls. JSON output varies by command type (these are distinct response types, not an envelope wrapping all responses):
bash
undefined
在脚本或Agent工具调用中执行所有命令时,请使用
--json
参数。JSON输出会根据命令类型有所不同(这些是不同的响应类型,并非包裹所有响应的信封格式):
bash
undefined

Data commands return raw WireMock API JSON directly:

数据类命令直接返回原始WireMock API JSON:

cli-anything-wiremock --json stub quick GET /api/hello 200 --body '{"hello":"world"}'
cli-anything-wiremock --json stub quick GET /api/hello 200 --body '{"hello":"world"}'

→ {"id": "abc-123", "request": {...}, "response": {...}, ...}

→ {"id": "abc-123", "request": {...}, "response": {...}, ...}

cli-anything-wiremock --json stub list
cli-anything-wiremock --json stub list

→ {"mappings": [...], "total": N}

→ {"mappings": [...], "total": N}

Void commands (delete, reset, save) return:

无返回值命令(delete、reset、save)返回:

→ {"status": "ok"}

→ {"status": "ok"}

Errors return:

错误时返回:

→ {"status": "error", "message": "Connection refused"}

→ {"status": "error", "message": "Connection refused"}

undefined
undefined

Connection via environment

通过环境变量配置连接

Set connection params via environment variables before calling any command:
bash
export WIREMOCK_HOST=localhost
export WIREMOCK_PORT=8080
在调用任何命令之前,通过环境变量设置连接参数:
bash
export WIREMOCK_HOST=localhost
export WIREMOCK_PORT=8080

Workflow pattern for test verification

测试验证的工作流模式

  1. Set up stubs before running the system under test:
    bash
    cli-anything-wiremock --json stub quick POST /api/payment 200 --body '{"success":true}'
  2. Run the system under test.
  3. Verify interactions:
    bash
    cli-anything-wiremock --json request count '{"method":"POST","url":"/api/payment"}'
  4. Clean up:
    bash
    cli-anything-wiremock reset
  1. 在运行被测系统之前设置存根:
    bash
    cli-anything-wiremock --json stub quick POST /api/payment 200 --body '{"success":true}'
  2. 运行被测系统。
  3. 验证交互:
    bash
    cli-anything-wiremock --json request count '{"method":"POST","url":"/api/payment"}'
  4. 清理环境:
    bash
    cli-anything-wiremock reset

Error handling

错误处理

Non-zero exit code on all errors. In
--json
mode, errors return
{"status": "error", "message": "..."}
. Success returns the raw WireMock API response.
所有错误都会返回非零退出码。在
--json
模式下,错误会返回
{"status": "error", "message": "..."}
。成功时则返回原始WireMock API响应。