refactor testapi and test scripts to prepare for multiple API groups.

This commit is contained in:
Chao Xu
2015-09-04 00:06:01 -07:00
parent 49702f9059
commit 9fc79e9d99
109 changed files with 1010 additions and 714 deletions

View File

@@ -35,8 +35,8 @@ func TestSetsCodec(t *testing.T) {
Prefix string
Codec runtime.Codec
}{
testapi.Version(): {false, "/api/" + testapi.Version() + "/", testapi.Codec()},
"invalidVersion": {true, "", nil},
testapi.Default.Version(): {false, "/api/" + testapi.Default.Version() + "/", testapi.Default.Codec()},
"invalidVersion": {true, "", nil},
}
for version, expected := range testCases {
client, err := New(&Config{Host: "127.0.0.1", Version: version})
@@ -60,13 +60,13 @@ func TestSetsCodec(t *testing.T) {
}
func TestRESTClientRequires(t *testing.T) {
if _, err := RESTClientFor(&Config{Host: "127.0.0.1", Version: "", Codec: testapi.Codec()}); err == nil {
if _, err := RESTClientFor(&Config{Host: "127.0.0.1", Version: "", Codec: testapi.Default.Codec()}); err == nil {
t.Errorf("unexpected non-error")
}
if _, err := RESTClientFor(&Config{Host: "127.0.0.1", Version: testapi.Version()}); err == nil {
if _, err := RESTClientFor(&Config{Host: "127.0.0.1", Version: testapi.Default.Version()}); err == nil {
t.Errorf("unexpected non-error")
}
if _, err := RESTClientFor(&Config{Host: "127.0.0.1", Version: testapi.Version(), Codec: testapi.Codec()}); err != nil {
if _, err := RESTClientFor(&Config{Host: "127.0.0.1", Version: testapi.Default.Version(), Codec: testapi.Default.Codec()}); err != nil {
t.Errorf("unexpected error: %v", err)
}
}
@@ -79,17 +79,17 @@ func TestValidatesHostParameter(t *testing.T) {
URL string
Err bool
}{
{"127.0.0.1", "", "http://127.0.0.1/" + testapi.Version() + "/", false},
{"127.0.0.1:8080", "", "http://127.0.0.1:8080/" + testapi.Version() + "/", false},
{"foo.bar.com", "", "http://foo.bar.com/" + testapi.Version() + "/", false},
{"http://host/prefix", "", "http://host/prefix/" + testapi.Version() + "/", false},
{"http://host", "", "http://host/" + testapi.Version() + "/", false},
{"http://host", "/", "http://host/" + testapi.Version() + "/", false},
{"http://host", "/other", "http://host/other/" + testapi.Version() + "/", false},
{"127.0.0.1", "", "http://127.0.0.1/" + testapi.Default.Version() + "/", false},
{"127.0.0.1:8080", "", "http://127.0.0.1:8080/" + testapi.Default.Version() + "/", false},
{"foo.bar.com", "", "http://foo.bar.com/" + testapi.Default.Version() + "/", false},
{"http://host/prefix", "", "http://host/prefix/" + testapi.Default.Version() + "/", false},
{"http://host", "", "http://host/" + testapi.Default.Version() + "/", false},
{"http://host", "/", "http://host/" + testapi.Default.Version() + "/", false},
{"http://host", "/other", "http://host/other/" + testapi.Default.Version() + "/", false},
{"host/server", "", "", true},
}
for i, testCase := range testCases {
c, err := RESTClientFor(&Config{Host: testCase.Host, Prefix: testCase.Prefix, Version: testapi.Version(), Codec: testapi.Codec()})
c, err := RESTClientFor(&Config{Host: testCase.Host, Prefix: testCase.Prefix, Version: testapi.Default.Version(), Codec: testapi.Default.Codec()})
switch {
case err == nil && testCase.Err:
t.Errorf("expected error but was nil")
@@ -120,8 +120,8 @@ func TestDoRequestBearer(t *testing.T) {
request, _ := http.NewRequest("GET", testServer.URL, nil)
c, err := RESTClientFor(&Config{
Host: testServer.URL,
Version: testapi.Version(),
Codec: testapi.Codec(),
Version: testapi.Default.Version(),
Codec: testapi.Default.Codec(),
BearerToken: "test",
})
if err != nil {
@@ -148,8 +148,8 @@ func TestDoRequestWithoutPassword(t *testing.T) {
defer testServer.Close()
c, err := RESTClientFor(&Config{
Host: testServer.URL,
Version: testapi.Version(),
Codec: testapi.Codec(),
Version: testapi.Default.Version(),
Codec: testapi.Default.Codec(),
Username: "test",
})
if err != nil {
@@ -172,7 +172,7 @@ func TestDoRequestWithoutPassword(t *testing.T) {
if body != nil {
t.Errorf("Expected nil body, but saw: '%s'", string(body))
}
fakeHandler.ValidateRequest(t, "/"+testapi.Version()+"/test", "GET", nil)
fakeHandler.ValidateRequest(t, "/"+testapi.Default.Version()+"/test", "GET", nil)
}
func TestDoRequestSuccess(t *testing.T) {
@@ -187,8 +187,8 @@ func TestDoRequestSuccess(t *testing.T) {
defer testServer.Close()
c, err := RESTClientFor(&Config{
Host: testServer.URL,
Version: testapi.Version(),
Codec: testapi.Codec(),
Version: testapi.Default.Version(),
Codec: testapi.Default.Codec(),
Username: "user",
Password: "pass",
})
@@ -209,7 +209,7 @@ func TestDoRequestSuccess(t *testing.T) {
if !reflect.DeepEqual(status, statusOut) {
t.Errorf("Unexpected mis-match. Expected %#v. Saw %#v", status, statusOut)
}
fakeHandler.ValidateRequest(t, "/"+testapi.Version()+"/test", "GET", nil)
fakeHandler.ValidateRequest(t, "/"+testapi.Default.Version()+"/test", "GET", nil)
}
func TestDoRequestFailed(t *testing.T) {
@@ -230,8 +230,8 @@ func TestDoRequestFailed(t *testing.T) {
defer testServer.Close()
c, err := RESTClientFor(&Config{
Host: testServer.URL,
Version: testapi.Version(),
Codec: testapi.Codec(),
Version: testapi.Default.Version(),
Codec: testapi.Default.Codec(),
})
if err != nil {
t.Fatalf("unexpected error: %v", err)
@@ -262,8 +262,8 @@ func TestDoRequestCreated(t *testing.T) {
defer testServer.Close()
c, err := RESTClientFor(&Config{
Host: testServer.URL,
Version: testapi.Version(),
Codec: testapi.Codec(),
Version: testapi.Default.Version(),
Codec: testapi.Default.Codec(),
Username: "user",
Password: "pass",
})
@@ -285,5 +285,5 @@ func TestDoRequestCreated(t *testing.T) {
if !reflect.DeepEqual(status, statusOut) {
t.Errorf("Unexpected mis-match. Expected %#v. Saw %#v", status, statusOut)
}
fakeHandler.ValidateRequest(t, "/"+testapi.Version()+"/test", "GET", nil)
fakeHandler.ValidateRequest(t, "/"+testapi.Default.Version()+"/test", "GET", nil)
}