From 4adb110516f12f87496bd7ea30c4e103625f0876 Mon Sep 17 00:00:00 2001 From: Chao Xu Date: Wed, 24 Feb 2016 22:07:54 -0800 Subject: [PATCH] adding a unit test --- pkg/master/master_test.go | 39 +++++++++++++++++++++++++++++++++++---- 1 file changed, 35 insertions(+), 4 deletions(-) diff --git a/pkg/master/master_test.go b/pkg/master/master_test.go index 132f45caacc..fb014a860ec 100644 --- a/pkg/master/master_test.go +++ b/pkg/master/master_test.go @@ -568,8 +568,7 @@ func testInstallThirdPartyAPIListVersion(t *testing.T, version string) { } if len(list.Items) != len(test.items) { - t.Errorf("unexpected length: %d vs %d", len(list.Items), len(test.items)) - return + t.Fatalf("unexpected length: %d vs %d", len(list.Items), len(test.items)) } // The order of elements in LIST is not guaranteed. mapping := make(map[string]int) @@ -715,8 +714,7 @@ func testInstallThirdPartyAPIPostForVersion(t *testing.T, version string) { resp, err := http.Post(server.URL+"/apis/company.com/"+version+"/namespaces/default/foos", "application/json", bytes.NewBuffer(data)) if !assert.NoError(err) { - t.Errorf("unexpected error: %v", err) - return + t.Fatalf("unexpected error: %v", err) } assert.Equal(http.StatusCreated, resp.StatusCode) @@ -829,6 +827,39 @@ func httpDelete(url string) (*http.Response, error) { return client.Do(req) } +func TestInstallThirdPartyAPIListOptions(t *testing.T) { + for _, version := range versionsToTest { + testInstallThirdPartyAPIListOptionsForVersion(t, version) + } +} + +func testInstallThirdPartyAPIListOptionsForVersion(t *testing.T, version string) { + _, etcdserver, server, assert := initThirdParty(t, version) + // TODO: Uncomment when fix #19254 + // defer server.Close() + defer etcdserver.Terminate(t) + + // send a GET request with query parameter + resp, err := httpGetWithRV(server.URL + "/apis/company.com/" + version + "/namespaces/default/foos") + if !assert.NoError(err) { + t.Fatalf("unexpected error: %v", err) + } + assert.Equal(http.StatusOK, resp.StatusCode) +} + +func httpGetWithRV(url string) (*http.Response, error) { + req, err := http.NewRequest("GET", url, nil) + if err != nil { + return nil, err + } + q := req.URL.Query() + // resourceversion is part of a ListOptions + q.Add("resourceversion", "0") + req.URL.RawQuery = q.Encode() + client := &http.Client{} + return client.Do(req) +} + func TestInstallThirdPartyResourceRemove(t *testing.T) { for _, version := range versionsToTest { testInstallThirdPartyResourceRemove(t, version)