← ClaudeAtlas

integration-test-go-applisted

Run end-to-end integration tests for a go-scaffolder-generated Go service against the bundled docker-compose stack (postgres + mysql + redis). Use this skill whenever the user says "test the scaffolded Go app", "run integration tests on the API combos", "verify CRUD/pagination/cache works for nethttp/gin/chi/mux/echo", "smoke-test the runtime", "test the generated handlers against real services", or any phrasing that implies running real HTTP requests against scaffolded services and live database/redis containers. Tests both cursor and offset pagination, verifies cache keys appear in redis, asserts request_id appears in the structured logs, and validates the huma OpenAPI 3.1 spec + Stoplight Elements UI at /openapi.{json,yaml} and /docs. Compile-only smoke testing (the `tools/smoke -all` runner) is a different thing — this skill actually starts each binary and exercises real endpoints.
labspangaea/pangaealabs-claude-plugins-marketplace · ★ 0 · API & Backend · score 65
Install: claude install-skill labspangaea/pangaealabs-claude-plugins-marketplace
# Skill: integration-test-go-app End-to-end runtime verification for services scaffolded by `go-scaffolder`. The heavy lifting lives in the bundled bash driver at `${CLAUDE_SKILL_DIR}/scripts/run.sh` — your job here is to do a friendly pre-flight, invoke the script, and translate its output for the user. The compile-only smoke runner at `tools/smoke/` proves the templates compile. This skill is the next layer up: it actually starts each generated binary, hits real HTTP endpoints, and asserts on the responses + cache state + log content. If smoke says 16/16 pass but this skill fails, the bug is in the runtime wiring (config, env vars, service code path), not the templates. ## Step 1: Pre-flight checks Run a single bash block to fail fast with a clear message if any prerequisite is missing. The script does its own checks too, but doing them here means the user gets actionable errors before docker even spins up: ```bash COMPOSE="$HOME/projects/claude-plugins/plugins/go-scaffolder/docker-compose.yml" for cmd in docker jq curl go; do command -v "$cmd" >/dev/null || { echo "MISSING: $cmd not on PATH"; exit 2; } done [ -f "$COMPOSE" ] || { echo "MISSING: docker-compose.yml at $COMPOSE"; exit 2; } echo "preflight OK" ``` If any check fails, surface the exact line to the user — most of these are one-command fixes (install jq, etc.). Do not try to install on the user's behalf; that's their decision. `go-lib` itself needs no preflight — it's a public module the driver's `go m