Documentation
¶
Overview ¶
Package microvm provides deterministic test doubles for AppTheory MicroVM controllers.
Index ¶
- type Call
- type FakeClient
- func (c *FakeClient) Calls() []Call
- func (c *FakeClient) Create(_ context.Context, input runtimemicrovm.CreateSessionInput) (runtimemicrovm.SessionRecord, error)
- func (c *FakeClient) Session(_ context.Context, input runtimemicrovm.SessionQueryInput) (runtimemicrovm.SessionRecord, error)
- func (c *FakeClient) SetNow(now time.Time)
- func (c *FakeClient) Start(_ context.Context, input runtimemicrovm.SessionCommandInput) (runtimemicrovm.SessionRecord, error)
- func (c *FakeClient) Status(_ context.Context, input runtimemicrovm.SessionQueryInput) (runtimemicrovm.SessionStatus, error)
- func (c *FakeClient) Stop(_ context.Context, input runtimemicrovm.SessionCommandInput) (runtimemicrovm.SessionRecord, error)
- type FakeProvider
- func (p *FakeProvider) Calls() []ProviderCall
- func (p *FakeProvider) CreateAuthToken(_ context.Context, input runtimemicrovm.ProviderTokenInput) (runtimemicrovm.ProviderToken, error)
- func (p *FakeProvider) CreateShellToken(_ context.Context, input runtimemicrovm.ProviderTokenInput) (runtimemicrovm.ProviderToken, error)
- func (p *FakeProvider) Get(_ context.Context, input runtimemicrovm.ProviderSessionInput) (runtimemicrovm.ProviderSession, error)
- func (p *FakeProvider) List(_ context.Context, input runtimemicrovm.ProviderListInput) (runtimemicrovm.ProviderListOutput, error)
- func (p *FakeProvider) Resume(_ context.Context, input runtimemicrovm.ProviderSessionInput) (runtimemicrovm.ProviderSession, error)
- func (p *FakeProvider) Run(_ context.Context, input runtimemicrovm.ProviderRunInput) (runtimemicrovm.ProviderSession, error)
- func (p *FakeProvider) SetNow(now time.Time)
- func (p *FakeProvider) SetOperationError(operation runtimemicrovm.Operation, err error)
- func (p *FakeProvider) Suspend(_ context.Context, input runtimemicrovm.ProviderSessionInput) (runtimemicrovm.ProviderSession, error)
- func (p *FakeProvider) Terminate(_ context.Context, input runtimemicrovm.ProviderSessionInput) (runtimemicrovm.ProviderSession, error)
- type ProviderCall
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Call ¶
type Call struct {
Command runtimemicrovm.Command
RequestID string
TenantID string
Namespace string
SessionID string
}
Call records one fake client operation.
type FakeClient ¶
type FakeClient struct {
// contains filtered or unexported fields
}
FakeClient is an in-memory constrained MicroVM client for tests.
func NewFakeClient ¶
func NewFakeClient() *FakeClient
NewFakeClient creates a fake client with a deterministic starting clock.
func NewFakeClientWithTime ¶
func NewFakeClientWithTime(now time.Time) *FakeClient
NewFakeClientWithTime creates a fake client with the provided current time.
func (*FakeClient) Calls ¶
func (c *FakeClient) Calls() []Call
Calls returns a copy of recorded calls.
func (*FakeClient) Create ¶
func (c *FakeClient) Create(_ context.Context, input runtimemicrovm.CreateSessionInput) (runtimemicrovm.SessionRecord, error)
Create creates a fake session record.
func (*FakeClient) Session ¶
func (c *FakeClient) Session(_ context.Context, input runtimemicrovm.SessionQueryInput) (runtimemicrovm.SessionRecord, error)
Session returns a fake session record.
func (*FakeClient) SetNow ¶
func (c *FakeClient) SetNow(now time.Time)
SetNow sets the fake client's current time.
func (*FakeClient) Start ¶
func (c *FakeClient) Start(_ context.Context, input runtimemicrovm.SessionCommandInput) (runtimemicrovm.SessionRecord, error)
Start marks a fake session as starting toward started.
func (*FakeClient) Status ¶
func (c *FakeClient) Status(_ context.Context, input runtimemicrovm.SessionQueryInput) (runtimemicrovm.SessionStatus, error)
Status returns fake session status.
func (*FakeClient) Stop ¶
func (c *FakeClient) Stop(_ context.Context, input runtimemicrovm.SessionCommandInput) (runtimemicrovm.SessionRecord, error)
Stop marks a fake session as stopping toward stopped.
type FakeProvider ¶ added in v1.15.0
type FakeProvider struct {
// contains filtered or unexported fields
}
FakeProvider is an in-memory deterministic M16 real MicroVM provider for tests.
func NewFakeProvider ¶ added in v1.15.0
func NewFakeProvider() *FakeProvider
NewFakeProvider creates a fake provider with a deterministic starting clock.
func NewFakeProviderWithTime ¶ added in v1.15.0
func NewFakeProviderWithTime(now time.Time) *FakeProvider
NewFakeProviderWithTime creates a fake provider with the provided current time.
func (*FakeProvider) Calls ¶ added in v1.15.0
func (p *FakeProvider) Calls() []ProviderCall
Calls returns a copy of recorded provider calls.
func (*FakeProvider) CreateAuthToken ¶ added in v1.15.0
func (p *FakeProvider) CreateAuthToken(_ context.Context, input runtimemicrovm.ProviderTokenInput) (runtimemicrovm.ProviderToken, error)
CreateAuthToken returns sanitized deterministic auth-token metadata.
func (*FakeProvider) CreateShellToken ¶ added in v1.15.0
func (p *FakeProvider) CreateShellToken(_ context.Context, input runtimemicrovm.ProviderTokenInput) (runtimemicrovm.ProviderToken, error)
CreateShellToken returns sanitized deterministic shell-token metadata.
func (*FakeProvider) Get ¶ added in v1.15.0
func (p *FakeProvider) Get(_ context.Context, input runtimemicrovm.ProviderSessionInput) (runtimemicrovm.ProviderSession, error)
Get returns a tenant-bound fake provider session.
func (*FakeProvider) List ¶ added in v1.15.0
func (p *FakeProvider) List(_ context.Context, input runtimemicrovm.ProviderListInput) (runtimemicrovm.ProviderListOutput, error)
List returns deterministic fake provider sessions for one tenant and namespace.
func (*FakeProvider) Resume ¶ added in v1.15.0
func (p *FakeProvider) Resume(_ context.Context, input runtimemicrovm.ProviderSessionInput) (runtimemicrovm.ProviderSession, error)
Resume marks a fake provider session ready.
func (*FakeProvider) Run ¶ added in v1.15.0
func (p *FakeProvider) Run(_ context.Context, input runtimemicrovm.ProviderRunInput) (runtimemicrovm.ProviderSession, error)
Run creates a deterministic fake provider MicroVM session.
func (*FakeProvider) SetNow ¶ added in v1.15.0
func (p *FakeProvider) SetNow(now time.Time)
SetNow sets the fake provider clock.
func (*FakeProvider) SetOperationError ¶ added in v1.15.0
func (p *FakeProvider) SetOperationError(operation runtimemicrovm.Operation, err error)
SetOperationError configures a sanitized failure for the next calls to an operation.
func (*FakeProvider) Suspend ¶ added in v1.15.0
func (p *FakeProvider) Suspend(_ context.Context, input runtimemicrovm.ProviderSessionInput) (runtimemicrovm.ProviderSession, error)
Suspend marks a fake provider session suspended.
func (*FakeProvider) Terminate ¶ added in v1.15.0
func (p *FakeProvider) Terminate(_ context.Context, input runtimemicrovm.ProviderSessionInput) (runtimemicrovm.ProviderSession, error)
Terminate marks a fake provider session terminated.
type ProviderCall ¶ added in v1.15.0
type ProviderCall struct {
Operation runtimemicrovm.Operation
RequestID string
TenantID string
Namespace string
SessionID string
}
ProviderCall records one fake provider operation.