Merge branch '14406-remote-data-in-output'
[arvados.git] / services / keepstore / handler_test.go
index 7429d7ad41660799aaa90b3ba188bafb225d3978..c37a4d112fb8b86aaa076431f08524930ce83d0b 100644 (file)
@@ -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())
        }
 }