sqltest

package
v1.16.0 Latest Latest
Warning

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

Go to latest
Published: Nov 5, 2026 License: Apache-2.0 Imports: 39 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Run

func Run(t *testing.T, cfg Config)

Run executes the shared datastore conformance suite against the datastore produced by cfg.NewDataStore.

Types

type Config

type Config struct {
	// NewDataStore builds a fresh, unconfigured datastore.
	NewDataStore func(log logrus.FieldLogger) DataStoreUnderTest
	// Dialect / connection strings for integration runs; empty Dialect => sqlite3.
	Dialect      string
	ConnString   string
	ROConnString string

	// ExpectedSchemaVersion is the schema version a freshly-migrated database
	// should report in its migrations table (the implementation's latest schema
	// version).
	ExpectedSchemaVersion int

	// ExpectedCodeVersion is the SPIRE code version string it should record.
	ExpectedCodeVersion string
}

Config parameterizes the shared suite over a concrete implementation.

type DataStoreUnderTest

type DataStoreUnderTest interface {
	datastore.DataStore
	io.Closer
	RawQuerier
	Configure(ctx context.Context, hclConfiguration string) error
}

DataStoreUnderTest is the surface the shared suite exercises. It embeds RawQuerier so the raw-SQL escape hatch is part of the compile-time contract: an implementation missing or mis-typing any RawQuerier method fails to build rather than panicking mid-run on a failed type assertion.

type RawQuerier

type RawQuerier interface {
	RawScan(dest any, query string) error
	RawExec(query string, args ...any) error
	DatabaseType() string
	// Rebind rewrites "?" placeholders to the dialect's positional form so the
	// suite does not reimplement the production placeholder-rewriting logic.
	Rebind(query string) string
}

RawQuerier is the escape hatch for tests needing raw SQL access without going through ORM models. Implementations back it with their own DB handle.

type Suite

type Suite struct {
	spiretest.Suite
	// contains filtered or unexported fields
}

Suite is the shared datastore conformance suite. It exercises a DataStoreUnderTest built via Config.NewDataStore.

func (*Suite) SetupSuite

func (s *Suite) SetupSuite()

func (*Suite) SetupTest

func (s *Suite) SetupTest()

func (*Suite) TearDownTest

func (s *Suite) TearDownTest()

func (*Suite) TestBundleCRUD

func (s *Suite) TestBundleCRUD()

func (*Suite) TestBundlePrune

func (s *Suite) TestBundlePrune()

func (*Suite) TestCAJournalWithoutJournalID added in v1.16.0

func (s *Suite) TestCAJournalWithoutJournalID()

func (*Suite) TestCountAttestedNodes

func (s *Suite) TestCountAttestedNodes()

func (*Suite) TestCountBundles

func (s *Suite) TestCountBundles()

func (*Suite) TestCountRegistrationEntries

func (s *Suite) TestCountRegistrationEntries()

func (*Suite) TestCreateAndFetchJoinToken

func (s *Suite) TestCreateAndFetchJoinToken()

func (*Suite) TestCreateAttestedNode

func (s *Suite) TestCreateAttestedNode()

func (*Suite) TestCreateFederationRelationship

func (s *Suite) TestCreateFederationRelationship()

func (*Suite) TestCreateInvalidRegistrationEntry

func (s *Suite) TestCreateInvalidRegistrationEntry()

func (*Suite) TestCreateJoinToken

func (s *Suite) TestCreateJoinToken()

func (*Suite) TestCreateOrReturnRegistrationEntry

func (s *Suite) TestCreateOrReturnRegistrationEntry()

func (*Suite) TestCreateRegistrationEntry

func (s *Suite) TestCreateRegistrationEntry()

func (*Suite) TestDeleteAttestedNode

func (s *Suite) TestDeleteAttestedNode()

func (*Suite) TestDeleteAttestedNodeCascadesEntries

func (s *Suite) TestDeleteAttestedNodeCascadesEntries()

func (*Suite) TestDeleteAttestedNodeJoinTokenPreservesNonAliasChildEntries

func (s *Suite) TestDeleteAttestedNodeJoinTokenPreservesNonAliasChildEntries()

func (*Suite) TestDeleteAttestedNodeNonJoinTokenDoesNotCascade

func (s *Suite) TestDeleteAttestedNodeNonJoinTokenDoesNotCascade()

func (*Suite) TestDeleteBundleDeleteRegistrationEntries

func (s *Suite) TestDeleteBundleDeleteRegistrationEntries()

func (*Suite) TestDeleteBundleDissociateRegistrationEntries

func (s *Suite) TestDeleteBundleDissociateRegistrationEntries()

func (*Suite) TestDeleteBundleRestrictedByRegistrationEntries

func (s *Suite) TestDeleteBundleRestrictedByRegistrationEntries()

func (*Suite) TestDeleteFederationRelationship

func (s *Suite) TestDeleteFederationRelationship()

func (*Suite) TestDeleteJoinToken

func (s *Suite) TestDeleteJoinToken()

func (*Suite) TestDeleteRegistrationEntry

func (s *Suite) TestDeleteRegistrationEntry()

func (*Suite) TestFetchAttestedNodeMissing

func (s *Suite) TestFetchAttestedNodeMissing()

func (*Suite) TestFetchCAJournal

func (s *Suite) TestFetchCAJournal()

func (*Suite) TestFetchFederationRelationship

func (s *Suite) TestFetchFederationRelationship()

func (*Suite) TestFetchInexistentRegistrationEntry

func (s *Suite) TestFetchInexistentRegistrationEntry()

func (*Suite) TestFetchRegistrationEntries

func (s *Suite) TestFetchRegistrationEntries()

func (*Suite) TestFetchRegistrationEntriesWithOptionalFields added in v1.16.0

func (s *Suite) TestFetchRegistrationEntriesWithOptionalFields()

func (*Suite) TestInvalidAWSConfiguration

func (s *Suite) TestInvalidAWSConfiguration()

func (*Suite) TestInvalidAzureConfiguration added in v1.16.0

func (s *Suite) TestInvalidAzureConfiguration()

func (*Suite) TestInvalidMySQLConfiguration

func (s *Suite) TestInvalidMySQLConfiguration()

func (*Suite) TestInvalidPluginConfiguration

func (s *Suite) TestInvalidPluginConfiguration()

func (*Suite) TestListAttestedNodeEvents

func (s *Suite) TestListAttestedNodeEvents()

func (*Suite) TestListAttestedNodes

func (s *Suite) TestListAttestedNodes()

func (*Suite) TestListBundlesWithPagination

func (s *Suite) TestListBundlesWithPagination()

func (*Suite) TestListEntriesByFederatesWithExact

func (s *Suite) TestListEntriesByFederatesWithExact()

func (*Suite) TestListEntriesByFederatesWithMatchAny

func (s *Suite) TestListEntriesByFederatesWithMatchAny()

func (*Suite) TestListEntriesByFederatesWithSubset

func (s *Suite) TestListEntriesByFederatesWithSubset()

func (*Suite) TestListEntriesByFederatesWithSuperset

func (s *Suite) TestListEntriesByFederatesWithSuperset()

func (*Suite) TestListEntriesBySelectorMatchAny

func (s *Suite) TestListEntriesBySelectorMatchAny()

func (*Suite) TestListEntriesBySelectorSubset

func (s *Suite) TestListEntriesBySelectorSubset()

func (*Suite) TestListFederationRelationships

func (s *Suite) TestListFederationRelationships()

func (*Suite) TestListNodeSelectors

func (s *Suite) TestListNodeSelectors()

func (*Suite) TestListNodeSelectorsGroupsBySpiffeID

func (s *Suite) TestListNodeSelectorsGroupsBySpiffeID()

func (*Suite) TestListParentIDEntries

func (s *Suite) TestListParentIDEntries()

func (*Suite) TestListRegistrationEntries

func (s *Suite) TestListRegistrationEntries()

func (*Suite) TestListRegistrationEntriesWhenCruftRowsExist

func (s *Suite) TestListRegistrationEntriesWhenCruftRowsExist()

func (*Suite) TestListRegistrationEntryEvents

func (s *Suite) TestListRegistrationEntryEvents()

func (*Suite) TestListSelectorEntries

func (s *Suite) TestListSelectorEntries()

func (*Suite) TestListSelectorEntriesSuperset

func (s *Suite) TestListSelectorEntriesSuperset()

func (*Suite) TestNodeSelectors

func (s *Suite) TestNodeSelectors()

func (*Suite) TestPristineDatabaseMigrationValues

func (s *Suite) TestPristineDatabaseMigrationValues()

func (*Suite) TestPruneAttestedExpiredNodes

func (s *Suite) TestPruneAttestedExpiredNodes()

func (*Suite) TestPruneAttestedExpiredNodesBatchSize

func (s *Suite) TestPruneAttestedExpiredNodesBatchSize()

func (*Suite) TestPruneAttestedExpiredNodesCascadesEntries

func (s *Suite) TestPruneAttestedExpiredNodesCascadesEntries()

func (*Suite) TestPruneAttestedNodeEvents

func (s *Suite) TestPruneAttestedNodeEvents()

func (*Suite) TestPruneCAJournal

func (s *Suite) TestPruneCAJournal()

func (*Suite) TestPruneCAJournalWithoutJournalID added in v1.16.0

func (s *Suite) TestPruneCAJournalWithoutJournalID()

func (*Suite) TestPruneJoinTokens

func (s *Suite) TestPruneJoinTokens()

func (*Suite) TestPruneRegistrationEntries

func (s *Suite) TestPruneRegistrationEntries()

func (*Suite) TestPruneRegistrationEntryEvents

func (s *Suite) TestPruneRegistrationEntryEvents()

func (*Suite) TestRace

func (s *Suite) TestRace()

func (*Suite) TestRegistrationEntriesFederatesWithAgainstMissingBundle

func (s *Suite) TestRegistrationEntriesFederatesWithAgainstMissingBundle()

func (*Suite) TestRegistrationEntriesFederatesWithDuplicateTrustDomain added in v1.16.0

func (s *Suite) TestRegistrationEntriesFederatesWithDuplicateTrustDomain()

func (*Suite) TestRegistrationEntriesFederatesWithMultipleBundles added in v1.16.0

func (s *Suite) TestRegistrationEntriesFederatesWithMultipleBundles()

func (*Suite) TestRegistrationEntriesFederatesWithSuccess

func (s *Suite) TestRegistrationEntriesFederatesWithSuccess()

func (*Suite) TestRegistrationEntriesWithoutFederatesWith added in v1.16.0

func (s *Suite) TestRegistrationEntriesWithoutFederatesWith()

func (*Suite) TestRevokeJWTKey

func (s *Suite) TestRevokeJWTKey()

func (*Suite) TestRevokeX509CA

func (s *Suite) TestRevokeX509CA()

func (*Suite) TestSetBundle

func (s *Suite) TestSetBundle()

func (*Suite) TestSetCAJournal

func (s *Suite) TestSetCAJournal()

func (*Suite) TestSetCAJournalUpdatesInPlace added in v1.16.0

func (s *Suite) TestSetCAJournalUpdatesInPlace()

func (*Suite) TestSetNodeSelectorsUnderLoad

func (s *Suite) TestSetNodeSelectorsUnderLoad()

func (*Suite) TestTaintJWTKey

func (s *Suite) TestTaintJWTKey()

func (*Suite) TestTaintX509CA

func (s *Suite) TestTaintX509CA()

func (*Suite) TestUpdateAttestedNode

func (s *Suite) TestUpdateAttestedNode()

func (*Suite) TestUpdateFederationRelationship

func (s *Suite) TestUpdateFederationRelationship()

func (*Suite) TestUpdateRegistrationEntry

func (s *Suite) TestUpdateRegistrationEntry()

func (*Suite) TestUpdateRegistrationEntryWithMask

func (s *Suite) TestUpdateRegistrationEntryWithMask()

func (*Suite) TestUpdateRegistrationEntryWithStoreSvid

func (s *Suite) TestUpdateRegistrationEntryWithStoreSvid()

Jump to

Keyboard shortcuts

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