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

socialtest

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: 8 Imported by: 0

Documentation

Overview

Package socialtest provides a backend-agnostic conformance suite for the social.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.

An OAuth connection holds the provider tokens that stand in for a user's password at Google or GitHub, so the cases lean on whether those survive a write and whether a refresh actually replaces them.

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  social.Store
	AppID  id.AppID
	UserID id.UserID
	// OtherUserID is a second user under the same app, used to prove that
	// listing a user's connections does not reach past them.
	OtherUserID id.UserID
	// OtherAppID and OtherAppUser are a second tenant.
	OtherAppID   id.AppID
	OtherAppUser id.UserID
}

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

Jump to

Keyboard shortcuts

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