Visão Geral
cli-anything-wiremock é uma interface de linha de comando que encapsula a API REST Admin do WireMock (/__admin/). Ela permite que agentes e desenvolvedores gerenciem mapeamentos de stubs HTTP, inspecionem requisições atendidas, controlem cenários stateful e gravem tráfego real de backends — tudo a partir do terminal ou de chamadas de ferramentas de agentes.
O WireMock é comumente usado em ambientes de teste de integração para substituir backends HTTP reais por respostas mock controláveis.
Grupos de Comandos
stub — Gerenciar mapeamentos de stubs HTTP
| Comando | Descrição |
|---|
stub list | Listar todos os stubs registrados |
stub get <id> | Obter detalhes de um stub específico pelo UUID |
stub create <json> | Criar um stub a partir de uma string JSON |
stub quick M URL S | Criar rapidamente um stub: MÉTODO URL STATUS_CODE |
stub delete <id> | Excluir um stub pelo UUID |
stub reset | Redefinir todos os stubs para os padrões em disco |
stub save | Persistir stubs em memória para o disco |
stub import <file> | Importar stubs de um arquivo JSON |
request — Inspecionar requisições atendidas
| Comando | Descrição |
|---|
request list | Listar requisições atendidas recentes |
request find <pattern> | Encontrar requisições correspondentes a um padrão JSON |
request count <pattern> | Contar requisições correspondentes a um padrão JSON |
request unmatched | Listar requisições que não corresponderam a nenhum stub (404s) |
request reset | Limpar o diário de requisições |
scenario — Gerenciamento de cenários stateful
| Comando | Descrição |
|---|
scenario list | Listar todos os cenários e estados atuais |
scenario set N S | Definir cenário NOME para ESTADO |
scenario reset | Redefinir todos os cenários para o estado inicial |
record — Gravar tráfego de um backend real
| Comando | Descrição |
|---|
record start <url> | Iniciar proxy + gravação para TARGET_URL |
record stop | Parar gravação, retornar stubs capturados |
record status | Verificar se está gravando no momento |
record snapshot | Capturar requisições em memória como stubs |
settings — Configurações globais do servidor
| Comando | Descrição |
|---|
settings get | Obter configurações globais atuais do WireMock |
settings version | Mostrar versão do servidor WireMock |
Comandos de nível superior
| Comando | Descrição |
|---|
status | Verificar se o WireMock está em execução |
reset | Redefinição completa: stubs + requisições + cenários |
shutdown | Desligar graciosamente o servidor WireMock |
Exemplos Chave
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
Orientações para Agentes
Use sempre --json em contextos de agente
Use --json para todas as invocações em scripts ou chamadas de ferramentas de agentes. A saída JSON varia por tipo de comando (são tipos de resposta distintos, não um envelope envolvendo todas as respostas):
cli-anything-wiremock --json stub quick GET /api/hello 200 --body '{"hello":"world"}'
cli-anything-wiremock --json stub list
Conexão via ambiente
Defina os parâmetros de conexão através de variáveis de ambiente antes de chamar qualquer comando:
export WIREMOCK_HOST=localhost
export WIREMOCK_PORT=8080
Padrão de fluxo de trabalho para verificação de teste
- Configure stubs antes de executar o sistema sob teste:
cli-anything-wiremock --json stub quick POST /api/payment 200 --body '{"success":true}'
- Execute o sistema sob teste.
- Verifique interações:
cli-anything-wiremock --json request count '{"method":"POST","url":"/api/payment"}'
- Limpe:
cli-anything-wiremock reset
Tratamento de erros
Código de saída diferente de zero em todos os erros. No modo --json, erros retornam {"status": "error", "message": "..."}. Sucesso retorna a resposta bruta da API WireMock.