Documentation
¶
Index ¶
- Variables
- type Error
- type IRunnerManager
- type RunnerManager
- func (m *RunnerManager) Close() error
- func (m *RunnerManager) GetDockerRunner() (runner.Runner, error)
- func (m *RunnerManager) GetInstanceRunner(instance *types.Instance) (runner.Runner, error)
- func (m *RunnerManager) GetProcessRunner() (runner.Runner, error)
- func (m *RunnerManager) GetServiceRunner(service *types.Service) (runner.Runner, error)
- func (m *RunnerManager) Initialize() error
- type RunnerManagerOptions
- type TestRunnerManager
- func (m *TestRunnerManager) Close() error
- func (m *TestRunnerManager) GetDockerRunner() (runner.Runner, error)
- func (m *TestRunnerManager) GetInstanceRunner(instance *types.Instance) (runner.Runner, error)
- func (m *TestRunnerManager) GetProcessRunner() (runner.Runner, error)
- func (m *TestRunnerManager) GetServiceRunner(service *types.Service) (runner.Runner, error)
- func (m *TestRunnerManager) Initialize() error
- func (m *TestRunnerManager) SetDockerRunner(r runner.Runner)
- func (m *TestRunnerManager) SetProcessRunner(r runner.Runner)
Constants ¶
This section is empty.
Variables ¶
var ( ErrNotInitialized = Error("runner manager not initialized") ErrDockerRunnerNotAvailable = Error("docker runner not available") ErrProcessRunnerNotAvailable = Error("process runner not available") )
Define errors
Functions ¶
This section is empty.
Types ¶
type IRunnerManager ¶
type IRunnerManager interface {
// Initialize initializes all runners
Initialize() error
// GetDockerRunner returns the Docker runner
GetDockerRunner() (runner.Runner, error)
// GetProcessRunner returns the Process runner
GetProcessRunner() (runner.Runner, error)
// GetInstanceRunner returns the appropriate runner for an instance
GetInstanceRunner(instance *types.Instance) (runner.Runner, error)
// GetServiceRunner returns the appropriate runner for a service
GetServiceRunner(service *types.Service) (runner.Runner, error)
// Close closes all runners
Close() error
}
IRunnerManager defines the interface for managing runners
type RunnerManager ¶
type RunnerManager struct {
// contains filtered or unexported fields
}
RunnerManager provides centralized access to various runners
func NewRunnerManager ¶
func NewRunnerManager(logger log.Logger) *RunnerManager
NewRunnerManager creates a new runner manager
func (*RunnerManager) GetDockerRunner ¶
func (m *RunnerManager) GetDockerRunner() (runner.Runner, error)
GetDockerRunner returns the Docker runner
func (*RunnerManager) GetInstanceRunner ¶
GetInstanceRunner returns the appropriate runner to use for the given instance.
func (*RunnerManager) GetProcessRunner ¶
func (m *RunnerManager) GetProcessRunner() (runner.Runner, error)
GetProcessRunner returns the Process runner
func (*RunnerManager) GetServiceRunner ¶
GetServiceRunner returns the appropriate runner to use for the given service.
func (*RunnerManager) Initialize ¶
func (m *RunnerManager) Initialize() error
Initialize initializes all runners
type RunnerManagerOptions ¶
type RunnerManagerOptions struct {
Logger log.Logger
DockerConfig *docker.DockerConfig
}
RunnerManagerOptions holds configuration for the runner manager
type TestRunnerManager ¶
type TestRunnerManager struct {
// Test runners that will be returned by the respective getter methods
MockDockerRunner runner.Runner
MockProcessRunner runner.Runner
DefaultRunner runner.Runner // Used when neither is specified
// Track calls for testing assertions
GetDockerCalled bool
GetProcessCalled bool
GetInstanceCalled bool
GetServiceCalled bool
InitializeCalled bool
CloseCalled bool
}
TestRunnerManager is a mock implementation of IRunnerManager for testing purposes
func NewTestRunnerManager ¶
func NewTestRunnerManager(defaultRunner runner.Runner) *TestRunnerManager
NewTestRunnerManager creates a new test runner manager
func (*TestRunnerManager) Close ¶
func (m *TestRunnerManager) Close() error
Close implements the RunnerManager interface
func (*TestRunnerManager) GetDockerRunner ¶
func (m *TestRunnerManager) GetDockerRunner() (runner.Runner, error)
GetDockerRunner implements the RunnerManager interface
func (*TestRunnerManager) GetInstanceRunner ¶
GetInstanceRunner implements the RunnerManager interface
func (*TestRunnerManager) GetProcessRunner ¶
func (m *TestRunnerManager) GetProcessRunner() (runner.Runner, error)
GetProcessRunner implements the RunnerManager interface
func (*TestRunnerManager) GetServiceRunner ¶
GetServiceRunner implements the RunnerManager interface
func (*TestRunnerManager) Initialize ¶
func (m *TestRunnerManager) Initialize() error
Initialize implements the RunnerManager interface
func (*TestRunnerManager) SetDockerRunner ¶
func (m *TestRunnerManager) SetDockerRunner(r runner.Runner)
SetDockerRunner sets the Docker runner for testing
func (*TestRunnerManager) SetProcessRunner ¶
func (m *TestRunnerManager) SetProcessRunner(r runner.Runner)
SetProcessRunner sets the Process runner for testing