diff options
author | Ola Aunrønning <olaa@verizonmedia.com> | 2021-05-11 12:14:23 +0200 |
---|---|---|
committer | Ola Aunrønning <olaa@verizonmedia.com> | 2021-05-11 12:14:29 +0200 |
commit | 1b8aeec186361bb962b871758adbeca793a4893b (patch) | |
tree | f6311cac08b1efd8af27b19a7551b7f9bfeabbb7 /controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/changemanagement/ChangeManagementApiHandlerTest.java | |
parent | 4f0fc6d74b24fbc7af2606afc1306cac95bc3704 (diff) |
Add GET/DELETE/PATCH on vcmr resources
Diffstat (limited to 'controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/changemanagement/ChangeManagementApiHandlerTest.java')
-rw-r--r-- | controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/changemanagement/ChangeManagementApiHandlerTest.java | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/changemanagement/ChangeManagementApiHandlerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/changemanagement/ChangeManagementApiHandlerTest.java index c4412531f80..d87da62b8f2 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/changemanagement/ChangeManagementApiHandlerTest.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/changemanagement/ChangeManagementApiHandlerTest.java @@ -27,11 +27,15 @@ import java.time.Instant; import java.time.ZonedDateTime; import java.util.ArrayList; import java.util.List; +import java.util.UUID; + +import static org.junit.Assert.assertEquals; public class ChangeManagementApiHandlerTest extends ControllerContainerTest { private static final String responses = "src/test/java/com/yahoo/vespa/hosted/controller/restapi/changemanagement/responses/"; private static final AthenzIdentity operator = AthenzUser.fromUserId("operatorUser"); + private static final String changeRequestId = "id123"; private ContainerTester tester; @@ -51,6 +55,36 @@ public class ChangeManagementApiHandlerTest extends ControllerContainerTest { assertFile(new Request("http://localhost:8080/changemanagement/v1/vcmr"), "vcmrs.json"); } + @Test + public void deletes_vcmr() { + assertEquals(1, tester.controller().curator().readChangeRequests().size()); + assertFile(new Request("http://localhost:8080/changemanagement/v1/vcmr/" + changeRequestId, "", Request.Method.DELETE), "vcmr.json"); + assertEquals(0, tester.controller().curator().readChangeRequests().size()); + } + + @Test + public void get_vcmr() { + assertFile(new Request("http://localhost:8080/changemanagement/v1/vcmr/" + changeRequestId, "", Request.Method.GET), "vcmr.json"); + } + + @Test + public void patch_vcmr() { + var payload = "{" + + "\"approval\": \"REJECTED\"," + + "\"status\": \"COMPLETED\"," + + "\"actionPlan\": {" + + " \"hosts\": [{" + + " \"hostname\": \"host1\"," + + " \"state\": \"REQUIRES_OPERATOR_ACTION\"," + + " \"lastUpdated\": \"2021-05-10T14:08:15Z\"" + + "}]}" + + "}"; + assertFile(new Request("http://localhost:8080/changemanagement/v1/vcmr/" + changeRequestId, payload, Request.Method.PATCH), "patched-vcmr.json"); + var changeRequest = tester.controller().curator().readChangeRequest(changeRequestId).orElseThrow(); + assertEquals(ChangeRequest.Approval.REJECTED, changeRequest.getApproval()); + assertEquals(VespaChangeRequest.Status.COMPLETED, changeRequest.getStatus()); + } + private void assertResponse(Request request, @Language("JSON") String body, int statusCode) { addIdentityToRequest(request, operator); tester.assertResponse(request, body, statusCode); @@ -77,7 +111,7 @@ public class ChangeManagementApiHandlerTest extends ControllerContainerTest { ); return new VespaChangeRequest( - "id123", + changeRequestId, source, List.of("switch1"), List.of("host1", "host2"), |