testplugins

package
v0.9.0 Latest Latest
Warning

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

Go to latest
Published: Aug 18, 2026 License: Apache-2.0 Imports: 24 Imported by: 0

Documentation

Index

Constants

View Source
const Name = "TEST"

Variables

View Source
var (
	EnabledKeyStatus         = "ENABLED"
	DisabledKeyStatus        = "DISABLED"
	PendingImportKeyStatus   = "PENDING_IMPORT"
	PendingDeletionKeyStatus = "PENDING_DELETION"

	ErrKeyIDIsNil          = errors.New("keyId is nil")
	ErrTransformAccessData = errors.New("failed to transform access data")

	// ValidManagementAccessData is the management access data the test plugin accepts
	// in ValidateKeyAccessData. It mirrors the fields returned by CreateKeystore and
	// used throughout HYOK key tests.
	ValidManagementAccessData = map[string]bool{
		"AccountID": true,
		"UserID":    true,
	}
)
View Source
var IdentityManagementGroupMembership = map[string][]string{
	"SCIM-Group-ID-001": {
		"00000000-0000-0000-0000-100000000001",
		"00000000-0000-0000-0000-100000000002",
	},
	"SCIM-Group-ID-002": {
		"00000000-0000-0000-0000-100000000003",
		"00000000-0000-0000-0000-100000000004",
	},
}

IdentityManagementGroupMembership is the default global SCIM group ID→member user ID list mapping used by NewTestIdentityManagement.

View Source
var IdentityManagementGroups = map[string]string{
	"KMS_001": "SCIM-Group-ID-001",
	"KMS_002": "SCIM-Group-ID-002",
}

IdentityManagementGroups is the default global group name→SCIM-ID mapping used by NewTestIdentityManagement.

View Source
var IdentityManagementUsers = map[string]identitymanagement.User{
	"00000000-0000-0000-0000-100000000001": {
		ID:    "00000000-0000-0000-0000-100000000001",
		Name:  "user1@example.com",
		Email: "user1@example.com",
	},
	"00000000-0000-0000-0000-100000000002": {
		ID:    "00000000-0000-0000-0000-100000000002",
		Name:  "user2@example.com",
		Email: "user2@example.com",
	},
	"00000000-0000-0000-0000-100000000003": {
		ID:    "00000000-0000-0000-0000-100000000003",
		Name:  "user3@example.com",
		Email: "user3@example.com",
	},
	"00000000-0000-0000-0000-100000000004": {
		ID:    "00000000-0000-0000-0000-100000000004",
		Name:  "user4@example.com",
		Email: "user4@example.com",
	},
}

IdentityManagementUsers is the default global user ID→User mapping used by NewTestIdentityManagement.

View Source
var InitialKeys = map[string]KeyRecord{
	"mock-key/11111111": {Status: EnabledKeyStatus},
	"mock-key/22222222": {Status: EnabledKeyStatus},
	"mock-key/33333333": {Status: EnabledKeyStatus},
}
View Source
var ValidKeystoreAccountInfo = map[string]string{
	"AccountID": "111122223333",
	"UserID":    "123456789012",
}

Functions

This section is empty.

Types

type IdentityManagementOption added in v0.9.0

type IdentityManagementOption func(*TestIdentityManagement)

IdentityManagementOption configures a TestIdentityManagement instance.

func WithGroupMembership added in v0.9.0

func WithGroupMembership(membership map[string][]string) IdentityManagementOption

func WithGroups added in v0.9.0

func WithGroups(groups map[string]string) IdentityManagementOption

func WithUsers added in v0.9.0

type KeyRecord

type KeyRecord struct {
	KeyID        string `gorm:"primaryKey;column:key_id"`
	Status       string
	VersionID    string
	RotationTime string // RFC3339 format
}

type Registry added in v0.9.0

type Registry struct {
	// contains filtered or unexported fields
}

Registry is a test implementation of serviceapi.Registry that holds native Go service implementations, bypassing the plugin-sdk catalog and gRPC layer.

func NewRegistry added in v0.9.0

func NewRegistry(opts ...RegistryOption) *Registry

NewRegistry creates a Registry prepopulated with default test service implementations. Individual services can be overridden via RegistryOption.

func (*Registry) CertificateIssuer added in v0.9.0

func (r *Registry) CertificateIssuer() (certificateissuer.CertificateIssuer, error)

func (*Registry) Close added in v0.9.0

func (r *Registry) Close() error

func (*Registry) IdentityManagement added in v0.9.0

func (r *Registry) IdentityManagement() (identitymanagement.IdentityManagement, error)

func (*Registry) KeyManagementList added in v0.9.0

func (r *Registry) KeyManagementList() ([]keymanagement.KeyManagement, error)

func (*Registry) KeyManagements added in v0.9.0

func (r *Registry) KeyManagements() (map[string]keymanagement.KeyManagement, error)

func (*Registry) KeystoreManagementList added in v0.9.0

func (r *Registry) KeystoreManagementList() ([]keystoremanagement.KeystoreManagement, error)

func (*Registry) KeystoreManagements added in v0.9.0

func (r *Registry) KeystoreManagements() (map[string]keystoremanagement.KeystoreManagement, error)

func (*Registry) Notification added in v0.9.0

func (r *Registry) Notification() (notification.Notification, error)

func (*Registry) SystemInformation added in v0.9.0

func (r *Registry) SystemInformation() (systeminformation.SystemInformation, error)

type RegistryOption added in v0.9.0

type RegistryOption func(*Registry)

RegistryOption configures a Registry.

func WithCertificateIssuer added in v0.9.0

func WithCertificateIssuer(svc certificateissuer.CertificateIssuer) RegistryOption

WithCertificateIssuer sets the CertificateIssuer service.

func WithIdentityManagement added in v0.9.0

func WithIdentityManagement(svc identitymanagement.IdentityManagement) RegistryOption

WithIdentityManagement sets the IdentityManagement service.

func WithKeyManagement added in v0.9.0

func WithKeyManagement(key string, svc keymanagement.KeyManagement) RegistryOption

WithKeyManagement adds a KeyManagement service under the given key.

func WithKeystoreManagement added in v0.9.0

func WithKeystoreManagement(key string, svc keystoremanagement.KeystoreManagement) RegistryOption

WithKeystoreManagement adds a KeystoreManagement service under the given key.

func WithNoSystemInformation added in v0.9.0

func WithNoSystemInformation() RegistryOption

WithNoSystemInformation clears the SystemInformation service so that SystemInformation() returns system_information.ErrNotConfigured.

func WithNotification added in v0.9.0

func WithNotification(svc notification.Notification) RegistryOption

WithNotification sets the Notification service.

func WithSystemInformation added in v0.9.0

func WithSystemInformation(svc systeminformation.SystemInformation) RegistryOption

WithSystemInformation sets the SystemInformation service.

type TestCertificateIssuer added in v0.9.0

type TestCertificateIssuer struct{}

func NewTestCertificateIssuer added in v0.9.0

func NewTestCertificateIssuer() *TestCertificateIssuer

func (*TestCertificateIssuer) IssueCertificate added in v0.9.0

func (*TestCertificateIssuer) ServiceInfo added in v0.9.0

func (s *TestCertificateIssuer) ServiceInfo() api.Info

type TestIdentityManagement added in v0.9.0

type TestIdentityManagement struct {
	// contains filtered or unexported fields
}

TestIdentityManagement is a native Go test double for the identity management plugin. Each instance holds its own maps so tests remain isolated.

func NewTestIdentityManagement added in v0.9.0

func NewTestIdentityManagement(opts ...IdentityManagementOption) *TestIdentityManagement

NewTestIdentityManagement returns a new instance pre-populated from the global default fixtures. Pass IdentityManagementOption to override with custom data.

func (*TestIdentityManagement) DeleteGroup added in v0.9.0

func (s *TestIdentityManagement) DeleteGroup(name string)

DeleteGroup removes a group name→SCIM-ID mapping, simulating a SCIM lookup failure.

func (*TestIdentityManagement) GetGroup added in v0.9.0

func (*TestIdentityManagement) GetUser added in v0.9.0

func (*TestIdentityManagement) ListGroupUsers added in v0.9.0

func (*TestIdentityManagement) ListGroups added in v0.9.0

func (*TestIdentityManagement) ListUserGroups added in v0.9.0

func (*TestIdentityManagement) PutGroup added in v0.9.0

func (s *TestIdentityManagement) PutGroup(name, scimID string)

PutGroup registers a group name→SCIM-ID mapping.

func (*TestIdentityManagement) PutGroupMembers added in v0.9.0

func (s *TestIdentityManagement) PutGroupMembers(scimID string, userIDs []string)

PutGroupMembers replaces the member list for the given SCIM group ID. Panics if the SCIM group ID is not registered via PutGroup or any user ID is not registered via PutUser.

func (*TestIdentityManagement) PutUser added in v0.9.0

PutUser registers a user fixture returned by GetUser. The user is keyed by user.ID. If Name is empty it defaults to user.ID + "@example.com". If Email is empty it defaults to Name.

func (*TestIdentityManagement) ServiceInfo added in v0.9.0

func (s *TestIdentityManagement) ServiceInfo() api.Info

type TestKeyManagement added in v0.9.0

type TestKeyManagement struct {
	KeyStore  map[string]*KeyRecord
	IsHYOK    bool
	IsDefault bool
}

func NewTestKeyManagement added in v0.9.0

func NewTestKeyManagement(isHYOK, isDefault bool) *TestKeyManagement

func (*TestKeyManagement) CreateKey added in v0.9.0

func (*TestKeyManagement) DeleteKey added in v0.9.0

func (*TestKeyManagement) DisableKey added in v0.9.0

func (*TestKeyManagement) EnableKey added in v0.9.0

func (*TestKeyManagement) ExtractKeyRegion added in v0.9.0

func (*TestKeyManagement) GetImportParameters added in v0.9.0

func (*TestKeyManagement) GetKey added in v0.9.0

func (*TestKeyManagement) HandleKeyRecord added in v0.9.0

func (s *TestKeyManagement) HandleKeyRecord(keyID, status string)

func (*TestKeyManagement) ImportKeyMaterial added in v0.9.0

func (*TestKeyManagement) ServiceInfo added in v0.9.0

func (s *TestKeyManagement) ServiceInfo() api.Info

func (*TestKeyManagement) SetKeyVersionInfo added in v0.9.0

func (s *TestKeyManagement) SetKeyVersionInfo(keyID, versionID, rotationTime string)

SetKeyVersionInfo sets version and rotation metadata for a key, mirroring the KeystoreOperator helper used in tests.

func (*TestKeyManagement) TransformCryptoAccessData added in v0.9.0

func (*TestKeyManagement) ValidateKey added in v0.9.0

func (*TestKeyManagement) ValidateKeyAccessData added in v0.9.0

type TestKeystoreManagement added in v0.9.0

type TestKeystoreManagement struct{}

func NewTestKeystoreManagement added in v0.9.0

func NewTestKeystoreManagement() *TestKeystoreManagement

func (*TestKeystoreManagement) CreateKeystore added in v0.9.0

func (*TestKeystoreManagement) DeleteKeystore added in v0.9.0

func (*TestKeystoreManagement) GrantTrust added in v0.9.0

func (*TestKeystoreManagement) RemoveTrust added in v0.9.0

func (*TestKeystoreManagement) ServiceInfo added in v0.9.0

func (s *TestKeystoreManagement) ServiceInfo() api.Info

type TestNotification added in v0.9.0

type TestNotification struct{}

func NewTestNotification added in v0.9.0

func NewTestNotification() *TestNotification

func (*TestNotification) Send added in v0.9.0

func (*TestNotification) ServiceInfo added in v0.9.0

func (s *TestNotification) ServiceInfo() api.Info

type TestSystemInformation added in v0.9.0

type TestSystemInformation struct{}

func NewTestSystemInformation added in v0.9.0

func NewTestSystemInformation() *TestSystemInformation

func (*TestSystemInformation) GetSystemInfo added in v0.9.0

func (*TestSystemInformation) ServiceInfo added in v0.9.0

func (s *TestSystemInformation) ServiceInfo() api.Info

Jump to

Keyboard shortcuts

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