X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/558574e31f56db08c82ca7c2b955e74df04242dd..40c9b26a39c773e806e0a1430774f1787820376f:/services/keepstore/handler_test.go diff --git a/services/keepstore/handler_test.go b/services/keepstore/handler_test.go index dd8366671b..3817ea1900 100644 --- a/services/keepstore/handler_test.go +++ b/services/keepstore/handler_test.go @@ -321,6 +321,16 @@ func TestIndexHandler(t *testing.T) { uri: "/index/" + TestHash[0:3], apiToken: dataManagerToken, } + superuserNoSuchPrefixReq := &RequestTester{ + method: "GET", + uri: "/index/abcd", + apiToken: dataManagerToken, + } + superuserInvalidPrefixReq := &RequestTester{ + method: "GET", + uri: "/index/xyz", + apiToken: dataManagerToken, + } // ------------------------------------------------------------- // Only the superuser should be allowed to issue /index requests. @@ -407,6 +417,26 @@ func TestIndexHandler(t *testing.T) { "permissions on, superuser /index/prefix request: expected %s, got:\n%s", expected, response.Body.String()) } + + // superuser /index/{no-such-prefix} request + // => OK + response = IssueRequest(superuserNoSuchPrefixReq) + ExpectStatusCode(t, + "permissions on, superuser request", + http.StatusOK, + response) + + if "\n" != response.Body.String() { + t.Errorf("Expected empty response for %s. Found %s", superuserNoSuchPrefixReq.uri, response.Body.String()) + } + + // superuser /index/{invalid-prefix} request + // => StatusBadRequest + response = IssueRequest(superuserInvalidPrefixReq) + ExpectStatusCode(t, + "permissions on, superuser request", + http.StatusBadRequest, + response) } // TestDeleteHandler @@ -924,3 +954,19 @@ func TestGetHandlerNoBufferleak(t *testing.T) { case <-ok: } } + +func TestPutReplicationHeader(t *testing.T) { + defer teardown() + + KeepVM = MakeTestVolumeManager(2) + defer KeepVM.Close() + + resp := IssueRequest(&RequestTester{ + method: "PUT", + uri: "/" + TestHash, + requestBody: TestBlock, + }) + if r := resp.Header().Get("X-Keep-Replicas-Stored"); r != "1" { + t.Errorf("Got X-Keep-Replicas-Stored: %q, expected %q", r, "1") + } +}