| name | mock-server |
| description | Spin up mock API servers for frontend development and testing: static responses, record/replay real API calls, dynamic response generation. |
| category | backend |
| maturity | stable |
| tags | ["mock-api","record-replay","openapi","rest","stubbing"] |
mock-server
Spin up mock API servers for frontend development and testing: static responses, record/replay real API calls, dynamic response generation.
When to Use
- Developing frontend without a backend
- Testing against mock APIs
- Recording real API responses for replay
- Isolating frontend tests from backend dependencies
Scripts
mock-server.py
Python mock API server with zero dependencies.
python3 scripts/mock-server.py --config routes.json --port 8080
Config format:
{
"routes": [
{
"method": "GET",
"path": "/api/users",
"status": 200,
"body": [{ "id": 1, "name": "Alice" }]
},
{
"method": "POST",
"path": "/api/users",
"status": 201,
"body": { "id": "{{random_id}}", "created": "{{timestamp}}" },
"delay_ms": 100
}
]
}
Dynamic templates: {{random_id}}, {{timestamp}}, {{request.body.name}}, {{uuid}}
Supports: regex path matching, custom headers, response delays.
record-replay.py
Record real API calls and replay them.
python3 scripts/record-replay.py --mode record --target https://api.example.com --port 8081 --output recordings.json
python3 scripts/record-replay.py --mode replay --input recordings.json --port 8081
mock-config-gen.sh
Generate mock config from Express/Fastify routes or OpenAPI spec.
bash scripts/mock-config-gen.sh --source routes/ --output mock-routes.json
bash scripts/mock-config-gen.sh --source openapi.yaml --output mock-routes.json
References
mocking-strategies.md — When to mock vs use real APIs