X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/e73f90ddd2252f2b21d573ad2179137dca5dcd97..6e08460da8e0d19c8152863eda05b868fa1a8d55:/services/keepstore/handler_test.go?ds=sidebyside diff --git a/services/keepstore/handler_test.go b/services/keepstore/handler_test.go index a9d7330c0b..db64449e48 100644 --- a/services/keepstore/handler_test.go +++ b/services/keepstore/handler_test.go @@ -1130,17 +1130,21 @@ func (s *HandlerSuite) TestPutStorageClasses(c *check.C) { uri: "/" + TestHash, requestBody: TestBlock, } + for _, trial := range []struct { ask string expect string }{ {"", ""}, {"default", "default=1"}, + {" , default , default , ", "default=1"}, {"special", "extra=1, special=1"}, + {"special, readonly", "extra=1, special=1"}, + {"special, nonexistent", "extra=1, special=1"}, {"extra, special", "extra=1, special=1"}, {"default, special", "default=1, extra=1, special=1"}, } { - c.Logf("%#v", trial) + c.Logf("success case %#v", trial) rt.storageClasses = trial.ask resp := IssueRequest(s.handler, &rt) if trial.expect == "" { @@ -1150,6 +1154,19 @@ func (s *HandlerSuite) TestPutStorageClasses(c *check.C) { c.Check(sortCommaSeparated(resp.Header().Get("X-Keep-Storage-Classes-Confirmed")), check.Equals, trial.expect) } } + + for _, trial := range []struct { + ask string + }{ + {"doesnotexist"}, + {"doesnotexist, readonly"}, + {"readonly"}, + } { + c.Logf("failure case %#v", trial) + rt.storageClasses = trial.ask + resp := IssueRequest(s.handler, &rt) + c.Check(resp.Code, check.Equals, http.StatusServiceUnavailable) + } } func sortCommaSeparated(s string) string {