Resumen
cli-anything-wiremock es una interfaz de línea de comandos que envuelve la API REST de administración de WireMock (/__admin/). Permite a agentes y desarrolladores gestionar asignaciones de stubs HTTP, inspeccionar solicitudes servidas, controlar escenarios con estado y grabar tráfico real de backends, todo desde el terminal o desde llamadas de herramientas de agentes.
WireMock se utiliza comúnmente en entornos de pruebas de integración para reemplazar backends HTTP reales con respuestas simuladas controlables.
Grupos de comandos
stub — Gestionar asignaciones de stubs HTTP
| Comando | Descripción |
|---|
stub list | Listar todos los stubs registrados |
stub get <id> | Obtener detalles de un stub específico por UUID |
stub create <json> | Crear un stub a partir de una cadena JSON |
stub quick M URL S | Crear un stub rápidamente: MÉTODO URL CÓDIGO_ESTADO |
stub delete <id> | Eliminar un stub por UUID |
stub reset | Restablecer todos los stubs a los valores por defecto en disco |
stub save | Persistir stubs en memoria a disco |
stub import <file> | Importar stubs desde un archivo JSON |
request — Inspeccionar solicitudes servidas
| Comando | Descripción |
|---|
request list | Listar solicitudes servidas recientes |
request find <pattern> | Buscar solicitudes que coincidan con un patrón JSON |
request count <pattern> | Contar solicitudes que coincidan con un patrón JSON |
request unmatched | Listar solicitudes que no coincidieron con ningún stub (404) |
request reset | Limpiar el registro de solicitudes |
scenario — Gestión de escenarios con estado
| Comando | Descripción |
|---|
scenario list | Listar todos los escenarios y estados actuales |
scenario set N S | Establecer el escenario NOMBRE al ESTADO |
scenario reset | Restablecer todos los escenarios a su estado inicial |
record — Grabar tráfico de un backend real
| Comando | Descripción |
|---|
record start <url> | Iniciar proxy + grabación hacia URL_DESTINO |
record stop | Detener grabación, devolver stubs capturados |
record status | Verificar si se está grabando actualmente |
record snapshot | Crear una instantánea de las solicitudes en memoria como stubs |
settings — Configuración global del servidor
| Comando | Descripción |
|---|
settings get | Obtener la configuración global actual de WireMock |
settings version | Mostrar la versión del servidor WireMock |
Comandos de nivel superior
| Comando | Descripción |
|---|
status | Verificar si WireMock está en ejecución |
reset | Restablecimiento completo: stubs + solicitudes + escenarios |
shutdown | Apagar correctamente el servidor WireMock |
Ejemplos clave
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
Guía para agentes
Usar siempre --json en contextos de agentes
Usa --json para todas las invocaciones en scripts o llamadas de herramientas de agentes. La salida JSON varía según el tipo de comando (estos son tipos de respuesta distintos, no un envoltorio que abarca todas las respuestas):
cli-anything-wiremock --json stub quick GET /api/hello 200 --body '{"hello":"world"}'
cli-anything-wiremock --json stub list
Conexión a través del entorno
Configura los parámetros de conexión mediante variables de entorno antes de llamar a cualquier comando:
export WIREMOCK_HOST=localhost
export WIREMOCK_PORT=8080
Patrón de flujo de trabajo para verificación de pruebas
- Configurar stubs antes de ejecutar el sistema bajo prueba:
cli-anything-wiremock --json stub quick POST /api/payment 200 --body '{"success":true}'
- Ejecutar el sistema bajo prueba.
- Verificar interacciones:
cli-anything-wiremock --json request count '{"method":"POST","url":"/api/payment"}'
- Limpiar:
cli-anything-wiremock reset
Manejo de errores
Código de salida distinto de cero en todos los errores. En modo --json, los errores devuelven {"status": "error", "message": "..."}. El éxito devuelve la respuesta sin procesar de la API de WireMock.