Sets up WireMock standalone in Docker to mock HTTP APIs, create stub mappings, simulate errors/timeouts/rate limits for integration testing.
From developer-kit-javanpx claudepluginhub giuseppe-trisciuoglio/developer-kit --plugin developer-kit-javaThis skill is limited to using the following tools:
references/docker-compose.ymlreferences/wiremock/mappings/delete-forbidden.jsonreferences/wiremock/mappings/get-dynamic-response.jsonreferences/wiremock/mappings/get-malformed.jsonreferences/wiremock/mappings/get-rate-limited.jsonreferences/wiremock/mappings/get-unauthorized.jsonreferences/wiremock/mappings/get-user-internal-error.jsonreferences/wiremock/mappings/get-user-not-found.jsonreferences/wiremock/mappings/get-user-slow-response.jsonreferences/wiremock/mappings/get-user-success.jsonSearches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Enables AI agents to execute x402 payments with per-task budgets, spending controls, and non-custodial wallets via MCP tools. Use when agents pay for APIs, services, or other agents.
Provides patterns for running WireMock as a standalone Docker container to mock external APIs during integration and end-to-end testing. Runs WireMock as a separate service that simulates real API behavior for testing HTTP clients, retry logic, and error handling.
Use when you need to:
Create a docker-compose.yml with WireMock 3.5.2, port mapping, and volume mounts for mappings and files:
version: "3.8"
services:
wiremock:
image: wiremock/wiremock:3.5.2
ports:
- "8080:8080"
volumes:
- ./wiremock:/home/wiremock
command: ["--global-response-templating"]
Create the WireMock configuration directories:
wiremock/
├── mappings/ # JSON stub definitions
└── __files/ # Response body files
Create JSON stub files in wiremock/mappings/ for each scenario:
fixedDelayMillisecondsdocker compose up -d
curl http://localhost:8080/__admin/mappings
Expected: Returns empty array {"mappings":[]} if no stubs loaded, or your stub definitions. If you get connection refused, check that the container is running: docker compose ps
Point your application to http://localhost:8080 (or http://wiremock:8080 in Docker network) instead of the real API.
Always test: 200, 400, 401, 403, 404, 429, 500, timeouts, malformed responses.
{
"request": { "method": "GET", "url": "/api/users/123" },
"response": {
"status": 200,
"jsonBody": { "id": 123, "name": "Mario Rossi" }
}
}
{
"request": { "method": "GET", "url": "/api/error" },
"response": { "status": 500, "body": "Internal Server Error" }
}
{
"request": { "method": "GET", "url": "/api/slow" },
"response": {
"status": 200,
"fixedDelayMilliseconds": 5000,
"jsonBody": { "message": "delayed" }
}
}
services:
wiremock:
image: wiremock/wiremock:3.5.2
ports:
- "8080:8080"
volumes:
- ./wiremock:/home/wiremock
app:
build: .
environment:
- API_BASE_URL=http://wiremock:8080
depends_on:
- wiremock
users/, products/curl -X POST http://localhost:8080/__admin/resetget-user-success.json, post-user-error.json--global-response-templating for dynamic responsesRequests don't match stubs?
Check what WireMock received: curl http://localhost:8080/__admin/requests — shows unmatched requests with details about what was actually sent.
Stub file not loading?
Verify file location: place JSON stubs in wiremock/mappings/ and response files in wiremock/__files/. Check file permissions.
Connection refused errors?
Run docker compose ps to verify the container is running. Check port conflicts with lsof -i :8080.
See references/ for complete examples:
docker-compose.yml - Full Docker Compose configurationwiremock/mappings/ - Complete stub examples for all scenarios