From 1205efed3eb8b8eb7660e7eafbcaede9ec5b51ca Mon Sep 17 00:00:00 2001 From: Florent MILLOT Date: Mon, 28 Sep 2026 17:53:02 +0200 Subject: [PATCH 1/2] Use the container API of network-modification-server Read the modifications, count, export, verification and references of a group through the /containers/... endpoints, and stop sending errorOnGroupNotFound. Signed-off-by: Florent MILLOT --- .../study/server/StudyConstants.java | 1 - .../service/NetworkModificationService.java | 19 ++++++++----------- .../study/server/NetworkModificationTest.java | 4 ++-- .../server/NetworkModificationTreeTest.java | 14 +++++++------- .../study/server/VoltageInitTest.java | 4 ++-- .../NetworkModificationServiceTest.java | 8 ++++---- .../server/studycontroller/StudyTest.java | 6 +++--- .../server/utils/wiremock/WireMockStubs.java | 14 ++++++++------ 8 files changed, 34 insertions(+), 36 deletions(-) diff --git a/src/main/java/org/gridsuite/study/server/StudyConstants.java b/src/main/java/org/gridsuite/study/server/StudyConstants.java index 9c4676cfb..d2cfdc865 100644 --- a/src/main/java/org/gridsuite/study/server/StudyConstants.java +++ b/src/main/java/org/gridsuite/study/server/StudyConstants.java @@ -78,7 +78,6 @@ private StudyConstants() { public static final String REPORT_UUID = "reportUuid"; public static final String UUIDS = "uuids"; public static final String IDS = "ids"; - public static final String QUERY_PARAM_ERROR_ON_GROUP_NOT_FOUND = "errorOnGroupNotFound"; public static final String QUERY_PARAM_REPORT_DEFAULT_NAME = "defaultName"; public static final String QUERY_PARAM_REPORT_SEVERITY_LEVEL = "severityLevels"; public static final String QUERY_PARAM_MESSAGE_FILTER = "message"; diff --git a/src/main/java/org/gridsuite/study/server/service/NetworkModificationService.java b/src/main/java/org/gridsuite/study/server/service/NetworkModificationService.java index f29348412..7498482d6 100644 --- a/src/main/java/org/gridsuite/study/server/service/NetworkModificationService.java +++ b/src/main/java/org/gridsuite/study/server/service/NetworkModificationService.java @@ -47,6 +47,8 @@ public class NetworkModificationService { private static final String COMPOSITE_PATH = "network-composite-modifications" + DELIMITER; private static final String GROUPS = "groups"; private static final String GROUP_PATH = GROUPS + DELIMITER + "{groupUuid}"; + private static final String CONTAINERS = "containers"; + private static final String CONTAINER_PATH = CONTAINERS + DELIMITER + "{containerUuid}"; private static final String NETWORK_MODIFICATIONS_PATH = "network-modifications"; private static final String NETWORK_MODIFICATIONS_COUNT_PATH = "network-modifications-count"; private static final String QUERY_PARAM_ACTION = "action"; @@ -106,7 +108,7 @@ public String getLineTypeWithLimits(UUID lineTypeUuid, String area, String tempe } public String getNetworkModificationsFromComposite(List compositeModificationUuids, boolean onlyMetadata) { - String path = UriComponentsBuilder.fromPath(COMPOSITE_PATH + NETWORK_MODIFICATIONS_PATH) + String path = UriComponentsBuilder.fromPath(CONTAINERS + DELIMITER + NETWORK_MODIFICATIONS_PATH) .queryParam(UUIDS, compositeModificationUuids) .queryParam("onlyMetadata", onlyMetadata) .build().toUriString(); @@ -145,8 +147,7 @@ public void updateNetworkModificationsMetadata(List networkModificationUui public String getModifications(UUID groupUUid, boolean stashedModifications, boolean onlyMetadata) { Objects.requireNonNull(groupUUid); - var path = UriComponentsBuilder.fromPath(GROUP_PATH + DELIMITER + NETWORK_MODIFICATIONS_PATH) - .queryParam(QUERY_PARAM_ERROR_ON_GROUP_NOT_FOUND, false) + var path = UriComponentsBuilder.fromPath(CONTAINER_PATH + DELIMITER + NETWORK_MODIFICATIONS_PATH) .queryParam(QUERY_PARAM_ONLY_STASHED, stashedModifications) .queryParam("onlyMetadata", onlyMetadata) .buildAndExpand(groupUUid) @@ -157,8 +158,7 @@ public String getModifications(UUID groupUUid, boolean stashedModifications, boo public String getModificationsToExport(UUID groupUUid) { Objects.requireNonNull(groupUUid); - var path = UriComponentsBuilder.fromPath(GROUP_PATH + DELIMITER + NETWORK_MODIFICATIONS_PATH + DELIMITER + "export") - .queryParam(QUERY_PARAM_ERROR_ON_GROUP_NOT_FOUND, false) + var path = UriComponentsBuilder.fromPath(CONTAINER_PATH + DELIMITER + NETWORK_MODIFICATIONS_PATH + DELIMITER + "export") .buildAndExpand(groupUUid) .toUriString(); @@ -167,7 +167,7 @@ public String getModificationsToExport(UUID groupUUid) { public Integer getModificationsCount(UUID groupUUid, boolean stashedModifications) { Objects.requireNonNull(groupUUid); - var path = UriComponentsBuilder.fromPath(GROUP_PATH + DELIMITER + NETWORK_MODIFICATIONS_COUNT_PATH) + var path = UriComponentsBuilder.fromPath(CONTAINER_PATH + DELIMITER + NETWORK_MODIFICATIONS_COUNT_PATH) .queryParam(QUERY_PARAM_STASHED, stashedModifications) .buildAndExpand(groupUUid) .toUriString(); @@ -178,7 +178,6 @@ public Integer getModificationsCount(UUID groupUUid, boolean stashedModification public void deleteModifications(UUID groupUUid) { Objects.requireNonNull(groupUUid); var path = UriComponentsBuilder.fromPath(GROUP_PATH) - .queryParam(QUERY_PARAM_ERROR_ON_GROUP_NOT_FOUND, false) .buildAndExpand(groupUUid) .toUriString(); @@ -194,7 +193,6 @@ public void deleteModificationsGroups(List groupUuids) { headers.setContentType(MediaType.APPLICATION_JSON); HttpEntity httpEntity = new HttpEntity<>(toJson(groupUuids), headers); var path = UriComponentsBuilder.fromPath(GROUPS) - .queryParam(QUERY_PARAM_ERROR_ON_GROUP_NOT_FOUND, false) .toUriString(); restTemplate.exchange(getNetworkModificationServerURI(false) + path, @@ -361,7 +359,7 @@ public Map findParentComposites(List modificationsUuids) { */ public List getModificationReferences(UUID groupUuid) { Objects.requireNonNull(groupUuid); - var path = UriComponentsBuilder.fromPath(GROUP_PATH + DELIMITER + "references"); + var path = UriComponentsBuilder.fromPath(CONTAINER_PATH + DELIMITER + "references"); HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); @@ -620,7 +618,6 @@ public void deleteStashedModificationsFromGroups(List groupUuids) { headers.setContentType(MediaType.APPLICATION_JSON); HttpEntity httpEntity = new HttpEntity<>(toJson(groupUuids), headers); var path = UriComponentsBuilder.fromPath(GROUPS + "/stashed-modifications") - .queryParam(QUERY_PARAM_ERROR_ON_GROUP_NOT_FOUND, false) .toUriString(); restTemplate.exchange(getNetworkModificationServerURI(false) + path, @@ -630,7 +627,7 @@ public void deleteStashedModificationsFromGroups(List groupUuids) { } public void verifyModifications(UUID groupUuid, Set modificationUuids) { - var path = UriComponentsBuilder.fromPath(GROUP_PATH + DELIMITER + NETWORK_MODIFICATIONS_PATH + DELIMITER + "verify") + var path = UriComponentsBuilder.fromPath(CONTAINER_PATH + DELIMITER + NETWORK_MODIFICATIONS_PATH + DELIMITER + "verify") .queryParam("uuids", modificationUuids) .buildAndExpand(groupUuid) .toUriString(); diff --git a/src/test/java/org/gridsuite/study/server/NetworkModificationTest.java b/src/test/java/org/gridsuite/study/server/NetworkModificationTest.java index 55dbf717e..6717760d7 100644 --- a/src/test/java/org/gridsuite/study/server/NetworkModificationTest.java +++ b/src/test/java/org/gridsuite/study/server/NetworkModificationTest.java @@ -3619,7 +3619,7 @@ void testUpdateNetworkModificationsActivationOnReference() throws Exception { // Stub verifyModifications wireMockServer.stubFor(WireMock.get(WireMock.urlPathEqualTo( - "/v1/groups/" + node.getModificationGroupUuid() + "/network-modifications/verify")) + "/v1/containers/" + node.getModificationGroupUuid() + "/network-modifications/verify")) .willReturn(WireMock.ok())); // Stub the references lookup (network-modification-server wire names): the modification is a reference, so a @@ -3651,7 +3651,7 @@ void testUpdateNetworkModificationsActivationOnReference() throws Exception { // Verify that verifyModifications was called with the composite UUID WireMockUtilsCriteria.verifyGetRequest(wireMockServer, - "/v1/groups/" + node.getModificationGroupUuid() + "/network-modifications/verify", + "/v1/containers/" + node.getModificationGroupUuid() + "/network-modifications/verify", Map.of("uuids", WireMock.equalTo(compositeUuid.toString()))); // the references are looked up to check the rights on the shared modifications, if any diff --git a/src/test/java/org/gridsuite/study/server/NetworkModificationTreeTest.java b/src/test/java/org/gridsuite/study/server/NetworkModificationTreeTest.java index 466cc6338..cbaab1465 100644 --- a/src/test/java/org/gridsuite/study/server/NetworkModificationTreeTest.java +++ b/src/test/java/org/gridsuite/study/server/NetworkModificationTreeTest.java @@ -300,7 +300,7 @@ public MockResponse dispatch(RecordedRequest request) { Headers.of(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE), "{}" ); - } else if (path.matches("/v1/groups/.*/references") && Objects.equals(request.getMethod(), "GET")) { + } else if (path.matches("/v1/containers/.*/references") && Objects.equals(request.getMethod(), "GET")) { return new MockResponse( HttpStatus.OK.value(), Headers.of(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE), @@ -308,17 +308,17 @@ public MockResponse dispatch(RecordedRequest request) { ); } else if (path.matches("/v1/network-modifications.*")) { return new MockResponse(HttpStatus.OK.value()); - } else if (path.matches("/v1/groups/" + MODIFICATION_GROUP_UUID + "/network-modifications-count.*") && request.getMethod().equals("GET")) { + } else if (path.matches("/v1/containers/" + MODIFICATION_GROUP_UUID + "/network-modifications-count.*") && request.getMethod().equals("GET")) { return new MockResponse(HttpStatus.OK.value(), Headers.of(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE), objectMapper.writeValueAsString(0)); - } else if (path.matches("/v1/groups/" + MODIFICATION_GROUP_UUID_2 + "/network-modifications-count.*") && request.getMethod().equals("GET")) { + } else if (path.matches("/v1/containers/" + MODIFICATION_GROUP_UUID_2 + "/network-modifications-count.*") && request.getMethod().equals("GET")) { return new MockResponse(HttpStatus.OK.value(), Headers.of(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE), objectMapper.writeValueAsString(2)); - } else if (path.matches("/v1/groups/" + MODIFICATION_GROUP_UUID_3 + "/network-modifications-count.*") && request.getMethod().equals("GET")) { + } else if (path.matches("/v1/containers/" + MODIFICATION_GROUP_UUID_3 + "/network-modifications-count.*") && request.getMethod().equals("GET")) { return new MockResponse(HttpStatus.OK.value(), Headers.of(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE), objectMapper.writeValueAsString(0)); - } else if (path.matches("/v1/groups/" + MODIFICATION_GROUP_UUID + "/.*") && request.getMethod().equals("GET")) { + } else if (path.matches("/v1/containers/" + MODIFICATION_GROUP_UUID + "/.*") && request.getMethod().equals("GET")) { return new MockResponse(HttpStatus.OK.value(), Headers.of(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE), objectMapper.writeValueAsString(List.of())); - } else if (path.matches("/v1/groups/" + MODIFICATION_GROUP_UUID_2 + "/.*") && request.getMethod().equals("GET")) { + } else if (path.matches("/v1/containers/" + MODIFICATION_GROUP_UUID_2 + "/.*") && request.getMethod().equals("GET")) { return new MockResponse(HttpStatus.OK.value(), Headers.of(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE), objectMapper.writeValueAsString(List.of("S1", "S2"))); - } else if (path.matches("/v1/groups/" + MODIFICATION_GROUP_UUID_3 + "/.*") && request.getMethod().equals("GET")) { + } else if (path.matches("/v1/containers/" + MODIFICATION_GROUP_UUID_3 + "/.*") && request.getMethod().equals("GET")) { return new MockResponse(HttpStatus.OK.value(), Headers.of(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE), objectMapper.writeValueAsString(List.of())); } else if (path.matches("/v1/groups/.*") && request.getMethod().equals("DELETE")) { return new MockResponse(HttpStatus.OK.value()); diff --git a/src/test/java/org/gridsuite/study/server/VoltageInitTest.java b/src/test/java/org/gridsuite/study/server/VoltageInitTest.java index 225de1acf..bbb79783d 100644 --- a/src/test/java/org/gridsuite/study/server/VoltageInitTest.java +++ b/src/test/java/org/gridsuite/study/server/VoltageInitTest.java @@ -365,7 +365,7 @@ public MockResponse dispatch(RecordedRequest request) { IdentifiableType.GENERATOR, "genId", Set.of("s1")); return new MockResponse(200, Headers.of(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE), objectMapper.writeValueAsString(new NetworkModificationsResult(List.of(VOLTAGE_INIT_MODIFICATION_UUID), List.of(networkModificationResult)))); - } else if (path.matches("/v1/groups/" + MODIFICATIONS_GROUP_UUID + "/network-modifications\\?errorOnGroupNotFound=false&onlyStashed=false&onlyMetadata=.*")) { + } else if (path.matches("/v1/containers/" + MODIFICATIONS_GROUP_UUID + "/network-modifications\\?onlyStashed=false&onlyMetadata=.*")) { return new MockResponse(200, Headers.of(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE), objectMapper.writeValueAsString(VOLTAGE_INIT_PREVIEW_MODIFICATION_LIST)); } else if (path.matches("/v1/results/" + VOLTAGE_INIT_RESULT_UUID + "/stop.*") || path.matches("/v1/results/" + VOLTAGE_INIT_OTHER_NODE_RESULT_UUID + "/stop.*")) { @@ -884,7 +884,7 @@ private void runVoltageInit(UUID studyUuid, UUID nodeUuuid, UUID rootNetworkUuid mockMvc.perform(get("/v1/studies/{studyUuid}/root-networks/{rootNetworkUuid}/nodes/{nodeUuid}/network-modifications/voltage-init", studyUuid, rootNetworkUuid, nodeUuuid) .header("userId", "userId")).andExpect(status().isOk()); assertTrue(TestUtils.getRequestsDone(2, server).stream().allMatch(r -> - r.matches("/v1/groups/" + MODIFICATIONS_GROUP_UUID + "/network-modifications\\?errorOnGroupNotFound=false&onlyStashed=false&onlyMetadata=false") || + r.matches("/v1/containers/" + MODIFICATIONS_GROUP_UUID + "/network-modifications\\?onlyStashed=false&onlyMetadata=false") || r.matches("/v1/results/" + VOLTAGE_INIT_RESULT_UUID + "/modifications-group-uuid") )); } diff --git a/src/test/java/org/gridsuite/study/server/service/NetworkModificationServiceTest.java b/src/test/java/org/gridsuite/study/server/service/NetworkModificationServiceTest.java index 600650bff..25eaf1724 100644 --- a/src/test/java/org/gridsuite/study/server/service/NetworkModificationServiceTest.java +++ b/src/test/java/org/gridsuite/study/server/service/NetworkModificationServiceTest.java @@ -83,7 +83,7 @@ void testGetLineTypeWithLimits() { void testGetNetworkModificationsFromComposite() { UUID firstUuid = UUID.randomUUID(); UUID secondUuid = UUID.randomUUID(); - String expectedUrl = NETWORK_MODIFICATION_SERVER_URI + "/v1/network-composite-modifications/network-modifications?uuids=" + firstUuid + "&uuids=" + secondUuid + "&onlyMetadata=false"; + String expectedUrl = NETWORK_MODIFICATION_SERVER_URI + "/v1/containers/network-modifications?uuids=" + firstUuid + "&uuids=" + secondUuid + "&onlyMetadata=false"; when(restTemplate.getForObject(expectedUrl, String.class)).thenReturn(RESPONSE); assertThat(networkModificationService.getNetworkModificationsFromComposite(List.of(firstUuid, secondUuid), false)).isEqualTo(RESPONSE); @@ -132,7 +132,7 @@ void testUpdateNetworkModificationsMetadata() { void testDeleteModificationsGroups() { UUID firstUuid = UUID.randomUUID(); UUID secondUuid = UUID.randomUUID(); - String expectedUrl = NETWORK_MODIFICATION_SERVER_URI + "/v1/groups?errorOnGroupNotFound=false"; + String expectedUrl = NETWORK_MODIFICATION_SERVER_URI + "/v1/groups"; HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); @@ -145,7 +145,7 @@ void testDeleteModificationsGroups() { void testDeleteStashedModificationsGroups() { UUID firstUuid = UUID.randomUUID(); UUID secondUuid = UUID.randomUUID(); - String expectedUrl = NETWORK_MODIFICATION_SERVER_URI + "/v1/groups/stashed-modifications?errorOnGroupNotFound=false"; + String expectedUrl = NETWORK_MODIFICATION_SERVER_URI + "/v1/groups/stashed-modifications"; HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); @@ -190,7 +190,7 @@ void testFindParentComposites() { @Test void testGetReferencesFromGroup() { UUID groupUuid = UUID.randomUUID(); - String expectedUrl = NETWORK_MODIFICATION_SERVER_URI + "/v1/groups/" + groupUuid + "/references"; + String expectedUrl = NETWORK_MODIFICATION_SERVER_URI + "/v1/containers/" + groupUuid + "/references"; List expected = List.of(new ModificationReference(UUID.randomUUID(), UUID.randomUUID(), UUID.randomUUID())); when(restTemplate.exchange( eq(expectedUrl), diff --git a/src/test/java/org/gridsuite/study/server/studycontroller/StudyTest.java b/src/test/java/org/gridsuite/study/server/studycontroller/StudyTest.java index 944cc15bd..118aad0ed 100644 --- a/src/test/java/org/gridsuite/study/server/studycontroller/StudyTest.java +++ b/src/test/java/org/gridsuite/study/server/studycontroller/StudyTest.java @@ -254,7 +254,7 @@ void testDeleteStudy() throws Exception { assertTrue(studyRepository.findById(studyUuid).isEmpty()); wireMockStubs.verifyGetReferencesDataFromGroup(stubReferencesUuid); - wireMockStubs.verifyNetworkModificationDeleteGroup(stubUuid, false); + wireMockStubs.verifyNetworkModificationDeleteGroup(stubUuid); wireMockStubs.caseServer.verifyDeleteCase(stubDeleteCaseId, CASE_UUID_STRING); deleteStudyStubs.verify(wireMockStubs, computationServerStubs, 10); // voltageInit, loadFlow, securityAnalysis, sensitivityAnalysis, stateEstimation, pccMin, dynamic, shortCircuit } @@ -289,7 +289,7 @@ void testDeleteStudyWithError(final CapturedOutput capturedOutput) throws Except assertTrue(capturedOutput.getOut().contains(StudyServerExecutionService.class.getName() + " - " + CompletionException.class.getName() + ": " + InterruptedException.class.getName())); wireMockStubs.verifyGetReferencesDataFromGroup(stubReferencesUuid); - wireMockStubs.verifyNetworkModificationDeleteGroup(stubUuid, false); + wireMockStubs.verifyNetworkModificationDeleteGroup(stubUuid); deleteStudyStubs.verify(wireMockStubs, computationServerStubs, 3); // loadflow, security, sensitivity, stateEstimation, shortCircuit, pccMin } @@ -317,7 +317,7 @@ void testDeleteStudyWithNonExistingCase() throws Exception { assertTrue(studyRepository.findById(studyUuid).isEmpty()); wireMockStubs.verifyGetReferencesDataFromGroup(stubReferencesUuid); - wireMockStubs.verifyNetworkModificationDeleteGroup(stubUuid, false); + wireMockStubs.verifyNetworkModificationDeleteGroup(stubUuid); wireMockStubs.caseServer.verifyDeleteCase(stubDeleteCaseId, nonExistingCaseUuid.toString()); deleteStudyStubs.verify(wireMockStubs, computationServerStubs, 10); } diff --git a/src/test/java/org/gridsuite/study/server/utils/wiremock/WireMockStubs.java b/src/test/java/org/gridsuite/study/server/utils/wiremock/WireMockStubs.java index f250757e1..e0c40e74e 100644 --- a/src/test/java/org/gridsuite/study/server/utils/wiremock/WireMockStubs.java +++ b/src/test/java/org/gridsuite/study/server/utils/wiremock/WireMockStubs.java @@ -44,6 +44,8 @@ public class WireMockStubs { private static final String URI_NETWORK_MODIFICATION_GROUPS = "/v1/groups"; + private static final String URI_NETWORK_MODIFICATION_CONTAINERS = "/v1/containers"; + public static final String FIRST_VARIANT_ID = "first_variant_id"; private final WireMockServer wireMock; @@ -170,7 +172,7 @@ public void verifyNetworkElementsIdsPost(UUID stubUuid, String networkUuid, Stri } public UUID stubNetworkModificationCountGet(String groupUuid, Integer expectedCount) { - return wireMock.stubFor(WireMock.get(WireMock.urlPathMatching(URI_NETWORK_MODIFICATION_GROUPS + DELIMITER + groupUuid + "/network-modifications-count")) + return wireMock.stubFor(WireMock.get(WireMock.urlPathMatching(URI_NETWORK_MODIFICATION_CONTAINERS + DELIMITER + groupUuid + "/network-modifications-count")) .withQueryParam(QUERY_PARAM_STASHED, WireMock.equalTo("false")) .willReturn(WireMock.ok() .withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE) @@ -238,14 +240,14 @@ public UUID stubNetworkModificationDeleteGroup() { } public UUID stubGetAllReferencesDataFromGroup() { - return wireMock.stubFor(WireMock.get(WireMock.urlPathMatching(URI_NETWORK_MODIFICATION_GROUPS + DELIMITER + ".*/references")) + return wireMock.stubFor(WireMock.get(WireMock.urlPathMatching(URI_NETWORK_MODIFICATION_CONTAINERS + DELIMITER + ".*/references")) .willReturn(WireMock.ok() .withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE) .withBody("[]"))).getId(); } public void verifyGetReferencesDataFromGroup(UUID getReferencesUuid) { - verifyGetRequest(wireMock, getReferencesUuid, URI_NETWORK_MODIFICATION_GROUPS + DELIMITER + ".*/references", true, Map.of(), 1); + verifyGetRequest(wireMock, getReferencesUuid, URI_NETWORK_MODIFICATION_CONTAINERS + DELIMITER + ".*/references", true, Map.of(), 1); } public UUID stubNetworkModificationDeleteIndex() { @@ -255,7 +257,7 @@ public UUID stubNetworkModificationDeleteIndex() { } public void verifyNetworkModificationCountsGet(UUID stubId, String groupUuid) { - verifyGetRequest(wireMock, stubId, URI_NETWORK_MODIFICATION_GROUPS + DELIMITER + groupUuid + "/network-modifications-count", Map.of(QUERY_PARAM_STASHED, WireMock.equalTo("false"))); + verifyGetRequest(wireMock, stubId, URI_NETWORK_MODIFICATION_CONTAINERS + DELIMITER + groupUuid + "/network-modifications-count", Map.of(QUERY_PARAM_STASHED, WireMock.equalTo("false"))); } public void verifyNetworkModificationPost(String requestBody) { @@ -278,8 +280,8 @@ public void verifyDuplicateModificationGroup(UUID stubId, int nbRequests) { verifyPostRequest(wireMock, stubId, URI_NETWORK_MODIFICATION_GROUPS + "/.*/duplicate", true, Map.of("groupUuid", WireMock.matching(".*")), nbRequests); } - public void verifyNetworkModificationDeleteGroup(UUID stubId, boolean errorOnGroupNotFound) { - verifyDeleteRequest(wireMock, stubId, URI_NETWORK_MODIFICATION_GROUPS + DELIMITER + ".*", true, Map.of("errorOnGroupNotFound", WireMock.equalTo(String.valueOf(errorOnGroupNotFound)))); + public void verifyNetworkModificationDeleteGroup(UUID stubId) { + verifyDeleteRequest(wireMock, stubId, URI_NETWORK_MODIFICATION_GROUPS + DELIMITER + ".*", true, Map.of()); } public void verifyNetworkModificationDeleteIndex(UUID stubId) { From 86247a77727ce2ac7ce3f778810ce3730bb81e90 Mon Sep 17 00:00:00 2001 From: Florent MILLOT <75525996+flomillot@users.noreply.github.com> Date: Wed, 30 Sep 2026 16:25:32 +0200 Subject: [PATCH 2/2] Build the container reference paths from the CONTAINERS constant Signed-off-by: Florent MILLOT <75525996+flomillot@users.noreply.github.com> --- .../study/server/service/NetworkModificationService.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/gridsuite/study/server/service/NetworkModificationService.java b/src/main/java/org/gridsuite/study/server/service/NetworkModificationService.java index 7498482d6..fc81bd3d6 100644 --- a/src/main/java/org/gridsuite/study/server/service/NetworkModificationService.java +++ b/src/main/java/org/gridsuite/study/server/service/NetworkModificationService.java @@ -696,7 +696,7 @@ public List findAllChildrenUuids(List compositeUuids) { } public boolean hasModificationReferences(List containerUuids) { - String path = UriComponentsBuilder.fromPath("containers/references/exists") + String path = UriComponentsBuilder.fromPath(CONTAINERS + DELIMITER + "references/exists") .queryParam(UUIDS, containerUuids) .build().toUriString(); return Boolean.TRUE.equals(restTemplate.getForObject(getNetworkModificationServerURI(false) + path, Boolean.class)); @@ -710,7 +710,7 @@ public void assertReferencedModificationsAreWritable(List containerUuids, if (containerUuids.isEmpty()) { return; } - String path = UriComponentsBuilder.fromPath("containers/references/authorized") + String path = UriComponentsBuilder.fromPath(CONTAINERS + DELIMITER + "references/authorized") .queryParam(UUIDS, containerUuids) .build().toUriString();