mirror of https://github.com/docker/cli.git
106 lines
3.5 KiB
Go
106 lines
3.5 KiB
Go
package engine
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/containerd/containerd"
|
|
registryclient "github.com/docker/cli/cli/registry/client"
|
|
"github.com/docker/cli/internal/containerizedengine"
|
|
"github.com/docker/docker/api/types"
|
|
)
|
|
|
|
type (
|
|
fakeContainerizedEngineClient struct {
|
|
closeFunc func() error
|
|
activateEngineFunc func(ctx context.Context,
|
|
opts containerizedengine.EngineInitOptions,
|
|
out containerizedengine.OutStream,
|
|
authConfig *types.AuthConfig,
|
|
healthfn func(context.Context) error) error
|
|
initEngineFunc func(ctx context.Context,
|
|
opts containerizedengine.EngineInitOptions,
|
|
out containerizedengine.OutStream,
|
|
authConfig *types.AuthConfig,
|
|
healthfn func(context.Context) error) error
|
|
doUpdateFunc func(ctx context.Context,
|
|
opts containerizedengine.EngineInitOptions,
|
|
out containerizedengine.OutStream,
|
|
authConfig *types.AuthConfig,
|
|
healthfn func(context.Context) error) error
|
|
getEngineVersionsFunc func(ctx context.Context,
|
|
registryClient registryclient.RegistryClient,
|
|
currentVersion,
|
|
imageName string) (containerizedengine.AvailableVersions, error)
|
|
|
|
getEngineFunc func(ctx context.Context) (containerd.Container, error)
|
|
removeEngineFunc func(ctx context.Context, engine containerd.Container) error
|
|
getCurrentEngineVersionFunc func(ctx context.Context) (containerizedengine.EngineInitOptions, error)
|
|
}
|
|
)
|
|
|
|
func (w *fakeContainerizedEngineClient) Close() error {
|
|
if w.closeFunc != nil {
|
|
return w.closeFunc()
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (w *fakeContainerizedEngineClient) ActivateEngine(ctx context.Context,
|
|
opts containerizedengine.EngineInitOptions,
|
|
out containerizedengine.OutStream,
|
|
authConfig *types.AuthConfig,
|
|
healthfn func(context.Context) error) error {
|
|
if w.activateEngineFunc != nil {
|
|
return w.activateEngineFunc(ctx, opts, out, authConfig, healthfn)
|
|
}
|
|
return nil
|
|
}
|
|
func (w *fakeContainerizedEngineClient) InitEngine(ctx context.Context,
|
|
opts containerizedengine.EngineInitOptions,
|
|
out containerizedengine.OutStream,
|
|
authConfig *types.AuthConfig,
|
|
healthfn func(context.Context) error) error {
|
|
if w.initEngineFunc != nil {
|
|
return w.initEngineFunc(ctx, opts, out, authConfig, healthfn)
|
|
}
|
|
return nil
|
|
}
|
|
func (w *fakeContainerizedEngineClient) DoUpdate(ctx context.Context,
|
|
opts containerizedengine.EngineInitOptions,
|
|
out containerizedengine.OutStream,
|
|
authConfig *types.AuthConfig,
|
|
healthfn func(context.Context) error) error {
|
|
if w.doUpdateFunc != nil {
|
|
return w.doUpdateFunc(ctx, opts, out, authConfig, healthfn)
|
|
}
|
|
return nil
|
|
}
|
|
func (w *fakeContainerizedEngineClient) GetEngineVersions(ctx context.Context,
|
|
registryClient registryclient.RegistryClient,
|
|
currentVersion, imageName string) (containerizedengine.AvailableVersions, error) {
|
|
|
|
if w.getEngineVersionsFunc != nil {
|
|
return w.getEngineVersionsFunc(ctx, registryClient, currentVersion, imageName)
|
|
}
|
|
return containerizedengine.AvailableVersions{}, nil
|
|
}
|
|
|
|
func (w *fakeContainerizedEngineClient) GetEngine(ctx context.Context) (containerd.Container, error) {
|
|
if w.getEngineFunc != nil {
|
|
return w.getEngineFunc(ctx)
|
|
}
|
|
return nil, nil
|
|
}
|
|
func (w *fakeContainerizedEngineClient) RemoveEngine(ctx context.Context, engine containerd.Container) error {
|
|
if w.removeEngineFunc != nil {
|
|
return w.removeEngineFunc(ctx, engine)
|
|
}
|
|
return nil
|
|
}
|
|
func (w *fakeContainerizedEngineClient) GetCurrentEngineVersion(ctx context.Context) (containerizedengine.EngineInitOptions, error) {
|
|
if w.getCurrentEngineVersionFunc != nil {
|
|
return w.getCurrentEngineVersionFunc(ctx)
|
|
}
|
|
return containerizedengine.EngineInitOptions{}, nil
|
|
}
|