Some tests had to be skipped as there's some issues to address, and some of the result-types cannot be mocked / stubbed. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
83 lines
3.1 KiB
Go
83 lines
3.1 KiB
Go
package plugin
|
|
|
|
import (
|
|
"context"
|
|
"io"
|
|
|
|
"github.com/moby/moby/api/types/system"
|
|
"github.com/moby/moby/client"
|
|
)
|
|
|
|
type fakeClient struct {
|
|
client.Client
|
|
pluginCreateFunc func(createContext io.Reader, options client.PluginCreateOptions) (client.PluginCreateResult, error)
|
|
pluginDisableFunc func(name string, options client.PluginDisableOptions) (client.PluginDisableResult, error)
|
|
pluginEnableFunc func(name string, options client.PluginEnableOptions) (client.PluginEnableResult, error)
|
|
pluginRemoveFunc func(name string, options client.PluginRemoveOptions) (client.PluginRemoveResult, error)
|
|
pluginInstallFunc func(name string, options client.PluginInstallOptions) (client.PluginInstallResult, error)
|
|
pluginListFunc func(options client.PluginListOptions) (client.PluginListResult, error)
|
|
pluginInspectFunc func(name string) (client.PluginInspectResult, error)
|
|
pluginUpgradeFunc func(name string, options client.PluginUpgradeOptions) (client.PluginUpgradeResult, error)
|
|
}
|
|
|
|
func (c *fakeClient) PluginCreate(_ context.Context, createContext io.Reader, options client.PluginCreateOptions) (client.PluginCreateResult, error) {
|
|
if c.pluginCreateFunc != nil {
|
|
return c.pluginCreateFunc(createContext, options)
|
|
}
|
|
return client.PluginCreateResult{}, nil
|
|
}
|
|
|
|
func (c *fakeClient) PluginEnable(_ context.Context, name string, options client.PluginEnableOptions) (client.PluginEnableResult, error) {
|
|
if c.pluginEnableFunc != nil {
|
|
return c.pluginEnableFunc(name, options)
|
|
}
|
|
return client.PluginEnableResult{}, nil
|
|
}
|
|
|
|
func (c *fakeClient) PluginDisable(_ context.Context, name string, options client.PluginDisableOptions) (client.PluginDisableResult, error) {
|
|
if c.pluginDisableFunc != nil {
|
|
return c.pluginDisableFunc(name, options)
|
|
}
|
|
return client.PluginDisableResult{}, nil
|
|
}
|
|
|
|
func (c *fakeClient) PluginRemove(_ context.Context, name string, options client.PluginRemoveOptions) (client.PluginRemoveResult, error) {
|
|
if c.pluginRemoveFunc != nil {
|
|
return c.pluginRemoveFunc(name, options)
|
|
}
|
|
return client.PluginRemoveResult{}, nil
|
|
}
|
|
|
|
func (c *fakeClient) PluginInstall(_ context.Context, name string, options client.PluginInstallOptions) (client.PluginInstallResult, error) {
|
|
if c.pluginInstallFunc != nil {
|
|
return c.pluginInstallFunc(name, options)
|
|
}
|
|
return client.PluginInstallResult{}, nil
|
|
}
|
|
|
|
func (c *fakeClient) PluginList(_ context.Context, options client.PluginListOptions) (client.PluginListResult, error) {
|
|
if c.pluginListFunc != nil {
|
|
return c.pluginListFunc(options)
|
|
}
|
|
return client.PluginListResult{}, nil
|
|
}
|
|
|
|
func (c *fakeClient) PluginInspect(_ context.Context, name string, _ client.PluginInspectOptions) (client.PluginInspectResult, error) {
|
|
if c.pluginInspectFunc != nil {
|
|
return c.pluginInspectFunc(name)
|
|
}
|
|
return client.PluginInspectResult{}, nil
|
|
}
|
|
|
|
func (*fakeClient) Info(context.Context) (system.Info, error) {
|
|
return system.Info{}, nil
|
|
}
|
|
|
|
func (c *fakeClient) PluginUpgrade(_ context.Context, name string, options client.PluginUpgradeOptions) (client.PluginUpgradeResult, error) {
|
|
if c.pluginUpgradeFunc != nil {
|
|
return c.pluginUpgradeFunc(name, options)
|
|
}
|
|
// FIXME(thaJeztah): how to mock this?
|
|
return nil, nil
|
|
}
|