github.com/flavio/docker@v0.1.3-0.20170117145210-f63d1a6eec47/cli/command/swarm/client_test.go (about) 1 package swarm 2 3 import ( 4 "github.com/docker/docker/api/types" 5 "github.com/docker/docker/api/types/swarm" 6 "github.com/docker/docker/client" 7 "golang.org/x/net/context" 8 ) 9 10 type fakeClient struct { 11 client.Client 12 infoFunc func() (types.Info, error) 13 swarmInitFunc func() (string, error) 14 swarmInspectFunc func() (swarm.Swarm, error) 15 nodeInspectFunc func() (swarm.Node, []byte, error) 16 swarmGetUnlockKeyFunc func() (types.SwarmUnlockKeyResponse, error) 17 swarmJoinFunc func() error 18 swarmLeaveFunc func() error 19 swarmUpdateFunc func(swarm swarm.Spec, flags swarm.UpdateFlags) error 20 swarmUnlockFunc func(req swarm.UnlockRequest) error 21 } 22 23 func (cli *fakeClient) Info(ctx context.Context) (types.Info, error) { 24 if cli.infoFunc != nil { 25 return cli.infoFunc() 26 } 27 return types.Info{}, nil 28 } 29 30 func (cli *fakeClient) NodeInspectWithRaw(ctx context.Context, ref string) (swarm.Node, []byte, error) { 31 if cli.nodeInspectFunc != nil { 32 return cli.nodeInspectFunc() 33 } 34 return swarm.Node{}, []byte{}, nil 35 } 36 37 func (cli *fakeClient) SwarmInit(ctx context.Context, req swarm.InitRequest) (string, error) { 38 if cli.swarmInitFunc != nil { 39 return cli.swarmInitFunc() 40 } 41 return "", nil 42 } 43 44 func (cli *fakeClient) SwarmInspect(ctx context.Context) (swarm.Swarm, error) { 45 if cli.swarmInspectFunc != nil { 46 return cli.swarmInspectFunc() 47 } 48 return swarm.Swarm{}, nil 49 } 50 51 func (cli *fakeClient) SwarmGetUnlockKey(ctx context.Context) (types.SwarmUnlockKeyResponse, error) { 52 if cli.swarmGetUnlockKeyFunc != nil { 53 return cli.swarmGetUnlockKeyFunc() 54 } 55 return types.SwarmUnlockKeyResponse{}, nil 56 } 57 58 func (cli *fakeClient) SwarmJoin(ctx context.Context, req swarm.JoinRequest) error { 59 if cli.swarmJoinFunc != nil { 60 return cli.swarmJoinFunc() 61 } 62 return nil 63 } 64 65 func (cli *fakeClient) SwarmLeave(ctx context.Context, force bool) error { 66 if cli.swarmLeaveFunc != nil { 67 return cli.swarmLeaveFunc() 68 } 69 return nil 70 } 71 72 func (cli *fakeClient) SwarmUpdate(ctx context.Context, version swarm.Version, swarm swarm.Spec, flags swarm.UpdateFlags) error { 73 if cli.swarmUpdateFunc != nil { 74 return cli.swarmUpdateFunc(swarm, flags) 75 } 76 return nil 77 } 78 79 func (cli *fakeClient) SwarmUnlock(ctx context.Context, req swarm.UnlockRequest) error { 80 if cli.swarmUnlockFunc != nil { 81 return cli.swarmUnlockFunc(req) 82 } 83 return nil 84 }