mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
0bb7d42b03
To help creating/running/… containers using the client for test integration. This should make test more readable and reduce duplication a bit. Usage example ``` // Create a default container named foo id1 := container.Create(t, ctx, client, container.WithName("foo")) // Run a default container with a custom command id2 := container.Run(t, ctx, client, container.WithCmd("echo", "hello world")) ``` Signed-off-by: Vincent Demeester <vincent@sbr.pm>
24 lines
602 B
Go
24 lines
602 B
Go
package container
|
|
|
|
import "github.com/docker/docker/api/types/strslice"
|
|
|
|
// WithName sets the name of the container
|
|
func WithName(name string) func(*TestContainerConfig) {
|
|
return func(c *TestContainerConfig) {
|
|
c.Name = name
|
|
}
|
|
}
|
|
|
|
// WithLinks sets the links of the container
|
|
func WithLinks(links ...string) func(*TestContainerConfig) {
|
|
return func(c *TestContainerConfig) {
|
|
c.HostConfig.Links = links
|
|
}
|
|
}
|
|
|
|
// WithCmd sets the comannds of the container
|
|
func WithCmd(cmds ...string) func(*TestContainerConfig) {
|
|
return func(c *TestContainerConfig) {
|
|
c.Config.Cmd = strslice.StrSlice(cmds)
|
|
}
|
|
}
|