mirror of https://github.com/docker/cli.git
74 lines
2.4 KiB
Go
74 lines
2.4 KiB
Go
package container
|
|
|
|
import (
|
|
"io"
|
|
|
|
"github.com/docker/docker/api/types"
|
|
"github.com/docker/docker/api/types/container"
|
|
"github.com/docker/docker/api/types/network"
|
|
"github.com/docker/docker/client"
|
|
"golang.org/x/net/context"
|
|
)
|
|
|
|
type fakeClient struct {
|
|
client.Client
|
|
inspectFunc func(string) (types.ContainerJSON, error)
|
|
execInspectFunc func(execID string) (types.ContainerExecInspect, error)
|
|
execCreateFunc func(container string, config types.ExecConfig) (types.IDResponse, error)
|
|
createContainerFunc func(config *container.Config, hostConfig *container.HostConfig, networkingConfig *network.NetworkingConfig, containerName string) (container.ContainerCreateCreatedBody, error)
|
|
imageCreateFunc func(parentReference string, options types.ImageCreateOptions) (io.ReadCloser, error)
|
|
infoFunc func() (types.Info, error)
|
|
}
|
|
|
|
func (f *fakeClient) ContainerInspect(_ context.Context, containerID string) (types.ContainerJSON, error) {
|
|
if f.inspectFunc != nil {
|
|
return f.inspectFunc(containerID)
|
|
}
|
|
return types.ContainerJSON{}, nil
|
|
}
|
|
|
|
func (f *fakeClient) ContainerExecCreate(_ context.Context, container string, config types.ExecConfig) (types.IDResponse, error) {
|
|
if f.execCreateFunc != nil {
|
|
return f.execCreateFunc(container, config)
|
|
}
|
|
return types.IDResponse{}, nil
|
|
}
|
|
|
|
func (f *fakeClient) ContainerExecInspect(_ context.Context, execID string) (types.ContainerExecInspect, error) {
|
|
if f.execInspectFunc != nil {
|
|
return f.execInspectFunc(execID)
|
|
}
|
|
return types.ContainerExecInspect{}, nil
|
|
}
|
|
|
|
func (f *fakeClient) ContainerExecStart(ctx context.Context, execID string, config types.ExecStartCheck) error {
|
|
return nil
|
|
}
|
|
|
|
func (f *fakeClient) ContainerCreate(
|
|
_ context.Context,
|
|
config *container.Config,
|
|
hostConfig *container.HostConfig,
|
|
networkingConfig *network.NetworkingConfig,
|
|
containerName string,
|
|
) (container.ContainerCreateCreatedBody, error) {
|
|
if f.createContainerFunc != nil {
|
|
return f.createContainerFunc(config, hostConfig, networkingConfig, containerName)
|
|
}
|
|
return container.ContainerCreateCreatedBody{}, nil
|
|
}
|
|
|
|
func (f *fakeClient) ImageCreate(ctx context.Context, parentReference string, options types.ImageCreateOptions) (io.ReadCloser, error) {
|
|
if f.imageCreateFunc != nil {
|
|
return f.imageCreateFunc(parentReference, options)
|
|
}
|
|
return nil, nil
|
|
}
|
|
|
|
func (f *fakeClient) Info(_ context.Context) (types.Info, error) {
|
|
if f.infoFunc != nil {
|
|
return f.infoFunc()
|
|
}
|
|
return types.Info{}, nil
|
|
}
|