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