github.com/kaisenlinux/docker.io@v0.0.0-20230510090727-ea55db55fac7/libnetwork/client/client_service_test.go (about) 1 package client 2 3 import ( 4 "bytes" 5 "testing" 6 7 _ "github.com/docker/libnetwork/testutils" 8 ) 9 10 func TestClientServiceInvalidCommand(t *testing.T) { 11 var out, errOut bytes.Buffer 12 cli := NewNetworkCli(&out, &errOut, callbackFunc) 13 14 err := cli.Cmd("docker", "service", "invalid") 15 if err == nil { 16 t.Fatal("Passing invalid commands must fail") 17 } 18 } 19 20 func TestClientServiceCreate(t *testing.T) { 21 var out, errOut bytes.Buffer 22 cli := NewNetworkCli(&out, &errOut, callbackFunc) 23 24 err := cli.Cmd("docker", "service", "publish", mockServiceName+"."+mockNwName) 25 if err != nil { 26 t.Fatal(err) 27 } 28 } 29 30 func TestClientServiceRm(t *testing.T) { 31 var out, errOut bytes.Buffer 32 cli := NewNetworkCli(&out, &errOut, callbackFunc) 33 34 err := cli.Cmd("docker", "service", "unpublish", mockServiceName+"."+mockNwName) 35 if err != nil { 36 t.Fatal(err) 37 } 38 } 39 40 func TestClientServiceLs(t *testing.T) { 41 var out, errOut bytes.Buffer 42 cli := NewNetworkCli(&out, &errOut, callbackFunc) 43 44 err := cli.Cmd("docker", "service", "ls") 45 if err != nil { 46 t.Fatal(err) 47 } 48 } 49 50 func TestClientServiceInfo(t *testing.T) { 51 var out, errOut bytes.Buffer 52 cli := NewNetworkCli(&out, &errOut, callbackFunc) 53 54 err := cli.Cmd("docker", "service", "info", mockServiceName+"."+mockNwName) 55 if err != nil { 56 t.Fatal(err) 57 } 58 } 59 60 func TestClientServiceInfoById(t *testing.T) { 61 var out, errOut bytes.Buffer 62 cli := NewNetworkCli(&out, &errOut, callbackFunc) 63 64 err := cli.Cmd("docker", "service", "info", mockServiceID+"."+mockNwName) 65 if err != nil { 66 t.Fatal(err) 67 } 68 } 69 70 func TestClientServiceJoin(t *testing.T) { 71 var out, errOut bytes.Buffer 72 cli := NewNetworkCli(&out, &errOut, callbackFunc) 73 74 err := cli.Cmd("docker", "service", "attach", mockContainerID, mockServiceName+"."+mockNwName) 75 if err != nil { 76 t.Fatal(err) 77 } 78 } 79 80 func TestClientServiceLeave(t *testing.T) { 81 var out, errOut bytes.Buffer 82 cli := NewNetworkCli(&out, &errOut, callbackFunc) 83 84 err := cli.Cmd("docker", "service", "detach", mockContainerID, mockServiceName+"."+mockNwName) 85 if err != nil { 86 t.Fatal(err) 87 } 88 } 89 90 // Docker Flag processing in flag.go uses os.Exit() frequently, even for --help 91 // TODO : Handle the --help test-case in the IT when CLI is available 92 /* 93 func TestClientNetworkServiceCreateHelp(t *testing.T) { 94 var out, errOut bytes.Buffer 95 cFunc := func(method, path string, data interface{}, headers map[string][]string) (io.ReadCloser, int, error) { 96 return nil, 0, nil 97 } 98 cli := NewNetworkCli(&out, &errOut, callbackFunc) 99 100 err := cli.Cmd("docker", "network", "create", "--help") 101 if err != nil { 102 t.Fatalf(err.Error()) 103 } 104 } 105 */ 106 107 // Docker flag processing in flag.go uses os.Exit(1) for incorrect parameter case. 108 // TODO : Handle the missing argument case in the IT when CLI is available 109 /* 110 func TestClientNetworkServiceCreateMissingArgument(t *testing.T) { 111 var out, errOut bytes.Buffer 112 cFunc := func(method, path string, data interface{}, headers map[string][]string) (io.ReadCloser, int, error) { 113 return nil, 0, nil 114 } 115 cli := NewNetworkCli(&out, &errOut, callbackFunc) 116 117 err := cli.Cmd("docker", "network", "create") 118 if err != nil { 119 t.Fatal(err.Error()) 120 } 121 } 122 */