Documentation ¶
Index ¶
- Variables
- type ClientInterface
- type Handler
- func (handler *Handler) ContainerRemove(ctx context.Context, srcContainerID string) error
- func (handler *Handler) ContainerStop(ctx context.Context, srcContainerID string) error
- func (handler *Handler) CopyFromContainer(ctx context.Context, srcContainerID string, srcPath string, dstPath string) error
- func (handler *Handler) CopyTestFilesToContainer(ctx context.Context, srcContainerID string, files []string, targetDir string) error
- func (handler *Handler) Execute(ctx context.Context, srcContainerID string, cmd []string) (*types.IDResponse, *types.HijackedResponse, error)
- func (handler *Handler) ExecuteInspect(ctx context.Context, srcContainerID string) (int, error)
- func (handler *Handler) GetImageFlavor(c config.JobConfiguration) string
- func (handler *Handler) HasBaseImage(ctx context.Context, baseImage string) (bool, error)
- func (handler *Handler) PullBaseImage(ctx context.Context, c config.JobConfiguration) error
- func (handler *Handler) StartContainer(ctx context.Context, c config.JobConfiguration) (*container.ContainerCreateCreatedBody, error)
- func (handler *Handler) ValidateDependency() error
- type Image
Constants ¶
This section is empty.
Variables ¶
var DefaultPlaywright = Image{
Name: "saucelabs/stt-playwright-jest-node",
Version: "v0.1.1",
}
var DefaultPuppeteer = Image{
Name: "saucelabs/stt-puppeteer-jest-node",
Version: "v0.1.1",
}
var DefaultTestcafe = Image{
Name: "saucelabs/stt-testcafe-node",
Version: "v0.1.1",
}
Functions ¶
This section is empty.
Types ¶
type ClientInterface ¶ added in v0.2.0
type ClientInterface interface { ContainerList(ctx context.Context, options types.ContainerListOptions) ([]types.Container, error) ImageList(ctx context.Context, options types.ImageListOptions) ([]types.ImageSummary, error) ImagePull(ctx context.Context, ref string, options types.ImagePullOptions) (io.ReadCloser, error) ContainerCreate(ctx context.Context, config *container.Config, hostConfig *container.HostConfig, networkingConfig *network.NetworkingConfig, containerName string) (container.ContainerCreateCreatedBody, error) ContainerStart(ctx context.Context, containerID string, options types.ContainerStartOptions) error ContainerInspect(ctx context.Context, containerID string) (types.ContainerJSON, error) CopyToContainer(ctx context.Context, container, path string, content io.Reader, options types.CopyToContainerOptions) error ContainerStatPath(ctx context.Context, containerID, path string) (types.ContainerPathStat, error) CopyFromContainer(ctx context.Context, container, srcPath string) (io.ReadCloser, types.ContainerPathStat, error) ContainerExecCreate(ctx context.Context, container string, config types.ExecConfig) (types.IDResponse, error) ContainerExecAttach(ctx context.Context, execID string, config types.ExecConfig) (types.HijackedResponse, error) ContainerExecInspect(ctx context.Context, execID string) (types.ContainerExecInspect, error) ContainerStop(ctx context.Context, containerID string, timeout *time.Duration) error ContainerRemove(ctx context.Context, containerID string, options types.ContainerRemoveOptions) error }
ClientInterface describes the interface used to handle docker commands
type Handler ¶
type Handler struct {
// contains filtered or unexported fields
}
Handler represents the client to handle Docker tasks
func CreateMock ¶ added in v0.2.0
func CreateMock(client ClientInterface) *Handler
CreateMock allows to get a handler with a custom interface
func (*Handler) ContainerRemove ¶
ContainerRemove removes testrunner container
func (*Handler) ContainerStop ¶
ContainerStop stops a running container
func (*Handler) CopyFromContainer ¶
func (handler *Handler) CopyFromContainer(ctx context.Context, srcContainerID string, srcPath string, dstPath string) error
CopyFromContainer downloads a file from the testrunner container
func (*Handler) CopyTestFilesToContainer ¶
func (handler *Handler) CopyTestFilesToContainer(ctx context.Context, srcContainerID string, files []string, targetDir string) error
CopyTestFilesToContainer copies files from the config into the container
func (*Handler) Execute ¶ added in v0.3.7
func (handler *Handler) Execute(ctx context.Context, srcContainerID string, cmd []string) (*types.IDResponse, *types.HijackedResponse, error)
Execute runs the test in the Docker container and attaches to its stdout
func (*Handler) ExecuteInspect ¶
ExecuteInspect checks exit code of test
func (*Handler) GetImageFlavor ¶ added in v0.4.2
func (handler *Handler) GetImageFlavor(c config.JobConfiguration) string
TODO - move this to ImageDefinition
func (*Handler) HasBaseImage ¶
HasBaseImage checks if base image is installed
func (*Handler) PullBaseImage ¶
PullBaseImage pulls an image from Docker
func (*Handler) StartContainer ¶
func (handler *Handler) StartContainer(ctx context.Context, c config.JobConfiguration) (*container.ContainerCreateCreatedBody, error)
StartContainer starts the Docker testrunner container
func (*Handler) ValidateDependency ¶
ValidateDependency checks if external dependencies are installed