package mockcore

import "github.com/Microsoft/opengcs/service/gcs/core/mockcore"

Package mockcore defines a mock implementation of the Core interface.

Index

Constants

const (
	// Success specifies method calls should succeed.
	Success = iota
	// Error specifies method calls should return an error.
	Error
	// SingleSuccess specifies that the first method call should succeed and additional
	// calls should return an error.
	SingleSuccess
)

Types

type Behavior

type Behavior int

Behavior describes the behavior of the mock core when a method is called.

type CreateContainerCall

type CreateContainerCall struct {
	ID       string
	Settings prot.VMHostedContainerSettings
}

CreateContainerCall captures the arguments of CreateContainer.

type ExecProcessCall

type ExecProcessCall struct {
	ID                 string
	Params             prot.ProcessParameters
	ConnectionSettings stdio.ConnectionSettings
}

ExecProcessCall captures the arguments of ExecProcess.

type GetPropertiesCall

type GetPropertiesCall struct {
	ID    string
	Query string
}

GetPropertiesCall captures the arguments of GetProperties.

type MockCore

type MockCore struct {
	Behavior                     Behavior
	LastCreateContainer          CreateContainerCall
	LastExecProcess              ExecProcessCall
	LastSignalContainer          SignalContainerCall
	LastSignalProcess            SignalProcessCall
	LastGetProperties            GetPropertiesCall
	LastRunExternalProcess       RunExternalProcessCall
	LastModifySettings           ModifySettingsCall
	LastResizeConsole            ResizeConsoleCall
	LastWaitContainer            WaitContainerCall
	LastWaitProcess              WaitProcessCall
	LastWaitProcessReturnContext *WaitProcessReturnContext
	WaitContainerWg              sync.WaitGroup
}

MockCore serves as an argument capture mechanism which implements the Core interface. Arguments passed to one of its methods are stored to be queried later.

func (*MockCore) CreateContainer

func (c *MockCore) CreateContainer(id string, settings prot.VMHostedContainerSettings) error

CreateContainer captures its arguments.

func (*MockCore) ExecProcess

func (c *MockCore) ExecProcess(id string, params prot.ProcessParameters, conSettings stdio.ConnectionSettings) (pid int, execInitErrorDone chan<- struct{}, err error)

ExecProcess captures its arguments and returns pid 101.

func (*MockCore) GetProperties

func (c *MockCore) GetProperties(id string, query string) (*prot.Properties, error)

GetProperties captures its arguments. It then returns a properties with a process with pid 101.

func (*MockCore) ModifySettings

func (c *MockCore) ModifySettings(id string, request *prot.ResourceModificationRequestResponse) error

ModifySettings captures its arguments.

func (*MockCore) ResizeConsole

func (c *MockCore) ResizeConsole(pid int, height, width uint16) error

ResizeConsole captures its arguments and returns a nil error.

func (*MockCore) RunExternalProcess

func (c *MockCore) RunExternalProcess(params prot.ProcessParameters, conSettings stdio.ConnectionSettings) (pid int, err error)

RunExternalProcess captures its arguments and returns pid 101.

func (*MockCore) SignalContainer

func (c *MockCore) SignalContainer(id string, signal syscall.Signal) error

SignalContainer captures its arguments.

func (*MockCore) SignalProcess

func (c *MockCore) SignalProcess(pid int, options prot.SignalProcessOptions) error

SignalProcess captures its arguments.

func (*MockCore) WaitContainer

func (c *MockCore) WaitContainer(id string) (func() prot.NotificationType, error)

WaitContainer captures its arguments and returns a nil error.

func (*MockCore) WaitProcess

func (c *MockCore) WaitProcess(pid int) (<-chan int, chan<- bool, error)

WaitProcess captures its arguments and returns a nil error.

type ModifySettingsCall

type ModifySettingsCall struct {
	ID      string
	Request *prot.ResourceModificationRequestResponse
}

ModifySettingsCall captures the arguments of ModifySettings.

type ResizeConsoleCall

type ResizeConsoleCall struct {
	Pid    int
	Height uint16
	Width  uint16
}

ResizeConsoleCall captures the arguments of ResizeConsole

type RunExternalProcessCall

type RunExternalProcessCall struct {
	Params             prot.ProcessParameters
	ConnectionSettings stdio.ConnectionSettings
}

RunExternalProcessCall captures the arguments of RunExternalProcess.

type SignalContainerCall

type SignalContainerCall struct {
	ID     string
	Signal syscall.Signal
}

SignalContainerCall captures the arguments of SignalContainer.

type SignalProcessCall

type SignalProcessCall struct {
	Pid     int
	Options prot.SignalProcessOptions
}

SignalProcessCall captures the arguments of SignalProcess.

type WaitContainerCall

type WaitContainerCall struct {
	ID string
}

WaitContainerCall captures the arguments of WaitContainer

type WaitProcessCall

type WaitProcessCall struct {
	Pid int
}

WaitProcessCall captures the arguments of WaitProcess

type WaitProcessReturnContext

type WaitProcessReturnContext struct {
	ExitCodeChan chan int
	DoneChan     chan bool
}

WaitProcessReturnContext captures the return context of a WaitProcess call.

Source Files

mockcore.go

Version
v0.4.0 (latest)
Published
Dec 4, 2020
Platform
linux/amd64
Imports
5 packages
Last checked
12 hours ago

Tools for package owners.