integration

module
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Nov 10, 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
    • Canonical root workflow success and failure callbacks across backends
    • SQL workflow-store concurrency coverage
    • Driver constructor/linking integration coverage
    • Integration benchmarks

Optional drivers are linked once per integration package via drivers_link_test.go files (integration/all, 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

Canonical root workflow matrix only:

GOCACHE=/tmp/queue-gocache go test -tags=integration ./integration/root -run '^TestCanonicalWorkflowContract_AllExecutableBackends$' -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 '^$'

Coverage uses the repository collector so root and driver code exercised by this module is included. CI runs these backend profiles in parallel; all is the slow local equivalent and may start every external service container:

scripts/coverage-codecov.sh unit
INTEGRATION_BACKEND=all scripts/coverage-codecov.sh integration

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.
Package temporalproof contains preimplementation experiments for the optional Temporal driver.
Package temporalproof contains preimplementation experiments for the optional Temporal driver.

Jump to

Keyboard shortcuts

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