Übersicht
cli-anything-wiremock ist ein Kommandozeilen-Tool, das die WireMock Admin REST API (/__admin/) kapselt. Es ermöglicht Agenten und Entwicklern, HTTP-Stub-Mappings zu verwalten, bediente Anfragen zu inspizieren, zustandsbehaftete Szenarien zu steuern und echten Backend-Datenverkehr aufzuzeichnen – alles direkt vom Terminal oder über Agent-Tool-Aufrufe.
WireMock wird häufig in Integrationstest-Umgebungen verwendet, um reale HTTP-Backends durch kontrollierbare Mock-Antworten zu ersetzen.
Befehlsgruppen
stub — HTTP-Stub-Mappings verwalten
| Befehl | Beschreibung |
|---|
stub list | Alle registrierten Stubs auflisten |
stub get <id> | Details eines bestimmten Stubs anhand der UUID abrufen |
stub create <json> | Einen Stub aus einem JSON-String erstellen |
stub quick M URL S | Schnell einen Stub erstellen: METHODE URL STATUSCODE |
stub delete <id> | Einen Stub anhand der UUID löschen |
stub reset | Alle Stubs auf die Standardeinstellungen auf der Festplatte zurücksetzen |
stub save | Stubs aus dem Arbeitsspeicher auf die Festplatte persistieren |
stub import <file> | Stubs aus einer JSON-Datei importieren |
request — Bediente Anfragen inspizieren
| Befehl | Beschreibung |
|---|
request list | Kürzlich bediente Anfragen auflisten |
request find <pattern> | Anfragen finden, die einem JSON-Muster entsprechen |
request count <pattern> | Anfragen zählen, die einem JSON-Muster entsprechen |
request unmatched | Anfragen auflisten, die keinem Stub zugeordnet wurden (404) |
request reset | Das Anfrage-Journal löschen |
scenario — Zustandsbehaftetes Szenarien-Management
| Befehl | Beschreibung |
|---|
scenario list | Alle Szenarien und deren aktuelle Zustände auflisten |
scenario set N S | Szenario NAME auf ZUSTAND setzen |
scenario reset | Alle Szenarien auf ihren Anfangszustand zurücksetzen |
record — Datenverkehr von einem echten Backend aufzeichnen
| Befehl | Beschreibung |
|---|
record start <url> | Proxy + Aufzeichnung auf ZIEL_URL starten |
record stop | Aufzeichnung beenden, erfasste Stubs zurückgeben |
record status | Prüfen, ob gerade aufgezeichnet wird |
record snapshot | Anfragen aus dem Arbeitsspeicher als Stubs übernehmen |
settings — Globale Servereinstellungen
| Befehl | Beschreibung |
|---|
settings get | Aktuelle globale WireMock-Einstellungen abrufen |
settings version | WireMock-Serverversion anzeigen |
Top-Level-Befehle
| Befehl | Beschreibung |
|---|
status | Prüfen, ob WireMock läuft |
reset | Vollständiger Reset: Stubs + Anfragen + Szenarien |
shutdown | WireMock-Server kontrolliert herunterfahren |
Wichtige Beispiele
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
Agenten-Leitfaden
Immer --json in Agenten-Kontexten verwenden
Verwenden Sie --json für alle Aufrufe in Skripten oder Agenten-Tool-Aufrufen. Die JSON-Ausgabe variiert je nach Befehlstyp (dies sind unterschiedliche Antworttypen, keine Hülle, die alle Antworten umschließt):
cli-anything-wiremock --json stub quick GET /api/hello 200 --body '{"hello":"world"}'
cli-anything-wiremock --json stub list
Verbindung über Umgebungsvariablen
Legen Sie die Verbindungsparameter vor dem Aufruf eines Befehls über Umgebungsvariablen fest:
export WIREMOCK_HOST=localhost
export WIREMOCK_PORT=8080
Workflow-Muster für Testüberprüfungen
- Richten Sie Stubs ein, bevor Sie das zu testende System ausführen:
cli-anything-wiremock --json stub quick POST /api/payment 200 --body '{"success":true}'
- Führen Sie das zu testende System aus.
- Überprüfen Sie die Interaktionen:
cli-anything-wiremock --json request count '{"method":"POST","url":"/api/payment"}'
- Räumen Sie auf:
cli-anything-wiremock reset
Fehlerbehandlung
Bei allen Fehlern wird ein Exit-Code ungleich Null ausgegeben. Im --json-Modus geben Fehler {"status": "error", "message": "..."} zurück. Im Erfolgsfall wird die rohe WireMock-API-Antwort zurückgegeben.