Documentation
¶
Index ¶
- func Run(t *testing.T, cfg Config)
- type Config
- type DataStoreUnderTest
- type RawQuerier
- type Suite
- func (s *Suite) SetupSuite()
- func (s *Suite) SetupTest()
- func (s *Suite) TearDownTest()
- func (s *Suite) TestBundleCRUD()
- func (s *Suite) TestBundlePrune()
- func (s *Suite) TestCAJournalWithoutJournalID()
- func (s *Suite) TestCountAttestedNodes()
- func (s *Suite) TestCountBundles()
- func (s *Suite) TestCountRegistrationEntries()
- func (s *Suite) TestCreateAndFetchJoinToken()
- func (s *Suite) TestCreateAttestedNode()
- func (s *Suite) TestCreateFederationRelationship()
- func (s *Suite) TestCreateInvalidRegistrationEntry()
- func (s *Suite) TestCreateJoinToken()
- func (s *Suite) TestCreateOrReturnRegistrationEntry()
- func (s *Suite) TestCreateRegistrationEntry()
- func (s *Suite) TestDeleteAttestedNode()
- func (s *Suite) TestDeleteAttestedNodeCascadesEntries()
- func (s *Suite) TestDeleteAttestedNodeJoinTokenPreservesNonAliasChildEntries()
- func (s *Suite) TestDeleteAttestedNodeNonJoinTokenDoesNotCascade()
- func (s *Suite) TestDeleteBundleDeleteRegistrationEntries()
- func (s *Suite) TestDeleteBundleDissociateRegistrationEntries()
- func (s *Suite) TestDeleteBundleRestrictedByRegistrationEntries()
- func (s *Suite) TestDeleteFederationRelationship()
- func (s *Suite) TestDeleteJoinToken()
- func (s *Suite) TestDeleteRegistrationEntry()
- func (s *Suite) TestFetchAttestedNodeMissing()
- func (s *Suite) TestFetchCAJournal()
- func (s *Suite) TestFetchFederationRelationship()
- func (s *Suite) TestFetchInexistentRegistrationEntry()
- func (s *Suite) TestFetchRegistrationEntries()
- func (s *Suite) TestFetchRegistrationEntriesWithOptionalFields()
- func (s *Suite) TestInvalidAWSConfiguration()
- func (s *Suite) TestInvalidAzureConfiguration()
- func (s *Suite) TestInvalidMySQLConfiguration()
- func (s *Suite) TestInvalidPluginConfiguration()
- func (s *Suite) TestListAttestedNodeEvents()
- func (s *Suite) TestListAttestedNodes()
- func (s *Suite) TestListBundlesWithPagination()
- func (s *Suite) TestListEntriesByFederatesWithExact()
- func (s *Suite) TestListEntriesByFederatesWithMatchAny()
- func (s *Suite) TestListEntriesByFederatesWithSubset()
- func (s *Suite) TestListEntriesByFederatesWithSuperset()
- func (s *Suite) TestListEntriesBySelectorMatchAny()
- func (s *Suite) TestListEntriesBySelectorSubset()
- func (s *Suite) TestListFederationRelationships()
- func (s *Suite) TestListNodeSelectors()
- func (s *Suite) TestListNodeSelectorsGroupsBySpiffeID()
- func (s *Suite) TestListParentIDEntries()
- func (s *Suite) TestListRegistrationEntries()
- func (s *Suite) TestListRegistrationEntriesWhenCruftRowsExist()
- func (s *Suite) TestListRegistrationEntryEvents()
- func (s *Suite) TestListSelectorEntries()
- func (s *Suite) TestListSelectorEntriesSuperset()
- func (s *Suite) TestNodeSelectors()
- func (s *Suite) TestPristineDatabaseMigrationValues()
- func (s *Suite) TestPruneAttestedExpiredNodes()
- func (s *Suite) TestPruneAttestedExpiredNodesBatchSize()
- func (s *Suite) TestPruneAttestedExpiredNodesCascadesEntries()
- func (s *Suite) TestPruneAttestedNodeEvents()
- func (s *Suite) TestPruneCAJournal()
- func (s *Suite) TestPruneCAJournalWithoutJournalID()
- func (s *Suite) TestPruneJoinTokens()
- func (s *Suite) TestPruneRegistrationEntries()
- func (s *Suite) TestPruneRegistrationEntryEvents()
- func (s *Suite) TestRace()
- func (s *Suite) TestRegistrationEntriesFederatesWithAgainstMissingBundle()
- func (s *Suite) TestRegistrationEntriesFederatesWithDuplicateTrustDomain()
- func (s *Suite) TestRegistrationEntriesFederatesWithMultipleBundles()
- func (s *Suite) TestRegistrationEntriesFederatesWithSuccess()
- func (s *Suite) TestRegistrationEntriesWithoutFederatesWith()
- func (s *Suite) TestRevokeJWTKey()
- func (s *Suite) TestRevokeX509CA()
- func (s *Suite) TestSetBundle()
- func (s *Suite) TestSetCAJournal()
- func (s *Suite) TestSetCAJournalUpdatesInPlace()
- func (s *Suite) TestSetNodeSelectorsUnderLoad()
- func (s *Suite) TestTaintJWTKey()
- func (s *Suite) TestTaintX509CA()
- func (s *Suite) TestUpdateAttestedNode()
- func (s *Suite) TestUpdateFederationRelationship()
- func (s *Suite) TestUpdateRegistrationEntry()
- func (s *Suite) TestUpdateRegistrationEntryWithMask()
- func (s *Suite) TestUpdateRegistrationEntryWithStoreSvid()
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
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 ¶
Suite is the shared datastore conformance suite. It exercises a DataStoreUnderTest built via Config.NewDataStore.
func (*Suite) SetupSuite ¶
func (s *Suite) SetupSuite()
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) 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()
Click to show internal directories.
Click to hide internal directories.