Documentation ¶
Index ¶
- func Create(ctx context.Context, t *testing.T, client client.APIClient, ...) string
- func CreateExpectingErr(ctx context.Context, t *testing.T, client client.APIClient, errMsg string, ...)
- func GetContainerNS(ctx context.Context, t *testing.T, client client.APIClient, cID, nsName string) string
- func IsInState(ctx context.Context, client client.APIClient, containerID string, ...) func(log poll.LogT) poll.Result
- func IsRemoved(ctx context.Context, cli client.APIClient, containerID string) func(log poll.LogT) poll.Result
- func IsStopped(ctx context.Context, client client.APIClient, containerID string) func(log poll.LogT) poll.Result
- func IsSuccessful(ctx context.Context, client client.APIClient, containerID string) func(log poll.LogT) poll.Result
- func Run(ctx context.Context, t *testing.T, client client.APIClient, ...) string
- func WithAutoRemove(c *TestContainerConfig)
- func WithBind(src, target string) func(*TestContainerConfig)
- func WithCapability(capabilities ...string) func(*TestContainerConfig)
- func WithCgroupnsMode(mode string) func(*TestContainerConfig)
- func WithCmd(cmds ...string) func(*TestContainerConfig)
- func WithConsoleSize(width, height uint) func(*TestContainerConfig)
- func WithDropCapability(capabilities ...string) func(*TestContainerConfig)
- func WithExposedPorts(ports ...string) func(*TestContainerConfig)
- func WithExtraHost(extraHost string) func(*TestContainerConfig)
- func WithIPv4(network, ip string) func(*TestContainerConfig)
- func WithIPv6(network, ip string) func(*TestContainerConfig)
- func WithImage(image string) func(*TestContainerConfig)
- func WithIsolation(isolation containertypes.Isolation) func(*TestContainerConfig)
- func WithLinks(links ...string) func(*TestContainerConfig)
- func WithLogDriver(driver string) func(*TestContainerConfig)
- func WithMount(m mounttypes.Mount) func(*TestContainerConfig)
- func WithName(name string) func(*TestContainerConfig)
- func WithNetworkMode(mode string) func(*TestContainerConfig)
- func WithPidsLimit(limit *int64) func(*TestContainerConfig)
- func WithPlatform(p *specs.Platform) func(*TestContainerConfig)
- func WithPrivileged(privileged bool) func(*TestContainerConfig)
- func WithRestartPolicy(policy string) func(c *TestContainerConfig)
- func WithRuntime(name string) func(*TestContainerConfig)
- func WithSecurityOpt(opt string) func(*TestContainerConfig)
- func WithTmpfs(target string) func(config *TestContainerConfig)
- func WithTty(tty bool) func(*TestContainerConfig)
- func WithUser(user string) func(c *TestContainerConfig)
- func WithVolume(target string) func(*TestContainerConfig)
- func WithWindowsDevice(device string) func(*TestContainerConfig)
- func WithWorkingDir(dir string) func(*TestContainerConfig)
- type ExecResult
- type RunResult
- type TestContainerConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Create ¶
func Create(ctx context.Context, t *testing.T, client client.APIClient, ops ...func(*TestContainerConfig)) string
Create creates a container with the specified options, asserting that there was no error
func CreateExpectingErr ¶
func CreateExpectingErr(ctx context.Context, t *testing.T, client client.APIClient, errMsg string, ops ...func(*TestContainerConfig))
CreateExpectingErr creates a container, expecting an error with the specified message
func GetContainerNS ¶
func GetContainerNS(ctx context.Context, t *testing.T, client client.APIClient, cID, nsName string) string
GetContainerNS gets the value of the specified namespace of a container
func IsInState ¶
func IsInState(ctx context.Context, client client.APIClient, containerID string, state ...string) func(log poll.LogT) poll.Result
IsInState verifies the container is in one of the specified state, e.g., "running", "exited", etc.
func IsRemoved ¶
func IsRemoved(ctx context.Context, cli client.APIClient, containerID string) func(log poll.LogT) poll.Result
IsRemoved verifies the container has been removed
func IsStopped ¶
func IsStopped(ctx context.Context, client client.APIClient, containerID string) func(log poll.LogT) poll.Result
IsStopped verifies the container is in stopped state.
func IsSuccessful ¶
func IsSuccessful(ctx context.Context, client client.APIClient, containerID string) func(log poll.LogT) poll.Result
IsSuccessful verifies state.Status == "exited" && state.ExitCode == 0
func Run ¶
func Run(ctx context.Context, t *testing.T, client client.APIClient, ops ...func(*TestContainerConfig)) string
Run creates and start a container with the specified options
func WithAutoRemove ¶
func WithAutoRemove(c *TestContainerConfig)
WithAutoRemove sets the container to be removed on exit
func WithBind ¶
func WithBind(src, target string) func(*TestContainerConfig)
WithBind sets the bind mount of the container
func WithCapability ¶
func WithCapability(capabilities ...string) func(*TestContainerConfig)
func WithCgroupnsMode ¶
func WithCgroupnsMode(mode string) func(*TestContainerConfig)
WithCgroupnsMode sets the cgroup namespace mode for the container
func WithCmd ¶
func WithCmd(cmds ...string) func(*TestContainerConfig)
WithCmd sets the comannds of the container
func WithConsoleSize ¶
func WithConsoleSize(width, height uint) func(*TestContainerConfig)
WithConsoleSize sets the initial console size of the container
func WithDropCapability ¶
func WithDropCapability(capabilities ...string) func(*TestContainerConfig)
func WithExposedPorts ¶
func WithExposedPorts(ports ...string) func(*TestContainerConfig)
WithExposedPorts sets the exposed ports of the container
func WithExtraHost ¶
func WithExtraHost(extraHost string) func(*TestContainerConfig)
WithExtraHost sets the user defined IP:Host mappings in the container's /etc/hosts file
func WithIPv4 ¶
func WithIPv4(network, ip string) func(*TestContainerConfig)
WithIPv4 sets the specified ip for the specified network of the container
func WithIPv6 ¶
func WithIPv6(network, ip string) func(*TestContainerConfig)
WithIPv6 sets the specified ip6 for the specified network of the container
func WithImage ¶
func WithImage(image string) func(*TestContainerConfig)
WithImage sets the image of the container
func WithIsolation ¶
func WithIsolation(isolation containertypes.Isolation) func(*TestContainerConfig)
WithIsolation specifies the isolation technology to apply to the container
func WithLinks ¶
func WithLinks(links ...string) func(*TestContainerConfig)
WithLinks sets the links of the container
func WithLogDriver ¶
func WithLogDriver(driver string) func(*TestContainerConfig)
WithLogDriver sets the log driver to use for the container
func WithMount ¶
func WithMount(m mounttypes.Mount) func(*TestContainerConfig)
WithMount adds an mount
func WithName ¶
func WithName(name string) func(*TestContainerConfig)
WithName sets the name of the container
func WithNetworkMode ¶
func WithNetworkMode(mode string) func(*TestContainerConfig)
WithNetworkMode sets the network mode of the container
func WithPidsLimit ¶
func WithPidsLimit(limit *int64) func(*TestContainerConfig)
WithPidsLimit sets the container's "pids-limit
func WithPlatform ¶
func WithPlatform(p *specs.Platform) func(*TestContainerConfig)
WithPlatform specifies the desired platform the image should have.
func WithPrivileged ¶
func WithPrivileged(privileged bool) func(*TestContainerConfig)
WithPrivileged sets privileged mode for the container
func WithRestartPolicy ¶
func WithRestartPolicy(policy string) func(c *TestContainerConfig)
WithRestartPolicy sets container's restart policy
func WithRuntime ¶
func WithRuntime(name string) func(*TestContainerConfig)
WithRuntime sets the runtime to use to start the container
func WithSecurityOpt ¶
func WithSecurityOpt(opt string) func(*TestContainerConfig)
func WithTmpfs ¶
func WithTmpfs(target string) func(config *TestContainerConfig)
WithTmpfs sets a target path in the container to a tmpfs
func WithTty ¶
func WithTty(tty bool) func(*TestContainerConfig)
WithTty sets the TTY mode of the container
func WithVolume ¶
func WithVolume(target string) func(*TestContainerConfig)
WithVolume sets the volume of the container
func WithWindowsDevice ¶
func WithWindowsDevice(device string) func(*TestContainerConfig)
WithWindowsDevice specifies a Windows Device, ala `--device` on the CLI
func WithWorkingDir ¶
func WithWorkingDir(dir string) func(*TestContainerConfig)
WithWorkingDir sets the working dir of the container
Types ¶
type ExecResult ¶
type ExecResult struct { ExitCode int // contains filtered or unexported fields }
ExecResult represents a result returned from Exec()
func Exec ¶
func Exec(ctx context.Context, cli client.APIClient, id string, cmd []string, ops ...func(*types.ExecConfig)) (ExecResult, error)
Exec executes a command inside a container, returning the result containing stdout, stderr, and exit code. Note:
- this is a synchronous operation;
- cmd stdin is closed.
func (*ExecResult) Combined ¶
func (res *ExecResult) Combined() string
Combined returns combined stdout and stderr output of a command run by Exec()
func (*ExecResult) Stderr ¶
func (res *ExecResult) Stderr() string
Stderr returns stderr output of a command run by Exec()
func (*ExecResult) Stdout ¶
func (res *ExecResult) Stdout() string
Stdout returns stdout output of a command run by Exec()
type TestContainerConfig ¶
type TestContainerConfig struct { Name string Config *container.Config HostConfig *container.HostConfig NetworkingConfig *network.NetworkingConfig Platform *specs.Platform }
TestContainerConfig holds container configuration struct that are used in api calls.