GONK uses standard Go tests colocated with the package they validate. Test files use the *_test.go suffix.
go test ./...
make test
make test-coverage
make test-race
make benchCoverage output is written to coverage.out by make test-coverage.
When the host Go toolchain is not available, run the suite in Docker:
docker run --rm -v "$PWD:/app" -w /app golang:1.21 go test ./...
docker run --rm -v "$PWD:/app" -w /app golang:1.21 make buildRun the Docker Compose quickstart smoke test:
make demo-smokeRun local performance checks:
make bench
BENCH_TIME=10s make benchSee BENCHMARKS.md for benchmark interpretation and release baselines.
- Configuration loading, environment fallbacks, and repository example validation.
- JWT and API key authentication middleware.
- Combined JWT plus client-certificate requirements.
- HTTP reverse proxy path rewriting and injected headers.
- Load balancer health-check URL selection and unhealthy upstream skipping.
- Response cache hit behavior and header preservation.
- Rate limiting rejection after burst exhaustion.
- Admin endpoint token/CIDR enforcement and route introspection.
- Cache statistics for entries, bytes, hits, and misses.
- Production secret guardrails.
- Operational status endpoint coverage.
- WebSocket and gRPC proxy behavior.
- Hot config reload behavior.
- Full mTLS Docker Compose smoke test in local or self-hosted release checks when runtime budget allows it.