Files
docker-cli/cli/command/plugin/client_test.go
Sebastiaan van Stijn 4f7c07cfc2 update local code for updated modules
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>
2025-10-24 10:28:54 +02:00

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
}