diene.go-e2e

module
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Jul 26, 2026 License: MIT

README

Diene Go e2e test-harness library

CI Unit coverage Integration coverage Meta coverage Go Reference Commit activity

Diene's reproducible development environment is managed by Nix. Run direnv allow once, then use pls tasks from the loaded shell.

This repository inherits the all-features workspace baseline: split CI/CD, secrets, release configuration, validators, standards, and vendored agent-skill synchronization.

Commands

  • pls setup — synchronize installed diene package skills.
  • pls lint — run every pre-commit gate.
  • pls secret:scan — scan tracked content for secrets.
  • pls skills:sync — rebuild .claude/skills/vendor/ from installed packages.

Publishable Go module

github.com/AtomiCloud/diene.go-e2e is the Go family's SIT/e2e test harness: compiled-artifact and in-process SIT drivers that run one journey two ways against the Garden preview environment, Garden preview-target resolution, config/env fixtures, and a testhelper package that bundles every sibling TestHelper in the family plus Testcontainers stack glue for DB-adapter integration tests.

It is Bruno-free. Bruno orchestration is a sample-side concern owned by the service templates, never by this harness.

It consumes all eight published github.com/AtomiCloud/diene.go-* siblings through the public Go proxy — no replace directives, no path dependencies — so its own suites are the family's downstream real-consumption evidence.

go get github.com/AtomiCloud/diene.go-e2e@latest
report, err := e2e.RunJourney(ctx, driver, journey, problems)

Packages:

  • lib/e2e — the Driver seam, the compiled-artifact and in-process SIT drivers, the journey runner, driver parity comparison, and the harness problem catalog.
  • lib/preview — Garden preview-environment target resolution and the otel, auth, api, and infra-preset configuration it implies.
  • lib/fixture — layered config/env fixtures: base plus landscape overlay plus C0-shaped environment, materialized through the Vfs seam.
  • adapters/process — the real interfaces.Terminal binding the compiled-artifact driver runs on.
  • testhelper — the family TestHelper bundle, the Testcontainers stack glue, scripted drivers, and harness assertions.

Usage patterns live in the shipped usage skill skills/diene-go-e2e-usage/SKILL.md.

Go commands

  • pls build — build every package in the module.
  • pls typecheck — compile every source package without running tests.
  • pls test / pls test:coverage — run unit, integration, and active meta tiers.
  • pls deadcode — run strict whole-repository and production passes plus the LLM-lax report.
  • pls up / pls down — start or stop local Redis (the meta tier boots its own Testcontainers).
  • ./scripts/ci/pkg-validate.sh all — run module-path, vet, API, docs, and example validators.

See the Go baseline for the language contract and template-maintenance boundary. See the Go library baseline for promotion, testing, compatibility, and publication policy.

Standards

Shared standards

Domain-specific documentation belongs under docs/domain/. The docs/standards/contracts/ location is reserved for the separately owned C0 contracts standard.

Go language variants

Directories

Path Synopsis
adapters
filesystem
Package filesystem binds the family's interfaces.Vfs seam to the real operating-system filesystem.
Package filesystem binds the family's interfaces.Vfs seam to the real operating-system filesystem.
process
Package process binds the family's interfaces.Terminal seam to real operating-system processes.
Package process binds the family's interfaces.Terminal seam to real operating-system processes.
lib
e2e
Package e2e is the Go family's SIT and end-to-end test harness.
Package e2e is the Go family's SIT and end-to-end test harness.
fixture
Package fixture builds the layered configuration a harnessed service loads.
Package fixture builds the layered configuration a harnessed service loads.
preview
Package preview resolves the Garden preview environment a SIT run targets.
Package preview resolves the Garden preview environment a SIT run targets.
Package testhelper is the Go family's TestHelper bundle.
Package testhelper is the Go family's TestHelper bundle.

Jump to

Keyboard shortcuts

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