X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/e65fffb60a5697ce1991ceb01a15001eb7adb101..c72b6bb73def5f60f0a10f5bbb75f9228980dd8c:/services/keepstore/handler_test.go diff --git a/services/keepstore/handler_test.go b/services/keepstore/handler_test.go index 7429d7ad41..c37a4d112f 100644 --- a/services/keepstore/handler_test.go +++ b/services/keepstore/handler_test.go @@ -30,6 +30,10 @@ import ( "git.curoverse.com/arvados.git/sdk/go/arvadostest" ) +var testCluster = &arvados.Cluster{ + ClusterID: "zzzzz", +} + // A RequestTester represents the parameters for an HTTP request to // be issued on behalf of a unit test. type RequestTester struct { @@ -823,7 +827,7 @@ func IssueRequest(rt *RequestTester) *httptest.ResponseRecorder { if rt.apiToken != "" { req.Header.Set("Authorization", "OAuth2 "+rt.apiToken) } - loggingRouter := MakeRESTRouter() + loggingRouter := MakeRESTRouter(testCluster) loggingRouter.ServeHTTP(response, req) return response } @@ -835,7 +839,7 @@ func IssueHealthCheckRequest(rt *RequestTester) *httptest.ResponseRecorder { if rt.apiToken != "" { req.Header.Set("Authorization", "Bearer "+rt.apiToken) } - loggingRouter := MakeRESTRouter() + loggingRouter := MakeRESTRouter(testCluster) loggingRouter.ServeHTTP(response, req) return response } @@ -975,7 +979,7 @@ func TestGetHandlerClientDisconnect(t *testing.T) { ok := make(chan struct{}) go func() { req, _ := http.NewRequest("GET", fmt.Sprintf("/%s+%d", TestHash, len(TestBlock)), nil) - (&LoggingRESTRouter{router: MakeRESTRouter()}).ServeHTTP(resp, req) + MakeRESTRouter(testCluster).ServeHTTP(resp, req) ok <- struct{}{} }() @@ -1107,7 +1111,7 @@ func TestUntrashHandler(t *testing.T) { response = IssueRequest(datamanagerWrongMethodReq) ExpectStatusCode(t, "Only PUT method is supported for untrash", - http.StatusBadRequest, + http.StatusMethodNotAllowed, response) // datamanagerReq => StatusOK @@ -1155,59 +1159,19 @@ func TestUntrashHandlerWithNoWritableVolumes(t *testing.T) { } func TestHealthCheckPing(t *testing.T) { - defer teardown() - - KeepVM = MakeTestVolumeManager(2) - defer KeepVM.Close() - - // ping when disabled - theConfig.ManagementToken = "" - pingReq := &RequestTester{ - method: "GET", - uri: "/_health/ping", - } - response := IssueHealthCheckRequest(pingReq) - ExpectStatusCode(t, - "disabled", - http.StatusNotFound, - response) - - // ping with no token theConfig.ManagementToken = arvadostest.ManagementToken - pingReq = &RequestTester{ - method: "GET", - uri: "/_health/ping", - } - response = IssueHealthCheckRequest(pingReq) - ExpectStatusCode(t, - "authorization required", - http.StatusUnauthorized, - response) - - // ping with wrong token - pingReq = &RequestTester{ - method: "GET", - uri: "/_health/ping", - apiToken: "youarenotwelcomehere", - } - response = IssueHealthCheckRequest(pingReq) - ExpectStatusCode(t, - "authorization error", - http.StatusForbidden, - response) - - // ping with management token - pingReq = &RequestTester{ + pingReq := &RequestTester{ method: "GET", uri: "/_health/ping", apiToken: arvadostest.ManagementToken, } - response = IssueHealthCheckRequest(pingReq) + response := IssueHealthCheckRequest(pingReq) ExpectStatusCode(t, "", http.StatusOK, response) - if !strings.Contains(response.Body.String(), `{"health":"OK"}`) { - t.Errorf("expected response to include %s: got %s", `{"health":"OK"}`, response.Body.String()) + want := `{"health":"OK"}` + if !strings.Contains(response.Body.String(), want) { + t.Errorf("expected response to include %s: got %s", want, response.Body.String()) } }