Documentation
¶
Index ¶
- Variables
- func NewTestContext() context.Context
- func NewTestContextWithConnection(conn *types.Connection) context.Context
- func NewTestSession() *resource.Session
- type FilterableResourcer
- type FilterableSearchableResourcer
- func (fs *FilterableSearchableResourcer[ClientT]) FilterFields(ctx context.Context, connectionID string) ([]resource.FilterField, error)
- func (fs *FilterableSearchableResourcer[ClientT]) Search(ctx context.Context, client *ClientT, meta resource.ResourceMeta, query string, ...) (*resource.FindResult, error)
- type Option
- type RecordingSink
- func (s *RecordingSink) AddCount() int
- func (s *RecordingSink) DeleteCount() int
- func (s *RecordingSink) OnAdd(p resource.WatchAddPayload)
- func (s *RecordingSink) OnDelete(p resource.WatchDeletePayload)
- func (s *RecordingSink) OnStateChange(e resource.WatchStateEvent)
- func (s *RecordingSink) OnUpdate(p resource.WatchUpdatePayload)
- func (s *RecordingSink) Reset()
- func (s *RecordingSink) StateCount() int
- func (s *RecordingSink) UpdateCount() int
- func (s *RecordingSink) WaitForAdds(t *testing.T, count int, timeout time.Duration)
- func (s *RecordingSink) WaitForDeletes(t *testing.T, count int, timeout time.Duration)
- func (s *RecordingSink) WaitForState(t *testing.T, resourceKey string, state resource.WatchState, ...)
- func (s *RecordingSink) WaitForUpdates(t *testing.T, count int, timeout time.Duration)
- type RefreshableConnectionProvider
- type SearchableResourcer
- type StubConnectionProvider
- func (s *StubConnectionProvider[ClientT]) CheckConnection(ctx context.Context, conn *types.Connection, client *ClientT) (types.ConnectionStatus, error)
- func (s *StubConnectionProvider[ClientT]) CreateClient(ctx context.Context) (*ClientT, error)
- func (s *StubConnectionProvider[ClientT]) DestroyClient(ctx context.Context, client *ClientT) error
- func (s *StubConnectionProvider[ClientT]) GetNamespaces(ctx context.Context, client *ClientT) ([]string, error)
- func (s *StubConnectionProvider[ClientT]) LoadConnections(ctx context.Context) ([]types.Connection, error)
- type StubResourcer
- func (s *StubResourcer[ClientT]) Create(ctx context.Context, client *ClientT, meta resource.ResourceMeta, ...) (*resource.CreateResult, error)
- func (s *StubResourcer[ClientT]) Delete(ctx context.Context, client *ClientT, meta resource.ResourceMeta, ...) (*resource.DeleteResult, error)
- func (s *StubResourcer[ClientT]) Find(ctx context.Context, client *ClientT, meta resource.ResourceMeta, ...) (*resource.FindResult, error)
- func (s *StubResourcer[ClientT]) Get(ctx context.Context, client *ClientT, meta resource.ResourceMeta, ...) (*resource.GetResult, error)
- func (s *StubResourcer[ClientT]) List(ctx context.Context, client *ClientT, meta resource.ResourceMeta, ...) (*resource.ListResult, error)
- func (s *StubResourcer[ClientT]) Update(ctx context.Context, client *ClientT, meta resource.ResourceMeta, ...) (*resource.UpdateResult, error)
- type TestProvider
- func (p *TestProvider) CheckConnection(ctx context.Context, id string) (types.ConnectionStatus, error)
- func (p *TestProvider) Create(ctx context.Context, key string, input resource.CreateInput) (*resource.CreateResult, error)
- func (p *TestProvider) Delete(ctx context.Context, key string, input resource.DeleteInput) (*resource.DeleteResult, error)
- func (p *TestProvider) DeleteConnection(ctx context.Context, id string) error
- func (p *TestProvider) EnsureResourceWatch(ctx context.Context, connID string, key string) error
- func (p *TestProvider) ExecuteAction(ctx context.Context, key string, actionID string, input resource.ActionInput) (*resource.ActionResult, error)
- func (p *TestProvider) Find(ctx context.Context, key string, input resource.FindInput) (*resource.FindResult, error)
- func (p *TestProvider) Get(ctx context.Context, key string, input resource.GetInput) (*resource.GetResult, error)
- func (p *TestProvider) GetActions(ctx context.Context, key string) ([]resource.ActionDescriptor, error)
- func (p *TestProvider) GetConnection(ctx context.Context, id string) (types.Connection, error)
- func (p *TestProvider) GetConnectionNamespaces(ctx context.Context, id string) ([]string, error)
- func (p *TestProvider) GetEditorSchemas(ctx context.Context, connID string) ([]resource.EditorSchema, error)
- func (p *TestProvider) GetFilterFields(ctx context.Context, connID string, key string) ([]resource.FilterField, error)
- func (p *TestProvider) GetHealth(ctx context.Context, connID string, key string, data json.RawMessage) (*resource.ResourceHealth, error)
- func (p *TestProvider) GetRelationships(ctx context.Context, key string) ([]resource.RelationshipDescriptor, error)
- func (p *TestProvider) GetResourceCapabilities(ctx context.Context, key string) (*resource.ResourceCapabilities, error)
- func (p *TestProvider) GetResourceDefinition(ctx context.Context, id string) (resource.ResourceDefinition, error)
- func (p *TestProvider) GetResourceEvents(ctx context.Context, connID string, key string, id string, ns string, ...) ([]resource.ResourceEvent, error)
- func (p *TestProvider) GetResourceGroup(ctx context.Context, id string) (resource.ResourceGroup, error)
- func (p *TestProvider) GetResourceGroups(ctx context.Context, connID string) map[string]resource.ResourceGroup
- func (p *TestProvider) GetResourceSchema(ctx context.Context, connID string, key string) (json.RawMessage, error)
- func (p *TestProvider) GetResourceType(ctx context.Context, id string) (*resource.ResourceMeta, error)
- func (p *TestProvider) GetResourceTypes(ctx context.Context, connID string) map[string]resource.ResourceMeta
- func (p *TestProvider) GetWatchState(ctx context.Context, connID string) (*resource.WatchConnectionSummary, error)
- func (p *TestProvider) HasResourceType(ctx context.Context, id string) bool
- func (p *TestProvider) HasWatch(ctx context.Context, connID string) bool
- func (p *TestProvider) IsResourceWatchRunning(ctx context.Context, connID string, key string) (bool, error)
- func (p *TestProvider) List(ctx context.Context, key string, input resource.ListInput) (*resource.ListResult, error)
- func (p *TestProvider) ListConnections(ctx context.Context) ([]types.Connection, error)
- func (p *TestProvider) ListenForEvents(ctx context.Context, sink resource.WatchEventSink) error
- func (p *TestProvider) LoadConnections(ctx context.Context) ([]types.Connection, error)
- func (p *TestProvider) ResolveRelationships(ctx context.Context, connID string, key string, id string, ns string) ([]resource.ResolvedRelationship, error)
- func (p *TestProvider) RestartResourceWatch(ctx context.Context, connID string, key string) error
- func (p *TestProvider) StartConnection(ctx context.Context, id string) (types.ConnectionStatus, error)
- func (p *TestProvider) StartConnectionWatch(ctx context.Context, connID string) error
- func (p *TestProvider) StopConnection(ctx context.Context, id string) (types.Connection, error)
- func (p *TestProvider) StopConnectionWatch(ctx context.Context, connID string) error
- func (p *TestProvider) StopResourceWatch(ctx context.Context, connID string, key string) error
- func (p *TestProvider) StreamAction(ctx context.Context, key string, actionID string, input resource.ActionInput, ...) error
- func (p *TestProvider) Update(ctx context.Context, key string, input resource.UpdateInput) (*resource.UpdateResult, error)
- func (p *TestProvider) UpdateConnection(ctx context.Context, conn types.Connection) (types.Connection, error)
- func (p *TestProvider) WatchConnections(ctx context.Context, stream chan<- []types.Connection) error
- type WatchableResourcer
- type WatchingConnectionProvider
Constants ¶
This section is empty.
Variables ¶
var DeploymentMeta = resource.ResourceMeta{
Group: "apps",
Version: "v1",
Kind: "Deployment",
Label: "Deployment",
Category: "Workloads",
}
var NodeMeta = resource.ResourceMeta{
Group: "core",
Version: "v1",
Kind: "Node",
Label: "Node",
Category: "Cluster",
}
var PodMeta = resource.ResourceMeta{
Group: "core",
Version: "v1",
Kind: "Pod",
Label: "Pod",
Category: "Workloads",
}
var SecretMeta = resource.ResourceMeta{
Group: "core",
Version: "v1",
Kind: "Secret",
Label: "Secret",
Category: "Configuration",
}
var ServiceMeta = resource.ResourceMeta{
Group: "core",
Version: "v1",
Kind: "Service",
Label: "Service",
Category: "Networking",
}
Functions ¶
func NewTestContext ¶
NewTestContext returns a context.Background with a test Session attached.
func NewTestContextWithConnection ¶
func NewTestContextWithConnection(conn *types.Connection) context.Context
NewTestContextWithConnection returns a context with a Session carrying the given connection.
func NewTestSession ¶
NewTestSession creates a Session with sensible test defaults. The connection ID defaults to "conn-1" and the connection name to "Test".
Types ¶
type FilterableResourcer ¶
type FilterableResourcer[ClientT any] struct { StubResourcer[ClientT] FilterFieldsFunc func(ctx context.Context, connectionID string) ([]resource.FilterField, error) FilterFieldsCalls atomic.Int32 }
FilterableResourcer embeds StubResourcer and adds FilterableProvider support.
func (*FilterableResourcer[ClientT]) FilterFields ¶
func (f *FilterableResourcer[ClientT]) FilterFields(ctx context.Context, connectionID string) ([]resource.FilterField, error)
type FilterableSearchableResourcer ¶
type FilterableSearchableResourcer[ClientT any] struct { StubResourcer[ClientT] FilterFieldsFunc func(ctx context.Context, connectionID string) ([]resource.FilterField, error) FilterFieldsCalls atomic.Int32 SearchFunc func(ctx context.Context, client *ClientT, meta resource.ResourceMeta, query string, limit int) (*resource.FindResult, error) SearchCalls atomic.Int32 }
FilterableSearchableResourcer embeds StubResourcer and implements both FilterableProvider and TextSearchProvider.
func (*FilterableSearchableResourcer[ClientT]) FilterFields ¶
func (fs *FilterableSearchableResourcer[ClientT]) FilterFields(ctx context.Context, connectionID string) ([]resource.FilterField, error)
func (*FilterableSearchableResourcer[ClientT]) Search ¶
func (fs *FilterableSearchableResourcer[ClientT]) Search(ctx context.Context, client *ClientT, meta resource.ResourceMeta, query string, limit int) (*resource.FindResult, error)
type Option ¶
type Option func(*TestProvider)
Option configures a TestProvider.
func WithGetFunc ¶
func WithGetFunc(fn func(ctx context.Context, key string, input resource.GetInput) (*resource.GetResult, error)) Option
WithGetFunc sets the Get handler.
func WithListFunc ¶
func WithListFunc(fn func(ctx context.Context, key string, input resource.ListInput) (*resource.ListResult, error)) Option
WithListFunc sets the List handler.
func WithListenForEventsFunc ¶
func WithListenForEventsFunc(fn func(ctx context.Context, sink resource.WatchEventSink) error) Option
WithListenForEventsFunc sets the ListenForEvents handler.
func WithLoadConnectionsFunc ¶
WithLoadConnectionsFunc sets the LoadConnections handler.
type RecordingSink ¶
type RecordingSink struct {
Adds []resource.WatchAddPayload
Updates []resource.WatchUpdatePayload
Deletes []resource.WatchDeletePayload
States []resource.WatchStateEvent
// contains filtered or unexported fields
}
RecordingSink is a thread-safe WatchEventSink that records all events for assertions. Use NewRecordingSink() to create instances.
func NewRecordingSink ¶
func NewRecordingSink() *RecordingSink
NewRecordingSink creates a RecordingSink with its broadcast channel initialized.
func (*RecordingSink) AddCount ¶
func (s *RecordingSink) AddCount() int
AddCount returns the number of add events recorded.
func (*RecordingSink) DeleteCount ¶
func (s *RecordingSink) DeleteCount() int
DeleteCount returns the number of delete events recorded.
func (*RecordingSink) OnAdd ¶
func (s *RecordingSink) OnAdd(p resource.WatchAddPayload)
func (*RecordingSink) OnDelete ¶
func (s *RecordingSink) OnDelete(p resource.WatchDeletePayload)
func (*RecordingSink) OnStateChange ¶
func (s *RecordingSink) OnStateChange(e resource.WatchStateEvent)
func (*RecordingSink) OnUpdate ¶
func (s *RecordingSink) OnUpdate(p resource.WatchUpdatePayload)
func (*RecordingSink) Reset ¶
func (s *RecordingSink) Reset()
Reset clears all recorded events and wakes any waiters.
func (*RecordingSink) StateCount ¶
func (s *RecordingSink) StateCount() int
StateCount returns the number of state events recorded.
func (*RecordingSink) UpdateCount ¶
func (s *RecordingSink) UpdateCount() int
UpdateCount returns the number of update events recorded.
func (*RecordingSink) WaitForAdds ¶
WaitForAdds blocks until at least count add events have been recorded, or the timeout expires.
func (*RecordingSink) WaitForDeletes ¶
WaitForDeletes blocks until at least count delete events have been recorded, or the timeout expires.
func (*RecordingSink) WaitForState ¶
func (s *RecordingSink) WaitForState(t *testing.T, resourceKey string, state resource.WatchState, timeout time.Duration)
WaitForState blocks until a state event matching the given resourceKey and state is recorded.
func (*RecordingSink) WaitForUpdates ¶
WaitForUpdates blocks until at least count update events have been recorded, or the timeout expires.
type RefreshableConnectionProvider ¶
type RefreshableConnectionProvider[ClientT any] struct { StubConnectionProvider[ClientT] RefreshClientFunc func(ctx context.Context, client *ClientT) error RefreshCalls atomic.Int32 }
RefreshableConnectionProvider embeds StubConnectionProvider and adds ClientRefresher support.
func (*RefreshableConnectionProvider[ClientT]) RefreshClient ¶
func (r *RefreshableConnectionProvider[ClientT]) RefreshClient(ctx context.Context, client *ClientT) error
type SearchableResourcer ¶
type SearchableResourcer[ClientT any] struct { StubResourcer[ClientT] SearchFunc func(ctx context.Context, client *ClientT, meta resource.ResourceMeta, query string, limit int) (*resource.FindResult, error) SearchCalls atomic.Int32 }
SearchableResourcer embeds StubResourcer and adds TextSearchProvider support.
func (*SearchableResourcer[ClientT]) Search ¶
func (s *SearchableResourcer[ClientT]) Search(ctx context.Context, client *ClientT, meta resource.ResourceMeta, query string, limit int) (*resource.FindResult, error)
type StubConnectionProvider ¶
type StubConnectionProvider[ClientT any] struct { CreateClientFunc func(ctx context.Context) (*ClientT, error) DestroyClientFunc func(ctx context.Context, client *ClientT) error LoadConnectionsFunc func(ctx context.Context) ([]types.Connection, error) CheckConnectionFunc func(ctx context.Context, conn *types.Connection, client *ClientT) (types.ConnectionStatus, error) GetNamespacesFunc func(ctx context.Context, client *ClientT) ([]string, error) // Call counters for assertions (atomic for concurrent safety). CreateClientCalls atomic.Int32 DestroyClientCalls atomic.Int32 CheckConnectionCalls atomic.Int32 }
StubConnectionProvider is a configurable test double for ConnectionProvider[ClientT]. Every method checks for a non-nil function field first, then falls back to a sensible default.
func (*StubConnectionProvider[ClientT]) CheckConnection ¶
func (s *StubConnectionProvider[ClientT]) CheckConnection(ctx context.Context, conn *types.Connection, client *ClientT) (types.ConnectionStatus, error)
func (*StubConnectionProvider[ClientT]) CreateClient ¶
func (s *StubConnectionProvider[ClientT]) CreateClient(ctx context.Context) (*ClientT, error)
func (*StubConnectionProvider[ClientT]) DestroyClient ¶
func (s *StubConnectionProvider[ClientT]) DestroyClient(ctx context.Context, client *ClientT) error
func (*StubConnectionProvider[ClientT]) GetNamespaces ¶
func (s *StubConnectionProvider[ClientT]) GetNamespaces(ctx context.Context, client *ClientT) ([]string, error)
func (*StubConnectionProvider[ClientT]) LoadConnections ¶
func (s *StubConnectionProvider[ClientT]) LoadConnections(ctx context.Context) ([]types.Connection, error)
type StubResourcer ¶
type StubResourcer[ClientT any] struct { GetFunc func(ctx context.Context, client *ClientT, meta resource.ResourceMeta, input resource.GetInput) (*resource.GetResult, error) ListFunc func(ctx context.Context, client *ClientT, meta resource.ResourceMeta, input resource.ListInput) (*resource.ListResult, error) FindFunc func(ctx context.Context, client *ClientT, meta resource.ResourceMeta, input resource.FindInput) (*resource.FindResult, error) CreateFunc func(ctx context.Context, client *ClientT, meta resource.ResourceMeta, input resource.CreateInput) (*resource.CreateResult, error) UpdateFunc func(ctx context.Context, client *ClientT, meta resource.ResourceMeta, input resource.UpdateInput) (*resource.UpdateResult, error) DeleteFunc func(ctx context.Context, client *ClientT, meta resource.ResourceMeta, input resource.DeleteInput) (*resource.DeleteResult, error) GetCalls, ListCalls, FindCalls, CreateCalls, UpdateCalls, DeleteCalls atomic.Int32 }
StubResourcer is a configurable test double for Resourcer[ClientT]. Every method checks for a non-nil function field first, then falls back to returning nil, nil.
func (*StubResourcer[ClientT]) Create ¶
func (s *StubResourcer[ClientT]) Create(ctx context.Context, client *ClientT, meta resource.ResourceMeta, input resource.CreateInput) (*resource.CreateResult, error)
func (*StubResourcer[ClientT]) Delete ¶
func (s *StubResourcer[ClientT]) Delete(ctx context.Context, client *ClientT, meta resource.ResourceMeta, input resource.DeleteInput) (*resource.DeleteResult, error)
func (*StubResourcer[ClientT]) Find ¶
func (s *StubResourcer[ClientT]) Find(ctx context.Context, client *ClientT, meta resource.ResourceMeta, input resource.FindInput) (*resource.FindResult, error)
func (*StubResourcer[ClientT]) Get ¶
func (s *StubResourcer[ClientT]) Get(ctx context.Context, client *ClientT, meta resource.ResourceMeta, input resource.GetInput) (*resource.GetResult, error)
func (*StubResourcer[ClientT]) List ¶
func (s *StubResourcer[ClientT]) List(ctx context.Context, client *ClientT, meta resource.ResourceMeta, input resource.ListInput) (*resource.ListResult, error)
func (*StubResourcer[ClientT]) Update ¶
func (s *StubResourcer[ClientT]) Update(ctx context.Context, client *ClientT, meta resource.ResourceMeta, input resource.UpdateInput) (*resource.UpdateResult, error)
type TestProvider ¶
type TestProvider struct {
// Operation handlers. Default: return success with empty JSON.
GetFunc func(ctx context.Context, key string, input resource.GetInput) (*resource.GetResult, error)
ListFunc func(ctx context.Context, key string, input resource.ListInput) (*resource.ListResult, error)
FindFunc func(ctx context.Context, key string, input resource.FindInput) (*resource.FindResult, error)
CreateFunc func(ctx context.Context, key string, input resource.CreateInput) (*resource.CreateResult, error)
UpdateFunc func(ctx context.Context, key string, input resource.UpdateInput) (*resource.UpdateResult, error)
DeleteFunc func(ctx context.Context, key string, input resource.DeleteInput) (*resource.DeleteResult, error)
// Connection handlers.
StartConnectionFunc func(ctx context.Context, id string) (types.ConnectionStatus, error)
StopConnectionFunc func(ctx context.Context, id string) (types.Connection, error)
CheckConnectionFunc func(ctx context.Context, id string) (types.ConnectionStatus, error)
LoadConnectionsFunc func(ctx context.Context) ([]types.Connection, error)
ListConnectionsFunc func(ctx context.Context) ([]types.Connection, error)
GetConnectionFunc func(ctx context.Context, id string) (types.Connection, error)
GetConnectionNSFunc func(ctx context.Context, id string) ([]string, error)
UpdateConnectionFunc func(ctx context.Context, conn types.Connection) (types.Connection, error)
DeleteConnectionFunc func(ctx context.Context, id string) error
WatchConnectionsFunc func(ctx context.Context, stream chan<- []types.Connection) error
// Watch handlers.
StartConnectionWatchFunc func(ctx context.Context, connID string) error
StopConnectionWatchFunc func(ctx context.Context, connID string) error
HasWatchFunc func(ctx context.Context, connID string) bool
GetWatchStateFunc func(ctx context.Context, connID string) (*resource.WatchConnectionSummary, error)
ListenForEventsFunc func(ctx context.Context, sink resource.WatchEventSink) error
EnsureResourceWatchFunc func(ctx context.Context, connID, key string) error
StopResourceWatchFunc func(ctx context.Context, connID, key string) error
RestartResourceWatchFunc func(ctx context.Context, connID, key string) error
IsResourceWatchRunningFunc func(ctx context.Context, connID, key string) (bool, error)
// Type handlers.
GetResourceGroupsFunc func(ctx context.Context, connID string) map[string]resource.ResourceGroup
GetResourceGroupFunc func(ctx context.Context, id string) (resource.ResourceGroup, error)
GetResourceTypesFunc func(ctx context.Context, connID string) map[string]resource.ResourceMeta
GetResourceTypeFunc func(ctx context.Context, id string) (*resource.ResourceMeta, error)
HasResourceTypeFunc func(ctx context.Context, id string) bool
GetResourceDefinitionFunc func(ctx context.Context, id string) (resource.ResourceDefinition, error)
GetResourceCapabilitiesFunc func(ctx context.Context, key string) (*resource.ResourceCapabilities, error)
GetResourceSchemaFunc func(ctx context.Context, connID, key string) (json.RawMessage, error)
GetFilterFieldsFunc func(ctx context.Context, connID, key string) ([]resource.FilterField, error)
// Action handlers.
GetActionsFunc func(ctx context.Context, key string) ([]resource.ActionDescriptor, error)
ExecuteActionFunc func(ctx context.Context, key, actionID string, input resource.ActionInput) (*resource.ActionResult, error)
StreamActionFunc func(ctx context.Context, key, actionID string, input resource.ActionInput, stream chan<- resource.ActionEvent) error
// Editor schema handler.
GetEditorSchemasFunc func(ctx context.Context, connID string) ([]resource.EditorSchema, error)
// Relationship handlers.
GetRelationshipsFunc func(ctx context.Context, key string) ([]resource.RelationshipDescriptor, error)
ResolveRelationshipsFunc func(ctx context.Context, connID, key, id, ns string) ([]resource.ResolvedRelationship, error)
// Health handlers.
GetHealthFunc func(ctx context.Context, connID, key string, data json.RawMessage) (*resource.ResourceHealth, error)
GetResourceEventsFunc func(ctx context.Context, connID, key, id, ns string, limit int32) ([]resource.ResourceEvent, error)
// contains filtered or unexported fields
}
TestProvider is a configurable in-process Provider for integration tests. It implements the full Provider interface without gRPC or process spawning.
func NewTestProvider ¶
func NewTestProvider(t *testing.T, opts ...Option) *TestProvider
NewTestProvider creates a TestProvider with sensible defaults. Options can override any handler.
func (*TestProvider) CheckConnection ¶ added in v0.2.1
func (p *TestProvider) CheckConnection(ctx context.Context, id string) (types.ConnectionStatus, error)
func (*TestProvider) Create ¶
func (p *TestProvider) Create(ctx context.Context, key string, input resource.CreateInput) (*resource.CreateResult, error)
func (*TestProvider) Delete ¶
func (p *TestProvider) Delete(ctx context.Context, key string, input resource.DeleteInput) (*resource.DeleteResult, error)
func (*TestProvider) DeleteConnection ¶
func (p *TestProvider) DeleteConnection(ctx context.Context, id string) error
func (*TestProvider) EnsureResourceWatch ¶
func (*TestProvider) ExecuteAction ¶
func (p *TestProvider) ExecuteAction(ctx context.Context, key string, actionID string, input resource.ActionInput) (*resource.ActionResult, error)
func (*TestProvider) Find ¶
func (p *TestProvider) Find(ctx context.Context, key string, input resource.FindInput) (*resource.FindResult, error)
func (*TestProvider) GetActions ¶
func (p *TestProvider) GetActions(ctx context.Context, key string) ([]resource.ActionDescriptor, error)
func (*TestProvider) GetConnection ¶
func (p *TestProvider) GetConnection(ctx context.Context, id string) (types.Connection, error)
func (*TestProvider) GetConnectionNamespaces ¶
func (*TestProvider) GetEditorSchemas ¶
func (p *TestProvider) GetEditorSchemas(ctx context.Context, connID string) ([]resource.EditorSchema, error)
func (*TestProvider) GetFilterFields ¶
func (p *TestProvider) GetFilterFields(ctx context.Context, connID string, key string) ([]resource.FilterField, error)
func (*TestProvider) GetHealth ¶
func (p *TestProvider) GetHealth(ctx context.Context, connID string, key string, data json.RawMessage) (*resource.ResourceHealth, error)
func (*TestProvider) GetRelationships ¶
func (p *TestProvider) GetRelationships(ctx context.Context, key string) ([]resource.RelationshipDescriptor, error)
func (*TestProvider) GetResourceCapabilities ¶
func (p *TestProvider) GetResourceCapabilities(ctx context.Context, key string) (*resource.ResourceCapabilities, error)
func (*TestProvider) GetResourceDefinition ¶
func (p *TestProvider) GetResourceDefinition(ctx context.Context, id string) (resource.ResourceDefinition, error)
func (*TestProvider) GetResourceEvents ¶
func (*TestProvider) GetResourceGroup ¶
func (p *TestProvider) GetResourceGroup(ctx context.Context, id string) (resource.ResourceGroup, error)
func (*TestProvider) GetResourceGroups ¶
func (p *TestProvider) GetResourceGroups(ctx context.Context, connID string) map[string]resource.ResourceGroup
func (*TestProvider) GetResourceSchema ¶
func (p *TestProvider) GetResourceSchema(ctx context.Context, connID string, key string) (json.RawMessage, error)
func (*TestProvider) GetResourceType ¶
func (p *TestProvider) GetResourceType(ctx context.Context, id string) (*resource.ResourceMeta, error)
func (*TestProvider) GetResourceTypes ¶
func (p *TestProvider) GetResourceTypes(ctx context.Context, connID string) map[string]resource.ResourceMeta
func (*TestProvider) GetWatchState ¶
func (p *TestProvider) GetWatchState(ctx context.Context, connID string) (*resource.WatchConnectionSummary, error)
func (*TestProvider) HasResourceType ¶
func (p *TestProvider) HasResourceType(ctx context.Context, id string) bool
func (*TestProvider) HasWatch ¶
func (p *TestProvider) HasWatch(ctx context.Context, connID string) bool
func (*TestProvider) IsResourceWatchRunning ¶
func (*TestProvider) List ¶
func (p *TestProvider) List(ctx context.Context, key string, input resource.ListInput) (*resource.ListResult, error)
func (*TestProvider) ListConnections ¶
func (p *TestProvider) ListConnections(ctx context.Context) ([]types.Connection, error)
func (*TestProvider) ListenForEvents ¶
func (p *TestProvider) ListenForEvents(ctx context.Context, sink resource.WatchEventSink) error
func (*TestProvider) LoadConnections ¶
func (p *TestProvider) LoadConnections(ctx context.Context) ([]types.Connection, error)
func (*TestProvider) ResolveRelationships ¶
func (p *TestProvider) ResolveRelationships(ctx context.Context, connID string, key string, id string, ns string) ([]resource.ResolvedRelationship, error)
func (*TestProvider) RestartResourceWatch ¶
func (*TestProvider) StartConnection ¶
func (p *TestProvider) StartConnection(ctx context.Context, id string) (types.ConnectionStatus, error)
func (*TestProvider) StartConnectionWatch ¶
func (p *TestProvider) StartConnectionWatch(ctx context.Context, connID string) error
func (*TestProvider) StopConnection ¶
func (p *TestProvider) StopConnection(ctx context.Context, id string) (types.Connection, error)
func (*TestProvider) StopConnectionWatch ¶
func (p *TestProvider) StopConnectionWatch(ctx context.Context, connID string) error
func (*TestProvider) StopResourceWatch ¶
func (*TestProvider) StreamAction ¶
func (p *TestProvider) StreamAction(ctx context.Context, key string, actionID string, input resource.ActionInput, stream chan<- resource.ActionEvent) error
func (*TestProvider) Update ¶
func (p *TestProvider) Update(ctx context.Context, key string, input resource.UpdateInput) (*resource.UpdateResult, error)
func (*TestProvider) UpdateConnection ¶
func (p *TestProvider) UpdateConnection(ctx context.Context, conn types.Connection) (types.Connection, error)
func (*TestProvider) WatchConnections ¶
func (p *TestProvider) WatchConnections(ctx context.Context, stream chan<- []types.Connection) error
type WatchableResourcer ¶
type WatchableResourcer[ClientT any] struct { StubResourcer[ClientT] WatchFunc func(ctx context.Context, client *ClientT, meta resource.ResourceMeta, sink resource.WatchEventSink) error PolicyVal *resource.SyncPolicy DefinitionVal *resource.ResourceDefinition }
WatchableResourcer embeds StubResourcer and adds Watcher[ClientT] support. Optionally implements SyncPolicyDeclarer and DefinitionProvider.
func (*WatchableResourcer[ClientT]) Definition ¶
func (w *WatchableResourcer[ClientT]) Definition() resource.ResourceDefinition
func (*WatchableResourcer[ClientT]) SyncPolicy ¶
func (w *WatchableResourcer[ClientT]) SyncPolicy() resource.SyncPolicy
func (*WatchableResourcer[ClientT]) Watch ¶
func (w *WatchableResourcer[ClientT]) Watch(ctx context.Context, client *ClientT, meta resource.ResourceMeta, sink resource.WatchEventSink) error
type WatchingConnectionProvider ¶
type WatchingConnectionProvider[ClientT any] struct { StubConnectionProvider[ClientT] WatchConnectionsFunc func(ctx context.Context) (<-chan []types.Connection, error) }
WatchingConnectionProvider embeds StubConnectionProvider and adds ConnectionWatcher support.
func (*WatchingConnectionProvider[ClientT]) WatchConnections ¶
func (w *WatchingConnectionProvider[ClientT]) WatchConnections(ctx context.Context) (<-chan []types.Connection, error)