integration-test

Run integration tests that require Docker (Postgres, MinIO via testcontainers). Use to validate database and storage behavior.

12 stars

Best use case

integration-test is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Run integration tests that require Docker (Postgres, MinIO via testcontainers). Use to validate database and storage behavior.

Teams using integration-test should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/integration-test/SKILL.md --create-dirs "https://raw.githubusercontent.com/PeterBooker/veloria/main/.claude/skills/integration-test/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/integration-test/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How integration-test Compares

Feature / Agentintegration-testStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Run integration tests that require Docker (Postgres, MinIO via testcontainers). Use to validate database and storage behavior.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Integration Tests

Run integration tests that use testcontainers-go for Postgres and MinIO.

## Usage

- `/integration-test` - Run all integration tests
- `/integration-test ./internal/repo/...` - Run integration tests in a specific package

## Prerequisites

- Docker must be running (`docker info` should succeed)

## Steps

1. **Verify Docker is available**
   ```bash
   docker info > /dev/null 2>&1 && echo "Docker OK" || echo "Docker not available"
   ```
   If Docker is not available, inform the user and stop.

2. **Run integration tests**

   For a specific package:
   ```bash
   go test -tags integration -v -timeout 10m $ARGUMENTS 2>&1
   ```

   For all packages:
   ```bash
   go test -tags integration -v -timeout 10m ./... 2>&1
   ```

4. **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
   ```

5. **On failure**, read the failing test files to understand what's being tested and suggest fixes.

## Test Infrastructure

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 |

## Tips

- First run is slower due to container image pulls
- Tests create and destroy containers automatically via testcontainers-go
- If a test hangs, check for orphaned containers: `docker ps --filter "label=org.testcontainers"`

Related Skills

We are still matching the closest adjacent skills for this page. In the meantime, continue through the full directory.