From developer-kit-java
Sets up WireMock standalone in Docker to mock HTTP APIs, create stub mappings, simulate errors/timeouts/rate limits for integration testing.
How this skill is triggered — by the user, by Claude, or both
Slash command
/developer-kit-java:wiremock-standalone-dockerThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
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.
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.jsonProvides 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 scenariosnpx claudepluginhub giuseppe-trisciuoglio/developer-kit --plugin developer-kit-javaUnit tests Java services integrating with external REST APIs using WireMock: stubs responses, verifies requests, simulates timeouts/errors without network calls. For mocking HTTP endpoints.
Creates realistic mock APIs for development, testing, and demos. Simulates real API behavior and enables parallel development.
Generates mock API servers from OpenAPI specs with Faker.js data, stateful CRUD, latency, errors, and request recording for development/testing.