github.com/walkingsparrow/docker@v1.4.2-0.20151218153551-b708a2249bfa/api/client/lib/client_test.go (about) 1 package lib 2 3 import ( 4 "net/url" 5 "testing" 6 ) 7 8 func TestGetAPIPath(t *testing.T) { 9 cases := []struct { 10 v string 11 p string 12 q url.Values 13 e string 14 }{ 15 {"", "/containers/json", nil, "/containers/json"}, 16 {"", "/containers/json", url.Values{}, "/containers/json"}, 17 {"", "/containers/json", url.Values{"s": []string{"c"}}, "/containers/json?s=c"}, 18 {"1.22", "/containers/json", nil, "/v1.22/containers/json"}, 19 {"1.22", "/containers/json", url.Values{}, "/v1.22/containers/json"}, 20 {"1.22", "/containers/json", url.Values{"s": []string{"c"}}, "/v1.22/containers/json?s=c"}, 21 {"v1.22", "/containers/json", nil, "/v1.22/containers/json"}, 22 {"v1.22", "/containers/json", url.Values{}, "/v1.22/containers/json"}, 23 {"v1.22", "/containers/json", url.Values{"s": []string{"c"}}, "/v1.22/containers/json?s=c"}, 24 } 25 26 for _, cs := range cases { 27 c, err := NewClient("unix:///var/run/docker.sock", cs.v, nil, nil) 28 if err != nil { 29 t.Fatal(err) 30 } 31 g := c.getAPIPath(cs.p, cs.q) 32 if g != cs.e { 33 t.Fatalf("Expected %s, got %s", cs.e, g) 34 } 35 } 36 }