github.com/fabiokung/docker@v0.11.2-0.20170222101415-4534dcd49497/cli/command/node/remove_test.go (about) 1 package node 2 3 import ( 4 "bytes" 5 "fmt" 6 "io/ioutil" 7 "testing" 8 9 "github.com/docker/docker/cli/internal/test" 10 "github.com/docker/docker/pkg/testutil/assert" 11 ) 12 13 func TestNodeRemoveErrors(t *testing.T) { 14 testCases := []struct { 15 args []string 16 nodeRemoveFunc func() error 17 expectedError string 18 }{ 19 { 20 expectedError: "requires at least 1 argument", 21 }, 22 { 23 args: []string{"nodeID"}, 24 nodeRemoveFunc: func() error { 25 return fmt.Errorf("error removing the node") 26 }, 27 expectedError: "error removing the node", 28 }, 29 } 30 for _, tc := range testCases { 31 buf := new(bytes.Buffer) 32 cmd := newRemoveCommand( 33 test.NewFakeCli(&fakeClient{ 34 nodeRemoveFunc: tc.nodeRemoveFunc, 35 }, buf)) 36 cmd.SetArgs(tc.args) 37 cmd.SetOutput(ioutil.Discard) 38 assert.Error(t, cmd.Execute(), tc.expectedError) 39 } 40 } 41 42 func TestNodeRemoveMultiple(t *testing.T) { 43 buf := new(bytes.Buffer) 44 cmd := newRemoveCommand(test.NewFakeCli(&fakeClient{}, buf)) 45 cmd.SetArgs([]string{"nodeID1", "nodeID2"}) 46 assert.NilError(t, cmd.Execute()) 47 }