integration

module
v0.1.15 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 6, 2026 License: MIT

README

Integration Module

This module contains integration and benchmark suites that were moved out of the root module to keep root test dependencies and imports lean.

Layout

  • integration/all
    • Shared backend matrix scenarios (TestIntegrationScenarios_AllBackends)
    • Queue-surface integration matrix (TestIntegrationQueue_AllBackends)
  • integration/root
    • Root-package integration/contract/observability suites
    • Driver constructor/linking integration coverage
    • Integration benchmarks
  • integration/bus
    • bus integration suites (including callback + SQL integration coverage)

Optional drivers are linked once per integration package via drivers_link_test.go files (integration/all, integration/bus, integration/root) so individual test files do not need repeated driver import blocks.

Common Commands

Full integration module (requires Docker/testcontainers for external backends):

GOCACHE=/tmp/queue-gocache go test -tags=integration ./integration/... -count=1

Shared scenario matrix only:

GOCACHE=/tmp/queue-gocache go test -tags=integration ./integration/all -run '^TestIntegrationScenarios_AllBackends$' -count=1 -v

Bus integration matrix only:

GOCACHE=/tmp/queue-gocache go test -tags=integration ./integration/bus -run '^TestIntegrationBus_AllBackends$' -count=1 -v

Local-only compile/smoke checks (no Docker):

INTEGRATION_BACKEND=null,sync,workerpool GOCACHE=/tmp/queue-gocache go test -tags=integration ./integration/... -run '^$'

Environment

  • INTEGRATION_BACKEND=<list> filters enabled backends (comma-separated).
    • Default (when unset, or all): all backends
    • Use a subset to avoid Docker/testcontainers (for example null,sync,workerpool,sqlite)
  • RUN_SOAK=1 enables soak-tagged integration scenarios.
  • Docker/testcontainers access is required for external backends (redis, mysql, postgres, nats, sqs, rabbitmq).

Directories

Path Synopsis
Package all is reserved for repo-wide integration contract/matrix tests that span root queue behavior and multiple optional drivers.
Package all is reserved for repo-wide integration contract/matrix tests that span root queue behavior and multiple optional drivers.
Package root contains root-level integration tests that are being migrated out of the root queue module to keep root go.mod lean.
Package root contains root-level integration tests that are being migrated out of the root queue module to keep root go.mod lean.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL