mirror of https://github.com/docker/cli.git
73 lines
2.3 KiB
Go
73 lines
2.3 KiB
Go
package plugin
|
|
|
|
import (
|
|
"context"
|
|
"io"
|
|
|
|
"github.com/docker/docker/api/types"
|
|
"github.com/docker/docker/api/types/filters"
|
|
"github.com/docker/docker/client"
|
|
)
|
|
|
|
type fakeClient struct {
|
|
client.Client
|
|
pluginCreateFunc func(createContext io.Reader, createOptions types.PluginCreateOptions) error
|
|
pluginDisableFunc func(name string, disableOptions types.PluginDisableOptions) error
|
|
pluginEnableFunc func(name string, options types.PluginEnableOptions) error
|
|
pluginRemoveFunc func(name string, options types.PluginRemoveOptions) error
|
|
pluginInstallFunc func(name string, options types.PluginInstallOptions) (io.ReadCloser, error)
|
|
pluginListFunc func(filter filters.Args) (types.PluginsListResponse, error)
|
|
pluginInspectFunc func(name string) (*types.Plugin, []byte, error)
|
|
}
|
|
|
|
func (c *fakeClient) PluginCreate(ctx context.Context, createContext io.Reader, createOptions types.PluginCreateOptions) error {
|
|
if c.pluginCreateFunc != nil {
|
|
return c.pluginCreateFunc(createContext, createOptions)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (c *fakeClient) PluginEnable(ctx context.Context, name string, enableOptions types.PluginEnableOptions) error {
|
|
if c.pluginEnableFunc != nil {
|
|
return c.pluginEnableFunc(name, enableOptions)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (c *fakeClient) PluginDisable(context context.Context, name string, disableOptions types.PluginDisableOptions) error {
|
|
if c.pluginDisableFunc != nil {
|
|
return c.pluginDisableFunc(name, disableOptions)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (c *fakeClient) PluginRemove(context context.Context, name string, removeOptions types.PluginRemoveOptions) error {
|
|
if c.pluginRemoveFunc != nil {
|
|
return c.pluginRemoveFunc(name, removeOptions)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (c *fakeClient) PluginInstall(context context.Context, name string, installOptions types.PluginInstallOptions) (io.ReadCloser, error) {
|
|
if c.pluginInstallFunc != nil {
|
|
return c.pluginInstallFunc(name, installOptions)
|
|
}
|
|
return nil, nil
|
|
}
|
|
|
|
func (c *fakeClient) PluginList(context context.Context, filter filters.Args) (types.PluginsListResponse, error) {
|
|
if c.pluginListFunc != nil {
|
|
return c.pluginListFunc(filter)
|
|
}
|
|
|
|
return types.PluginsListResponse{}, nil
|
|
}
|
|
|
|
func (c *fakeClient) PluginInspectWithRaw(ctx context.Context, name string) (*types.Plugin, []byte, error) {
|
|
if c.pluginInspectFunc != nil {
|
|
return c.pluginInspectFunc(name)
|
|
}
|
|
|
|
return nil, nil, nil
|
|
}
|