Présentation
cli-anything-wiremock est une interface en ligne de commande qui enveloppe l'API REST Admin de WireMock (/__admin/). Elle permet aux agents et aux développeurs de gérer les mappings de stubs HTTP, d'inspecter les requêtes servies, de contrôler des scénarios avec état et d'enregistrer le trafic réel d'un backend — le tout depuis le terminal ou depuis des appels d'outils d'agent.
WireMock est couramment utilisé dans les environnements de test d'intégration pour remplacer les backends HTTP réels par des réponses simulées contrôlables.
Groupes de commandes
stub — Gérer les mappings de stubs HTTP
| Commande | Description |
|---|
stub list | Lister tous les stubs enregistrés |
stub get <id> | Obtenir les détails d'un stub spécifique par UUID |
stub create <json> | Créer un stub à partir d'une chaîne JSON |
stub quick M URL S | Créer rapidement un stub : METHODE URL CODE_STATUT |
stub delete <id> | Supprimer un stub par UUID |
stub reset | Réinitialiser tous les stubs aux valeurs par défaut sur le disque |
stub save | Persister les stubs en mémoire sur le disque |
stub import <fichier> | Importer des stubs à partir d'un fichier JSON |
request — Inspecter les requêtes servies
| Commande | Description |
|---|
request list | Lister les requêtes récemment servies |
request find <motif> | Trouver les requêtes correspondant à un motif JSON |
request count <motif> | Compter les requêtes correspondant à un motif JSON |
request unmatched | Lister les requêtes n'ayant correspondu à aucun stub (404s) |
request reset | Effacer le journal des requêtes |
scenario — Gestion des scénarios avec état
| Commande | Description |
|---|
scenario list | Lister tous les scénarios et leurs états actuels |
scenario set N S | Définir le scénario NOM à l'état ETAT |
scenario reset | Réinitialiser tous les scénarios à leur état initial |
record — Enregistrer le trafic depuis un backend réel
| Commande | Description |
|---|
record start <url> | Démarrer le proxy + l'enregistrement vers URL_CIBLE |
record stop | Arrêter l'enregistrement, retourner les stubs capturés |
record status | Vérifier si l'enregistrement est en cours |
record snapshot | Instantané des requêtes en mémoire en tant que stubs |
settings — Paramètres globaux du serveur
| Commande | Description |
|---|
settings get | Obtenir les paramètres WireMock globaux actuels |
settings version | Afficher la version du serveur WireMock |
Commandes de premier niveau
| Commande | Description |
|---|
status | Vérifier si WireMock est en cours d'exécution |
reset | Réinitialisation complète : stubs + requêtes + scénarios |
shutdown | Arrêter gracieusement le serveur WireMock |
Exemples clés
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
Conseils pour les agents
Toujours utiliser --json dans les contextes agents
Utilisez --json pour toutes les invocations dans les scripts ou les appels d'outils d'agent. La sortie JSON varie selon le type de commande (ce sont des types de réponse distincts, pas une enveloppe qui englobe toutes les réponses) :
cli-anything-wiremock --json stub quick GET /api/hello 200 --body '{"hello":"world"}'
cli-anything-wiremock --json stub list
Connexion via l'environnement
Définissez les paramètres de connexion via des variables d'environnement avant d'appeler une commande :
export WIREMOCK_HOST=localhost
export WIREMOCK_PORT=8080
Modèle de workflow pour la vérification de tests
- Configurer les stubs avant d'exécuter le système testé :
cli-anything-wiremock --json stub quick POST /api/payment 200 --body '{"success":true}'
- Exécuter le système testé.
- Vérifier les interactions :
cli-anything-wiremock --json request count '{"method":"POST","url":"/api/payment"}'
- Nettoyer :
cli-anything-wiremock reset
Gestion des erreurs
Code de sortie non nul en cas d'erreur. En mode --json, les erreurs retournent {"status": "error", "message": "..."}. En cas de succès, la réponse brute de l'API WireMock est retournée.