.claude/skills/integration-test/SKILL.md
Run integration tests that require Docker (Postgres, MinIO via testcontainers). Use to validate database and storage behavior.
npx skillsauth add PeterBooker/veloria integration-testInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Run integration tests that use testcontainers-go for Postgres and MinIO.
/integration-test - Run all integration tests/integration-test ./internal/repo/... - Run integration tests in a specific packagedocker info should succeed)Verify Docker is available
docker info > /dev/null 2>&1 && echo "Docker OK" || echo "Docker not available"
If Docker is not available, inform the user and stop.
Run integration tests
For a specific package:
go test -tags integration -v -timeout 10m $ARGUMENTS 2>&1
For all packages:
go test -tags integration -v -timeout 10m ./... 2>&1
Parse results
Report:
## Integration Test Results
### Passed
- [list of passed tests]
### Failed
- [list of failed tests with error details]
### Summary
- Total: N | Passed: N | Failed: N
- Duration: Ns
On failure, read the failing test files to understand what's being tested and suggest fixes.
Integration tests use the //go:build integration build tag and live alongside unit tests:
| File | Container | Purpose |
|------|-----------|---------|
| internal/testutil/postgres.go | PostgreSQL | Database integration tests |
| internal/testutil/minio.go | MinIO | S3-compatible storage tests |
docker ps --filter "label=org.testcontainers"development
Run Go unit tests. Use after code changes to verify correctness.
development
Run gosec and govulncheck to find security vulnerabilities. Use before releases or after dependency changes.
tools
Trigger reindexing of a specific WordPress extension. Use to rebuild the search index for a plugin, theme, or core version.
development
Run Go race detector to find data races in concurrent code. Use after any change to mutexes, goroutines, or channels.