From 96c664032e219cab6113acadca843f94009d39e4 Mon Sep 17 00:00:00 2001 From: Tom Clegg Date: Thu, 1 Apr 2021 10:59:30 -0400 Subject: [PATCH] 13382: Test storage class failure cases. Arvados-DCO-1.1-Signed-off-by: Tom Clegg --- services/keepstore/handler_test.go | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) 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 { -- 2.30.2