client_test.go 1.0 KB

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