Documentation
¶
Index ¶
- Constants
- Variables
- type IdentityManagementOption
- type KeyRecord
- type Registry
- func (r *Registry) CertificateIssuer() (certificateissuer.CertificateIssuer, error)
- func (r *Registry) Close() error
- func (r *Registry) IdentityManagement() (identitymanagement.IdentityManagement, error)
- func (r *Registry) KeyManagementList() ([]keymanagement.KeyManagement, error)
- func (r *Registry) KeyManagements() (map[string]keymanagement.KeyManagement, error)
- func (r *Registry) KeystoreManagementList() ([]keystoremanagement.KeystoreManagement, error)
- func (r *Registry) KeystoreManagements() (map[string]keystoremanagement.KeystoreManagement, error)
- func (r *Registry) Notification() (notification.Notification, error)
- func (r *Registry) SystemInformation() (systeminformation.SystemInformation, error)
- type RegistryOption
- func WithCertificateIssuer(svc certificateissuer.CertificateIssuer) RegistryOption
- func WithIdentityManagement(svc identitymanagement.IdentityManagement) RegistryOption
- func WithKeyManagement(key string, svc keymanagement.KeyManagement) RegistryOption
- func WithKeystoreManagement(key string, svc keystoremanagement.KeystoreManagement) RegistryOption
- func WithNoSystemInformation() RegistryOption
- func WithNotification(svc notification.Notification) RegistryOption
- func WithSystemInformation(svc systeminformation.SystemInformation) RegistryOption
- type TestCertificateIssuer
- type TestIdentityManagement
- func (s *TestIdentityManagement) DeleteGroup(name string)
- func (s *TestIdentityManagement) GetGroup(_ context.Context, req *identitymanagement.GetGroupRequest) (*identitymanagement.GetGroupResponse, error)
- func (s *TestIdentityManagement) GetUser(_ context.Context, req *identitymanagement.GetUserRequest) (*identitymanagement.GetUserResponse, error)
- func (s *TestIdentityManagement) ListGroupUsers(_ context.Context, req *identitymanagement.ListGroupUsersRequest) (*identitymanagement.ListGroupUsersResponse, error)
- func (s *TestIdentityManagement) ListGroups(_ context.Context, _ *identitymanagement.ListGroupsRequest) (*identitymanagement.ListGroupsResponse, error)
- func (s *TestIdentityManagement) ListUserGroups(_ context.Context, _ *identitymanagement.ListUserGroupsRequest) (*identitymanagement.ListUserGroupsResponse, error)
- func (s *TestIdentityManagement) PutGroup(name, scimID string)
- func (s *TestIdentityManagement) PutGroupMembers(scimID string, userIDs []string)
- func (s *TestIdentityManagement) PutUser(user identitymanagement.User)
- func (s *TestIdentityManagement) ServiceInfo() api.Info
- type TestKeyManagement
- func (s *TestKeyManagement) CreateKey(_ context.Context, req *keymanagement.CreateKeyRequest) (*keymanagement.CreateKeyResponse, error)
- func (s *TestKeyManagement) DeleteKey(_ context.Context, req *keymanagement.DeleteKeyRequest) (*keymanagement.DeleteKeyResponse, error)
- func (s *TestKeyManagement) DisableKey(_ context.Context, req *keymanagement.DisableKeyRequest) (*keymanagement.DisableKeyResponse, error)
- func (s *TestKeyManagement) EnableKey(_ context.Context, req *keymanagement.EnableKeyRequest) (*keymanagement.EnableKeyResponse, error)
- func (s *TestKeyManagement) ExtractKeyRegion(_ context.Context, _ *keymanagement.ExtractKeyRegionRequest) (*keymanagement.ExtractKeyRegionResponse, error)
- func (s *TestKeyManagement) GetImportParameters(_ context.Context, req *keymanagement.GetImportParametersRequest) (*keymanagement.GetImportParametersResponse, error)
- func (s *TestKeyManagement) GetKey(_ context.Context, req *keymanagement.GetKeyRequest) (*keymanagement.GetKeyResponse, error)
- func (s *TestKeyManagement) HandleKeyRecord(keyID, status string)
- func (s *TestKeyManagement) ImportKeyMaterial(_ context.Context, req *keymanagement.ImportKeyMaterialRequest) (*keymanagement.ImportKeyMaterialResponse, error)
- func (s *TestKeyManagement) ServiceInfo() api.Info
- func (s *TestKeyManagement) SetKeyVersionInfo(keyID, versionID, rotationTime string)
- func (s *TestKeyManagement) TransformCryptoAccessData(_ context.Context, req *keymanagement.TransformCryptoAccessDataRequest) (*keymanagement.TransformCryptoAccessDataResponse, error)
- func (s *TestKeyManagement) ValidateKey(_ context.Context, _ *keymanagement.ValidateKeyRequest) (*keymanagement.ValidateKeyResponse, error)
- func (s *TestKeyManagement) ValidateKeyAccessData(_ context.Context, req *keymanagement.ValidateKeyAccessDataRequest) (*keymanagement.ValidateKeyAccessDataResponse, error)
- type TestKeystoreManagement
- func (s *TestKeystoreManagement) CreateKeystore(_ context.Context, _ *keystoremanagement.CreateKeystoreRequest) (*keystoremanagement.CreateKeystoreResponse, error)
- func (s *TestKeystoreManagement) DeleteKeystore(_ context.Context, _ *keystoremanagement.DeleteKeystoreRequest) (*keystoremanagement.DeleteKeystoreResponse, error)
- func (s *TestKeystoreManagement) GrantTrust(_ context.Context, req *keystoremanagement.GrantTrustRequest) (*keystoremanagement.GrantTrustResponse, error)
- func (s *TestKeystoreManagement) RemoveTrust(_ context.Context, _ *keystoremanagement.RemoveTrustRequest) (*keystoremanagement.RemoveTrustResponse, error)
- func (s *TestKeystoreManagement) ServiceInfo() api.Info
- type TestNotification
- type TestSystemInformation
Constants ¶
const Name = "TEST"
Variables ¶
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, } )
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.
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.
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.
var InitialKeys = map[string]KeyRecord{ "mock-key/11111111": {Status: EnabledKeyStatus}, "mock-key/22222222": {Status: EnabledKeyStatus}, "mock-key/33333333": {Status: EnabledKeyStatus}, }
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
func WithUsers(users []identitymanagement.User) IdentityManagementOption
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) 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 (s *TestCertificateIssuer) IssueCertificate( _ context.Context, _ *certificateissuer.IssueCertificateRequest, ) (*certificateissuer.IssueCertificateResponse, error)
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 (s *TestIdentityManagement) GetGroup( _ context.Context, req *identitymanagement.GetGroupRequest, ) (*identitymanagement.GetGroupResponse, error)
func (*TestIdentityManagement) GetUser ¶ added in v0.9.0
func (s *TestIdentityManagement) GetUser( _ context.Context, req *identitymanagement.GetUserRequest, ) (*identitymanagement.GetUserResponse, error)
func (*TestIdentityManagement) ListGroupUsers ¶ added in v0.9.0
func (s *TestIdentityManagement) ListGroupUsers( _ context.Context, req *identitymanagement.ListGroupUsersRequest, ) (*identitymanagement.ListGroupUsersResponse, error)
func (*TestIdentityManagement) ListGroups ¶ added in v0.9.0
func (s *TestIdentityManagement) ListGroups( _ context.Context, _ *identitymanagement.ListGroupsRequest, ) (*identitymanagement.ListGroupsResponse, error)
func (*TestIdentityManagement) ListUserGroups ¶ added in v0.9.0
func (s *TestIdentityManagement) ListUserGroups( _ context.Context, _ *identitymanagement.ListUserGroupsRequest, ) (*identitymanagement.ListUserGroupsResponse, error)
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
func (s *TestIdentityManagement) PutUser(user identitymanagement.User)
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
func NewTestKeyManagement ¶ added in v0.9.0
func NewTestKeyManagement(isHYOK, isDefault bool) *TestKeyManagement
func (*TestKeyManagement) CreateKey ¶ added in v0.9.0
func (s *TestKeyManagement) CreateKey( _ context.Context, req *keymanagement.CreateKeyRequest, ) (*keymanagement.CreateKeyResponse, error)
func (*TestKeyManagement) DeleteKey ¶ added in v0.9.0
func (s *TestKeyManagement) DeleteKey( _ context.Context, req *keymanagement.DeleteKeyRequest, ) (*keymanagement.DeleteKeyResponse, error)
func (*TestKeyManagement) DisableKey ¶ added in v0.9.0
func (s *TestKeyManagement) DisableKey( _ context.Context, req *keymanagement.DisableKeyRequest, ) (*keymanagement.DisableKeyResponse, error)
func (*TestKeyManagement) EnableKey ¶ added in v0.9.0
func (s *TestKeyManagement) EnableKey( _ context.Context, req *keymanagement.EnableKeyRequest, ) (*keymanagement.EnableKeyResponse, error)
func (*TestKeyManagement) ExtractKeyRegion ¶ added in v0.9.0
func (s *TestKeyManagement) ExtractKeyRegion( _ context.Context, _ *keymanagement.ExtractKeyRegionRequest, ) (*keymanagement.ExtractKeyRegionResponse, error)
func (*TestKeyManagement) GetImportParameters ¶ added in v0.9.0
func (s *TestKeyManagement) GetImportParameters( _ context.Context, req *keymanagement.GetImportParametersRequest, ) (*keymanagement.GetImportParametersResponse, error)
func (*TestKeyManagement) GetKey ¶ added in v0.9.0
func (s *TestKeyManagement) GetKey( _ context.Context, req *keymanagement.GetKeyRequest, ) (*keymanagement.GetKeyResponse, error)
func (*TestKeyManagement) HandleKeyRecord ¶ added in v0.9.0
func (s *TestKeyManagement) HandleKeyRecord(keyID, status string)
func (*TestKeyManagement) ImportKeyMaterial ¶ added in v0.9.0
func (s *TestKeyManagement) ImportKeyMaterial( _ context.Context, req *keymanagement.ImportKeyMaterialRequest, ) (*keymanagement.ImportKeyMaterialResponse, error)
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 (s *TestKeyManagement) TransformCryptoAccessData( _ context.Context, req *keymanagement.TransformCryptoAccessDataRequest, ) (*keymanagement.TransformCryptoAccessDataResponse, error)
func (*TestKeyManagement) ValidateKey ¶ added in v0.9.0
func (s *TestKeyManagement) ValidateKey( _ context.Context, _ *keymanagement.ValidateKeyRequest, ) (*keymanagement.ValidateKeyResponse, error)
func (*TestKeyManagement) ValidateKeyAccessData ¶ added in v0.9.0
func (s *TestKeyManagement) ValidateKeyAccessData( _ context.Context, req *keymanagement.ValidateKeyAccessDataRequest, ) (*keymanagement.ValidateKeyAccessDataResponse, error)
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 (s *TestKeystoreManagement) CreateKeystore( _ context.Context, _ *keystoremanagement.CreateKeystoreRequest, ) (*keystoremanagement.CreateKeystoreResponse, error)
func (*TestKeystoreManagement) DeleteKeystore ¶ added in v0.9.0
func (s *TestKeystoreManagement) DeleteKeystore( _ context.Context, _ *keystoremanagement.DeleteKeystoreRequest, ) (*keystoremanagement.DeleteKeystoreResponse, error)
func (*TestKeystoreManagement) GrantTrust ¶ added in v0.9.0
func (s *TestKeystoreManagement) GrantTrust( _ context.Context, req *keystoremanagement.GrantTrustRequest, ) (*keystoremanagement.GrantTrustResponse, error)
func (*TestKeystoreManagement) RemoveTrust ¶ added in v0.9.0
func (s *TestKeystoreManagement) RemoveTrust( _ context.Context, _ *keystoremanagement.RemoveTrustRequest, ) (*keystoremanagement.RemoveTrustResponse, error)
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 (s *TestNotification) Send( _ context.Context, _ *notification.SendNotificationRequest, ) (*notification.SendNotificationResponse, error)
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 (s *TestSystemInformation) GetSystemInfo( _ context.Context, _ *systeminformation.GetSystemInfoRequest, ) (*systeminformation.GetSystemInfoResponse, error)
func (*TestSystemInformation) ServiceInfo ¶ added in v0.9.0
func (s *TestSystemInformation) ServiceInfo() api.Info