Help us shape the future of Go! Take the 2026 Go Developer Survey

ssftest

package
v1.9.0 Latest Latest
Warning

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

Go to latest
Published: Nov 2, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Overview

Package ssftest provides a backend-agnostic conformance suite for the sharedsignals.Store interface. Every backend (memory, sqlite, postgres, mongo) is expected to pass the same contract, so behavioral drift between them is caught here rather than in production.

This store carries more security contract than most: received events are the replay guard for inbound SETs, and the audit reads are documented to answer ErrNotFound rather than a distinguishable "forbidden" when a caller reaches across a tenant boundary. Those are the invariants worth pinning on every backend.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RunConformance

func RunConformance(t *testing.T, newFixture Factory, skip ...string)

RunConformance runs every contract test against fixtures from newFixture.

Types

type Factory

type Factory func(t *testing.T) Fixture

Factory builds a fresh, empty, migrated fixture for a single test.

type Fixture

type Fixture struct {
	Store ssf.Store
	AppID id.AppID
	EnvID id.EnvironmentID
	// OtherAppID and OtherEnvID are a second tenant, used to prove that the
	// audit reads refuse to cross the boundary.
	OtherAppID id.AppID
	OtherEnvID id.EnvironmentID
	// UserID is a real user, for subject links.
	UserID id.UserID
}

Fixture is one backend ready to test, plus the tenants its rows hang off.

Jump to

Keyboard shortcuts

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