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  }