Documentation ¶
Index ¶
- Constants
- func NewImagePullOptions() (types.ImagePullOptions, error)
- type CommonAPIClient
- type ContainerRunner
- type CypressRunner
- type Handler
- func (handler *Handler) ContainerInspect(ctx context.Context, containerID string) (types.ContainerJSON, error)
- func (handler *Handler) ContainerRemove(ctx context.Context, srcContainerID string) error
- func (handler *Handler) ContainerStop(ctx context.Context, srcContainerID string) error
- func (handler *Handler) CopyFilesToContainer(ctx context.Context, srcContainerID string, files []string, targetDir string) error
- func (handler *Handler) CopyFromContainer(ctx context.Context, srcContainerID string, srcPath string, dstPath string) error
- func (handler *Handler) CopyToContainer(ctx context.Context, containerID string, srcFile string, targetDir string) error
- func (handler *Handler) Execute(ctx context.Context, srcContainerID string, cmd []string, ...) (*types.IDResponse, *types.HijackedResponse, error)
- func (handler *Handler) ExecuteAttach(ctx context.Context, containerID string, cmd []string, env map[string]string) (int, string, error)
- func (handler *Handler) ExecuteInspect(ctx context.Context, srcContainerID string) (int, error)
- func (handler *Handler) HasBaseImage(ctx context.Context, baseImage string) (bool, error)
- func (handler *Handler) IsErrNotFound(err error) bool
- func (handler *Handler) IsInstalled() bool
- func (handler *Handler) JobInfoFile(ctx context.Context, imageID string) (string, error)
- func (handler *Handler) ProjectDir(ctx context.Context, imageID string) (string, error)
- func (handler *Handler) PullImage(ctx context.Context, img string) error
- func (handler *Handler) StartContainer(ctx context.Context, options containerStartOptions) (*container.ContainerCreateCreatedBody, error)
- func (handler *Handler) Teardown(ctx context.Context, containerID string) error
- type PlaywrightRunner
- type TestcafeRunner
Constants ¶
const RegistryPasswordEnvKey = "REGISTRY_PASSWORD"
RegistryPasswordEnvKey represents the password environment variable for authenticating against a docker registry.
const RegistryUsernameEnvKey = "REGISTRY_USERNAME"
RegistryUsernameEnvKey represents the username environment variable for authenticating against a docker registry.
const SauceRunnerConfigFile = "sauce-runner.json"
SauceRunnerConfigFile represents the filename for the sauce runner configuration.
Variables ¶
This section is empty.
Functions ¶
func NewImagePullOptions ¶
func NewImagePullOptions() (types.ImagePullOptions, error)
NewImagePullOptions returns a new types.ImagePullOptions object. Credentials are also configured, if available via environment variables (see RegistryUsernameEnvKey and RegistryPasswordEnvKey).
Types ¶
type CommonAPIClient ¶
type CommonAPIClient interface { ServerVersion(ctx context.Context) (types.Version, error) 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.ExecStartCheck) (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 ImageInspectWithRaw(ctx context.Context, imageID string) (types.ImageInspect, []byte, error) }
CommonAPIClient is the interface for interacting with containers.
type ContainerRunner ¶ added in v0.25.2
type ContainerRunner struct { Ctx context.Context Framework framework.Framework FrameworkMeta framework.MetadataService ShowConsoleLog bool // contains filtered or unexported fields }
ContainerRunner represents the container runner for docker.
type CypressRunner ¶ added in v0.25.0
type CypressRunner struct { ContainerRunner Project cypress.Project }
CypressRunner represents the docker implementation of a test runner.
func NewCypress ¶ added in v0.25.0
func NewCypress(c cypress.Project, ms framework.MetadataService) (*CypressRunner, error)
NewCypress creates a new CypressRunner instance.
func (*CypressRunner) RunProject ¶ added in v0.25.0
func (r *CypressRunner) RunProject() (int, error)
RunProject runs the tests defined in config.Project.
type Handler ¶
type Handler struct {
// contains filtered or unexported fields
}
Handler represents the client to handle Docker tasks
func CreateMock ¶
func CreateMock(client CommonAPIClient) *Handler
CreateMock allows to get a handler with a custom interface
func (*Handler) ContainerInspect ¶ added in v0.21.0
func (handler *Handler) ContainerInspect(ctx context.Context, containerID string) (types.ContainerJSON, error)
ContainerInspect returns the container information.
func (*Handler) ContainerRemove ¶
ContainerRemove removes testrunner container
func (*Handler) ContainerStop ¶
ContainerStop stops a running container
func (*Handler) CopyFilesToContainer ¶ added in v0.12.0
func (handler *Handler) CopyFilesToContainer(ctx context.Context, srcContainerID string, files []string, targetDir string) error
CopyFilesToContainer copies the given files into the 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) CopyToContainer ¶
func (handler *Handler) CopyToContainer(ctx context.Context, containerID string, srcFile string, targetDir string) error
CopyToContainer copies the given file to the container.
func (*Handler) Execute ¶
func (handler *Handler) Execute(ctx context.Context, srcContainerID string, cmd []string, env map[string]string) (*types.IDResponse, *types.HijackedResponse, error)
Execute runs the test in the Docker container and attaches to its stdout
func (*Handler) ExecuteAttach ¶ added in v0.25.2
func (handler *Handler) ExecuteAttach(ctx context.Context, containerID string, cmd []string, env map[string]string) (int, string, error)
ExecuteAttach runs the cmd test in the Docker container and catch the given stream to a string.
func (*Handler) ExecuteInspect ¶
ExecuteInspect checks exit code of test
func (*Handler) HasBaseImage ¶
HasBaseImage checks if base image is installed
func (*Handler) IsErrNotFound ¶ added in v0.21.0
IsErrNotFound returns true if the error is a NotFound error, which is returned by the API when some object is not found.
func (*Handler) IsInstalled ¶ added in v0.25.3
IsInstalled checks if docker is installed.
func (*Handler) JobInfoFile ¶ added in v0.28.0
JobInfoFile returns the file containing the job details url for the given image.
func (*Handler) ProjectDir ¶ added in v0.25.0
ProjectDir returns the project directory as is configured for the given image.
func (*Handler) StartContainer ¶
func (handler *Handler) StartContainer(ctx context.Context, options containerStartOptions) (*container.ContainerCreateCreatedBody, error)
StartContainer starts the Docker testrunner container
type PlaywrightRunner ¶ added in v0.25.0
type PlaywrightRunner struct { ContainerRunner Project playwright.Project }
PlaywrightRunner represents the docker implementation of a test runner.
func NewPlaywright ¶ added in v0.25.0
func NewPlaywright(c playwright.Project, ms framework.MetadataService) (*PlaywrightRunner, error)
NewPlaywright creates a new PlaywrightRunner instance.
func (*PlaywrightRunner) RunProject ¶ added in v0.25.0
func (r *PlaywrightRunner) RunProject() (int, error)
RunProject runs the tests defined in config.Project.
type TestcafeRunner ¶ added in v0.29.0
type TestcafeRunner struct { ContainerRunner Project testcafe.Project }
TestcafeRunner represents the docker implementation of a test runner.
func NewTestcafe ¶ added in v0.29.0
func NewTestcafe(c testcafe.Project, ms framework.MetadataService) (*TestcafeRunner, error)
NewTestcafe creates a new TestcafeRunner instance.
func (*TestcafeRunner) RunProject ¶ added in v0.29.0
func (r *TestcafeRunner) RunProject() (int, error)
RunProject runs the tests defined in config.Project.