diff --git a/src/main/java/org/gridsuite/modification/server/NetworkModificationController.java b/src/main/java/org/gridsuite/modification/server/NetworkModificationController.java index ae1004484..60f9bbba8 100644 --- a/src/main/java/org/gridsuite/modification/server/NetworkModificationController.java +++ b/src/main/java/org/gridsuite/modification/server/NetworkModificationController.java @@ -154,7 +154,7 @@ public ResponseEntity getNetworkModification( public ResponseEntity deleteNetworkModifications( @Parameter(description = "Network modification UUIDs") @RequestParam("uuids") List networkModificationUuids, @Parameter(description = "Group UUID") @RequestParam("groupUuid") UUID groupUuid, - @Parameter(description = "Whether to stash the modifications") @RequestParam(value = "stash") Boolean stash) { + @Parameter(description = "Whether to stash the modifications") @RequestParam(value = "stash", required = false) Boolean stash) { if (stash == null) { networkModificationService.deleteNetworkModifications(groupUuid, networkModificationUuids); } else if (Boolean.TRUE.equals(stash)) { diff --git a/src/test/java/org/gridsuite/modification/server/ModificationControllerTest.java b/src/test/java/org/gridsuite/modification/server/ModificationControllerTest.java index 3c6a4130b..1af06336b 100644 --- a/src/test/java/org/gridsuite/modification/server/ModificationControllerTest.java +++ b/src/test/java/org/gridsuite/modification/server/ModificationControllerTest.java @@ -89,7 +89,6 @@ public class ModificationControllerTest { private static final UUID TEST_REPORT_ID = UUID.randomUUID(); private static final String URI_NETWORK_MODIF_BASE = "/v1/network-modifications"; - private static final String URI_RESTORE_NETWORK_MODIF_BASE = URI_NETWORK_MODIF_BASE + "/restore"; private static final String URI_NETWORK_MODIF_PARAMS = "&groupUuid=" + TEST_GROUP_ID + "&reportUuid=" + TEST_REPORT_ID + "&reporterId=" + UUID.randomUUID(); private static final String URI_NETWORK_MODIF = URI_NETWORK_MODIF_BASE + "?networkUuid=" + TEST_NETWORK_ID + URI_NETWORK_MODIF_PARAMS; private static final String URI_NETWORK_MODIF_BUS_BREAKER = URI_NETWORK_MODIF_BASE + "?networkUuid=" + TEST_NETWORK_BUS_BREAKER_ID + URI_NETWORK_MODIF_PARAMS; @@ -248,14 +247,14 @@ public void testModificationGroups() throws Exception { resultAsString = mvcResult.getResponse().getContentAsString(); List bsicListResultUUID = mapper.readValue(resultAsString, new TypeReference<>() { }); assertEquals(bsicListResultUUID, List.of(TEST_GROUP_ID)); - mvcResult = mockMvc.perform(get("/v1/groups/{groupUuid}/modifications", TEST_GROUP_ID)).andExpectAll( + mvcResult = mockMvc.perform(get("/v1/groups/{groupUuid}/modifications?stashed=false", TEST_GROUP_ID)).andExpectAll( status().isOk(), content().contentType(MediaType.APPLICATION_JSON)) .andReturn(); resultAsString = mvcResult.getResponse().getContentAsString(); List bsicListResulModifInfos = mapper.readValue(resultAsString, new TypeReference<>() { }); assertEquals(1, bsicListResulModifInfos.size()); - mvcResult = mockMvc.perform(get("/v1/groups/{groupUuid}/modifications?onlyMetadata=true", TEST_GROUP_ID)) + mvcResult = mockMvc.perform(get("/v1/groups/{groupUuid}/modifications?stashed=false&onlyMetadata=true", TEST_GROUP_ID)) .andExpectAll(status().isOk(), content().contentType(MediaType.APPLICATION_JSON)) .andReturn(); resultAsString = mvcResult.getResponse().getContentAsString(); @@ -266,10 +265,10 @@ public void testModificationGroups() throws Exception { mockMvc.perform(delete("/v1/groups/{groupUuid}", TEST_GROUP_ID)) .andExpect(status().isOk()); - mockMvc.perform(get("/v1/groups/{groupUuid}/modifications?onlyMetadata=true", TEST_GROUP_ID)).andExpectAll(status().isNotFound(), + mockMvc.perform(get("/v1/groups/{groupUuid}/modifications?stashed=false&onlyMetadata=true", TEST_GROUP_ID)).andExpectAll(status().isNotFound(), content().string(new NetworkModificationException(MODIFICATION_GROUP_NOT_FOUND, TEST_GROUP_ID.toString()).getMessage())); - mvcResult = mockMvc.perform(get("/v1/groups/{groupUuid}/modifications?onlyMetadata=true&errorOnGroupNotFound=false", TEST_GROUP_ID)).andExpectAll( + mvcResult = mockMvc.perform(get("/v1/groups/{groupUuid}/modifications?stashed=false&onlyMetadata=true&errorOnGroupNotFound=false", TEST_GROUP_ID)).andExpectAll( status().isOk(), content().contentType(MediaType.APPLICATION_JSON)) .andReturn(); @@ -298,9 +297,10 @@ public void testRestoreNetworkModifications() throws Exception { assertEquals(1, modifications.size()); String uuidString = modifications.get(0).getUuid().toString(); - mockMvc.perform(post(URI_RESTORE_NETWORK_MODIF_BASE) + mockMvc.perform(delete(URI_NETWORK_MODIF_BASE) .queryParam("groupUuid", TEST_GROUP_ID.toString()) - .queryParam("uuids", uuidString)) + .queryParam("uuids", uuidString) + .queryParam("stash", "false")) .andExpect(status().isOk()); assertEquals(0, modificationRepository.getModifications(TEST_GROUP_ID, true, true, true).size()); } @@ -324,9 +324,10 @@ public void testStashNetworkModifications() throws Exception { List modifications = modificationRepository.getModifications(TEST_GROUP_ID, false, true); assertEquals(1, modifications.size()); String uuidString = modifications.get(0).getUuid().toString(); - mockMvc.perform(post(URI_NETWORK_MODIF_BASE + "/stash") + mockMvc.perform(delete(URI_NETWORK_MODIF_BASE) .queryParam("groupUuid", TEST_GROUP_ID.toString()) - .queryParam("uuids", uuidString)) + .queryParam("uuids", uuidString) + .queryParam("stash", "true")) .andExpect(status().isOk()); assertEquals(0, modificationRepository.getModifications(TEST_GROUP_ID, false, true, false).size()); } @@ -762,14 +763,17 @@ public void testDuplicateModificationGroup() throws Exception { //stash the first modification String uuidString = modifications.get(0).getUuid().toString(); - mockMvc.perform(post(URI_NETWORK_MODIF_BASE + "/stash") + mockMvc.perform(delete(URI_NETWORK_MODIF_BASE) .queryParam("groupUuid", TEST_GROUP_ID.toString()) - .queryParam("uuids", uuidString)) + .queryParam("uuids", uuidString) + .queryParam("stash", "true")) .andExpect(status().isOk()); List stashedModifications = modificationRepository.getModificationsMetadata(TEST_GROUP_ID, true); List modificationAfterStash = modificationRepository.getModificationsMetadata(TEST_GROUP_ID, false); + List modificationAllModifications = modificationRepository.getAllModificationsMetaData(TEST_GROUP_ID); assertEquals(1, stashedModifications.size()); assertEquals(4, modificationAfterStash.size()); + assertEquals(5, modificationAllModifications.size()); //test copy group with stashed modification UUID newGroupUuid = UUID.randomUUID(); @@ -1112,7 +1116,7 @@ private void testNetworkModificationsCount(UUID groupUuid, int actualSize) throw MvcResult mvcResult; String resultAsString; // get all modifications for the given group of a network - mvcResult = mockMvc.perform(get("/v1/groups/{groupUuid}/modifications?onlyMetadata=true", groupUuid).contentType(MediaType.APPLICATION_JSON)) + mvcResult = mockMvc.perform(get("/v1/groups/{groupUuid}/modifications?stashed=false&onlyMetadata=true", groupUuid).contentType(MediaType.APPLICATION_JSON)) .andExpect(status().isOk()).andReturn(); resultAsString = mvcResult.getResponse().getContentAsString(); List modificationsTestGroupId = mapper.readValue(resultAsString, new TypeReference<>() { }); @@ -1287,7 +1291,7 @@ public void testCreateVoltageInitModification() throws Exception { UUID groupUuid = UUID.fromString(mapper.readValue(mvcResult.getResponse().getContentAsString(), String.class)); // Get the modifications - mvcResult = mockMvc.perform(get("/v1/groups/{groupUuid}/modifications", groupUuid)).andExpectAll( + mvcResult = mockMvc.perform(get("/v1/groups/{groupUuid}/modifications?stashed=false", groupUuid)).andExpectAll( status().isOk(), content().contentType(MediaType.APPLICATION_JSON)) .andReturn(); @@ -1312,9 +1316,10 @@ public void testDeleteStashedNetworkModifications() throws Exception { List modifications = modificationRepository.getModifications(TEST_GROUP_ID, false, true); assertEquals(1, modifications.size()); String uuidString = modifications.get(0).getUuid().toString(); - mockMvc.perform(post(URI_NETWORK_MODIF_BASE + "/stash") + mockMvc.perform(delete(URI_NETWORK_MODIF_BASE) .queryParam("groupUuid", TEST_GROUP_ID.toString()) - .queryParam("uuids", uuidString)) + .queryParam("uuids", uuidString) + .queryParam("stash", "true")) .andExpect(status().isOk()); assertEquals(1, modificationRepository.getModifications(TEST_GROUP_ID, false, true, true).size()); mockMvc.perform(delete("/v1/groups/" + TEST_GROUP_ID + "/stashed-modifications").queryParam("errorOnGroupNotFound", "false")).andExpect(status().isOk()); diff --git a/src/test/java/org/gridsuite/modification/server/modifications/AbstractNetworkModificationTest.java b/src/test/java/org/gridsuite/modification/server/modifications/AbstractNetworkModificationTest.java index 80cdf980a..fb7f51b65 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/AbstractNetworkModificationTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/AbstractNetworkModificationTest.java @@ -234,7 +234,7 @@ protected void testNetworkModificationsCount(UUID groupUuid, int actualSize) thr MvcResult mvcResult; String resultAsString; // get all modifications for the given group of a network - mvcResult = mockMvc.perform(get("/v1/groups/{groupUuid}/modifications?onlyMetadata=true", groupUuid).contentType(MediaType.APPLICATION_JSON)) + mvcResult = mockMvc.perform(get("/v1/groups/{groupUuid}/modifications?stashed=false&onlyMetadata=true", groupUuid).contentType(MediaType.APPLICATION_JSON)) .andExpect(status().isOk()).andReturn(); resultAsString = mvcResult.getResponse().getContentAsString(); List modificationsTestGroupId = mapper.readValue(resultAsString, new TypeReference<>() { });