88 lines
2.8 KiB
Go
88 lines
2.8 KiB
Go
package swarm
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/moby/moby/api/types/system"
|
|
"github.com/moby/moby/client"
|
|
)
|
|
|
|
type fakeClient struct {
|
|
client.Client
|
|
infoFunc func() (system.Info, error)
|
|
swarmInitFunc func(client.SwarmInitOptions) (client.SwarmInitResult, error)
|
|
swarmInspectFunc func() (client.SwarmInspectResult, error)
|
|
nodeInspectFunc func() (client.NodeInspectResult, error)
|
|
swarmGetUnlockKeyFunc func() (client.SwarmGetUnlockKeyResult, error)
|
|
swarmJoinFunc func() (client.SwarmJoinResult, error)
|
|
swarmLeaveFunc func() (client.SwarmLeaveResult, error)
|
|
swarmUpdateFunc func(client.SwarmUpdateOptions) (client.SwarmUpdateResult, error)
|
|
swarmUnlockFunc func(client.SwarmUnlockOptions) (client.SwarmUnlockResult, error)
|
|
}
|
|
|
|
func (cli *fakeClient) Info(context.Context, client.InfoOptions) (client.SystemInfoResult, error) {
|
|
if cli.infoFunc != nil {
|
|
inf, err := cli.infoFunc()
|
|
return client.SystemInfoResult{
|
|
Info: inf,
|
|
}, err
|
|
}
|
|
return client.SystemInfoResult{}, nil
|
|
}
|
|
|
|
func (cli *fakeClient) NodeInspect(context.Context, string, client.NodeInspectOptions) (client.NodeInspectResult, error) {
|
|
if cli.nodeInspectFunc != nil {
|
|
return cli.nodeInspectFunc()
|
|
}
|
|
return client.NodeInspectResult{}, nil
|
|
}
|
|
|
|
func (cli *fakeClient) SwarmInit(_ context.Context, options client.SwarmInitOptions) (client.SwarmInitResult, error) {
|
|
if cli.swarmInitFunc != nil {
|
|
return cli.swarmInitFunc(options)
|
|
}
|
|
return client.SwarmInitResult{}, nil
|
|
}
|
|
|
|
func (cli *fakeClient) SwarmInspect(context.Context, client.SwarmInspectOptions) (client.SwarmInspectResult, error) {
|
|
if cli.swarmInspectFunc != nil {
|
|
return cli.swarmInspectFunc()
|
|
}
|
|
return client.SwarmInspectResult{}, nil
|
|
}
|
|
|
|
func (cli *fakeClient) SwarmGetUnlockKey(ctx context.Context) (client.SwarmGetUnlockKeyResult, error) {
|
|
if cli.swarmGetUnlockKeyFunc != nil {
|
|
return cli.swarmGetUnlockKeyFunc()
|
|
}
|
|
return client.SwarmGetUnlockKeyResult{}, nil
|
|
}
|
|
|
|
func (cli *fakeClient) SwarmJoin(context.Context, client.SwarmJoinOptions) (client.SwarmJoinResult, error) {
|
|
if cli.swarmJoinFunc != nil {
|
|
return cli.swarmJoinFunc()
|
|
}
|
|
return client.SwarmJoinResult{}, nil
|
|
}
|
|
|
|
func (cli *fakeClient) SwarmLeave(context.Context, client.SwarmLeaveOptions) (client.SwarmLeaveResult, error) {
|
|
if cli.swarmLeaveFunc != nil {
|
|
return cli.swarmLeaveFunc()
|
|
}
|
|
return client.SwarmLeaveResult{}, nil
|
|
}
|
|
|
|
func (cli *fakeClient) SwarmUpdate(_ context.Context, options client.SwarmUpdateOptions) (client.SwarmUpdateResult, error) {
|
|
if cli.swarmUpdateFunc != nil {
|
|
return cli.swarmUpdateFunc(options)
|
|
}
|
|
return client.SwarmUpdateResult{}, nil
|
|
}
|
|
|
|
func (cli *fakeClient) SwarmUnlock(_ context.Context, options client.SwarmUnlockOptions) (client.SwarmUnlockResult, error) {
|
|
if cli.swarmUnlockFunc != nil {
|
|
return cli.swarmUnlockFunc(options)
|
|
}
|
|
return client.SwarmUnlockResult{}, nil
|
|
}
|