diff --git a/src/main/java/org/gridsuite/study/server/elasticsearch/EquipmentInfosService.java b/src/main/java/org/gridsuite/study/server/elasticsearch/EquipmentInfosService.java index e5bceb56c3..48b4cae271 100644 --- a/src/main/java/org/gridsuite/study/server/elasticsearch/EquipmentInfosService.java +++ b/src/main/java/org/gridsuite/study/server/elasticsearch/EquipmentInfosService.java @@ -374,7 +374,7 @@ public List searchEquipments(@lombok.NonNull UUID networkUuid, @ BoolQuery query = buildSearchEquipmentsQuery(userInput, fieldSelector, networkUuid, variantId, equipmentType); List equipmentInfos = searchEquipments(query); - return variantId.equals(VariantManagerConstants.INITIAL_VARIANT_ID) ? equipmentInfos : cleanModifiedAndRemovedEquipments(networkUuid, effectiveVariantId, equipmentInfos); + return effectiveVariantId.equals(VariantManagerConstants.INITIAL_VARIANT_ID) ? equipmentInfos : cleanModifiedAndRemovedEquipments(networkUuid, effectiveVariantId, equipmentInfos); } public List searchEquipments(@NonNull final BoolQuery query) { diff --git a/src/test/java/org/gridsuite/study/server/FilterServiceTest.java b/src/test/java/org/gridsuite/study/server/FilterServiceTest.java index ce36d73843..976acfd74f 100644 --- a/src/test/java/org/gridsuite/study/server/FilterServiceTest.java +++ b/src/test/java/org/gridsuite/study/server/FilterServiceTest.java @@ -19,7 +19,7 @@ import org.gridsuite.study.server.service.FilterService; import org.gridsuite.study.server.service.NetworkModificationTreeService; import org.gridsuite.study.server.utils.TestUtils; -import org.gridsuite.study.server.utils.WireMockUtils; +import org.gridsuite.study.server.utils.wiremock.WireMockStubs; import org.gridsuite.study.server.utils.elasticsearch.DisableElasticsearch; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Assertions; @@ -69,7 +69,7 @@ class FilterServiceTest { private WireMockServer wireMockServer; - private WireMockUtils wireMockUtils; + private WireMockStubs wireMockStubs; @MockitoSpyBean private FilterService filterService; @@ -89,7 +89,7 @@ class FilterServiceTest { @BeforeEach void setup() { wireMockServer = new WireMockServer(wireMockConfig().dynamicPort()); - wireMockUtils = new WireMockUtils(wireMockServer); + wireMockStubs = new WireMockStubs(wireMockServer); // start server wireMockServer.start(); @@ -160,7 +160,7 @@ void testEvaluateFilter() throws Exception { ] """; - UUID stubUuid = wireMockUtils.stubFilterEvaluate(NETWORK_UUID_STRING, responseBody); + UUID stubUuid = wireMockStubs.stubFilterEvaluate(NETWORK_UUID_STRING, responseBody); MvcResult mvcResult = mockMvc.perform(post("/v1/studies/{studyUuid}/root-networks/{rootNetworkUuid}/nodes/{nodeUuid}/filters/evaluate", studyNameUserIdUuid, firstRootNetworkUuid, rootNodeUuid) @@ -170,7 +170,7 @@ void testEvaluateFilter() throws Exception { String resultAsString = mvcResult.getResponse().getContentAsString(); assertEquals(responseBody, resultAsString); - wireMockUtils.verifyFilterEvaluate(stubUuid, NETWORK_UUID_STRING); + wireMockStubs.verifyFilterEvaluate(stubUuid, NETWORK_UUID_STRING); // evaluate on first node mvcResult = mockMvc.perform(post("/v1/studies/{studyUuid}/root-networks/{rootNetworkUuid}/nodes/{nodeUuid}/filters/evaluate", @@ -181,7 +181,7 @@ void testEvaluateFilter() throws Exception { resultAsString = mvcResult.getResponse().getContentAsString(); assertEquals(responseBody, resultAsString); - wireMockUtils.verifyFilterEvaluate(stubUuid, NETWORK_UUID_STRING); + wireMockStubs.verifyFilterEvaluate(stubUuid, NETWORK_UUID_STRING); } @Test @@ -203,7 +203,7 @@ void testEvaluateGlobalFilter() throws Exception { String responseBody = "[\"GEN\"]"; - UUID stubUuid = wireMockUtils.stubGlobalFilterEvaluate(NETWORK_UUID_STRING, List.of(EquipmentType.GENERATOR), responseBody); + UUID stubUuid = wireMockStubs.stubGlobalFilterEvaluate(NETWORK_UUID_STRING, List.of(EquipmentType.GENERATOR), responseBody); MvcResult mvcResult = mockMvc.perform(post("/v1/studies/{studyUuid}/root-networks/{rootNetworkUuid}/nodes/{nodeUuid}/global-filter/evaluate?equipmentTypes=GENERATOR", studyNameUserIdUuid, firstRootNetworkUuid, rootNodeUuid) @@ -213,12 +213,12 @@ void testEvaluateGlobalFilter() throws Exception { String resultAsString = mvcResult.getResponse().getContentAsString(); assertEquals(responseBody, resultAsString); - wireMockUtils.verifyGlobalFilterEvaluate(stubUuid, NETWORK_UUID_STRING, List.of(EquipmentType.GENERATOR)); + wireMockStubs.verifyGlobalFilterEvaluate(stubUuid, NETWORK_UUID_STRING, List.of(EquipmentType.GENERATOR)); } @Test void testEvaluateFilterNotFoundError() throws Exception { - UUID stubUuid = wireMockUtils.stubFilterEvaluateNotFoundError(NETWORK_UUID_STRING); + UUID stubUuid = wireMockStubs.stubFilterEvaluateNotFoundError(NETWORK_UUID_STRING); StudyEntity studyEntity = insertDummyStudy(UUID.fromString(NETWORK_UUID_STRING), CASE_UUID); UUID studyNameUserIdUuid = studyEntity.getId(); @@ -251,12 +251,12 @@ void testEvaluateFilterNotFoundError() throws Exception { .andExpect(status().is5xxServerError()) .andReturn(); - wireMockUtils.verifyFilterEvaluate(stubUuid, NETWORK_UUID_STRING); + wireMockStubs.verifyFilterEvaluate(stubUuid, NETWORK_UUID_STRING); } @Test void testEvaluateFilterError() throws Exception { - UUID stubUuid = wireMockUtils.stubFilterEvaluateError(NETWORK_UUID_STRING); + UUID stubUuid = wireMockStubs.stubFilterEvaluateError(NETWORK_UUID_STRING); StudyEntity studyEntity = insertDummyStudy(UUID.fromString(NETWORK_UUID_STRING), CASE_UUID); UUID studyNameUserIdUuid = studyEntity.getId(); @@ -289,7 +289,7 @@ void testEvaluateFilterError() throws Exception { .andExpect(status().is5xxServerError()) .andReturn(); - wireMockUtils.verifyFilterEvaluate(stubUuid, NETWORK_UUID_STRING); + wireMockStubs.verifyFilterEvaluate(stubUuid, NETWORK_UUID_STRING); } @Test @@ -304,7 +304,7 @@ void testExportFilter() throws Exception { {"id":"MANDA7COND.31","type":"SHUNT_COMPENSATOR","distributionKey":null} ] """; - UUID stubUuid = wireMockUtils.stubFilterExport(NETWORK_UUID_STRING, FILTER_UUID_STRING, responseBody); + UUID stubUuid = wireMockStubs.stubFilterExport(NETWORK_UUID_STRING, FILTER_UUID_STRING, responseBody); MvcResult mvcResult = mockMvc.perform(get("/v1/studies/{studyUuid}/root-networks/{rootNetworkUuid}/filters/{filterId}/elements", studyUuid, firstRootNetworkUuid, FILTER_UUID_STRING)) @@ -313,7 +313,7 @@ void testExportFilter() throws Exception { String resultAsString = mvcResult.getResponse().getContentAsString(); assertEquals(responseBody, resultAsString); - wireMockUtils.verifyFilterExport(stubUuid, FILTER_UUID_STRING, NETWORK_UUID_STRING); + wireMockStubs.verifyFilterExport(stubUuid, FILTER_UUID_STRING, NETWORK_UUID_STRING); } @Test @@ -328,7 +328,7 @@ void exportFilterFromFirstRootNetwork() throws Exception { {"id":"MANDA7COND.31","type":"SHUNT_COMPENSATOR","distributionKey":null} ] """; - UUID stubUuid = wireMockUtils.stubFilterExport(studyFirstRootNetworkUuid.toString(), FILTER_UUID_STRING, responseBody); + UUID stubUuid = wireMockStubs.stubFilterExport(studyFirstRootNetworkUuid.toString(), FILTER_UUID_STRING, responseBody); MvcResult mvcResult = mockMvc.perform(get("/v1/studies/{studyUuid}/filters/{filterId}/elements", studyUuid, FILTER_UUID_STRING)) @@ -337,7 +337,7 @@ void exportFilterFromFirstRootNetwork() throws Exception { String resultAsString = mvcResult.getResponse().getContentAsString(); Assertions.assertEquals(responseBody, resultAsString); - wireMockUtils.verifyFilterExport(stubUuid, FILTER_UUID_STRING, studyFirstRootNetworkUuid.toString()); + wireMockStubs.verifyFilterExport(stubUuid, FILTER_UUID_STRING, studyFirstRootNetworkUuid.toString()); } @Test @@ -360,7 +360,7 @@ void evaluateFiltersWithEquipmentsOnFirstRootNetworkTest() throws Exception { {"id":"MANDA7COND.31","type":"SHUNT_COMPENSATOR","distributionKey":null} ] """; - UUID stubUuid = wireMockUtils.stubFiltersEvaluate(studyFirstRootNetworkUuid.toString(), filtersBody, responseBody); + UUID stubUuid = wireMockStubs.stubFiltersEvaluate(studyFirstRootNetworkUuid.toString(), filtersBody, responseBody); MvcResult mvcResult = mockMvc.perform(post("/v1/studies/{studyUuid}/filters/elements", studyUuid) .content(filtersBody).contentType(MediaType.APPLICATION_JSON)) @@ -370,7 +370,7 @@ void evaluateFiltersWithEquipmentsOnFirstRootNetworkTest() throws Exception { String resultAsString = mvcResult.getResponse().getContentAsString(); Assertions.assertEquals(responseBody, resultAsString); - wireMockUtils.verifyFiltersEvaluate(stubUuid, filtersBody, studyFirstRootNetworkUuid.toString()); + wireMockStubs.verifyFiltersEvaluate(stubUuid, filtersBody, studyFirstRootNetworkUuid.toString()); } @Test @@ -412,7 +412,7 @@ void testExportFilters() throws Exception { } ] """; - UUID stubUuid = wireMockUtils.stubFiltersExport(NETWORK_UUID_STRING, FILTERS_UUID_STRING, responseBody); + UUID stubUuid = wireMockStubs.stubFiltersExport(NETWORK_UUID_STRING, FILTERS_UUID_STRING, responseBody); MvcResult mvcResult = mockMvc.perform(get("/v1/studies/{studyUuid}/root-networks/{rootNetworkUuid}/nodes/{nodeUuid}/filters/elements?filtersUuid=" + FILTERS_UUID_STRING.stream().collect(Collectors.joining(",")), studyUuid, firstRootNetworkUuid, rootNodeUuid)) @@ -421,7 +421,7 @@ void testExportFilters() throws Exception { String resultAsString = mvcResult.getResponse().getContentAsString(); assertEquals(responseBody, resultAsString); - wireMockUtils.verifyFiltersExport(stubUuid, FILTERS_UUID_STRING, NETWORK_UUID_STRING); + wireMockStubs.verifyFiltersExport(stubUuid, FILTERS_UUID_STRING, NETWORK_UUID_STRING); // export on first node mvcResult = mockMvc.perform(get("/v1/studies/{studyUuid}/root-networks/{rootNetworkUuid}/nodes/{nodeUuid}/filters/elements?filtersUuid=" + FILTERS_UUID_STRING.stream().collect(Collectors.joining(",")), @@ -431,6 +431,6 @@ void testExportFilters() throws Exception { resultAsString = mvcResult.getResponse().getContentAsString(); assertEquals(responseBody, resultAsString); - wireMockUtils.verifyFiltersExport(stubUuid, FILTERS_UUID_STRING, NETWORK_UUID_STRING); + wireMockStubs.verifyFiltersExport(stubUuid, FILTERS_UUID_STRING, NETWORK_UUID_STRING); } } diff --git a/src/test/java/org/gridsuite/study/server/LoadFLowIntegrationTest.java b/src/test/java/org/gridsuite/study/server/LoadFLowIntegrationTest.java index bc99ab6b71..7988bbec08 100644 --- a/src/test/java/org/gridsuite/study/server/LoadFLowIntegrationTest.java +++ b/src/test/java/org/gridsuite/study/server/LoadFLowIntegrationTest.java @@ -29,7 +29,7 @@ import org.gridsuite.study.server.repository.voltageinit.StudyVoltageInitParametersEntity; import org.gridsuite.study.server.service.*; import org.gridsuite.study.server.utils.TestUtils; -import org.gridsuite.study.server.utils.WireMockUtils; +import org.gridsuite.study.server.utils.wiremock.WireMockStubs; import org.gridsuite.study.server.utils.elasticsearch.DisableElasticsearch; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; @@ -131,7 +131,7 @@ class LoadFLowIntegrationTest { LoadFlowService loadFlowService; private WireMockServer wireMockServer; - private WireMockUtils wireMockUtils; + private WireMockStubs wireMockStubs; @BeforeEach void setup() { @@ -139,7 +139,7 @@ void setup() { wireMockServer.start(); String baseUrlWireMock = wireMockServer.baseUrl(); loadFlowService.setLoadFlowServerBaseUri(baseUrlWireMock); - wireMockUtils = new WireMockUtils(wireMockServer); + wireMockStubs = new WireMockStubs(wireMockServer); rootNodeInfoRepository.deleteAll(); networkModificationNodeInfoRepository.deleteAll(); @@ -190,14 +190,14 @@ private static Stream argumentsProvider() { @Test void testDynaFlowNotAllowed() throws Exception { - UUID loadFlowProviderStubUuid = wireMockUtils.stubLoadFlowProvider(parametersUuid, DYNA_FLOW_PROVIDER); + UUID loadFlowProviderStubUuid = wireMockStubs.stubLoadFlowProvider(parametersUuid, DYNA_FLOW_PROVIDER); doNothing().when(studyService).sendLoadflowRequest(any(), any(), any(), any(), anyBoolean(), anyString()); // Construction node : forbidden mockMvc.perform(put("/v1/studies/{studyUuid}/root-networks/{rootNetworkUuid}/nodes/{nodeUuid}/loadflow/run", studyUuid, rootNetworkUuid, constructionNodeUuid, userId) .header("userId", userId)) .andExpect(status().isForbidden()); - wireMockUtils.verifyLoadFlowProviderGet(loadFlowProviderStubUuid, parametersUuid); + wireMockStubs.verifyLoadFlowProviderGet(loadFlowProviderStubUuid, parametersUuid); // Security node : ok mockMvc.perform(put("/v1/studies/{studyUuid}/root-networks/{rootNetworkUuid}/nodes/{nodeUuid}/loadflow/run", studyUuid, rootNetworkUuid, securityNodeUuid, userId) @@ -207,18 +207,18 @@ void testDynaFlowNotAllowed() throws Exception { private void runLoadFlow(boolean withRatioTapChangers, boolean isSecurityNode) throws Exception { UUID nodeUuid = isSecurityNode ? securityNodeUuid : constructionNodeUuid; - UUID runLoadflowStubUuid = wireMockUtils.stubRunLoadFlow(networkUuid, withRatioTapChangers, null, objectMapper.writeValueAsString(loadflowResultUuid)); - UUID loadFlowProviderStubUuid = wireMockUtils.stubLoadFlowProvider(parametersUuid, testProvider); + UUID runLoadflowStubUuid = wireMockStubs.stubRunLoadFlow(networkUuid, withRatioTapChangers, null, objectMapper.writeValueAsString(loadflowResultUuid)); + UUID loadFlowProviderStubUuid = wireMockStubs.stubLoadFlowProvider(parametersUuid, testProvider); mockMvc.perform(put("/v1/studies/{studyUuid}/root-networks/{rootNetworkUuid}/nodes/{nodeUuid}/loadflow/run", studyUuid, rootNetworkUuid, nodeUuid, userId) .param(QUERY_WITH_TAP_CHANGER, withRatioTapChangers ? "true" : "false") .header("userId", userId)) .andExpect(status().isOk()); - wireMockUtils.verifyRunLoadflow(runLoadflowStubUuid, networkUuid, withRatioTapChangers, null); + wireMockStubs.verifyRunLoadflow(runLoadflowStubUuid, networkUuid, withRatioTapChangers, null); if (isSecurityNode) { verify(networkModificationTreeService, times(1)).invalidateNodeTree(eq(nodeUuid), eq(rootNetworkUuid), any(InvalidateNodeTreeParameters.class)); } else { - wireMockUtils.verifyLoadFlowProviderGet(loadFlowProviderStubUuid, parametersUuid); + wireMockStubs.verifyLoadFlowProviderGet(loadFlowProviderStubUuid, parametersUuid); } verify(networkModificationService, times(isSecurityNode ? 1 : 0)).deleteIndexedModifications(any(), any(UUID.class)); @@ -240,10 +240,10 @@ private void rerunLoadFlow(boolean withRatioTapChangers, boolean isSecurityNode) reset(networkModificationTreeService); UUID nodeUuid = isSecurityNode ? securityNodeUuid : constructionNodeUuid; UUID newLoadflowResultUuid = UUID.randomUUID(); - UUID stubDeleteLoadflowResultUuid = wireMockUtils.stubDeleteLoadFlowResults(List.of(loadflowResultUuid)); - UUID stubCreateRunningLoadflowStatusUuid = wireMockUtils.stubCreateRunningLoadflowStatus(objectMapper.writeValueAsString(newLoadflowResultUuid)); - UUID loadFlowProviderStubUuid = wireMockUtils.stubLoadFlowProvider(parametersUuid, testProvider); - UUID runLoadflowStubUuid = wireMockUtils.stubRunLoadFlow(networkUuid, withRatioTapChangers, null, objectMapper.writeValueAsString(loadflowResultUuid)); + UUID stubDeleteLoadflowResultUuid = wireMockStubs.stubDeleteLoadFlowResults(List.of(loadflowResultUuid)); + UUID stubCreateRunningLoadflowStatusUuid = wireMockStubs.stubCreateRunningLoadflowStatus(objectMapper.writeValueAsString(newLoadflowResultUuid)); + UUID loadFlowProviderStubUuid = wireMockStubs.stubLoadFlowProvider(parametersUuid, testProvider); + UUID runLoadflowStubUuid = wireMockStubs.stubRunLoadFlow(networkUuid, withRatioTapChangers, null, objectMapper.writeValueAsString(loadflowResultUuid)); doReturn(parametersUuid).when(loadFlowService).createDefaultLoadFlowParameters(); @@ -254,8 +254,8 @@ private void rerunLoadFlow(boolean withRatioTapChangers, boolean isSecurityNode) .header("userId", userId)) .andExpect(status().isOk()); - wireMockUtils.verifyDeleteLoadFlowResults(stubDeleteLoadflowResultUuid, List.of(loadflowResultUuid)); - wireMockUtils.verifyCreateRunningLoadflowStatus(stubCreateRunningLoadflowStatusUuid); + wireMockStubs.verifyDeleteLoadFlowResults(stubDeleteLoadflowResultUuid, List.of(loadflowResultUuid)); + wireMockStubs.verifyCreateRunningLoadflowStatus(stubCreateRunningLoadflowStatusUuid); if (isSecurityNode) { verify(networkModificationTreeService, times(1)).invalidateNodeTree(eq(nodeUuid), eq(rootNetworkUuid), any(InvalidateNodeTreeParameters.class)); @@ -263,8 +263,8 @@ private void rerunLoadFlow(boolean withRatioTapChangers, boolean isSecurityNode) verify(networkModificationService, times(1)).buildNode(eq(nodeUuid), eq(rootNetworkUuid), any(BuildInfos.class), rerunLoadFlowWorkflowInfosArgumentCaptor.capture()); assertEquals(withRatioTapChangers, rerunLoadFlowWorkflowInfosArgumentCaptor.getValue().isWithRatioTapChangers()); } else { - wireMockUtils.verifyLoadFlowProviderGet(loadFlowProviderStubUuid, parametersUuid); - wireMockUtils.verifyRunLoadflow(runLoadflowStubUuid, networkUuid, withRatioTapChangers, null); + wireMockStubs.verifyLoadFlowProviderGet(loadFlowProviderStubUuid, parametersUuid); + wireMockStubs.verifyRunLoadflow(runLoadflowStubUuid, networkUuid, withRatioTapChangers, null); } // verify that the node is blocked diff --git a/src/test/java/org/gridsuite/study/server/ModificationSearchTest.java b/src/test/java/org/gridsuite/study/server/ModificationSearchTest.java index 7df24f53e6..db661298ea 100644 --- a/src/test/java/org/gridsuite/study/server/ModificationSearchTest.java +++ b/src/test/java/org/gridsuite/study/server/ModificationSearchTest.java @@ -18,7 +18,7 @@ import org.gridsuite.study.server.service.NetworkModificationTreeService; import org.gridsuite.study.server.service.RootNetworkService; import org.gridsuite.study.server.utils.TestUtils; -import org.gridsuite.study.server.utils.WireMockUtils; +import org.gridsuite.study.server.utils.wiremock.WireMockStubs; import org.gridsuite.study.server.utils.elasticsearch.DisableElasticsearch; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; @@ -84,12 +84,12 @@ class ModificationSearchTest { StudyEntity studyEntity; RootNetworkEntity rootNetworkEntity; NetworkModificationNode node1; - private WireMockUtils wireMockUtils; + private WireMockStubs wireMockStubs; @BeforeEach void setup() { wireMockServer = new WireMockServer(wireMockConfig().dynamicPort()); - wireMockUtils = new WireMockUtils(wireMockServer); + wireMockStubs = new WireMockStubs(wireMockServer); // start server wireMockServer.start(); @@ -129,7 +129,7 @@ void testSearchModifications() throws Exception { String jsonBody = mapper.writeValueAsString(modificationsSearchResultByGroup); - UUID stubUuid = wireMockUtils.stubSearchModifications(rootNetworkService.getNetworkUuid(rootNetworkUuid).toString(), "B", jsonBody); + UUID stubUuid = wireMockStubs.stubSearchModifications(rootNetworkService.getNetworkUuid(rootNetworkUuid).toString(), "B", jsonBody); MvcResult mvcResult = mockMvc.perform(get("/v1/studies/{studyUuid}/root-networks/{rootNetworkUuid}/modifications/indexation-infos?userInput=B", studyEntity.getId(), rootNetworkUuid)) .andExpect(status().isOk()) @@ -138,6 +138,6 @@ void testSearchModifications() throws Exception { String responseContent = mvcResult.getResponse().getContentAsString(); assertTrue(responseContent.contains(node1.getId().toString())); - wireMockUtils.verifySearchModifications(stubUuid, rootNetworkService.getNetworkUuid(rootNetworkUuid).toString(), "B"); + wireMockStubs.verifySearchModifications(stubUuid, rootNetworkService.getNetworkUuid(rootNetworkUuid).toString(), "B"); } } diff --git a/src/test/java/org/gridsuite/study/server/NetworkAreaDiagramTest.java b/src/test/java/org/gridsuite/study/server/NetworkAreaDiagramTest.java index 011b78d90b..e7fc0db80e 100644 --- a/src/test/java/org/gridsuite/study/server/NetworkAreaDiagramTest.java +++ b/src/test/java/org/gridsuite/study/server/NetworkAreaDiagramTest.java @@ -15,7 +15,8 @@ import org.gridsuite.study.server.service.RootNetworkNodeInfoService; import org.gridsuite.study.server.service.RootNetworkService; import org.gridsuite.study.server.service.SingleLineDiagramService; -import org.gridsuite.study.server.utils.WireMockUtils; +import org.gridsuite.study.server.utils.wiremock.WireMockStubs; +import org.gridsuite.study.server.utils.wiremock.WireMockUtils; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; @@ -49,7 +50,7 @@ class NetworkAreaDiagramTest { private WireMockServer wireMockServer; - protected WireMockUtils wireMockUtils; + protected WireMockStubs wireMockStubs; @Autowired private ObjectMapper mapper; @@ -86,7 +87,7 @@ class NetworkAreaDiagramTest { @BeforeEach void setUp() { wireMockServer = new WireMockServer(wireMockConfig().dynamicPort()); - wireMockUtils = new WireMockUtils(wireMockServer); + wireMockStubs = new WireMockStubs(wireMockServer); wireMockServer.start(); singleLineDiagramService.setSingleLineDiagramServerBaseUri(wireMockServer.baseUrl()); @@ -112,7 +113,8 @@ void testGetNetworkAreaDiagramFromConfig() throws Exception { .header("userId", USER1)) .andExpectAll(status().isOk(), content().string("nad-svg-from-config")) .andReturn(); - wireMockUtils.verifyPostRequest( + WireMockUtils.verifyPostRequest( + wireMockServer, stubId, SINGLE_LINE_DIAGRAM_SERVER_BASE_URL + NETWORK_UUID, Map.of("variantId", WireMock.equalTo(VariantManagerConstants.INITIAL_VARIANT_ID))); @@ -149,7 +151,7 @@ void testGetNetworkAreaDiagramFromConfigElementUuidNotFound() throws Exception { .header("userId", USER1)) .andExpectAll(status().isNotFound()); - wireMockUtils.verifyPostRequest(stubId, SINGLE_LINE_DIAGRAM_SERVER_BASE_URL + NETWORK_UUID, Map.of( + WireMockUtils.verifyPostRequest(wireMockServer, stubId, SINGLE_LINE_DIAGRAM_SERVER_BASE_URL + NETWORK_UUID, Map.of( "variantId", WireMock.equalTo(VariantManagerConstants.INITIAL_VARIANT_ID))); } } diff --git a/src/test/java/org/gridsuite/study/server/NetworkMapTest.java b/src/test/java/org/gridsuite/study/server/NetworkMapTest.java index e5702c723b..80dae1abfb 100644 --- a/src/test/java/org/gridsuite/study/server/NetworkMapTest.java +++ b/src/test/java/org/gridsuite/study/server/NetworkMapTest.java @@ -33,8 +33,9 @@ import org.gridsuite.study.server.service.ReportService; import org.gridsuite.study.server.utils.MatcherJson; import org.gridsuite.study.server.utils.TestUtils; -import org.gridsuite.study.server.utils.WireMockUtils; +import org.gridsuite.study.server.utils.wiremock.WireMockStubs; import org.gridsuite.study.server.utils.elasticsearch.DisableElasticsearch; +import org.gridsuite.study.server.utils.wiremock.WireMockUtils; import org.jetbrains.annotations.NotNull; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; @@ -105,7 +106,7 @@ class NetworkMapTest { private WireMockServer wireMockServer; - private WireMockUtils wireMockUtils; + private WireMockStubs wireMockStubs; @Autowired private OutputDestination output; @@ -136,7 +137,7 @@ class NetworkMapTest { @BeforeEach void setup(final MockWebServer server) throws Exception { wireMockServer = new WireMockServer(wireMockConfig().dynamicPort()); - wireMockUtils = new WireMockUtils(wireMockServer); + wireMockStubs = new WireMockStubs(wireMockServer); // Start the server. wireMockServer.start(); @@ -443,7 +444,7 @@ void testGetMapHvdcLines(final MockWebServer server) throws Exception { void testGetHvdcLineShuntCompensators(final MockWebServer server) throws Exception { networkMapService.setNetworkMapServerBaseUri(wireMockServer.baseUrl()); final String responseBody = "{\"id\":\"HVDC1\",\"hvdcType\":\"LCC\",\"mcsOnside1\":[],\"mcsOnside2\":[]}"; - UUID stubUuid = wireMockUtils.stubHvdcLinesShuntCompensatorsGet(NETWORK_UUID_STRING, HVDC_LINE_ID_1, responseBody); + UUID stubUuid = wireMockStubs.stubHvdcLinesShuntCompensatorsGet(NETWORK_UUID_STRING, HVDC_LINE_ID_1, responseBody); StudyEntity studyEntity = insertDummyStudy(server, UUID.fromString(NETWORK_UUID_STRING), CASE_UUID); UUID firstRootNetworkUuid = studyTestUtils.getOneRootNetworkUuid(studyEntity.getId()); @@ -456,13 +457,13 @@ void testGetHvdcLineShuntCompensators(final MockWebServer server) throws Excepti String resultAsString = mvcResult.getResponse().getContentAsString(); assertEquals(responseBody, resultAsString); - wireMockUtils.verifyHvdcLinesShuntCompensatorsGet(stubUuid, NETWORK_UUID_STRING, HVDC_LINE_ID_1); + wireMockStubs.verifyHvdcLinesShuntCompensatorsGet(stubUuid, NETWORK_UUID_STRING, HVDC_LINE_ID_1); } @Test void testGetBranchOr3WTVoltageLevelId(final MockWebServer server) throws Exception { networkMapService.setNetworkMapServerBaseUri(wireMockServer.baseUrl()); - UUID stubUuid = wireMockUtils.stubBranchOr3WTVoltageLevelIdGet(NETWORK_UUID_STRING, LINE_ID_1, VL_ID_1); + UUID stubUuid = wireMockStubs.stubBranchOr3WTVoltageLevelIdGet(NETWORK_UUID_STRING, LINE_ID_1, VL_ID_1); StudyEntity studyEntity = insertDummyStudy(server, UUID.fromString(NETWORK_UUID_STRING), CASE_UUID); UUID firstRootNetworkUuid = studyTestUtils.getOneRootNetworkUuid(studyEntity.getId()); AbstractNode node = getRootNode(studyEntity.getId()).getChildren().stream().findFirst().orElseThrow(); @@ -474,13 +475,13 @@ void testGetBranchOr3WTVoltageLevelId(final MockWebServer server) throws Excepti .andReturn(); String resultAsString = mvcResult.getResponse().getContentAsString(); assertEquals(VL_ID_1, resultAsString); - wireMockUtils.verifyBranchOr3WTVoltageLevelIdGet(stubUuid, NETWORK_UUID_STRING, LINE_ID_1); + wireMockStubs.verifyBranchOr3WTVoltageLevelIdGet(stubUuid, NETWORK_UUID_STRING, LINE_ID_1); } @Test void testGetHvdcLineShuntCompensatorsError(final MockWebServer server) throws Exception { networkMapService.setNetworkMapServerBaseUri(wireMockServer.baseUrl()); - UUID stubUuid = wireMockUtils.stubHvdcLinesShuntCompensatorsGetError(NETWORK_UUID_STRING, HVDC_LINE_ID_ERR); + UUID stubUuid = wireMockStubs.stubHvdcLinesShuntCompensatorsGetError(NETWORK_UUID_STRING, HVDC_LINE_ID_ERR); StudyEntity studyEntity = insertDummyStudy(server, UUID.fromString(NETWORK_UUID_STRING), CASE_UUID); UUID studyNameUserIdUuid = studyEntity.getId(); @@ -491,7 +492,7 @@ void testGetHvdcLineShuntCompensatorsError(final MockWebServer server) throws Ex studyNameUserIdUuid, firstRootNetworkUuid, rootNodeUuid, HVDC_LINE_ID_ERR)) .andExpect(status().is5xxServerError()) .andReturn(); - wireMockUtils.verifyHvdcLinesShuntCompensatorsGet(stubUuid, NETWORK_UUID_STRING, HVDC_LINE_ID_ERR); + wireMockStubs.verifyHvdcLinesShuntCompensatorsGet(stubUuid, NETWORK_UUID_STRING, HVDC_LINE_ID_ERR); } @Test @@ -666,7 +667,8 @@ void testGetAllNetworkElementsInfos(final MockWebServer server) throws Exception studyEntity.getId(), rootNetworkUuid, node.getId()) ).andExpect(status().isOk()); - wireMockUtils.verifyPostRequest( + WireMockUtils.verifyPostRequest( + wireMockServer, stubId, "/v1/networks/" + NETWORK_UUID_STRING + "/all", true, @@ -695,7 +697,7 @@ private RootNode getRootNode(UUID study) throws Exception { } private MvcResult getNetworkElementsIds(UUID studyUuid, UUID rootNetworkUuid, UUID rootNodeUuid, String elementType, List nominalVoltages, String responseBody, String requestBody) throws Exception { - UUID stubUuid = wireMockUtils.stubNetworkElementsIdsPost(NETWORK_UUID_STRING, responseBody); + UUID stubUuid = wireMockStubs.stubNetworkElementsIdsPost(NETWORK_UUID_STRING, responseBody); LinkedMultiValueMap queryParams = new LinkedMultiValueMap<>(); queryParams.add(QUERY_PARAM_EQUIPMENT_TYPE, elementType); if (nominalVoltages != null && !nominalVoltages.isEmpty()) { @@ -711,12 +713,12 @@ private MvcResult getNetworkElementsIds(UUID studyUuid, UUID rootNetworkUuid, UU MvcResult mvcResult = mockMvc.perform(mockHttpServletRequestBuilder) .andExpect(status().isOk()) .andReturn(); - wireMockUtils.verifyNetworkElementsIdsPost(stubUuid, NETWORK_UUID_STRING, requestBody); + wireMockStubs.verifyNetworkElementsIdsPost(stubUuid, NETWORK_UUID_STRING, requestBody); return mvcResult; } private MvcResult getNetworkElementsInfos(UUID studyUuid, UUID rootNetworkUuid, UUID rootNodeUuid, String infoType, String elementType, List nominalVoltages, String requestBody, String responseBody) throws Exception { - UUID stubUuid = wireMockUtils.stubNetworkElementsInfosPost(NETWORK_UUID_STRING, infoType, elementType, nominalVoltages, responseBody); + UUID stubUuid = wireMockStubs.stubNetworkElementsInfosPost(NETWORK_UUID_STRING, infoType, elementType, nominalVoltages, responseBody); MockHttpServletRequestBuilder mockHttpServletRequestBuilder = post("/v1/studies/{studyUuid}/root-networks/{rootNetworkUuid}/nodes/{nodeUuid}/network/elements", studyUuid, rootNetworkUuid, rootNodeUuid) .queryParam(QUERY_PARAM_INFO_TYPE, infoType) @@ -732,24 +734,24 @@ private MvcResult getNetworkElementsInfos(UUID studyUuid, UUID rootNetworkUuid, MvcResult mvcResult = mockMvc.perform(mockHttpServletRequestBuilder) .andExpect(status().isOk()) .andReturn(); - wireMockUtils.verifyNetworkElementsInfosPost(stubUuid, NETWORK_UUID_STRING, infoType, elementType, requestBody); + wireMockStubs.verifyNetworkElementsInfosPost(stubUuid, NETWORK_UUID_STRING, infoType, elementType, requestBody); return mvcResult; } private MvcResult getNetworkElementInfos(UUID studyUuid, UUID rootNetworkUuid, UUID rootNodeUuid, String elementType, String infoType, String elementId, String responseBody) throws Exception { - UUID stubUuid = wireMockUtils.stubNetworkElementInfosGet(NETWORK_UUID_STRING, elementType, infoType, elementId, responseBody); + UUID stubUuid = wireMockStubs.stubNetworkElementInfosGet(NETWORK_UUID_STRING, elementType, infoType, elementId, responseBody); MvcResult mvcResult = mockMvc.perform(get("/v1/studies/{studyUuid}/root-networks/{rootNetworkUuid}/nodes/{nodeUuid}/network/elements/{elementId}", studyUuid, rootNetworkUuid, rootNodeUuid, elementId) .queryParam(QUERY_PARAM_ELEMENT_TYPE, elementType) .queryParam(QUERY_PARAM_INFO_TYPE, infoType) ) .andExpect(status().isOk()) .andReturn(); - wireMockUtils.verifyNetworkElementInfosGet(stubUuid, NETWORK_UUID_STRING, elementType, infoType, elementId); + wireMockStubs.verifyNetworkElementInfosGet(stubUuid, NETWORK_UUID_STRING, elementType, infoType, elementId); return mvcResult; } private MvcResult getNetworkElementInfosNotFound(UUID studyUuid, UUID rootNetworkUuid, UUID rootNodeUuid, String elementType, String infoType, String elementId) throws Exception { - UUID stubUuid = wireMockUtils.stubNetworkElementInfosGetNotFound(NETWORK_UUID_STRING, elementType, infoType, elementId); + UUID stubUuid = wireMockStubs.stubNetworkElementInfosGetNotFound(NETWORK_UUID_STRING, elementType, infoType, elementId); MvcResult mvcResult = mockMvc.perform(get("/v1/studies/{studyUuid}/root-networks/{rootNetworkUuid}/nodes/{nodeUuid}/network/elements/{elementId}", studyUuid, rootNetworkUuid, rootNodeUuid, elementId) .queryParam(QUERY_PARAM_ELEMENT_TYPE, elementType) .queryParam(QUERY_PARAM_INFO_TYPE, infoType) @@ -757,19 +759,19 @@ private MvcResult getNetworkElementInfosNotFound(UUID studyUuid, UUID rootNetwor ) .andExpect(status().isNotFound()) .andReturn(); - wireMockUtils.verifyNetworkElementInfosGet(stubUuid, NETWORK_UUID_STRING, elementType, infoType, elementId); + wireMockStubs.verifyNetworkElementInfosGet(stubUuid, NETWORK_UUID_STRING, elementType, infoType, elementId); return mvcResult; } private void getNetworkElementInfosWithError(UUID studyUuid, UUID rootNetworkUuid, UUID rootNodeUuid, String elementType, String infoType, String elementId) throws Exception { - UUID stubUuid = wireMockUtils.stubNetworkElementInfosGetWithError(NETWORK_UUID_STRING, elementType, infoType, elementId); + UUID stubUuid = wireMockStubs.stubNetworkElementInfosGetWithError(NETWORK_UUID_STRING, elementType, infoType, elementId); mockMvc.perform(get("/v1/studies/{studyUuid}/root-networks/{rootNetworkUuid}/nodes/{nodeUuid}/network/elements/{elementId}", studyUuid, rootNetworkUuid, rootNodeUuid, elementId) .queryParam(QUERY_PARAM_ELEMENT_TYPE, elementType) .queryParam(QUERY_PARAM_INFO_TYPE, infoType) .queryParam(String.format(QUERY_FORMAT_OPTIONAL_PARAMS, QUERY_PARAM_DC_POWERFACTOR), Double.toString(LoadFlowParameters.DEFAULT_DC_POWER_FACTOR)) ) .andExpectAll(status().isInternalServerError(), content().string("Internal Server Error")); - wireMockUtils.verifyNetworkElementInfosGet(stubUuid, NETWORK_UUID_STRING, elementType, infoType, elementId); + wireMockStubs.verifyNetworkElementInfosGet(stubUuid, NETWORK_UUID_STRING, elementType, infoType, elementId); } @Test @@ -778,7 +780,7 @@ void testGetCountries(final MockWebServer server) throws Exception { final String responseBody = """ ['FR', 'GB'] """; - UUID stubUuid = wireMockUtils.stubCountriesGet(NETWORK_UUID_STRING, responseBody); + UUID stubUuid = wireMockStubs.stubCountriesGet(NETWORK_UUID_STRING, responseBody); StudyEntity studyEntity = insertDummyStudy(server, UUID.fromString(NETWORK_UUID_STRING), CASE_UUID); UUID firstRootNetworkUuid = studyTestUtils.getOneRootNetworkUuid(studyEntity.getId()); @@ -791,13 +793,13 @@ void testGetCountries(final MockWebServer server) throws Exception { String resultAsString = mvcResult.getResponse().getContentAsString(); assertEquals(responseBody, resultAsString); - wireMockUtils.verifyCountriesGet(stubUuid, NETWORK_UUID_STRING); + wireMockStubs.verifyCountriesGet(stubUuid, NETWORK_UUID_STRING); } @Test void testGetCountriesNotFoundError(final MockWebServer server) throws Exception { networkMapService.setNetworkMapServerBaseUri(wireMockServer.baseUrl()); - UUID stubUuid = wireMockUtils.stubCountriesGetNotFoundError(NETWORK_UUID_STRING); + UUID stubUuid = wireMockStubs.stubCountriesGetNotFoundError(NETWORK_UUID_STRING); StudyEntity studyEntity = insertDummyStudy(server, UUID.fromString(NETWORK_UUID_STRING), CASE_UUID); UUID studyNameUserIdUuid = studyEntity.getId(); @@ -809,13 +811,13 @@ void testGetCountriesNotFoundError(final MockWebServer server) throws Exception .andExpect(status().is5xxServerError()) .andReturn(); - wireMockUtils.verifyCountriesGet(stubUuid, NETWORK_UUID_STRING); + wireMockStubs.verifyCountriesGet(stubUuid, NETWORK_UUID_STRING); } @Test void testGetCountriesError(final MockWebServer server) throws Exception { networkMapService.setNetworkMapServerBaseUri(wireMockServer.baseUrl()); - UUID stubUuid = wireMockUtils.stubCountriesGetError(NETWORK_UUID_STRING); + UUID stubUuid = wireMockStubs.stubCountriesGetError(NETWORK_UUID_STRING); StudyEntity studyEntity = insertDummyStudy(server, UUID.fromString(NETWORK_UUID_STRING), CASE_UUID); UUID studyNameUserIdUuid = studyEntity.getId(); @@ -827,7 +829,7 @@ void testGetCountriesError(final MockWebServer server) throws Exception { .andExpect(status().is5xxServerError()) .andReturn(); - wireMockUtils.verifyCountriesGet(stubUuid, NETWORK_UUID_STRING); + wireMockStubs.verifyCountriesGet(stubUuid, NETWORK_UUID_STRING); } @Test @@ -836,7 +838,7 @@ void testGetNominalVoltages(final MockWebServer server) throws Exception { final String responseBody = """ [24.0, 380.0] """; - UUID stubUuid = wireMockUtils.stubNominalVoltagesGet(NETWORK_UUID_STRING, responseBody); + UUID stubUuid = wireMockStubs.stubNominalVoltagesGet(NETWORK_UUID_STRING, responseBody); StudyEntity studyEntity = insertDummyStudy(server, UUID.fromString(NETWORK_UUID_STRING), CASE_UUID); UUID firstRootNetworkUuid = studyTestUtils.getOneRootNetworkUuid(studyEntity.getId()); @@ -849,13 +851,13 @@ void testGetNominalVoltages(final MockWebServer server) throws Exception { String resultAsString = mvcResult.getResponse().getContentAsString(); assertEquals(responseBody, resultAsString); - wireMockUtils.verifyNominalVoltagesGet(stubUuid, NETWORK_UUID_STRING); + wireMockStubs.verifyNominalVoltagesGet(stubUuid, NETWORK_UUID_STRING); } @Test void testGetNominalVoltagesNotFoundError(final MockWebServer server) throws Exception { networkMapService.setNetworkMapServerBaseUri(wireMockServer.baseUrl()); - UUID stubUuid = wireMockUtils.stubNominalVoltagesGetNotFoundError(NETWORK_UUID_STRING); + UUID stubUuid = wireMockStubs.stubNominalVoltagesGetNotFoundError(NETWORK_UUID_STRING); StudyEntity studyEntity = insertDummyStudy(server, UUID.fromString(NETWORK_UUID_STRING), CASE_UUID); UUID studyNameUserIdUuid = studyEntity.getId(); @@ -867,13 +869,13 @@ void testGetNominalVoltagesNotFoundError(final MockWebServer server) throws Exce .andExpect(status().is5xxServerError()) .andReturn(); - wireMockUtils.verifyNominalVoltagesGet(stubUuid, NETWORK_UUID_STRING); + wireMockStubs.verifyNominalVoltagesGet(stubUuid, NETWORK_UUID_STRING); } @Test void testGetNominalVoltagesError(final MockWebServer server) throws Exception { networkMapService.setNetworkMapServerBaseUri(wireMockServer.baseUrl()); - UUID stubUuid = wireMockUtils.stubNominalVoltagesGetError(NETWORK_UUID_STRING); + UUID stubUuid = wireMockStubs.stubNominalVoltagesGetError(NETWORK_UUID_STRING); StudyEntity studyEntity = insertDummyStudy(server, UUID.fromString(NETWORK_UUID_STRING), CASE_UUID); UUID studyNameUserIdUuid = studyEntity.getId(); @@ -885,7 +887,7 @@ void testGetNominalVoltagesError(final MockWebServer server) throws Exception { .andExpect(status().is5xxServerError()) .andReturn(); - wireMockUtils.verifyNominalVoltagesGet(stubUuid, NETWORK_UUID_STRING); + wireMockStubs.verifyNominalVoltagesGet(stubUuid, NETWORK_UUID_STRING); } @AfterEach diff --git a/src/test/java/org/gridsuite/study/server/NetworkModificationTest.java b/src/test/java/org/gridsuite/study/server/NetworkModificationTest.java index ab28785f94..89b433603e 100644 --- a/src/test/java/org/gridsuite/study/server/NetworkModificationTest.java +++ b/src/test/java/org/gridsuite/study/server/NetworkModificationTest.java @@ -49,6 +49,8 @@ import org.gridsuite.study.server.service.shortcircuit.ShortCircuitService; import org.gridsuite.study.server.utils.*; import org.gridsuite.study.server.utils.elasticsearch.DisableElasticsearch; +import org.gridsuite.study.server.utils.wiremock.WireMockStubs; +import org.gridsuite.study.server.utils.wiremock.WireMockUtils; import org.jetbrains.annotations.NotNull; import org.json.JSONObject; import org.junit.jupiter.api.AfterEach; @@ -170,7 +172,7 @@ class NetworkModificationTest { private WireMockServer wireMockServer; - private WireMockUtils wireMockUtils; + private WireMockStubs wireMockStubs; @Autowired private OutputDestination output; @@ -268,7 +270,7 @@ void setup(final MockWebServer server) { synchronizeStudyServerExecutionService(studyServerExecutionService); wireMockServer = new WireMockServer(wireMockConfig().dynamicPort().extensions(new SendInput(input))); - wireMockUtils = new WireMockUtils(wireMockServer); + wireMockStubs = new WireMockStubs(wireMockServer); // Start the mock servers wireMockServer.start(); @@ -479,7 +481,7 @@ void testBuildQuotaExceeded() throws Exception { ).andExpect(status().isForbidden()) .andReturn(); assertTrue(result.getResponse().getContentAsString().equalsIgnoreCase("MAX_NODE_BUILDS_EXCEEDED max allowed built nodes : 1")); - wireMockUtils.verifyGetRequest(userProfileQuotaExceededStubId, "/v1/users/" + userId + "/profile/max-builds", Map.of()); + WireMockUtils.verifyGetRequest(wireMockServer, userProfileQuotaExceededStubId, "/v1/users/" + userId + "/profile/max-builds", Map.of()); } @Test @@ -613,7 +615,7 @@ void testLocalBuildValue() throws Exception { Map createLoadInfos = Map.of("type", ModificationType.LOAD_CREATION, "equipmentId", "loadId"); String jsonCreateLoadInfos = mapper.writeValueAsString(createLoadInfos); - wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); + wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); // Mark the node status as built RootNetworkNodeInfoEntity rootNetworkNodeInfoEntity = rootNetworkNodeInfoRepository.findByNodeInfoIdAndRootNetworkId(modificationNode.getId(), studyTestUtils.getOneRootNetworkUuid(studyNameUserIdUuid)).orElseThrow(() -> new StudyException(StudyException.Type.ROOT_NETWORK_NOT_FOUND)); @@ -627,18 +629,18 @@ void testLocalBuildValue() throws Exception { // Create network modification on BUILT modification node Optional networkModificationResult = createModificationResultWithElementImpact(SimpleImpactType.CREATION, IdentifiableType.LOAD, "loadId", Set.of("s1")); - wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); + wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); NetworkImpactsInfos expectedPayload = NetworkImpactsInfos.builder().impactedSubstationsIds(ImmutableSet.of("s1")).deletedEquipments(ImmutableSet.of()).build(); // Build first node with errors networkModificationResult.get().setApplicationStatus(NetworkModificationResult.ApplicationStatus.WITH_ERRORS); - UUID stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(networkModificationResult)))); - UUID deleteModificationIndexStub = wireMockUtils.stubNetworkModificationDeleteIndex(); + UUID stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(networkModificationResult)))); + UUID deleteModificationIndexStub = wireMockStubs.stubNetworkModificationDeleteIndex(); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNodeUuid) .content(jsonCreateLoadInfos).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) .andExpect(status().isOk()); - wireMockUtils.verifyNetworkModificationDeleteIndex(deleteModificationIndexStub); + wireMockStubs.verifyNetworkModificationDeleteIndex(deleteModificationIndexStub); checkUpdateModelsStatusMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkEquipmentCreatingMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); @@ -647,11 +649,11 @@ void testLocalBuildValue() throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); assertEquals(BuildStatus.BUILT_WITH_ERROR, networkModificationTreeService.getNodeBuildStatus(modificationNodeUuid, rootNetworkUuid).getGlobalBuildStatus()); Pair> modificationBody = Pair.of(jsonCreateLoadInfos, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNodeUuid, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); // Build second node is OK networkModificationResult.get().setApplicationStatus(NetworkModificationResult.ApplicationStatus.ALL_OK); - stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(networkModificationResult)))); + stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(networkModificationResult)))); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNode2Uuid) .content(jsonCreateLoadInfos).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -665,7 +667,7 @@ void testLocalBuildValue() throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNode2Uuid); assertEquals(BuildStatus.BUILT_WITH_ERROR, networkModificationTreeService.getNodeBuildStatus(modificationNode2Uuid, rootNetworkUuid).getGlobalBuildStatus()); modificationBody = Pair.of(jsonCreateLoadInfos, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNode2Uuid, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); //Build modification node 2, local status should be BUILT and computed one should be BUILT_WITH_ERRORS assertEquals(BuildStatus.BUILT, networkModificationTreeService.getNodeBuildStatus(modificationNode2Uuid, rootNetworkUuid).getLocalBuildStatus()); @@ -706,7 +708,7 @@ void testNetworkModificationSwitch(final MockWebServer server) throws Exception .andExpect(status().isForbidden()); // update switch on first modification node - UUID stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); + UUID stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNode1Uuid) .content(bodyJson).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -716,7 +718,7 @@ void testNetworkModificationSwitch(final MockWebServer server) throws Exception checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); Pair> modificationBody = Pair.of(bodyJson, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNode1Uuid, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); mvcResult = mockMvc.perform(get("/v1/studies").header(USER_ID_HEADER, userId)).andExpectAll( status().isOk(), @@ -737,7 +739,7 @@ void testNetworkModificationSwitch(final MockWebServer server) throws Exception checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNode2Uuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); modificationBody = Pair.of(bodyJson, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNode2Uuid, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); // test build status on switch modification RootNetworkNodeInfoEntity rootNetworkNodeInfo1Entity = rootNetworkNodeInfoRepository.findByNodeInfoIdAndRootNetworkId(modificationNode1.getId(), studyTestUtils.getOneRootNetworkUuid(studyNameUserIdUuid)).orElseThrow(() -> new StudyException(StudyException.Type.ROOT_NETWORK_NOT_FOUND)); @@ -749,13 +751,13 @@ void testNetworkModificationSwitch(final MockWebServer server) throws Exception Optional networkModificationResult = createModificationResultWithElementImpact(SimpleImpactType.MODIFICATION, IdentifiableType.SWITCH, "switchId", Set.of("s1", "s2", "s3")); - stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(networkModificationResult)))); - UUID deleteModificationIndexStub = wireMockUtils.stubNetworkModificationDeleteIndex(); + stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(networkModificationResult)))); + UUID deleteModificationIndexStub = wireMockStubs.stubNetworkModificationDeleteIndex(); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNode1Uuid) .content(bodyJson).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) .andExpect(status().isOk()); - wireMockUtils.verifyNetworkModificationDeleteIndex(deleteModificationIndexStub); + wireMockStubs.verifyNetworkModificationDeleteIndex(deleteModificationIndexStub); Set substationsSet = ImmutableSet.of("s3", "s1", "s2"); NetworkImpactsInfos expectedPayload = NetworkImpactsInfos.builder().impactedSubstationsIds(substationsSet).build(); checkNodesBuildStatusUpdatedMessageReceived(studyNameUserIdUuid, List.of(modificationNode2Uuid)); @@ -765,7 +767,7 @@ void testNetworkModificationSwitch(final MockWebServer server) throws Exception checkEquipmentMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid, expectedPayload); checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); modificationBody = Pair.of(bodyJson, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNode1Uuid, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); Set requests = TestUtils.getRequestsWithBodyDone(1, server); assertTrue(requests.stream().anyMatch(r -> r.getPath().matches("/v1/reports"))); @@ -806,7 +808,7 @@ void testNetworkModificationEquipment() throws Exception { .andExpect(status().isForbidden()); //update equipment - UUID stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); + UUID stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNodeUuid) .content(bodyJson).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -815,7 +817,7 @@ void testNetworkModificationEquipment() throws Exception { checkEquipmentCreatingMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); Pair> modificationBody = Pair.of(bodyJson, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNodeUuid, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); mvcResult = mockMvc.perform(get("/v1/studies").header(USER_ID_HEADER, "userId").header(USER_ID_HEADER, "userId")).andExpectAll( status().isOk(), @@ -836,7 +838,7 @@ void testNetworkModificationEquipment() throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNodeUuid2); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); modificationBody = Pair.of(bodyJson, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNodeUuid2, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); } @Test @@ -876,7 +878,7 @@ void testCreateGenerator() throws Exception { .andExpect(status().isForbidden()); // create generator on first modification node - UUID stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); + UUID stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNode1Uuid) .content(bodyJsonCreate).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -886,7 +888,7 @@ void testCreateGenerator() throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); Pair> modificationBody = Pair.of(bodyJsonCreate, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNode1Uuid, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); // create generator on second modification node mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNode2Uuid) @@ -898,7 +900,7 @@ void testCreateGenerator() throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNode2Uuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); modificationBody = Pair.of(bodyJsonCreate, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNode2Uuid, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); // update generator creation body.replace("generatorId", "generatorId2"); @@ -906,7 +908,7 @@ void testCreateGenerator() throws Exception { body.replace("energySource", "UNDEFINED"); body.replace("minActivePower", "150.0"); body.replace("maxActivePower", "50.0"); - UUID stubPutId = wireMockUtils.stubNetworkModificationPut(MODIFICATION_UUID); + UUID stubPutId = wireMockStubs.stubNetworkModificationPut(MODIFICATION_UUID); String bodyJsonUpdate = mapper.writeValueAsString(body); mockMvc.perform(put(URI_NETWORK_MODIF_WITH_ID, studyNameUserIdUuid, modificationNode1Uuid, MODIFICATION_UUID) .content(bodyJsonUpdate).contentType(MediaType.APPLICATION_JSON) @@ -916,7 +918,7 @@ void testCreateGenerator() throws Exception { checkUpdateEquipmentCreationMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); - wireMockUtils.verifyNetworkModificationPut(stubPutId, MODIFICATION_UUID, bodyJsonUpdate); + wireMockStubs.verifyNetworkModificationPut(stubPutId, MODIFICATION_UUID, bodyJsonUpdate); // create generator on building node body.replace("generatorId", "generatorId3"); @@ -952,7 +954,7 @@ void testCreateShuntsCompensator() throws Exception { .andExpect(status().isForbidden()); // create shuntCompensator on modification node child of root node - UUID stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); + UUID stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNode1Uuid) .content(createShuntCompensatorAttributes).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -962,10 +964,10 @@ void testCreateShuntsCompensator() throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); Pair> modificationBody = Pair.of(createShuntCompensatorAttributes, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNode1Uuid, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); // update shunt compensator creation - UUID stubPutId = wireMockUtils.stubNetworkModificationPut(MODIFICATION_UUID); + UUID stubPutId = wireMockStubs.stubNetworkModificationPut(MODIFICATION_UUID); String shuntCompensatorAttributesUpdated = "{\"type\":\"" + ModificationType.SHUNT_COMPENSATOR_CREATION + "\",\"shuntCompensatorId\":\"shuntCompensatorId2\",\"shuntCompensatorName\":\"shuntCompensatorName2\",\"voltageLevelId\":\"idVL2\",\"busOrBusbarSectionId\":\"idBus1\"}"; mockMvc.perform(put(URI_NETWORK_MODIF_WITH_ID, studyNameUserIdUuid, modificationNode1Uuid, MODIFICATION_UUID) .content(shuntCompensatorAttributesUpdated).contentType(MediaType.APPLICATION_JSON) @@ -975,7 +977,7 @@ void testCreateShuntsCompensator() throws Exception { checkUpdateEquipmentCreationMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); - wireMockUtils.verifyNetworkModificationPut(stubPutId, MODIFICATION_UUID, shuntCompensatorAttributesUpdated); + wireMockStubs.verifyNetworkModificationPut(stubPutId, MODIFICATION_UUID, shuntCompensatorAttributesUpdated); String createShuntCompensatorAttributes2 = "{\"type\":\"" + ModificationType.SHUNT_COMPENSATOR_CREATION + "\",\"shuntCompensatorId\":\"shuntCompensatorId3\",\"shuntCompensatorName\":\"shuntCompensatorName3\",\"voltageLevelId\":\"idVL1\",\"busOrBusbarSectionId\":\"idBus1\"}"; @@ -1016,7 +1018,7 @@ void testCreateLine() throws Exception { .andExpect(status().isForbidden()); // create line on first modification node - UUID stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); + UUID stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNode1Uuid) .content(createLineAttributes).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -1026,7 +1028,7 @@ void testCreateLine() throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); Pair> modificationBody = Pair.of(createLineAttributes, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNode1Uuid, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); // create line on second modification node mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNode2Uuid) @@ -1037,7 +1039,7 @@ void testCreateLine() throws Exception { checkEquipmentCreatingMessagesReceived(studyNameUserIdUuid, modificationNode2Uuid); checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNode2Uuid); modificationBody = Pair.of(createLineAttributes, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNode2Uuid, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); // update line creation String lineAttributesUpdated = "{\"type\":\"" + ModificationType.LINE_CREATION @@ -1047,7 +1049,7 @@ void testCreateLine() throws Exception { + "\"shuntConductance2\":\"200.0\"," + "\"shuntSusceptance2\":\"200.0\"," + "\"voltageLevelId1\":\"idVL2\"," + "\"busOrBusbarSectionId1\":\"idBus1\"," + "\"voltageLevelId2\":\"idVL2\"," + "\"busOrBusbarSectionId2\":\"idBus2\"}"; - UUID stubPutId = wireMockUtils.stubNetworkModificationPut(MODIFICATION_UUID); + UUID stubPutId = wireMockStubs.stubNetworkModificationPut(MODIFICATION_UUID); mockMvc.perform(put(URI_NETWORK_MODIF_WITH_ID, studyNameUserIdUuid, modificationNode1Uuid, MODIFICATION_UUID) .content(lineAttributesUpdated).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -1056,7 +1058,7 @@ void testCreateLine() throws Exception { checkUpdateEquipmentCreationMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); - wireMockUtils.verifyNetworkModificationPut(stubPutId, MODIFICATION_UUID, lineAttributesUpdated); + wireMockStubs.verifyNetworkModificationPut(stubPutId, MODIFICATION_UUID, lineAttributesUpdated); String createLineAttributes2 = "{\"type\":\"" + ModificationType.LINE_CREATION + "\",\"lineId\":\"lineId3\"," + "\"lineName\":\"lineName3\"," @@ -1099,7 +1101,7 @@ void testCreateTwoWindingsTransformer() throws Exception { .andExpect(status().isForbidden()); // create 2WT on first modification node - UUID stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); + UUID stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNode1Uuid) .content(createTwoWindingsTransformerAttributes).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -1109,7 +1111,7 @@ void testCreateTwoWindingsTransformer() throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); Pair> modificationBody = Pair.of(createTwoWindingsTransformerAttributes, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNode1Uuid, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); // create 2WT on second modification node mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNode2Uuid) @@ -1121,11 +1123,11 @@ void testCreateTwoWindingsTransformer() throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNode2Uuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); modificationBody = Pair.of(createTwoWindingsTransformerAttributes, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNode2Uuid, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); // update Two Windings Transformer creation String twoWindingsTransformerAttributesUpdated = "{\"type\":\"" + ModificationType.TWO_WINDINGS_TRANSFORMER_CREATION + "\",\"equipmentId\":\"2wtId\",\"equipmentName\":\"2wtName\",\"seriesResistance\":\"10\",\"seriesReactance\":\"10\",\"magnetizingConductance\":\"100\",\"magnetizingSusceptance\":\"100\",\"ratedVoltage1\":\"480\",\"ratedVoltage2\":\"380\",\"voltageLevelId1\":\"CHOO5P6\",\"busOrBusbarSectionId1\":\"CHOO5P6_1\",\"voltageLevelId2\":\"CHOO5P6\",\"busOrBusbarSectionId2\":\"CHOO5P6_1\"}"; - UUID stubPutId = wireMockUtils.stubNetworkModificationPut(MODIFICATION_UUID); + UUID stubPutId = wireMockStubs.stubNetworkModificationPut(MODIFICATION_UUID); mockMvc.perform(put(URI_NETWORK_MODIF_WITH_ID, studyNameUserIdUuid, modificationNode1Uuid, MODIFICATION_UUID) .content(twoWindingsTransformerAttributesUpdated).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -1134,7 +1136,7 @@ void testCreateTwoWindingsTransformer() throws Exception { checkUpdateEquipmentCreationMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); - wireMockUtils.verifyNetworkModificationPut(stubPutId, MODIFICATION_UUID, twoWindingsTransformerAttributesUpdated); + wireMockStubs.verifyNetworkModificationPut(stubPutId, MODIFICATION_UUID, twoWindingsTransformerAttributesUpdated); String createTwoWindingsTransformerAttributes2 = "{\"type\":\"" + ModificationType.TWO_WINDINGS_TRANSFORMER_CREATION + "\",\"equipmentId\":\"2wtId3\",\"equipmentName\":\"2wtName3\",\"seriesResistance\":\"10\",\"seriesReactance\":\"10\",\"magnetizingConductance\":\"100\",\"magnetizingSusceptance\":\"100\",\"ratedVoltage1\":\"480\",\"ratedVoltage2\":\"380\",\"voltageLevelId1\":\"CHOO5P6\",\"busOrBusbarSectionId1\":\"CHOO5P6_1\",\"voltageLevelId2\":\"CHOO5P6\",\"busOrBusbarSectionId2\":\"CHOO5P6_1\"}"; // Mark the node 1 status as building @@ -1178,7 +1180,7 @@ void deleteModificationRequest() throws Exception { .queryParam("uuids", modificationUuid.toString()) .header(USER_ID_HEADER, userId)) .andExpect(status().isOk()); - wireMockUtils.verifyDeleteRequest(stubId, "/v1/network-modifications", false, Map.of("uuids", WireMock.equalTo(modificationUuid.toString()))); + WireMockUtils.verifyDeleteRequest(wireMockServer, stubId, "/v1/network-modifications", false, Map.of("uuids", WireMock.equalTo(modificationUuid.toString()))); checkEquipmentDeletingMessagesReceived(studyUuid, modificationNode.getId()); checkEquipmentDeletingFinishedMessagesReceived(studyUuid, modificationNode.getId()); @@ -1189,7 +1191,7 @@ void deleteModificationRequest() throws Exception { .queryParam("uuids", modificationUuid.toString()) .header(USER_ID_HEADER, "userId")) .andExpect(status().isBadRequest()); - wireMockUtils.verifyDeleteRequest(stubId, "/v1/network-modifications", false, Map.of("uuids", WireMock.equalTo(modificationUuid.toString()))); + WireMockUtils.verifyDeleteRequest(wireMockServer, stubId, "/v1/network-modifications", false, Map.of("uuids", WireMock.equalTo(modificationUuid.toString()))); checkEquipmentDeletingMessagesReceived(studyUuid, modificationNode.getId()); checkEquipmentDeletingFinishedMessagesReceived(studyUuid, modificationNode.getId()); } @@ -1215,7 +1217,7 @@ void testUpdateLines() throws Exception { String bodyJsonCreate1 = mapper.writeValueAsString(bodyLineInfos); // change line status on root node (not allowed) - UUID stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); + UUID stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, rootNodeUuid) .content(bodyJsonCreate1).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -1231,12 +1233,12 @@ void testUpdateLines() throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); Pair> modificationBody = Pair.of(bodyJsonCreate1, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNode1Uuid, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); bodyLineInfos.put("equipmentId", "lineFailedId"); String bodyJsonCreate2 = mapper.writeValueAsString(bodyLineInfos); String modificationBodyJson = getModificationContextJsonString(mapper, Pair.of(bodyJsonCreate2, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNode1Uuid, NETWORK_UUID)))); - stubPostId = wireMockUtils.stubNetworkModificationPostWithError(modificationBodyJson); + stubPostId = wireMockStubs.stubNetworkModificationPostWithError(modificationBodyJson); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNode1Uuid) .content(bodyJsonCreate2).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -1244,13 +1246,13 @@ void testUpdateLines() throws Exception { checkUpdateModelsStatusMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); checkEquipmentCreatingMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); - wireMockUtils.verifyNetworkModificationPost(stubPostId, modificationBodyJson); + wireMockStubs.verifyNetworkModificationPost(stubPostId, modificationBodyJson); // trip line bodyLineInfos.put("equipmentId", "line23"); bodyLineInfos.put("action", "trip"); String bodyJsonCreate3 = mapper.writeValueAsString(bodyLineInfos); - stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); + stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNode1Uuid) .content(bodyJsonCreate3).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -1260,12 +1262,12 @@ void testUpdateLines() throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); modificationBody = Pair.of(bodyJsonCreate3, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNode1Uuid, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); bodyLineInfos.put("equipmentId", "lineFailedId"); String bodyJsonCreate4 = mapper.writeValueAsString(bodyLineInfos); modificationBodyJson = getModificationContextJsonString(mapper, Pair.of(bodyJsonCreate4, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNode1Uuid, NETWORK_UUID)))); - stubPostId = wireMockUtils.stubNetworkModificationPostWithError(modificationBodyJson); + stubPostId = wireMockStubs.stubNetworkModificationPostWithError(modificationBodyJson); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNode1Uuid) .content(bodyJsonCreate4).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -1273,13 +1275,13 @@ void testUpdateLines() throws Exception { checkUpdateModelsStatusMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); checkEquipmentCreatingMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); - wireMockUtils.verifyNetworkModificationPost(stubPostId, modificationBodyJson); + wireMockStubs.verifyNetworkModificationPost(stubPostId, modificationBodyJson); // energise line end bodyLineInfos.put("equipmentId", "line13"); bodyLineInfos.put("action", "energiseEndOne"); String bodyJsonCreate5 = mapper.writeValueAsString(bodyLineInfos); - stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); + stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNode1Uuid) .content(bodyJsonCreate5).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -1289,12 +1291,12 @@ void testUpdateLines() throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); modificationBody = Pair.of(bodyJsonCreate5, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNode1Uuid, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); bodyLineInfos.put("equipmentId", "lineFailedId"); String bodyJsonCreate6 = mapper.writeValueAsString(bodyLineInfos); modificationBodyJson = getModificationContextJsonString(mapper, Pair.of(bodyJsonCreate6, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNode1Uuid, NETWORK_UUID)))); - stubPostId = wireMockUtils.stubNetworkModificationPostWithError(modificationBodyJson); + stubPostId = wireMockStubs.stubNetworkModificationPostWithError(modificationBodyJson); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNode1Uuid) .content(bodyJsonCreate6).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -1302,13 +1304,13 @@ void testUpdateLines() throws Exception { checkUpdateModelsStatusMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); checkEquipmentCreatingMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); - wireMockUtils.verifyNetworkModificationPost(stubPostId, modificationBodyJson); + wireMockStubs.verifyNetworkModificationPost(stubPostId, modificationBodyJson); // switch on line bodyLineInfos.put("equipmentId", "line13"); bodyLineInfos.put("action", "switchOn"); String bodyJsonCreate7 = mapper.writeValueAsString(bodyLineInfos); - stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); + stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNode1Uuid) .content(bodyJsonCreate7).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -1318,12 +1320,12 @@ void testUpdateLines() throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); modificationBody = Pair.of(bodyJsonCreate7, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNode1Uuid, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); bodyLineInfos.put("equipmentId", "lineFailedId"); String bodyJsonCreate8 = mapper.writeValueAsString(bodyLineInfos); modificationBodyJson = getModificationContextJsonString(mapper, Pair.of(bodyJsonCreate8, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNode1Uuid, NETWORK_UUID)))); - stubPostId = wireMockUtils.stubNetworkModificationPostWithError(modificationBodyJson); + stubPostId = wireMockStubs.stubNetworkModificationPostWithError(modificationBodyJson); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNode1Uuid) .content(bodyJsonCreate8).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -1331,11 +1333,11 @@ void testUpdateLines() throws Exception { checkUpdateModelsStatusMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); checkEquipmentCreatingMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); - wireMockUtils.verifyNetworkModificationPost(stubPostId, modificationBodyJson); + wireMockStubs.verifyNetworkModificationPost(stubPostId, modificationBodyJson); // switch on line on second modification node String bodyJsonCreate9 = bodyJsonCreate7; - stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); + stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNode2Uuid) .content(bodyJsonCreate9).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -1345,7 +1347,7 @@ void testUpdateLines() throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNode2Uuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); modificationBody = Pair.of(bodyJsonCreate9, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNode2Uuid, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); } @Test @@ -1374,7 +1376,7 @@ void testCreateLoad() throws Exception { .andExpect(status().isForbidden()); // create load on first modification node - UUID stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); + UUID stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNode1Uuid) .content(createLoadAttributes).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -1384,7 +1386,7 @@ void testCreateLoad() throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); Pair> modificationBody = Pair.of(createLoadAttributes, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNode1Uuid, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); // create load on second modification node mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNode2Uuid) @@ -1396,11 +1398,11 @@ void testCreateLoad() throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNode2Uuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); modificationBody = Pair.of(createLoadAttributes, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNode2Uuid, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); // update load creation String loadAttributesUpdated = "{\"type\":\"" + ModificationType.LOAD_CREATION + "\",\"loadId\":\"loadId2\",\"loadName\":\"loadName2\",\"loadType\":\"UNDEFINED\",\"activePower\":\"50.0\",\"reactivePower\":\"25.0\",\"voltageLevelId\":\"idVL2\",\"busId\":\"idBus2\"}"; - stubPostId = wireMockUtils.stubNetworkModificationPutWithBody(MODIFICATION_UUID, loadAttributesUpdated); + stubPostId = wireMockStubs.stubNetworkModificationPutWithBody(MODIFICATION_UUID, loadAttributesUpdated); mockMvc.perform(put(URI_NETWORK_MODIF_WITH_ID, studyNameUserIdUuid, modificationNode1Uuid, MODIFICATION_UUID) .content(loadAttributesUpdated).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -1409,7 +1411,7 @@ void testCreateLoad() throws Exception { checkUpdateEquipmentCreationMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); - wireMockUtils.verifyNetworkModificationPut(stubPostId, MODIFICATION_UUID, loadAttributesUpdated); + wireMockStubs.verifyNetworkModificationPut(stubPostId, MODIFICATION_UUID, loadAttributesUpdated); String createLoadAttributes2 = "{\"type\":\"" + ModificationType.LOAD_CREATION + "\",\"loadId\":\"loadId3\",\"loadName\":\"loadName3\",\"loadType\":\"UNDEFINED\",\"activePower\":\"100.0\",\"reactivePower\":\"50.0\",\"voltageLevelId\":\"idVL1\",\"busId\":\"idBus1\"}"; // Mark the node 3 status as built @@ -1447,7 +1449,7 @@ void testModifyLoad() throws Exception { .andExpect(status().isForbidden()); // modify load on first modification node - UUID stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); + UUID stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNodeUuid) .content(loadModificationAttributes).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -1457,7 +1459,7 @@ void testModifyLoad() throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); Pair> modificationBody = Pair.of(loadModificationAttributes, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNodeUuid, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); // modify load on second modification node mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNodeUuid2) @@ -1469,10 +1471,10 @@ void testModifyLoad() throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNodeUuid2); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); modificationBody = Pair.of(loadModificationAttributes, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNodeUuid2, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); // update load modification - UUID stubPutId = wireMockUtils.stubNetworkModificationPut(MODIFICATION_UUID); + UUID stubPutId = wireMockStubs.stubNetworkModificationPut(MODIFICATION_UUID); String loadAttributesUpdated = "{\"type\":\"" + ModificationType.LOAD_MODIFICATION + "\",\"loadId\":\"loadId1\",\"loadType\":\"FICTITIOUS\",\"activePower\":\"70.0\"}"; mockMvc.perform(put(URI_NETWORK_MODIF_WITH_ID, studyNameUserIdUuid, modificationNodeUuid, MODIFICATION_UUID) .content(loadAttributesUpdated).contentType(MediaType.APPLICATION_JSON) @@ -1482,7 +1484,7 @@ void testModifyLoad() throws Exception { checkUpdateEquipmentModificationMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); - wireMockUtils.verifyNetworkModificationPut(stubPutId, MODIFICATION_UUID, loadAttributesUpdated); + wireMockStubs.verifyNetworkModificationPut(stubPutId, MODIFICATION_UUID, loadAttributesUpdated); } @Test @@ -1505,7 +1507,7 @@ void testModifyEquipment() throws Exception { .andExpect(status().isForbidden()); // modify generator on first modification node - UUID stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); + UUID stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNodeUuid) .content(equipmentModificationAttribute).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -1515,7 +1517,7 @@ void testModifyEquipment() throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); Pair> modificationBody = Pair.of(equipmentModificationAttribute, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNodeUuid, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); // modify generator on second modification node mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNodeUuid2) @@ -1527,11 +1529,11 @@ void testModifyEquipment() throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNodeUuid2); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); modificationBody = Pair.of(equipmentModificationAttribute, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNodeUuid2, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); // update generator modification String generatorAttributesUpdated = "{\"type\":\"" + ModificationType.GENERATOR_MODIFICATION + "\",\"generatorId\":\"generatorId1\",\"generatorType\":\"FICTITIOUS\",\"activePower\":\"70.0\"}"; - UUID stubPutId = wireMockUtils.stubNetworkModificationPutWithBody(MODIFICATION_UUID, generatorAttributesUpdated); + UUID stubPutId = wireMockStubs.stubNetworkModificationPutWithBody(MODIFICATION_UUID, generatorAttributesUpdated); mockMvc.perform(put(URI_NETWORK_MODIF_WITH_ID, studyNameUserIdUuid, modificationNodeUuid, MODIFICATION_UUID) .content(generatorAttributesUpdated).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -1540,7 +1542,7 @@ void testModifyEquipment() throws Exception { checkUpdateEquipmentModificationMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); - wireMockUtils.verifyNetworkModificationPut(stubPutId, MODIFICATION_UUID, generatorAttributesUpdated); + wireMockStubs.verifyNetworkModificationPut(stubPutId, MODIFICATION_UUID, generatorAttributesUpdated); } @Test @@ -1566,7 +1568,7 @@ void testCreateSubstation() throws Exception { .andExpect(status().isForbidden()); // create substation on first modification node - UUID stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); + UUID stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNode1Uuid) .content(createSubstationAttributes).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -1576,7 +1578,7 @@ void testCreateSubstation() throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); Pair> modificationBody = Pair.of(createSubstationAttributes, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNode1Uuid, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); // create substation on second modification node mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNode2Uuid) @@ -1588,10 +1590,10 @@ void testCreateSubstation() throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNode2Uuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); modificationBody = Pair.of(createSubstationAttributes, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNode2Uuid, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); // update substation creation - UUID stubPutId = wireMockUtils.stubNetworkModificationPut(MODIFICATION_UUID); + UUID stubPutId = wireMockStubs.stubNetworkModificationPut(MODIFICATION_UUID); String substationAttributesUpdated = "{\"type\":\"" + ModificationType.SUBSTATION_CREATION + "\",\"substationId\":\"substationId2\",\"substationName\":\"substationName2\",\"country\":\"FR\"}"; mockMvc.perform(put(URI_NETWORK_MODIF_WITH_ID, studyNameUserIdUuid, modificationNode1Uuid, MODIFICATION_UUID) .content(substationAttributesUpdated).contentType(MediaType.APPLICATION_JSON) @@ -1601,7 +1603,7 @@ void testCreateSubstation() throws Exception { checkUpdateEquipmentCreationMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); - wireMockUtils.verifyNetworkModificationPut(stubPutId, MODIFICATION_UUID, substationAttributesUpdated); + wireMockStubs.verifyNetworkModificationPut(stubPutId, MODIFICATION_UUID, substationAttributesUpdated); String createSubstationAttributes2 = "{\"type\":\"" + ModificationType.SUBSTATION_CREATION + "\",\"substationId\":\"substationId2\",\"substationName\":\"substationName2\",\"country\":\"AD\"}"; // Mark the node 1 status as built @@ -1638,7 +1640,7 @@ void testCreateVoltageLevel() throws Exception { .andExpect(status().isForbidden()); // create voltage level - UUID stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); + UUID stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNode1Uuid) .content(createVoltageLevelAttributes).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -1648,7 +1650,7 @@ void testCreateVoltageLevel() throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); Pair> modificationBody = Pair.of(createVoltageLevelAttributes, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNode1Uuid, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); // create voltage level on second modification node mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNode2Uuid) @@ -1660,10 +1662,10 @@ void testCreateVoltageLevel() throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNode2Uuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); modificationBody = Pair.of(createVoltageLevelAttributes, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNode2Uuid, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); // update voltage level creation - UUID stubPutId = wireMockUtils.stubNetworkModificationPut(MODIFICATION_UUID); + UUID stubPutId = wireMockStubs.stubNetworkModificationPut(MODIFICATION_UUID); String voltageLevelAttributesUpdated = "{\"type\":\"" + ModificationType.VOLTAGE_LEVEL_CREATION + "\",\"voltageLevelId\":\"voltageLevelId2\",\"voltageLevelName\":\"voltageLevelName2\"" + ",\"nominalVoltage\":\"379.1\", \"substationId\":\"s2\"}"; mockMvc.perform(put(URI_NETWORK_MODIF_WITH_ID, studyNameUserIdUuid, modificationNode1Uuid, MODIFICATION_UUID) @@ -1674,7 +1676,7 @@ void testCreateVoltageLevel() throws Exception { checkUpdateEquipmentCreationMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); - wireMockUtils.verifyNetworkModificationPut(stubPutId, MODIFICATION_UUID, voltageLevelAttributesUpdated); + wireMockStubs.verifyNetworkModificationPut(stubPutId, MODIFICATION_UUID, voltageLevelAttributesUpdated); String createVoltageLevelAttributes2 = "{\"type\":\"" + ModificationType.VOLTAGE_LEVEL_CREATION + "\",\"voltageLevelId\":\"voltageLevelId3\",\"voltageLevelName\":\"voltageLevelName3\"" + ",\"nominalVoltage\":\"379.1\", \"substationId\":\"s2\"}"; @@ -1712,7 +1714,7 @@ void testLineSplitWithVoltageLevel() throws Exception { lineSplitWoVL.setType(ModificationType.LINE_SPLIT_WITH_VOLTAGE_LEVEL); String lineSplitWoVLasJSON = mapper.writeValueAsString(lineSplitWoVL); - UUID stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); + UUID stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNodeUuid) .content(lineSplitWoVLasJSON).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -1722,9 +1724,9 @@ void testLineSplitWithVoltageLevel() throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); Pair> modificationBody = Pair.of(lineSplitWoVLasJSON, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNodeUuid, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); - UUID stubPutId = wireMockUtils.stubNetworkModificationPutWithBody(MODIFICATION_UUID, lineSplitWoVLasJSON); + UUID stubPutId = wireMockStubs.stubNetworkModificationPutWithBody(MODIFICATION_UUID, lineSplitWoVLasJSON); mockMvc.perform(put(URI_NETWORK_MODIF_WITH_ID, studyNameUserIdUuid, modificationNodeUuid, MODIFICATION_UUID) .content(lineSplitWoVLasJSON).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -1733,12 +1735,12 @@ void testLineSplitWithVoltageLevel() throws Exception { checkUpdateEquipmentModificationMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); - wireMockUtils.verifyNetworkModificationPut(stubPutId, MODIFICATION_UUID, lineSplitWoVLasJSON); + wireMockStubs.verifyNetworkModificationPut(stubPutId, MODIFICATION_UUID, lineSplitWoVLasJSON); String badBody = "{\"type\":\"" + ModificationType.LINE_SPLIT_WITH_VOLTAGE_LEVEL + "\",\"bogus\":\"bogus\"}"; String modificationBodyJson = getModificationContextJsonString(mapper, Pair.of(badBody, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNodeUuid, NETWORK_UUID)))); - stubPostId = wireMockUtils.stubNetworkModificationPostWithBodyAndError(modificationBodyJson); - stubPutId = wireMockUtils.stubNetworkModificationPutWithBodyAndError(MODIFICATION_UUID, badBody); + stubPostId = wireMockStubs.stubNetworkModificationPostWithBodyAndError(modificationBodyJson); + stubPutId = wireMockStubs.stubNetworkModificationPutWithBodyAndError(MODIFICATION_UUID, badBody); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNodeUuid) .content(badBody).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -1756,8 +1758,8 @@ void testLineSplitWithVoltageLevel() throws Exception { content().string("400 BAD_REQUEST")); checkEquipmentUpdatingMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); - wireMockUtils.verifyNetworkModificationPost(stubPostId, modificationBodyJson); - wireMockUtils.verifyNetworkModificationPut(stubPutId, MODIFICATION_UUID, badBody); + wireMockStubs.verifyNetworkModificationPost(stubPostId, modificationBodyJson); + wireMockStubs.verifyNetworkModificationPut(stubPutId, MODIFICATION_UUID, badBody); } @Test @@ -1776,7 +1778,7 @@ void testLineAttachToVoltageLevel() throws Exception { String createLineAttachToVoltageLevelAttributes = "{\"type\":\"" + ModificationType.LINE_ATTACH_TO_VOLTAGE_LEVEL + "\",\"lineToAttachToId\":\"line3\",\"percent\":\"10\",\"mayNewVoltageLevelInfos\":" + createVoltageLevelAttributes + ",\"attachmentLine\":" + createLineAttributes + "}"; - UUID stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); + UUID stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNodeUuid) .content(createLineAttachToVoltageLevelAttributes).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -1786,9 +1788,9 @@ void testLineAttachToVoltageLevel() throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); Pair> modificationBody = Pair.of(createLineAttachToVoltageLevelAttributes, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNodeUuid, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); - UUID stubPutId = wireMockUtils.stubNetworkModificationPutWithBody(MODIFICATION_UUID, createLineAttachToVoltageLevelAttributes); + UUID stubPutId = wireMockStubs.stubNetworkModificationPutWithBody(MODIFICATION_UUID, createLineAttachToVoltageLevelAttributes); mockMvc.perform(put(URI_NETWORK_MODIF_WITH_ID, studyNameUserIdUuid, modificationNodeUuid, MODIFICATION_UUID) .content(createLineAttachToVoltageLevelAttributes).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -1797,7 +1799,7 @@ void testLineAttachToVoltageLevel() throws Exception { checkUpdateEquipmentModificationMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); - wireMockUtils.verifyNetworkModificationPut(stubPutId, MODIFICATION_UUID, createLineAttachToVoltageLevelAttributes); + wireMockStubs.verifyNetworkModificationPut(stubPutId, MODIFICATION_UUID, createLineAttachToVoltageLevelAttributes); } @Test @@ -1811,7 +1813,7 @@ void testLinesAttachToSplitLines() throws Exception { UUID modificationNodeUuid = modificationNode.getId(); String createLinesAttachToSplitLinesAttributes = "{\"type\":\"" + ModificationType.LINES_ATTACH_TO_SPLIT_LINES + "\",\"lineToAttachTo1Id\":\"line1\",\"lineToAttachTo2Id\":\"line2\",\"attachedLineId\":\"line3\",\"voltageLevelId\":\"vl1\",\"bbsBusId\":\"v1bbs\",\"replacingLine1Id\":\"replacingLine1Id\",\"replacingLine1Name\":\"replacingLine1Name\",\"replacingLine2Id\":\"replacingLine2Id\",\"replacingLine2Name\":\"replacingLine2Name\"}"; - UUID stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); + UUID stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNodeUuid) .content(createLinesAttachToSplitLinesAttributes).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -1821,9 +1823,9 @@ void testLinesAttachToSplitLines() throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); Pair> modificationBody = Pair.of(createLinesAttachToSplitLinesAttributes, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNodeUuid, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); - UUID stubPutId = wireMockUtils.stubNetworkModificationPutWithBody(MODIFICATION_UUID, createLinesAttachToSplitLinesAttributes); + UUID stubPutId = wireMockStubs.stubNetworkModificationPutWithBody(MODIFICATION_UUID, createLinesAttachToSplitLinesAttributes); mockMvc.perform(put(URI_NETWORK_MODIF_WITH_ID, studyNameUserIdUuid, modificationNodeUuid, MODIFICATION_UUID) .content(createLinesAttachToSplitLinesAttributes).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -1832,12 +1834,12 @@ void testLinesAttachToSplitLines() throws Exception { checkUpdateEquipmentModificationMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); - wireMockUtils.verifyNetworkModificationPut(stubPutId, MODIFICATION_UUID, createLinesAttachToSplitLinesAttributes); + wireMockStubs.verifyNetworkModificationPut(stubPutId, MODIFICATION_UUID, createLinesAttachToSplitLinesAttributes); String badBody = "{\"type\":\"" + ModificationType.LINES_ATTACH_TO_SPLIT_LINES + "\",\"bogus\":\"bogus\"}"; String modificationBodyJson = getModificationContextJsonString(mapper, Pair.of(badBody, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNodeUuid, NETWORK_UUID)))); - stubPostId = wireMockUtils.stubNetworkModificationPostWithBodyAndError(modificationBodyJson); - stubPutId = wireMockUtils.stubNetworkModificationPutWithBodyAndError(MODIFICATION_UUID, badBody); + stubPostId = wireMockStubs.stubNetworkModificationPostWithBodyAndError(modificationBodyJson); + stubPutId = wireMockStubs.stubNetworkModificationPutWithBodyAndError(MODIFICATION_UUID, badBody); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNodeUuid) .content(badBody).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -1851,8 +1853,8 @@ void testLinesAttachToSplitLines() throws Exception { .andExpect(status().isBadRequest()); checkEquipmentUpdatingMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); - wireMockUtils.verifyNetworkModificationPost(stubPostId, modificationBodyJson); - wireMockUtils.verifyNetworkModificationPut(stubPutId, MODIFICATION_UUID, badBody); + wireMockStubs.verifyNetworkModificationPost(stubPostId, modificationBodyJson); + wireMockStubs.verifyNetworkModificationPut(stubPutId, MODIFICATION_UUID, badBody); } @ParameterizedTest @@ -1869,7 +1871,7 @@ void testScaling(ModificationType scalingType) throws Exception { NetworkModificationNode modificationNode = createNetworkModificationNode(studyNameUserIdUuid, rootNodeUuid, VARIANT_ID, "node", "userId"); UUID modificationNodeUuid = modificationNode.getId(); - UUID stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); + UUID stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNodeUuid) .content(requestBody).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -1879,9 +1881,9 @@ void testScaling(ModificationType scalingType) throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); Pair> modificationBody = Pair.of(requestBody, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNodeUuid, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); - UUID stubPutId = wireMockUtils.stubNetworkModificationPutWithBody(MODIFICATION_UUID, requestBody); + UUID stubPutId = wireMockStubs.stubNetworkModificationPutWithBody(MODIFICATION_UUID, requestBody); mockMvc.perform(put(URI_NETWORK_MODIF_WITH_ID, studyNameUserIdUuid, modificationNodeUuid, MODIFICATION_UUID) .content(requestBody).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -1890,11 +1892,11 @@ void testScaling(ModificationType scalingType) throws Exception { checkUpdateEquipmentModificationMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); - wireMockUtils.verifyNetworkModificationPut(stubPutId, MODIFICATION_UUID, requestBody); + wireMockStubs.verifyNetworkModificationPut(stubPutId, MODIFICATION_UUID, requestBody); // test with errors String modificationBodyJson = getModificationContextJsonString(mapper, Pair.of(requestBody, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNodeUuid, NETWORK_UUID)))); - stubPostId = wireMockUtils.stubNetworkModificationPostWithBodyAndError(modificationBodyJson); + stubPostId = wireMockStubs.stubNetworkModificationPostWithBodyAndError(modificationBodyJson); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNodeUuid) .content(requestBody).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -1902,16 +1904,16 @@ void testScaling(ModificationType scalingType) throws Exception { checkUpdateModelsStatusMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkEquipmentCreatingMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); - wireMockUtils.verifyNetworkModificationPost(stubPostId, modificationBodyJson); + wireMockStubs.verifyNetworkModificationPost(stubPostId, modificationBodyJson); - stubPutId = wireMockUtils.stubNetworkModificationPutWithBodyAndError(MODIFICATION_UUID, requestBody); + stubPutId = wireMockStubs.stubNetworkModificationPutWithBodyAndError(MODIFICATION_UUID, requestBody); mockMvc.perform(put(URI_NETWORK_MODIF_WITH_ID, studyNameUserIdUuid, modificationNodeUuid, MODIFICATION_UUID) .content(requestBody).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) .andExpect(status().is4xxClientError()); checkEquipmentUpdatingMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); - wireMockUtils.verifyNetworkModificationPut(stubPutId, MODIFICATION_UUID, requestBody); + wireMockStubs.verifyNetworkModificationPut(stubPutId, MODIFICATION_UUID, requestBody); } @Test @@ -1925,7 +1927,7 @@ void testDeleteVoltageLevelOnline() throws Exception { UUID modificationNodeUuid = modificationNode.getId(); String createDeleteVoltageLevelOnlineAttributes = "{\"type\":\"" + ModificationType.DELETE_VOLTAGE_LEVEL_ON_LINE + "\",\"lineToAttachTo1Id\":\"line1\",\"lineToAttachTo2Id\":\"line2\",\"replacingLine1Id\":\"replacingLine1Id\",\"replacingLine1Name\":\"replacingLine1Name\"}"; - UUID stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); + UUID stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNodeUuid) .content(createDeleteVoltageLevelOnlineAttributes).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -1934,9 +1936,9 @@ void testDeleteVoltageLevelOnline() throws Exception { checkEquipmentCreatingMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); Pair> modificationBody = Pair.of(createDeleteVoltageLevelOnlineAttributes, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNodeUuid, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); - UUID stubIdPut = wireMockUtils.stubNetworkModificationPutWithBody(MODIFICATION_UUID, createDeleteVoltageLevelOnlineAttributes); + UUID stubIdPut = wireMockStubs.stubNetworkModificationPutWithBody(MODIFICATION_UUID, createDeleteVoltageLevelOnlineAttributes); mockMvc.perform(put(URI_NETWORK_MODIF_WITH_ID, studyNameUserIdUuid, modificationNodeUuid, MODIFICATION_UUID) .content(createDeleteVoltageLevelOnlineAttributes).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -1944,19 +1946,19 @@ void testDeleteVoltageLevelOnline() throws Exception { checkEquipmentUpdatingMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkUpdateEquipmentModificationMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); - wireMockUtils.verifyNetworkModificationPut(stubIdPut, MODIFICATION_UUID, createDeleteVoltageLevelOnlineAttributes); + wireMockStubs.verifyNetworkModificationPut(stubIdPut, MODIFICATION_UUID, createDeleteVoltageLevelOnlineAttributes); String badBody = "{\"type\":\"" + ModificationType.DELETE_VOLTAGE_LEVEL_ON_LINE + "\",\"bogus\":\"bogus\"}"; String modificationBodyJson = getModificationContextJsonString(mapper, Pair.of(badBody, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNodeUuid, NETWORK_UUID)))); - UUID stubIdPostErr = wireMockUtils.stubNetworkModificationPostWithBodyAndError(modificationBodyJson); - UUID stubIdPutErr = wireMockUtils.stubNetworkModificationPutWithBodyAndError(MODIFICATION_UUID, badBody); + UUID stubIdPostErr = wireMockStubs.stubNetworkModificationPostWithBodyAndError(modificationBodyJson); + UUID stubIdPutErr = wireMockStubs.stubNetworkModificationPutWithBodyAndError(MODIFICATION_UUID, badBody); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNodeUuid).header(USER_ID_HEADER, userId) .content(badBody).contentType(MediaType.APPLICATION_JSON)) .andExpect(status().isBadRequest()); checkUpdateModelsStatusMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkEquipmentCreatingMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); - wireMockUtils.verifyNetworkModificationPost(stubIdPostErr, modificationBodyJson); + wireMockStubs.verifyNetworkModificationPost(stubIdPostErr, modificationBodyJson); mockMvc.perform(put(URI_NETWORK_MODIF_WITH_ID, studyNameUserIdUuid, modificationNodeUuid, MODIFICATION_UUID) .header(USER_ID_HEADER, userId) @@ -1964,7 +1966,7 @@ void testDeleteVoltageLevelOnline() throws Exception { .andExpect(status().isBadRequest()); checkEquipmentUpdatingMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); - wireMockUtils.verifyNetworkModificationPut(stubIdPutErr, MODIFICATION_UUID, badBody); + wireMockStubs.verifyNetworkModificationPut(stubIdPutErr, MODIFICATION_UUID, badBody); } @Test @@ -1978,7 +1980,7 @@ void testDeleteAttachingline() throws Exception { UUID modificationNodeUuid = modificationNode.getId(); String createDeleteAttachingLineAttributes = "{\"type\":\"" + ModificationType.DELETE_ATTACHING_LINE + "\",\"lineToAttachTo1Id\":\"line1\",\"lineToAttachTo2Id\":\"line2\",\"attachedLineId\":\"line3\",\"replacingLine1Id\":\"replacingLine1Id\",\"replacingLine1Name\":\"replacingLine1Name\"}"; - UUID stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); + UUID stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNodeUuid) .content(createDeleteAttachingLineAttributes).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -1987,9 +1989,9 @@ void testDeleteAttachingline() throws Exception { checkEquipmentCreatingMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); Pair> modificationBody = Pair.of(createDeleteAttachingLineAttributes, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNodeUuid, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); - UUID stubIdPut = wireMockUtils.stubNetworkModificationPutWithBody(MODIFICATION_UUID, createDeleteAttachingLineAttributes); + UUID stubIdPut = wireMockStubs.stubNetworkModificationPutWithBody(MODIFICATION_UUID, createDeleteAttachingLineAttributes); mockMvc.perform(put(URI_NETWORK_MODIF_WITH_ID, studyNameUserIdUuid, modificationNodeUuid, MODIFICATION_UUID) .header(USER_ID_HEADER, userId) .content(createDeleteAttachingLineAttributes).contentType(MediaType.APPLICATION_JSON)) @@ -1997,12 +1999,12 @@ void testDeleteAttachingline() throws Exception { checkEquipmentUpdatingMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkUpdateEquipmentModificationMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); - wireMockUtils.verifyNetworkModificationPut(stubIdPut, MODIFICATION_UUID, createDeleteAttachingLineAttributes); + wireMockStubs.verifyNetworkModificationPut(stubIdPut, MODIFICATION_UUID, createDeleteAttachingLineAttributes); String badBody = "{\"type\":\"" + ModificationType.DELETE_ATTACHING_LINE + "\",\"bogus\":\"bogus\"}"; String modificationBodyJson = getModificationContextJsonString(mapper, Pair.of(badBody, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNodeUuid, NETWORK_UUID)))); - UUID stubIdPostErr = wireMockUtils.stubNetworkModificationPostWithBodyAndError(modificationBodyJson); - UUID stubIdPutErr = wireMockUtils.stubNetworkModificationPutWithBodyAndError(MODIFICATION_UUID, badBody); + UUID stubIdPostErr = wireMockStubs.stubNetworkModificationPostWithBodyAndError(modificationBodyJson); + UUID stubIdPutErr = wireMockStubs.stubNetworkModificationPutWithBodyAndError(MODIFICATION_UUID, badBody); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNodeUuid) .content(badBody).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -2010,7 +2012,7 @@ void testDeleteAttachingline() throws Exception { checkUpdateModelsStatusMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkEquipmentCreatingMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); - wireMockUtils.verifyNetworkModificationPost(stubIdPostErr, modificationBodyJson); + wireMockStubs.verifyNetworkModificationPost(stubIdPostErr, modificationBodyJson); mockMvc.perform(put(URI_NETWORK_MODIF_WITH_ID, studyNameUserIdUuid, modificationNodeUuid, MODIFICATION_UUID) .content(badBody).contentType(MediaType.APPLICATION_JSON) @@ -2018,7 +2020,7 @@ void testDeleteAttachingline() throws Exception { .andExpect(status().isBadRequest()); checkEquipmentUpdatingMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); - wireMockUtils.verifyNetworkModificationPut(stubIdPutErr, MODIFICATION_UUID, badBody); + wireMockStubs.verifyNetworkModificationPut(stubIdPutErr, MODIFICATION_UUID, badBody); } @Test @@ -2053,7 +2055,7 @@ void testReorderModification() throws Exception { Pair, List> expectedBody = Pair.of(Collections.singletonList(modification1), List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNodeUuid, NETWORK_UUID))); String expectedBodyStr = mapper.writeValueAsString(expectedBody); String url = "/v1/groups/" + modificationNode.getModificationGroupUuid(); - wireMockUtils.verifyPutRequestWithUrlMatching(groupStubId, url, Map.of( + WireMockUtils.verifyPutRequestWithUrlMatching(wireMockServer, groupStubId, url, Map.of( "action", WireMock.equalTo("MOVE"), "originGroupUuid", WireMock.equalTo(modificationNode.getModificationGroupUuid().toString()), "build", WireMock.equalTo("false")), @@ -2068,7 +2070,7 @@ void testReorderModification() throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); url = "/v1/groups/" + modificationNode.getModificationGroupUuid(); - wireMockUtils.verifyPutRequestWithUrlMatching(groupStubId, url, Map.of( + WireMockUtils.verifyPutRequestWithUrlMatching(wireMockServer, groupStubId, url, Map.of( "action", WireMock.equalTo("MOVE"), "originGroupUuid", WireMock.equalTo(modificationNode.getModificationGroupUuid().toString()), "build", WireMock.equalTo("false"), @@ -2135,7 +2137,7 @@ void testDuplicateModification() throws Exception { Pair, List> modificationBody = Pair.of(List.of(modification1, modification2), List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, node1.getId(), NETWORK_UUID))); String expectedBody = mapper.writeValueAsString(modificationBody); String url = "/v1/groups/" + node1.getModificationGroupUuid(); - wireMockUtils.verifyPutRequestWithUrlMatching(groupStubId, url, Map.of( + WireMockUtils.verifyPutRequestWithUrlMatching(wireMockServer, groupStubId, url, Map.of( "action", WireMock.equalTo("COPY")), expectedBody); @@ -2167,7 +2169,7 @@ void testDuplicateModification() throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(studyUuid, nodeUuid1); url = "/v1/groups/" + node1.getModificationGroupUuid(); - wireMockUtils.verifyPutRequestWithUrlMatching(groupStubId, url, Map.of( + WireMockUtils.verifyPutRequestWithUrlMatching(wireMockServer, groupStubId, url, Map.of( "action", WireMock.equalTo("COPY")), expectedBody); } @@ -2207,7 +2209,7 @@ void testDuplicateModificationBetweenStudies() throws Exception { Pair, List> modificationBody = Pair.of(modifications, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(studyTestUtils.getOneRootNetworkUuid(studyEntity1.getId()), node1.getId(), NETWORK_UUID))); String expectedBody = mapper.writeValueAsString(modificationBody); String url = "/v1/groups/" + node1.getModificationGroupUuid(); - wireMockUtils.verifyPutRequestWithUrlMatching(groupStubId, url, Map.of( + WireMockUtils.verifyPutRequestWithUrlMatching(wireMockServer, groupStubId, url, Map.of( "action", WireMock.equalTo("COPY")), expectedBody); @@ -2287,7 +2289,7 @@ void testCutAndPasteModification() throws Exception { Pair, List> expectedBody = Pair.of(List.of(modification1, modification2), List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, node1.getId(), NETWORK_UUID))); String expectedBodyStr = mapper.writeValueAsString(expectedBody); String url = "/v1/groups/" + node1.getModificationGroupUuid(); - wireMockUtils.verifyPutRequestWithUrlMatching(groupStubId, url, Map.of( + WireMockUtils.verifyPutRequestWithUrlMatching(wireMockServer, groupStubId, url, Map.of( "action", WireMock.equalTo("MOVE"), "originGroupUuid", WireMock.equalTo(node1.getModificationGroupUuid().toString()), "build", WireMock.equalTo("false")), @@ -2312,7 +2314,7 @@ void testCutAndPasteModification() throws Exception { expectedBody = Pair.of(List.of(modification1, modification2), List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, node2.getId(), NETWORK_UUID))); expectedBodyStr = mapper.writeValueAsString(expectedBody); url = "/v1/groups/" + node2.getModificationGroupUuid(); - wireMockUtils.verifyPutRequestWithUrlMatching(groupStubId, url, Map.of( + WireMockUtils.verifyPutRequestWithUrlMatching(wireMockServer, groupStubId, url, Map.of( "action", WireMock.equalTo("MOVE"), "originGroupUuid", WireMock.equalTo(node1.getModificationGroupUuid().toString()), "build", WireMock.equalTo("true")), @@ -2384,7 +2386,7 @@ void testDeleteEquipment() throws Exception { .andExpect(status().isForbidden()); // delete equipment on first modification node - UUID stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); + UUID stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNode1Uuid) .content(bodyJson).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -2394,7 +2396,7 @@ void testDeleteEquipment() throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); Pair> modificationBody = Pair.of(bodyJson, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNode1Uuid, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); // delete equipment on second modification node mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNode2Uuid) @@ -2406,10 +2408,10 @@ void testDeleteEquipment() throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNode2Uuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); modificationBody = Pair.of(bodyJson, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNode2Uuid, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); // update equipment deletion - UUID stubPutId = wireMockUtils.stubNetworkModificationPut(MODIFICATION_UUID); + UUID stubPutId = wireMockStubs.stubNetworkModificationPut(MODIFICATION_UUID); mockMvc.perform(put(URI_NETWORK_MODIF_WITH_ID, studyNameUserIdUuid, modificationNode1Uuid, MODIFICATION_UUID) .content(bodyJson).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -2418,7 +2420,7 @@ void testDeleteEquipment() throws Exception { checkUpdateEquipmentCreationMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); - wireMockUtils.verifyNetworkModificationPut(stubPutId, MODIFICATION_UUID, bodyJson); + wireMockStubs.verifyNetworkModificationPut(stubPutId, MODIFICATION_UUID, bodyJson); } @Test @@ -2454,20 +2456,20 @@ void testNodesInvalidation(final MockWebServer server) throws Exception { // Update a network modification on construction node 1 (already built) -> build invalidation of all children nodes String generatorAttributesUpdated = "{\"type\":\"" + ModificationType.GENERATOR_MODIFICATION + "\",\"generatorId\":\"generatorId1\",\"generatorType\":\"FICTITIOUS\",\"activePower\":\"70.0\"}"; - UUID stubUuid = wireMockUtils.stubNetworkModificationPutWithBody(MODIFICATION_UUID, generatorAttributesUpdated); - UUID deleteModificationIndexStub = wireMockUtils.stubNetworkModificationDeleteIndex(); + UUID stubUuid = wireMockStubs.stubNetworkModificationPutWithBody(MODIFICATION_UUID, generatorAttributesUpdated); + UUID deleteModificationIndexStub = wireMockStubs.stubNetworkModificationDeleteIndex(); mockMvc.perform(put(URI_NETWORK_MODIF_WITH_ID, studyNameUserIdUuid, modificationNode1Uuid, MODIFICATION_UUID) .content(generatorAttributesUpdated).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) .andExpect(status().isOk()); - wireMockUtils.verifyNetworkModificationDeleteIndex(deleteModificationIndexStub); + wireMockStubs.verifyNetworkModificationDeleteIndex(deleteModificationIndexStub); checkEquipmentUpdatingMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); checkNodesInvalidationMessagesReceived(studyNameUserIdUuid, List.of(modificationNode1Uuid, modificationNode2Uuid, modificationNode3Uuid)); checkUpdateModelsStatusMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); - wireMockUtils.verifyNetworkModificationPut(stubUuid, MODIFICATION_UUID, generatorAttributesUpdated); + wireMockStubs.verifyNetworkModificationPut(stubUuid, MODIFICATION_UUID, generatorAttributesUpdated); var requests = TestUtils.getRequestsWithBodyDone(15, server); assertEquals(1, requests.stream().filter(r -> r.getPath().matches("/v1/reports")).count()); assertTrue(requests.stream().anyMatch(r -> r.getPath().matches("/v1/results\\?resultsUuids=" + SECURITY_ANALYSIS_RESULT_UUID))); @@ -2490,12 +2492,12 @@ void testNodesInvalidation(final MockWebServer server) throws Exception { when(rootNetworkNodeInfoService.isLoadflowDone(modificationNode2Uuid, firstRootNetworkUuid)).thenReturn(true); Map createLoadInfos = Map.of("type", ModificationType.LOAD_CREATION, "equipmentId", "loadId"); String jsonCreateLoadInfos = mapper.writeValueAsString(createLoadInfos); - UUID stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); + UUID stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNode2Uuid) .content(jsonCreateLoadInfos).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) .andExpect(status().isOk()); - wireMockUtils.verifyNetworkModificationDeleteIndex(deleteModificationIndexStub); + wireMockStubs.verifyNetworkModificationDeleteIndex(deleteModificationIndexStub); checkNodesInvalidationMessagesReceived(studyNameUserIdUuid, List.of(modificationNode2Uuid, modificationNode3Uuid)); checkUpdateModelsStatusMessagesReceived(studyNameUserIdUuid, modificationNode2Uuid); checkEquipmentCreatingMessagesReceived(studyNameUserIdUuid, modificationNode2Uuid); @@ -2503,7 +2505,7 @@ void testNodesInvalidation(final MockWebServer server) throws Exception { checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); assertEquals(BuildStatus.NOT_BUILT, networkModificationTreeService.getNodeBuildStatus(modificationNode3Uuid, firstRootNetworkUuid).getGlobalBuildStatus()); Pair> modificationBody = Pair.of(jsonCreateLoadInfos, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNode2Uuid, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); requests = TestUtils.getRequestsWithBodyDone(1, server); assertEquals(1, requests.stream().filter(r -> r.getPath().matches("/v1/reports")).count()); @@ -2553,8 +2555,8 @@ void testRemoveLoadFlowComputationReport(final MockWebServer server) throws Exce String bodyJson = mapper.writeValueAsString(body); // add this modification to the node => invalidate the LF - UUID stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); - UUID deleteModificationIndexStub = wireMockUtils.stubNetworkModificationDeleteIndex(); + UUID stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); + UUID deleteModificationIndexStub = wireMockStubs.stubNetworkModificationDeleteIndex(); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNode1Uuid) .content(bodyJson).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -2565,8 +2567,8 @@ void testRemoveLoadFlowComputationReport(final MockWebServer server) throws Exce checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNode1Uuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); Pair> modificationBody = Pair.of(bodyJson, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNode1Uuid, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); - wireMockUtils.verifyNetworkModificationDeleteIndex(deleteModificationIndexStub); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationDeleteIndex(deleteModificationIndexStub); var requests = TestUtils.getRequestsDone(20, server); // 1 status LF + 2 x 9 computations + 1 report List.of( @@ -2602,7 +2604,7 @@ void testUpdateOfBuildStatus() throws Exception { String jsonCreateLoadInfos = mapper.writeValueAsString(createLoadInfos); // Create network modification on NOT_BUILT modification node - UUID stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); + UUID stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNodeUuid) .content(jsonCreateLoadInfos).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -2613,7 +2615,7 @@ void testUpdateOfBuildStatus() throws Exception { checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); assertEquals(BuildStatus.NOT_BUILT, networkModificationTreeService.getNodeBuildStatus(modificationNodeUuid, firstRootNetworkUuid).getGlobalBuildStatus()); Pair> modificationBody = Pair.of(jsonCreateLoadInfos, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNodeUuid, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); // Mark the node status as built RootNetworkNodeInfoEntity rootNetworkNodeInfoEntity = rootNetworkNodeInfoRepository.findByNodeInfoIdAndRootNetworkId(modificationNode.getId(), studyTestUtils.getOneRootNetworkUuid(studyNameUserIdUuid)).orElseThrow(() -> new StudyException(StudyException.Type.ROOT_NETWORK_NOT_FOUND)); @@ -2623,7 +2625,7 @@ void testUpdateOfBuildStatus() throws Exception { // Create network modification on BUILT modification node Optional networkModificationResult = createModificationResultWithElementImpact(SimpleImpactType.CREATION, IdentifiableType.LOAD, "loadId", Set.of("s1")); - stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(networkModificationResult)))); + stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(networkModificationResult)))); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNodeUuid) .content(jsonCreateLoadInfos).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -2636,11 +2638,11 @@ void testUpdateOfBuildStatus() throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); assertEquals(BuildStatus.BUILT, networkModificationTreeService.getNodeBuildStatus(modificationNodeUuid, firstRootNetworkUuid).getGlobalBuildStatus()); modificationBody = Pair.of(jsonCreateLoadInfos, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNodeUuid, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); // Built with warnings networkModificationResult.get().setApplicationStatus(NetworkModificationResult.ApplicationStatus.WITH_WARNINGS); - stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(networkModificationResult)))); + stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(networkModificationResult)))); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNodeUuid) .content(jsonCreateLoadInfos).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -2653,11 +2655,11 @@ void testUpdateOfBuildStatus() throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); assertEquals(BuildStatus.BUILT_WITH_WARNING, networkModificationTreeService.getNodeBuildStatus(modificationNodeUuid, firstRootNetworkUuid).getGlobalBuildStatus()); modificationBody = Pair.of(jsonCreateLoadInfos, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNodeUuid, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); // Built with errors networkModificationResult.get().setApplicationStatus(NetworkModificationResult.ApplicationStatus.WITH_ERRORS); - stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(networkModificationResult)))); + stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(networkModificationResult)))); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNodeUuid) .content(jsonCreateLoadInfos).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -2670,7 +2672,7 @@ void testUpdateOfBuildStatus() throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); assertEquals(BuildStatus.BUILT_WITH_ERROR, networkModificationTreeService.getNodeBuildStatus(modificationNodeUuid, firstRootNetworkUuid).getGlobalBuildStatus()); modificationBody = Pair.of(jsonCreateLoadInfos, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNodeUuid, NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); } private void testBuildWithNodeUuid(UUID studyUuid, UUID nodeUuid, UUID rootNetworkUuid, String userId, UUID profileStubId) throws Exception { @@ -2695,8 +2697,8 @@ private void testBuildWithNodeUuid(UUID studyUuid, UUID nodeUuid, UUID rootNetwo assertEquals(NotificationService.UPDATE_TYPE_BUILD_COMPLETED, buildStatusMessage.getHeaders().get(NotificationService.HEADER_UPDATE_TYPE)); assertEquals(Set.of("s1", "s2"), buildStatusMessage.getHeaders().get(NotificationService.HEADER_UPDATE_TYPE_SUBSTATIONS_IDS)); - wireMockUtils.verifyGetRequest(profileStubId, "/v1/users/" + userId + "/profile/max-builds", Map.of()); - wireMockUtils.verifyPostRequest(buildOkStubId, "/v1/networks/" + NETWORK_UUID_STRING + "/build", Map.of(QUERY_PARAM_RECEIVER, WireMock.matching(".*"))); + WireMockUtils.verifyGetRequest(wireMockServer, profileStubId, "/v1/users/" + userId + "/profile/max-builds", Map.of()); + WireMockUtils.verifyPostRequest(wireMockServer, buildOkStubId, "/v1/networks/" + NETWORK_UUID_STRING + "/build", Map.of(QUERY_PARAM_RECEIVER, WireMock.matching(".*"))); assertEquals(BuildStatus.BUILT, networkModificationTreeService.getNodeBuildStatus(nodeUuid, rootNetworkUuid).getGlobalBuildStatus()); } @@ -2723,8 +2725,8 @@ private void testBuildAndStopWithNodeUuid(UUID studyUuid, UUID nodeUuid, UUID ro assertEquals(NotificationService.UPDATE_TYPE_BUILD_COMPLETED, buildStatusMessage.getHeaders().get(NotificationService.HEADER_UPDATE_TYPE)); assertEquals(Set.of("s1", "s2"), buildStatusMessage.getHeaders().get(NotificationService.HEADER_UPDATE_TYPE_SUBSTATIONS_IDS)); - wireMockUtils.verifyPostRequest(buildOkStubId, "/v1/networks/" + NETWORK_UUID_STRING + "/build", Map.of(QUERY_PARAM_RECEIVER, WireMock.matching(".*"))); - wireMockUtils.verifyGetRequest(profileStubId, "/v1/users/" + userId + "/profile/max-builds", Map.of()); + WireMockUtils.verifyPostRequest(wireMockServer, buildOkStubId, "/v1/networks/" + NETWORK_UUID_STRING + "/build", Map.of(QUERY_PARAM_RECEIVER, WireMock.matching(".*"))); + WireMockUtils.verifyGetRequest(wireMockServer, profileStubId, "/v1/users/" + userId + "/profile/max-builds", Map.of()); assertEquals(BuildStatus.BUILT, networkModificationTreeService.getNodeBuildStatus(nodeUuid, rootNetworkUuid).getGlobalBuildStatus()); // node is built networkModificationTreeService.updateNodeBuildStatus(nodeUuid, rootNetworkUuid, NodeBuildStatus.from(BuildStatus.BUILDING)); @@ -2744,7 +2746,7 @@ private void testBuildAndStopWithNodeUuid(UUID studyUuid, UUID nodeUuid, UUID ro assertEquals(NotificationService.UPDATE_TYPE_BUILD_CANCELLED, buildStatusMessage.getHeaders().get(NotificationService.HEADER_UPDATE_TYPE)); assertEquals(BuildStatus.NOT_BUILT, networkModificationTreeService.getNodeBuildStatus(nodeUuid, rootNetworkUuid).getGlobalBuildStatus()); // node is not built - wireMockUtils.verifyPutRequest(buildStopStubId, "/v1/build/stop", true, Map.of(QUERY_PARAM_RECEIVER, WireMock.matching(".*")), null); + WireMockUtils.verifyPutRequest(wireMockServer, buildStopStubId, "/v1/build/stop", true, Map.of(QUERY_PARAM_RECEIVER, WireMock.matching(".*")), null); } // builds on network 2 will fail @@ -2771,8 +2773,8 @@ private void testBuildFailedWithNodeUuid(UUID studyUuid, UUID nodeUuid, UUID roo assertEquals(NotificationService.UPDATE_TYPE_BUILD_FAILED, buildStatusMessage.getHeaders().get(NotificationService.HEADER_UPDATE_TYPE)); assertEquals(ERROR_MESSAGE, buildStatusMessage.getHeaders().get(NotificationService.HEADER_ERROR)); - wireMockUtils.verifyPostRequest(buildFailedStubId, "/v1/networks/" + NETWORK_UUID_2_STRING + "/build", Map.of(QUERY_PARAM_RECEIVER, WireMock.matching(".*"))); - wireMockUtils.verifyGetRequest(userProfileQuotaStubId, "/v1/users/" + USER_ID + "/profile/max-builds", Map.of()); + WireMockUtils.verifyPostRequest(wireMockServer, buildFailedStubId, "/v1/networks/" + NETWORK_UUID_2_STRING + "/build", Map.of(QUERY_PARAM_RECEIVER, WireMock.matching(".*"))); + WireMockUtils.verifyGetRequest(wireMockServer, userProfileQuotaStubId, "/v1/users/" + USER_ID + "/profile/max-builds", Map.of()); assertEquals(BuildStatus.NOT_BUILT, networkModificationTreeService.getNodeBuildStatus(nodeUuid, rootNetworkUuid).getGlobalBuildStatus()); // node is not built } @@ -2794,8 +2796,8 @@ private void testBuildErrorWithNodeUuid(UUID studyUuid, UUID nodeUuid, UUID root assertEquals(studyUuid, buildStatusMessage.getHeaders().get(NotificationService.HEADER_STUDY_UUID)); assertEquals(NotificationService.NODE_BUILD_STATUS_UPDATED, buildStatusMessage.getHeaders().get(NotificationService.HEADER_UPDATE_TYPE)); - wireMockUtils.verifyPostRequest(buildErrorStubId, "/v1/networks/" + NETWORK_UUID_3_STRING + "/build", Map.of(QUERY_PARAM_RECEIVER, WireMock.matching(".*"))); - wireMockUtils.verifyGetRequest(userProfileQuotaStubId, "/v1/users/" + USER_ID + "/profile/max-builds", Map.of()); + WireMockUtils.verifyPostRequest(wireMockServer, buildErrorStubId, "/v1/networks/" + NETWORK_UUID_3_STRING + "/build", Map.of(QUERY_PARAM_RECEIVER, WireMock.matching(".*"))); + WireMockUtils.verifyGetRequest(wireMockServer, userProfileQuotaStubId, "/v1/users/" + USER_ID + "/profile/max-builds", Map.of()); assertEquals(BuildStatus.NOT_BUILT, networkModificationTreeService.getNodeBuildStatus(nodeUuid, rootNetworkUuid).getGlobalBuildStatus()); // node is not built } @@ -3002,7 +3004,7 @@ void testCreateModificationWithErrors() throws Exception { String jsonCreateLoadInfos = mapper.writeValueAsString(createLoadInfos); // Create network modification on first modification node - UUID stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); + UUID stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNodeUuid) .content(jsonCreateLoadInfos).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -3012,11 +3014,11 @@ void testCreateModificationWithErrors() throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkElementUpdatedMessageSent(studyNameUserIdUuid, userId); String modificationBodyJson = getModificationContextJsonString(mapper, Pair.of(jsonCreateLoadInfos, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, modificationNodeUuid, NETWORK_UUID)))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, modificationBodyJson); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, modificationBodyJson); // String message error String contentErrorMessage = "Internal Server Error"; - UUID stubId = wireMockUtils.stubNetworkModificationPostWithError(modificationBodyJson); + UUID stubId = wireMockStubs.stubNetworkModificationPostWithError(modificationBodyJson); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNodeUuid) .content(jsonCreateLoadInfos).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -3024,10 +3026,10 @@ void testCreateModificationWithErrors() throws Exception { checkUpdateModelsStatusMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkEquipmentCreatingMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); - wireMockUtils.verifyNetworkModificationPost(stubId, modificationBodyJson); + wireMockStubs.verifyNetworkModificationPost(stubId, modificationBodyJson); // Json message error - stubId = wireMockUtils.stubNetworkModificationPostWithError(modificationBodyJson, String.format("{\"message\" : \"%s\"}", contentErrorMessage)); + stubId = wireMockStubs.stubNetworkModificationPostWithError(modificationBodyJson, String.format("{\"message\" : \"%s\"}", contentErrorMessage)); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNodeUuid) .content(jsonCreateLoadInfos).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -3035,11 +3037,11 @@ void testCreateModificationWithErrors() throws Exception { checkUpdateModelsStatusMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkEquipmentCreatingMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); - wireMockUtils.verifyNetworkModificationPost(stubId, modificationBodyJson); + wireMockStubs.verifyNetworkModificationPost(stubId, modificationBodyJson); // Bad json message error contentErrorMessage = String.format("{\"foo\" : \"%s\"}", contentErrorMessage); - stubId = wireMockUtils.stubNetworkModificationPostWithError(modificationBodyJson, contentErrorMessage); + stubId = wireMockStubs.stubNetworkModificationPostWithError(modificationBodyJson, contentErrorMessage); mockMvc.perform(post(URI_NETWORK_MODIF, studyNameUserIdUuid, modificationNodeUuid) .content(jsonCreateLoadInfos).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -3047,7 +3049,7 @@ void testCreateModificationWithErrors() throws Exception { checkUpdateModelsStatusMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkEquipmentCreatingMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); checkEquipmentUpdatingFinishedMessagesReceived(studyNameUserIdUuid, modificationNodeUuid); - wireMockUtils.verifyNetworkModificationPost(stubId, modificationBodyJson); + wireMockStubs.verifyNetworkModificationPost(stubId, modificationBodyJson); } private void checkElementUpdatedMessageSent(UUID elementUuid, String userId) { diff --git a/src/test/java/org/gridsuite/study/server/PccMinTest.java b/src/test/java/org/gridsuite/study/server/PccMinTest.java index 9af5ab0404..7b46b6b7a5 100644 --- a/src/test/java/org/gridsuite/study/server/PccMinTest.java +++ b/src/test/java/org/gridsuite/study/server/PccMinTest.java @@ -24,8 +24,9 @@ import org.gridsuite.study.server.service.*; import org.gridsuite.study.server.utils.ResultParameters; import org.gridsuite.study.server.utils.TestUtils; -import org.gridsuite.study.server.utils.WireMockUtils; +import org.gridsuite.study.server.utils.wiremock.WireMockStubs; import org.gridsuite.study.server.utils.elasticsearch.DisableElasticsearch; +import org.gridsuite.study.server.utils.wiremock.WireMockUtils; import org.json.JSONObject; import org.junit.jupiter.api.*; import org.springframework.beans.factory.annotation.Autowired; @@ -103,13 +104,13 @@ class PccMinTest { private ConsumerService consumerService; private WireMockServer wireMockServer; - private WireMockUtils wireMockUtils; + private WireMockStubs wireMockStubs; @BeforeEach void setup() { wireMockServer = new WireMockServer(WireMockConfiguration.wireMockConfig().dynamicPort()); wireMockServer.start(); - wireMockUtils = new WireMockUtils(wireMockServer); + wireMockStubs = new WireMockStubs(wireMockServer); configureFor("localhost", wireMockServer.port()); String baseUrl = wireMockServer.baseUrl(); @@ -226,7 +227,8 @@ private void runPccMin(StudyNodeIds ids) throws Exception { consumePccMinResult(ids, PCC_MIN_RESULT_UUID); - wireMockUtils.verifyPostRequest( + WireMockUtils.verifyPostRequest( + wireMockServer, stubId, "/v1/networks/" + NETWORK_UUID_STRING + "/run-and-save", true, @@ -241,21 +243,21 @@ void testRunAndCheckStatus() throws Exception { StudyNodeIds ids = createStudyAndNode(VARIANT_ID, "node1"); // Run Pcc min - UUID stubRun = wireMockUtils.stubPccMinRun(NETWORK_UUID_STRING, VARIANT_ID, PCC_MIN_RESULT_UUID); + UUID stubRun = wireMockStubs.stubPccMinRun(NETWORK_UUID_STRING, VARIANT_ID, PCC_MIN_RESULT_UUID); mockMvc.perform(post(PCC_MIN_URL_BASE + "run", ids.studyId, ids.rootNetworkUuid, ids.nodeId) .header("userId", "userId")) .andExpect(status().isOk()); consumePccMinResult(ids, PCC_MIN_RESULT_UUID); - wireMockUtils.verifyPccMinRun(stubRun, NETWORK_UUID_STRING, VARIANT_ID); + wireMockStubs.verifyPccMinRun(stubRun, NETWORK_UUID_STRING, VARIANT_ID); // verify pcc min status - UUID stubStatus = wireMockUtils.stubPccMinStatus(PCC_MIN_RESULT_UUID, PCC_MIN_STATUS_JSON); + UUID stubStatus = wireMockStubs.stubPccMinStatus(PCC_MIN_RESULT_UUID, PCC_MIN_STATUS_JSON); mockMvc.perform(get(PCC_MIN_URL_BASE + "status", ids.studyId, ids.rootNetworkUuid, ids.nodeId)) .andExpect(status().isOk()) .andExpect(org.springframework.test.web.servlet.result.MockMvcResultMatchers.content().string(PCC_MIN_STATUS_JSON)); - wireMockUtils.verifyPccMinStatus(stubStatus, PCC_MIN_RESULT_UUID); + wireMockStubs.verifyPccMinStatus(stubStatus, PCC_MIN_RESULT_UUID); } @Test @@ -279,13 +281,13 @@ void testStop() throws Exception { .build(); consumerService.consumePccMinStopped().accept(stoppedMessage); checkPccMinMessagesReceived(ids.studyId, NotificationService.UPDATE_TYPE_PCC_MIN_STATUS); - wireMockUtils.verifyPccMinStop(stubId, PCC_MIN_RESULT_UUID); + wireMockStubs.verifyPccMinStop(stubId, PCC_MIN_RESULT_UUID); } @Test void testFailure() throws Exception { StudyNodeIds ids = createStudyAndNode(VARIANT_ID_2, "node 2"); - UUID stubFail = wireMockUtils.stubPccMinFailed(NETWORK_UUID_STRING, VARIANT_ID_2, PCC_MIN_ERROR_RESULT_UUID); + UUID stubFail = wireMockStubs.stubPccMinFailed(NETWORK_UUID_STRING, VARIANT_ID_2, PCC_MIN_ERROR_RESULT_UUID); mockMvc.perform(post(PCC_MIN_URL_BASE + "run", ids.studyId, ids.rootNetworkUuid, ids.nodeId) .header("userId", "userId")) @@ -302,7 +304,7 @@ void testFailure() throws Exception { checkPccMinMessagesReceived(ids.studyId, NotificationService.UPDATE_TYPE_PCC_MIN_STATUS); checkPccMinMessagesReceived(ids.studyId, NotificationService.UPDATE_TYPE_PCC_MIN_FAILED); - wireMockUtils.verifyPccMinFail(stubFail, NETWORK_UUID_STRING, VARIANT_ID_2); + wireMockStubs.verifyPccMinFail(stubFail, NETWORK_UUID_STRING, VARIANT_ID_2); } @Test @@ -343,7 +345,7 @@ void testGetPccMinResults() throws Exception { runPccMin(ids); //get pages, sorted and filtered results - UUID stubId = wireMockUtils.stubPagedPccMinResult(PCC_MIN_RESULT_UUID, TestUtils.resourceToString("/pccmin-result-paged.json")); + UUID stubId = wireMockStubs.stubPagedPccMinResult(PCC_MIN_RESULT_UUID, TestUtils.resourceToString("/pccmin-result-paged.json")); mockMvc.perform(get(PCC_MIN_URL_BASE + "result", ids.studyId, ids.rootNetworkUuid, ids.nodeId) .param("page", "0") .param("size", "20") @@ -353,7 +355,7 @@ void testGetPccMinResults() throws Exception { .andExpect(status().isOk()) .andExpect(content().string(TestUtils.resourceToString("/pccmin-result-paged.json"))); - wireMockUtils.verifyPccMinPagedGet(stubId, PCC_MIN_RESULT_UUID); + wireMockStubs.verifyPccMinPagedGet(stubId, PCC_MIN_RESULT_UUID); UUID resultUuid = UUID.randomUUID(); ResultParameters params = new ResultParameters(UUID.randomUUID(), UUID.randomUUID(), "variantId", UUID.randomUUID(), resultUuid); diff --git a/src/test/java/org/gridsuite/study/server/SingleLineDiagramTest.java b/src/test/java/org/gridsuite/study/server/SingleLineDiagramTest.java index e3aee0c697..8ca20c9c8e 100644 --- a/src/test/java/org/gridsuite/study/server/SingleLineDiagramTest.java +++ b/src/test/java/org/gridsuite/study/server/SingleLineDiagramTest.java @@ -36,7 +36,7 @@ import org.gridsuite.study.server.service.LoadFlowService; import org.gridsuite.study.server.utils.MatcherJson; import org.gridsuite.study.server.utils.TestUtils; -import org.gridsuite.study.server.utils.WireMockUtils; +import org.gridsuite.study.server.utils.wiremock.WireMockStubs; import org.gridsuite.study.server.utils.elasticsearch.DisableElasticsearch; import org.jetbrains.annotations.NotNull; import org.json.JSONObject; @@ -100,7 +100,7 @@ class SingleLineDiagramTest { private WireMockServer wireMockServer; - private WireMockUtils wireMockUtils; + private WireMockStubs wireMockStubs; @Autowired private OutputDestination output; @@ -147,7 +147,7 @@ void setup(final MockWebServer server) { objectWriter = objectMapper.writer().withDefaultPrettyPrinter(); wireMockServer = new WireMockServer(wireMockConfig().dynamicPort()); - wireMockUtils = new WireMockUtils(wireMockServer); + wireMockStubs = new WireMockStubs(wireMockServer); // Start the server. wireMockServer.start(); @@ -577,7 +577,7 @@ private MvcResult getNetworkElementsInfos(UUID studyUuid, UUID rootNetworkUuid, .collect(Collectors.toList()); } String nominalVoltagesParam = nominalVoltageStrings.isEmpty() ? null : objectMapper.writeValueAsString(nominalVoltageStrings); - UUID stubUuid = wireMockUtils.stubNetworkElementsInfosPost(NETWORK_UUID_STRING, infoType, elementType, nominalVoltages, responseBody); + UUID stubUuid = wireMockStubs.stubNetworkElementsInfosPost(NETWORK_UUID_STRING, infoType, elementType, nominalVoltages, responseBody); MockHttpServletRequestBuilder mockHttpServletRequestBuilder = post("/v1/studies/{studyUuid}/root-networks/{rootNetworkUuid}/nodes/{nodeUuid}/network/elements", studyUuid, rootNetworkUuid, rootNodeUuid) .queryParam(QUERY_PARAM_INFO_TYPE, infoType) @@ -590,7 +590,7 @@ private MvcResult getNetworkElementsInfos(UUID studyUuid, UUID rootNetworkUuid, MvcResult mvcResult = mockMvc.perform(mockHttpServletRequestBuilder) .andExpect(status().isOk()) .andReturn(); - wireMockUtils.verifyNetworkElementsInfosPost(stubUuid, NETWORK_UUID_STRING, infoType, elementType, requestBody); + wireMockStubs.verifyNetworkElementsInfosPost(stubUuid, NETWORK_UUID_STRING, infoType, elementType, requestBody); return mvcResult; } diff --git a/src/test/java/org/gridsuite/study/server/SpreadsheetConfigTest.java b/src/test/java/org/gridsuite/study/server/SpreadsheetConfigTest.java index b0c2971a66..bf15280eef 100644 --- a/src/test/java/org/gridsuite/study/server/SpreadsheetConfigTest.java +++ b/src/test/java/org/gridsuite/study/server/SpreadsheetConfigTest.java @@ -11,8 +11,8 @@ import org.gridsuite.study.server.service.NetworkModificationTreeService; import org.gridsuite.study.server.service.StudyConfigService; import org.gridsuite.study.server.utils.TestUtils; -import org.gridsuite.study.server.utils.WireMockUtils; import org.gridsuite.study.server.utils.elasticsearch.DisableElasticsearch; +import org.gridsuite.study.server.utils.wiremock.WireMockUtils; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -64,7 +64,6 @@ class SpreadsheetConfigTest { private StudyConfigService studyConfigService; private WireMockServer wireMockServer; - private WireMockUtils wireMockUtils; private static final String STUDY_UPDATE_DESTINATION = "study.update"; private static final UUID NETWORK_UUID = UUID.fromString("052f64fd-775f-4eb8-89ae-de76b713e349"); @@ -78,7 +77,6 @@ void setUp() { wireMockServer.start(); String baseUrlWireMock = wireMockServer.baseUrl(); studyConfigService.setStudyConfigServerBaseUri(baseUrlWireMock); - wireMockUtils = new WireMockUtils(wireMockServer); } @Test @@ -97,7 +95,7 @@ void testReorder() throws Exception { .andReturn(); checkSpreadsheetTabUpdateMessageReceived(studyEntity.getId()); - wireMockUtils.verifyPutRequest(stubId, configServerUrl, false, Map.of(), newOrder); + WireMockUtils.verifyPutRequest(wireMockServer, stubId, configServerUrl, false, Map.of(), newOrder); } @Test @@ -120,7 +118,7 @@ void testUpdateColumnsStates() throws Exception { .andReturn(); checkSpreadsheetTabUpdateMessageReceived(studyEntity.getId()); - wireMockUtils.verifyPutRequest(stubId, configServerUrl, false, Map.of(), columnsStates); + WireMockUtils.verifyPutRequest(wireMockServer, stubId, configServerUrl, false, Map.of(), columnsStates); } @Test @@ -139,7 +137,7 @@ void testRename() throws Exception { .andReturn(); checkSpreadsheetTabUpdateMessageReceived(studyEntity.getId()); - wireMockUtils.verifyPutRequest(stubId, configServerUrl, false, Map.of(), body); + WireMockUtils.verifyPutRequest(wireMockServer, stubId, configServerUrl, false, Map.of(), body); } @Test @@ -156,7 +154,7 @@ void testDeleteColumn() throws Exception { .andReturn(); checkSpreadsheetTabUpdateMessageReceived(studyEntity.getId()); - wireMockUtils.verifyDeleteRequest(stubId, configServerUrl, false, Map.of()); + WireMockUtils.verifyDeleteRequest(wireMockServer, stubId, configServerUrl, false, Map.of()); } @Test @@ -173,7 +171,7 @@ void testDuplicateColumn() throws Exception { .andReturn(); checkSpreadsheetTabUpdateMessageReceived(studyEntity.getId()); - wireMockUtils.verifyPostRequest(stubId, configServerUrl, Map.of(), 1); + WireMockUtils.verifyPostRequest(wireMockServer, stubId, configServerUrl, Map.of(), 1); } @Test @@ -192,7 +190,7 @@ void testUpdateColumn() throws Exception { .andReturn(); checkSpreadsheetTabUpdateMessageReceived(studyEntity.getId()); - wireMockUtils.verifyPutRequest(stubId, configServerUrl, false, Map.of(), columnDto); + WireMockUtils.verifyPutRequest(wireMockServer, stubId, configServerUrl, false, Map.of(), columnDto); } @Test @@ -212,7 +210,7 @@ void testCreateColumn() throws Exception { JSONAssert.assertEquals(newColumnUuidJsonResult, mvcResult.getResponse().getContentAsString(), JSONCompareMode.NON_EXTENSIBLE); checkSpreadsheetTabUpdateMessageReceived(studyEntity.getId()); - wireMockUtils.verifyPostRequest(stubId, configServerUrl, false, Map.of(), columnDto); + WireMockUtils.verifyPostRequest(wireMockServer, stubId, configServerUrl, false, Map.of(), columnDto); } @Test @@ -236,7 +234,7 @@ void testSetGlobalFilters() throws Exception { .andReturn(); checkSpreadsheetTabUpdateMessageReceived(studyEntity.getId()); - wireMockUtils.verifyPostRequest(stubId, configServerUrl, false, Map.of(), globalFilters); + WireMockUtils.verifyPostRequest(wireMockServer, stubId, configServerUrl, false, Map.of(), globalFilters); } @Test @@ -253,7 +251,7 @@ void testResetFilters(final MockWebServer server) throws Exception { .andReturn(); checkSpreadsheetTabUpdateMessageReceived(studyEntity.getId()); - wireMockUtils.verifyPutRequest(stubId, configServerUrl, false, Map.of(), null); + WireMockUtils.verifyPutRequest(wireMockServer, stubId, configServerUrl, false, Map.of(), null); } @Test @@ -283,7 +281,7 @@ void testUpdateConfig() throws Exception { .andReturn(); checkSpreadsheetTabUpdateMessageReceived(studyEntity.getId()); - wireMockUtils.verifyPutRequest(stubId, configServerUrl, false, Map.of(), spreadsheetConfig); + WireMockUtils.verifyPutRequest(wireMockServer, stubId, configServerUrl, false, Map.of(), spreadsheetConfig); } private StudyEntity insertStudy() { diff --git a/src/test/java/org/gridsuite/study/server/StudyServiceTest.java b/src/test/java/org/gridsuite/study/server/StudyServiceTest.java index 28d81d739d..bdbccd6bb9 100644 --- a/src/test/java/org/gridsuite/study/server/StudyServiceTest.java +++ b/src/test/java/org/gridsuite/study/server/StudyServiceTest.java @@ -19,7 +19,7 @@ import org.gridsuite.study.server.service.shortcircuit.ShortCircuitService; import org.gridsuite.study.server.utils.SendInput; import org.gridsuite.study.server.utils.TestUtils; -import org.gridsuite.study.server.utils.WireMockUtils; +import org.gridsuite.study.server.utils.wiremock.WireMockStubs; import org.gridsuite.study.server.utils.elasticsearch.DisableElasticsearch; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; @@ -64,7 +64,7 @@ class StudyServiceTest { private WireMockServer wireMockServer; - private WireMockUtils wireMockUtils; + private WireMockStubs wireMockStubs; @Autowired private MockMvc mockMvc; @@ -127,7 +127,7 @@ class StudyServiceTest { @BeforeEach void setup() { wireMockServer = new WireMockServer(wireMockConfig().dynamicPort().extensions(new SendInput(input))); - wireMockUtils = new WireMockUtils(wireMockServer); + wireMockStubs = new WireMockStubs(wireMockServer); objectWriter = mapper.writer().withDefaultPrettyPrinter(); @@ -181,10 +181,10 @@ void testRecreateStudyNetworkWithStudyCaseAndImportParameters() throws Exception UUID studyUuid = createStudy(userId, CASE_UUID, importParameters); UUID firstRootNetworkUuid = studyTestUtils.getOneRootNetworkUuid(studyUuid); - UUID caseExistsStubId = wireMockUtils.stubCaseExists(CASE_UUID.toString(), true); + UUID caseExistsStubId = wireMockStubs.caseApi.stubCaseExists(CASE_UUID.toString(), true); CountDownLatch countDownLatch = new CountDownLatch(1); - UUID postNetworkStubId = wireMockUtils.stubImportNetwork(CASE_UUID.toString(), importParameters, NETWORK_UUID.toString(), "20140116_0830_2D4_UX1_pst", null, "UCTE", "20140116_0830_2D4_UX1_pst.ucte", countDownLatch); - UUID disableCaseExpirationStubId = wireMockUtils.stubDisableCaseExpiration(CASE_UUID.toString()); + UUID postNetworkStubId = wireMockStubs.networkConversionApi.stubImportNetworkWithPostAction(CASE_UUID.toString(), importParameters, NETWORK_UUID.toString(), "20140116_0830_2D4_UX1_pst", null, "UCTE", "20140116_0830_2D4_UX1_pst.ucte", countDownLatch); + UUID disableCaseExpirationStubId = wireMockStubs.caseApi.stubDisableCaseExpiration(CASE_UUID.toString()); mockMvc.perform(post("/v1/studies/{studyUuid}/root-networks/{rootNetworkUuid}/network", studyUuid, firstRootNetworkUuid) .header(USER_ID_HEADER, userId)) @@ -199,9 +199,9 @@ void testRecreateStudyNetworkWithStudyCaseAndImportParameters() throws Exception assertEquals(userId, headers.get(HEADER_USER_ID)); assertEquals(studyUuid, headers.get(NotificationService.HEADER_STUDY_UUID)); - wireMockUtils.verifyCaseExists(caseExistsStubId, CASE_UUID.toString()); - wireMockUtils.verifyImportNetwork(postNetworkStubId, CASE_UUID.toString(), null); - wireMockUtils.verifyDisableCaseExpiration(disableCaseExpirationStubId, CASE_UUID.toString()); + wireMockStubs.caseApi.verifyCaseExists(caseExistsStubId, CASE_UUID.toString()); + wireMockStubs.networkConversionApi.verifyImportNetwork(postNetworkStubId, CASE_UUID.toString(), null); + wireMockStubs.caseApi.verifyDisableCaseExpiration(disableCaseExpirationStubId, CASE_UUID.toString()); } @Test @@ -210,11 +210,11 @@ void testRecreateStudyNetworkWithMissingStudyCase() throws Exception { String userId = "userId"; UUID studyUuid = createStudy(userId, CASE_UUID, importParameters); UUID firstRootNetworkUuid = studyTestUtils.getOneRootNetworkUuid(studyUuid); - UUID caseExistsStubId = wireMockUtils.stubCaseExists(CASE_UUID.toString(), false); + UUID caseExistsStubId = wireMockStubs.caseApi.stubCaseExists(CASE_UUID.toString(), false); mockMvc.perform(post("/v1/studies/{studyUuid}/root-networks/{rootNetworkUuid}/network", studyUuid, firstRootNetworkUuid) .header(USER_ID_HEADER, userId)) .andExpect(status().isFailedDependency()); - wireMockUtils.verifyCaseExists(caseExistsStubId, CASE_UUID.toString()); + wireMockStubs.caseApi.verifyCaseExists(caseExistsStubId, CASE_UUID.toString()); } @Test @@ -228,10 +228,10 @@ void testRecreateStudyNetworkFromExistingCase() throws Exception { importParameters.put("param1", "changedValue1, changedValue2"); importParameters.put("param2", "changedValue"); - UUID caseExistsStubId = wireMockUtils.stubCaseExists(CASE_UUID.toString(), true); + UUID caseExistsStubId = wireMockStubs.caseApi.stubCaseExists(CASE_UUID.toString(), true); CountDownLatch countDownLatch = new CountDownLatch(1); - UUID postNetworkStubId = wireMockUtils.stubImportNetwork(CASE_UUID_STRING, newImportParameters, NETWORK_UUID.toString(), "20140116_0830_2D4_UX1_pst", null, "UCTE", "20140116_0830_2D4_UX1_pst.ucte", countDownLatch); - UUID disableCaseExpirationStubId = wireMockUtils.stubDisableCaseExpiration(CASE_UUID.toString()); + UUID postNetworkStubId = wireMockStubs.networkConversionApi.stubImportNetworkWithPostAction(CASE_UUID_STRING, newImportParameters, NETWORK_UUID.toString(), "20140116_0830_2D4_UX1_pst", null, "UCTE", "20140116_0830_2D4_UX1_pst.ucte", countDownLatch); + UUID disableCaseExpirationStubId = wireMockStubs.caseApi.stubDisableCaseExpiration(CASE_UUID.toString()); mockMvc.perform(post("/v1/studies/{studyUuid}/root-networks/{rootNetworkUuid}/network", studyUuid, firstRootNetworkUuid) .param(HEADER_IMPORT_PARAMETERS, objectWriter.writeValueAsString(newImportParameters)) @@ -248,9 +248,9 @@ void testRecreateStudyNetworkFromExistingCase() throws Exception { assertEquals(userId, headers.get(HEADER_USER_ID)); assertEquals(studyUuid, headers.get(NotificationService.HEADER_STUDY_UUID)); - wireMockUtils.verifyCaseExists(caseExistsStubId, CASE_UUID.toString()); - wireMockUtils.verifyImportNetwork(postNetworkStubId, CASE_UUID_STRING, null); - wireMockUtils.verifyDisableCaseExpiration(disableCaseExpirationStubId, CASE_UUID.toString()); + wireMockStubs.caseApi.verifyCaseExists(caseExistsStubId, CASE_UUID.toString()); + wireMockStubs.networkConversionApi.verifyImportNetwork(postNetworkStubId, CASE_UUID_STRING, null); + wireMockStubs.caseApi.verifyDisableCaseExpiration(disableCaseExpirationStubId, CASE_UUID.toString()); } @Test @@ -264,7 +264,7 @@ void testRecreateStudyNetworkFromUnexistingCase() throws Exception { importParameters.put("param1", "changedValue1, changedValue2"); importParameters.put("param2", "changedValue"); - UUID caseExistsStubId = wireMockUtils.stubCaseExists(CASE_UUID.toString(), false); + UUID caseExistsStubId = wireMockStubs.caseApi.stubCaseExists(CASE_UUID.toString(), false); mockMvc.perform(post("/v1/studies/{studyUuid}/root-networks/{rootNetworkUuid}/network", studyUuid, firstRootNetworkUuid) .param(HEADER_IMPORT_PARAMETERS, objectWriter.writeValueAsString(newImportParameters)) @@ -272,7 +272,7 @@ void testRecreateStudyNetworkFromUnexistingCase() throws Exception { .header(USER_ID_HEADER, userId)) .andExpectAll(status().isFailedDependency()); - wireMockUtils.verifyCaseExists(caseExistsStubId, CASE_UUID.toString()); + wireMockStubs.caseApi.verifyCaseExists(caseExistsStubId, CASE_UUID.toString()); } @Test @@ -284,23 +284,23 @@ void testImportCsv() throws Exception { MockMultipartFile file = new MockMultipartFile( "file", "positions.csv", "text/csv", csvContent.getBytes(StandardCharsets.UTF_8) ); - UUID positionsFromCsvUuid = wireMockUtils.stubCreatePositionsFromCsv(); + UUID positionsFromCsvUuid = wireMockStubs.stubCreatePositionsFromCsv(); mockMvc.perform(MockMvcRequestBuilders.multipart("/v1/studies/network-visualizations/nad-positions-config") .file(file) .contentType(MediaType.MULTIPART_FORM_DATA_VALUE)) .andExpect(status().isOk()); // assert API calls have been made - wireMockUtils.verifyStubCreatePositionsFromCsv(positionsFromCsvUuid); + wireMockStubs.verifyStubCreatePositionsFromCsv(positionsFromCsvUuid); } private UUID createStudy(String userId, UUID caseUuid, Map importParameters) throws Exception { // mock API calls - UUID caseExistsStubId = wireMockUtils.stubCaseExists(caseUuid.toString(), true); + UUID caseExistsStubId = wireMockStubs.caseApi.stubCaseExists(caseUuid.toString(), true); CountDownLatch countDownLatch = new CountDownLatch(1); - UUID postNetworkStubId = wireMockUtils.stubImportNetwork(caseUuid.toString(), importParameters, NETWORK_UUID.toString(), "20140116_0830_2D4_UX1_pst", WireMockUtils.FIRST_VARIANT_ID, "UCTE", "20140116_0830_2D4_UX1_pst.ucte", countDownLatch); - UUID disableCaseExpirationStubId = wireMockUtils.stubDisableCaseExpiration(caseUuid.toString()); - UUID sendReportStubId = wireMockUtils.stubSendReport(); + UUID postNetworkStubId = wireMockStubs.networkConversionApi.stubImportNetworkWithPostAction(caseUuid.toString(), importParameters, NETWORK_UUID.toString(), "20140116_0830_2D4_UX1_pst", WireMockStubs.FIRST_VARIANT_ID, "UCTE", "20140116_0830_2D4_UX1_pst.ucte", countDownLatch); + UUID disableCaseExpirationStubId = wireMockStubs.caseApi.stubDisableCaseExpiration(caseUuid.toString()); + UUID sendReportStubId = wireMockStubs.stubSendReport(); when(loadFlowService.createDefaultLoadFlowParameters()).thenReturn(LOADFLOW_PARAMETERS_UUID); when(shortCircuitService.createParameters(null)).thenReturn(SHORTCIRCUIT_PARAMETERS_UUID); when(studyConfigService.createDefaultSpreadsheetConfigCollection()).thenReturn(SPREADSHEET_CONFIG_COLLECTION_UUID); @@ -319,10 +319,10 @@ private UUID createStudy(String userId, UUID caseUuid, Map impor assertStudyCreation(studyUuid, userId); // assert API calls have been made - wireMockUtils.verifyCaseExists(caseExistsStubId, caseUuid.toString()); - wireMockUtils.verifyImportNetwork(postNetworkStubId, caseUuid.toString(), WireMockUtils.FIRST_VARIANT_ID); - wireMockUtils.verifyDisableCaseExpiration(disableCaseExpirationStubId, caseUuid.toString()); - wireMockUtils.verifySendReport(sendReportStubId); + wireMockStubs.caseApi.verifyCaseExists(caseExistsStubId, caseUuid.toString()); + wireMockStubs.networkConversionApi.verifyImportNetwork(postNetworkStubId, caseUuid.toString(), WireMockStubs.FIRST_VARIANT_ID); + wireMockStubs.caseApi.verifyDisableCaseExpiration(disableCaseExpirationStubId, caseUuid.toString()); + wireMockStubs.verifySendReport(sendReportStubId); return studyUuid; } diff --git a/src/test/java/org/gridsuite/study/server/SupervisionControllerTest.java b/src/test/java/org/gridsuite/study/server/SupervisionControllerTest.java index cfbaf845b1..911eda8cd9 100644 --- a/src/test/java/org/gridsuite/study/server/SupervisionControllerTest.java +++ b/src/test/java/org/gridsuite/study/server/SupervisionControllerTest.java @@ -23,6 +23,7 @@ import org.gridsuite.study.server.dto.VoltageLevelInfos; import org.gridsuite.study.server.dto.elasticsearch.EquipmentInfos; import org.gridsuite.study.server.dto.elasticsearch.TombstonedEquipmentInfos; +import org.gridsuite.study.server.dto.supervision.SupervisionStudyInfos; import org.gridsuite.study.server.elasticsearch.EquipmentInfosService; import org.gridsuite.study.server.elasticsearch.StudyInfosService; import org.gridsuite.study.server.repository.StudyEntity; @@ -37,6 +38,7 @@ import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.cloud.stream.binder.test.TestChannelBinderConfiguration; +import org.springframework.http.MediaType; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.context.bean.override.mockito.MockitoSpyBean; import org.springframework.test.web.servlet.MockMvc; @@ -278,4 +280,25 @@ void testReindexStudy() throws Exception { verify(studyService).reindexRootNetwork(studyToReindexUuid, network1.rootNetworkUuid()); verify(studyService).reindexRootNetwork(studyToReindexUuid, network2.rootNetworkUuid()); } + + @Test + void testSupervisionStudiesBasicData() throws Exception { + // test empty return + mockMvc.perform(get("/v1/supervision/studies")).andExpectAll(status().isOk(), + content().contentType(MediaType.APPLICATION_JSON), content().string("[]")); + + //insert a study + StudyEntity studyEntity = TestUtils.createDummyStudy(NETWORK_UUID, CASE_UUID, "caseName", "caseFormat", UUID.randomUUID()); + studyEntity = studyRepository.save(studyEntity); + + MvcResult mvcResult = mockMvc.perform(get("/v1/supervision/studies", studyEntity.getId())) + .andExpectAll(status().isOk(), content().contentType(MediaType.APPLICATION_JSON)).andReturn(); + String resultAsString = mvcResult.getResponse().getContentAsString(); + List infos = mapper.readValue(resultAsString, new TypeReference<>() { }); + + assertEquals(1, infos.size()); + // checks that the supervision extra data are here + assertEquals(1, infos.get(0).getCaseUuids().size()); + assertEquals(1, infos.get(0).getRootNetworkInfos().size()); + } } diff --git a/src/test/java/org/gridsuite/study/server/rootnetworks/RootNetworkTest.java b/src/test/java/org/gridsuite/study/server/rootnetworks/RootNetworkTest.java index 937f799ffc..32e3eebedd 100644 --- a/src/test/java/org/gridsuite/study/server/rootnetworks/RootNetworkTest.java +++ b/src/test/java/org/gridsuite/study/server/rootnetworks/RootNetworkTest.java @@ -33,8 +33,8 @@ import org.gridsuite.study.server.service.dynamicsimulation.DynamicSimulationService; import org.gridsuite.study.server.service.shortcircuit.ShortCircuitService; import org.gridsuite.study.server.utils.TestUtils; -import org.gridsuite.study.server.utils.WireMockUtils; import org.gridsuite.study.server.utils.elasticsearch.DisableElasticsearch; +import org.gridsuite.study.server.utils.wiremock.WireMockUtils; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -116,8 +116,6 @@ class RootNetworkTest { private WireMockServer wireMockServer; - private WireMockUtils wireMockUtils; - @Autowired private NetworkConversionService networkConversionService; @@ -181,7 +179,6 @@ void setUp() { wireMockServer.start(); String baseUrlWireMock = wireMockServer.baseUrl(); networkConversionService.setNetworkConversionServerBaseUri(baseUrlWireMock); - wireMockUtils = new WireMockUtils(wireMockServer); } @Test @@ -209,7 +206,7 @@ void testCreateRootNetworkRequest() throws Exception { .andReturn().getResponse().getContentAsString(); RootNetworkRequestInfos result = objectMapper.readValue(response, RootNetworkRequestInfos.class); - wireMockUtils.verifyPostRequest(stubId, "/v1/networks", + WireMockUtils.verifyPostRequest(wireMockServer, stubId, "/v1/networks", false, Map.of("caseUuid", WireMock.equalTo(DUPLICATE_CASE_UUID.toString()), "caseFormat", WireMock.equalTo(caseFormat), @@ -260,7 +257,7 @@ void testCreateRootNetworkRequestWithError() throws Exception { .header("content-type", "application/json")) .andExpect(status().isInternalServerError()); - wireMockUtils.verifyPostRequest(stubId, "/v1/networks", + WireMockUtils.verifyPostRequest(wireMockServer, stubId, "/v1/networks", false, Map.of("caseUuid", WireMock.equalTo(DUPLICATE_CASE_UUID.toString()), "caseFormat", WireMock.equalTo(caseFormat), @@ -710,7 +707,7 @@ void testUpdateRootNetworkConsumer() throws Exception { verify(rootNetworkService, times(1)).insertModificationRequest(eq(studyEntity.getId()), rootNetworkInfosCaptor.capture(), eq(USER_ID)); rootNetworkInfosCaptor.getValue().getCaseInfos().setCaseUuid(null); assertThat(rootNetworkInfosCaptor.getValue()).usingRecursiveComparison().isEqualTo(rootNetworkUpdateInfos); - wireMockUtils.verifyPostRequest(stubId, "/v1/networks", + WireMockUtils.verifyPostRequest(wireMockServer, stubId, "/v1/networks", false, Map.of( "caseUuid", WireMock.equalTo(DUPLICATE_CASE_UUID.toString()), diff --git a/src/test/java/org/gridsuite/study/server/studycontroller/StudyControllerCreationTest.java b/src/test/java/org/gridsuite/study/server/studycontroller/StudyControllerCreationTest.java new file mode 100644 index 0000000000..ace5fe5379 --- /dev/null +++ b/src/test/java/org/gridsuite/study/server/studycontroller/StudyControllerCreationTest.java @@ -0,0 +1,273 @@ +package org.gridsuite.study.server.studycontroller; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.github.tomakehurst.wiremock.WireMockServer; +import com.powsybl.commons.exceptions.UncheckedInterruptedException; +import com.powsybl.commons.report.ReportNode; +import mockwebserver3.junit5.internal.MockWebServerExtension; +import org.gridsuite.study.server.ContextConfigurationWithTestChannel; +import org.gridsuite.study.server.dto.caseimport.CaseImportAction; +import org.gridsuite.study.server.dto.caseimport.CaseImportReceiver; +import org.gridsuite.study.server.notification.NotificationService; +import org.gridsuite.study.server.repository.StudyCreationRequestEntity; +import org.gridsuite.study.server.repository.StudyCreationRequestRepository; +import org.gridsuite.study.server.repository.StudyEntity; +import org.gridsuite.study.server.repository.StudyRepository; +import org.gridsuite.study.server.service.*; +import org.gridsuite.study.server.service.dynamicsecurityanalysis.DynamicSecurityAnalysisService; +import org.gridsuite.study.server.service.shortcircuit.ShortCircuitService; +import org.gridsuite.study.server.utils.TestUtils; +import org.gridsuite.study.server.utils.wiremock.WireMockStubs; +import org.gridsuite.study.server.utils.elasticsearch.DisableElasticsearch; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.Mockito; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.cloud.stream.binder.test.OutputDestination; +import org.springframework.http.MediaType; +import org.springframework.messaging.Message; +import org.springframework.messaging.MessageHeaders; +import org.springframework.messaging.support.MessageBuilder; +import org.springframework.test.context.bean.override.mockito.MockitoBean; +import org.springframework.test.context.bean.override.mockito.MockitoSpyBean; +import org.springframework.test.web.servlet.MockMvc; + +import java.util.*; + +import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.wireMockConfig; +import static org.assertj.core.api.Assertions.assertThat; +import static org.gridsuite.study.server.StudyConstants.*; +import static org.gridsuite.study.server.notification.NotificationService.HEADER_UPDATE_TYPE; +import static org.gridsuite.study.server.service.NetworkModificationTreeService.FIRST_VARIANT_ID; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.verify; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + +@ExtendWith(MockWebServerExtension.class) +@AutoConfigureMockMvc +@SpringBootTest +@DisableElasticsearch +@ContextConfigurationWithTestChannel +class StudyControllerCreationTest { + private static final Logger LOGGER = LoggerFactory.getLogger(StudyControllerCreationTest.class); + private static final long TIMEOUT = 1000; + + @Autowired + private StudyRepository studyRepository; + @MockitoSpyBean + private CaseService caseService; + @Autowired + private NetworkConversionService networkConversionService; + + @MockitoSpyBean + private StudyService studyService; + @MockitoBean + private ReportService reportService; + + // All these computation services need to be mocked because apps try to create default parameters for each computation app on study creation + @MockitoBean + private LoadFlowService loadFlowService; + @MockitoBean + private ShortCircuitService shortCircuitService; + @MockitoBean + private SecurityAnalysisService securityAnalysisService; + @MockitoBean + private SensitivityAnalysisService sensitivityAnalysisService; + @MockitoBean + private VoltageInitService voltageInitService; + @MockitoBean + private DynamicSecurityAnalysisService dynamicSecurityAnalysisService; + @MockitoBean + private StateEstimationService stateEstimationService; + @MockitoBean + private StudyConfigService studyConfigService; + + @Autowired + private MockMvc mockMvc; + @Autowired + private ObjectMapper mapper; + @Autowired + private OutputDestination output; + @Autowired + private ConsumerService consumerService; + + private WireMockServer wireMockServer; + private WireMockStubs wireMockStubs; + + //output destinations + private final String studyUpdateDestination = "study.update"; + @Autowired + private TestUtils testUtils; + @Autowired + private StudyCreationRequestRepository studyCreationRequestRepository; + @Autowired + private RootNetworkService rootNetworkService; + @Autowired + private NetworkModificationTreeService networkModificationTreeService; + + @BeforeEach + void setUp() { + wireMockServer = new WireMockServer(wireMockConfig().dynamicPort()); + wireMockStubs = new WireMockStubs(wireMockServer); + wireMockServer.start(); + + caseService.setCaseServerBaseUri(wireMockServer.baseUrl()); + networkConversionService.setNetworkConversionServerBaseUri(wireMockServer.baseUrl()); + } + + @Test + void testSendStudyCreationRequestWithCaseDuplication() throws Exception { + UUID caseUuid = UUID.randomUUID(); + UUID duplicateCaseUuid = UUID.randomUUID(); + String caseFormat = "UCTE"; + String userId = "userId"; + + doReturn(duplicateCaseUuid).when(caseService).duplicateCase(caseUuid, true); + UUID caseExistsStub = wireMockStubs.caseApi.stubCaseExists(caseUuid.toString(), true); + UUID importCaseStub = wireMockStubs.networkConversionApi.stubImportNetwork(duplicateCaseUuid.toString(), null, FIRST_VARIANT_ID, caseFormat); + + sendStudyCreationRequest(userId, caseUuid, caseFormat, null, true); + + // assert that all http requests have been sent to remote services + wireMockStubs.caseApi.verifyCaseExists(caseExistsStub, caseUuid.toString()); + wireMockStubs.networkConversionApi.verifyImportNetwork(importCaseStub, duplicateCaseUuid.toString(), FIRST_VARIANT_ID); + + UUID newStudyCreationRequestId = studyCreationRequestRepository.findAll().getFirst().getId(); + assertStudyUpdateMessageReceived(newStudyCreationRequestId, userId); + } + + @Test + void testSendStudyCreationRequestWithImportParameters() throws Exception { + UUID caseUuid = UUID.randomUUID(); + Map importParameters = prepareImportParameters(); + String caseFormat = "UCTE"; + String userId = "userId"; + + UUID caseExistsStub = wireMockStubs.caseApi.stubCaseExists(caseUuid.toString(), true); + + String importParametersAsJson = mapper.writeValueAsString(importParameters); + UUID importCaseStub = wireMockStubs.networkConversionApi.stubImportNetwork(caseUuid.toString(), importParametersAsJson, FIRST_VARIANT_ID, caseFormat); + + sendStudyCreationRequest(userId, caseUuid, caseFormat, importParameters, false); + + // assert that all http requests have been sent to remote services + wireMockStubs.caseApi.verifyCaseExists(caseExistsStub, caseUuid.toString()); + wireMockStubs.networkConversionApi.verifyImportNetwork(importCaseStub, caseUuid.toString(), FIRST_VARIANT_ID, importParametersAsJson); + + UUID newStudyCreationRequestId = studyCreationRequestRepository.findAll().getFirst().getId(); + assertStudyUpdateMessageReceived(newStudyCreationRequestId, userId); + } + + @Test + void testConsumeCaseImportSucceededWithParameters() throws JsonProcessingException { + UUID studyUuid = UUID.randomUUID(); + UUID caseUuid = UUID.randomUUID(); + String userId = "userId"; + + // Import parameters to pass and check + Map importParameters = prepareImportParameters(); + + MessageHeaders messageHeaders = prepareMessageHeaders(studyUuid, userId, caseUuid, importParameters); + + // Need to insert studyCreationRequestEntity, otherwise study is deleted after being inserted + studyCreationRequestRepository.save(new StudyCreationRequestEntity(studyUuid, "firstRootNetworkName")); + + UUID disableCaseExpirationStub = wireMockStubs.caseApi.stubDisableCaseExpiration(caseUuid.toString()); + // run consume case import succeeded + consumerService.consumeCaseImportSucceeded().accept(MessageBuilder.createMessage("", messageHeaders)); + wireMockStubs.caseApi.verifyDisableCaseExpiration(disableCaseExpirationStub, caseUuid.toString()); + verifyMockCallsAfterStudyCreation(); + + // check import parameters are saved + StudyEntity studyEntity = studyRepository.findById(studyUuid).orElseThrow(); + UUID rootNetworkUUID = testUtils.getOneRootNetworkUuid(studyEntity.getId()); + + Map expectedImportParameters = new HashMap<>(); + importParameters.forEach((key, value) -> expectedImportParameters.put(key, value.toString())); + assertThat(rootNetworkService.getImportParameters(rootNetworkUUID)).usingRecursiveComparison().isEqualTo(expectedImportParameters); + + assertStudyUpdateMessageReceived(studyUuid, userId); + assertTrue(studyRepository.findById(studyUuid).isPresent()); + } + + private void verifyMockCallsAfterStudyCreation() { + verify(reportService, Mockito.times(1)).sendReport(any(UUID.class), any(ReportNode.class)); + verify(loadFlowService, Mockito.times(1)).createDefaultLoadFlowParameters(); + verify(shortCircuitService, Mockito.times(1)).createParameters(null); + verify(securityAnalysisService, Mockito.times(1)).createDefaultSecurityAnalysisParameters(); + verify(sensitivityAnalysisService, Mockito.times(1)).createDefaultSensitivityAnalysisParameters(); + verify(voltageInitService, Mockito.times(1)).createVoltageInitParameters(null); + verify(dynamicSecurityAnalysisService, Mockito.times(1)).createDefaultParameters(); + verify(stateEstimationService, Mockito.times(1)).createDefaultStateEstimationParameters(); + verify(studyConfigService, Mockito.times(1)).createDefaultSpreadsheetConfigCollection(); + } + + private void sendStudyCreationRequest(String userId, UUID caseUuid, String caseFormat, Map importParameters, boolean duplicateCase) throws Exception { + mockMvc.perform(post("/v1/studies/cases/{caseUuid}", caseUuid) + .header(HEADER_USER_ID, userId).contentType(MediaType.APPLICATION_JSON) + .param(CASE_FORMAT, caseFormat) + .param("duplicateCase", String.valueOf(duplicateCase)) + .content(mapper.writeValueAsString(importParameters))) + .andExpect(status().isOk()); + } + + private MessageHeaders prepareMessageHeaders(UUID studyUuid, String userId, UUID caseUuid, Map importParameters) throws JsonProcessingException { + CaseImportReceiver receiver = new CaseImportReceiver(studyUuid, null, caseUuid, UUID.randomUUID(), UUID.randomUUID(), userId, System.nanoTime(), CaseImportAction.STUDY_CREATION); + + return new MessageHeaders(Map.of( + HEADER_USER_ID, userId, + QUERY_PARAM_NETWORK_UUID, UUID.randomUUID().toString(), + "networkId", "networkId", + CASE_FORMAT, "UCTE", + "caseName", "nameOfCase", + HEADER_IMPORT_PARAMETERS, importParameters, + HEADER_RECEIVER, mapper.writeValueAsString(receiver))); + } + + private Map prepareImportParameters() { + Map importParameters = new HashMap<>(); + ArrayList randomListParam = new ArrayList<>(); + randomListParam.add("paramValue1"); + randomListParam.add("paramValue2"); + importParameters.put("param1", randomListParam); + + return importParameters; + } + + private void assertStudyUpdateMessageReceived(UUID studyUuid, String userId) { + // assert that the broker message has been sent a study creation request message + Message message = output.receive(TIMEOUT, studyUpdateDestination); + assertEquals("", new String(message.getPayload())); + MessageHeaders headers = message.getHeaders(); + assertEquals(userId, headers.get(HEADER_USER_ID)); + assertEquals(studyUuid, headers.get(NotificationService.HEADER_STUDY_UUID)); + assertEquals(NotificationService.UPDATE_TYPE_STUDIES, headers.get(HEADER_UPDATE_TYPE)); + } + + @AfterEach + void tearDown() { + studyRepository.findAll().forEach(s -> networkModificationTreeService.doDeleteTree(s.getId())); + studyRepository.deleteAll(); + studyCreationRequestRepository.deleteAll(); + + List destinations = List.of(studyUpdateDestination); + TestUtils.assertQueuesEmptyThenClear(destinations, output); + + try { + TestUtils.assertWiremockServerRequestsEmptyThenShutdown(wireMockServer); + } catch (UncheckedInterruptedException e) { + LOGGER.error("Error while attempting to get the request done : ", e); + } + } +} diff --git a/src/test/java/org/gridsuite/study/server/studycontroller/StudyControllerSearchTest.java b/src/test/java/org/gridsuite/study/server/studycontroller/StudyControllerSearchTest.java new file mode 100644 index 0000000000..81c37c3104 --- /dev/null +++ b/src/test/java/org/gridsuite/study/server/studycontroller/StudyControllerSearchTest.java @@ -0,0 +1,168 @@ +package org.gridsuite.study.server.studycontroller; + +import co.elastic.clients.elasticsearch._types.query_dsl.BoolQuery; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.powsybl.commons.datasource.ReadOnlyDataSource; +import com.powsybl.commons.datasource.ResourceDataSource; +import com.powsybl.commons.datasource.ResourceSet; +import com.powsybl.iidm.network.Line; +import com.powsybl.iidm.network.Network; +import com.powsybl.iidm.network.VariantManagerConstants; +import com.powsybl.iidm.serde.XMLImporter; +import com.powsybl.network.store.iidm.impl.NetworkFactoryImpl; +import mockwebserver3.junit5.internal.MockWebServerExtension; +import org.gridsuite.study.server.dto.CreatedStudyBasicInfos; +import org.gridsuite.study.server.dto.VoltageLevelInfos; +import org.gridsuite.study.server.dto.elasticsearch.EquipmentInfos; +import org.gridsuite.study.server.elasticsearch.EquipmentInfosService; +import org.gridsuite.study.server.elasticsearch.StudyInfosService; +import org.gridsuite.study.server.repository.StudyEntity; +import org.gridsuite.study.server.repository.StudyRepository; +import org.gridsuite.study.server.service.NetworkModificationTreeService; +import org.gridsuite.study.server.utils.MatcherJson; +import org.gridsuite.study.server.utils.TestUtils; +import org.gridsuite.study.server.utils.elasticsearch.DisableElasticsearch; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.stubbing.Answer; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.http.MediaType; +import org.springframework.test.context.bean.override.mockito.MockitoBean; +import org.springframework.test.context.bean.override.mockito.MockitoSpyBean; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.MvcResult; + +import java.util.List; +import java.util.Set; +import java.util.UUID; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.when; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + +@ExtendWith(MockWebServerExtension.class) +@AutoConfigureMockMvc +@SpringBootTest +@DisableElasticsearch +class StudyControllerSearchTest { + private static final String USER_ID_HEADER = "userId"; + private static final String TEST_FILE = "testCase.xiidm"; + private static final String VARIANT_1 = "variant_1"; + + @Autowired + private MockMvc mockMvc; + @Autowired + private TestUtils studyTestUtils; + @Autowired + private NetworkModificationTreeService networkModificationTreeService; + @Autowired + private ObjectMapper mapper; + @Autowired + private StudyRepository studyRepository; + + @MockitoBean + private StudyInfosService studyInfosService; + @MockitoSpyBean + private EquipmentInfosService equipmentInfosService; + + @Test + void testSearchStudyCreation() throws Exception { + MvcResult mvcResult; + String resultAsString; + + List studiesInfos = List.of( + CreatedStudyBasicInfos.builder().id(UUID.randomUUID()).userId("userId1").build(), + CreatedStudyBasicInfos.builder().id(UUID.randomUUID()).userId("userId1").build() + ); + + when(studyInfosService.search("userId:%s".formatted("userId"))) + .then((Answer>) invocation -> studiesInfos); + + mvcResult = mockMvc + .perform(get("/v1/search?q={request}", "userId:%s".formatted("userId")).header(USER_ID_HEADER, "userId")) + .andExpectAll(status().isOk(), content().contentType(MediaType.APPLICATION_JSON)).andReturn(); + resultAsString = mvcResult.getResponse().getContentAsString(); + List createdStudyBasicInfosList = mapper.readValue(resultAsString, new TypeReference<>() { }); + assertThat(createdStudyBasicInfosList, new MatcherJson<>(mapper, studiesInfos)); + } + + @Test + void testSearchLines() throws Exception { + UUID caseUuid = UUID.randomUUID(); + UUID networkUuid = UUID.randomUUID(); + StudyEntity studyEntity = TestUtils.createDummyStudy(networkUuid, caseUuid, "caseName", "caseFormat", UUID.randomUUID()); + studyEntity = studyRepository.save(studyEntity); + networkModificationTreeService.createRoot(studyEntity); + UUID studyUuid = studyEntity.getId(); + UUID firstRootNetworkUuid = studyTestUtils.getOneRootNetworkUuid(studyUuid); + + UUID rootNodeId = getRootNodeUuid(studyUuid); + + Network network = initNetwork(); + List linesInfos = network.getLineStream().map(l -> toEquipmentInfos(l, networkUuid)).toList(); + MvcResult mvcResult; + String resultAsString; + + doReturn(linesInfos).when(equipmentInfosService).searchEquipments(any(BoolQuery.class)); + + mvcResult = mockMvc + .perform(get("/v1/studies/{studyUuid}/root-networks/{rootNetworkUuid}/nodes/{nodeUuid}/search?userInput={request}&fieldSelector=NAME", + studyUuid, firstRootNetworkUuid, rootNodeId, "B").header(USER_ID_HEADER, "userId")) + .andExpectAll(status().isOk(), content().contentType(MediaType.APPLICATION_JSON)).andReturn(); + resultAsString = mvcResult.getResponse().getContentAsString(); + List equipmentInfos = mapper.readValue(resultAsString, new TypeReference<>() { }); + assertThat(equipmentInfos, new MatcherJson<>(mapper, linesInfos)); + + mvcResult = mockMvc + .perform(get("/v1/studies/{studyUuid}/root-networks/{rootNetworkUuid}/nodes/{nodeUuid}/search?userInput={request}&fieldSelector=NAME", + studyUuid, firstRootNetworkUuid, rootNodeId, "B").header(USER_ID_HEADER, "userId")) + .andExpectAll(status().isOk(), content().contentType(MediaType.APPLICATION_JSON)).andReturn(); + resultAsString = mvcResult.getResponse().getContentAsString(); + equipmentInfos = mapper.readValue(resultAsString, new TypeReference<>() { }); + assertThat(equipmentInfos, new MatcherJson<>(mapper, linesInfos)); + + mvcResult = mockMvc + .perform(get("/v1/studies/{studyUuid}/root-networks/{rootNetworkUuid}/nodes/{nodeUuid}/search?userInput={request}&fieldSelector=ID", + studyUuid, firstRootNetworkUuid, rootNodeId, "B").header(USER_ID_HEADER, "userId")) + .andExpectAll(status().isOk(), content().contentType(MediaType.APPLICATION_JSON)).andReturn(); + resultAsString = mvcResult.getResponse().getContentAsString(); + equipmentInfos = mapper.readValue(resultAsString, new TypeReference<>() { }); + assertThat(equipmentInfos, new MatcherJson<>(mapper, linesInfos)); + + mockMvc.perform(get("/v1/studies/{studyUuid}/root-networks/{rootNetworkUuid}/nodes/{nodeUuid}/search?userInput={request}&fieldSelector=bogus", + studyUuid, firstRootNetworkUuid, rootNodeId, "B").header(USER_ID_HEADER, "userId")) + .andExpectAll(status().isBadRequest(), + content().string("Enum unknown entry 'bogus' should be among NAME, ID")) + .andReturn(); + } + + private UUID getRootNodeUuid(UUID studyUuid) { + return networkModificationTreeService.getStudyRootNodeUuid(studyUuid); + } + + private Network initNetwork() { + ReadOnlyDataSource dataSource = new ResourceDataSource("testCase", new ResourceSet("", TEST_FILE)); + Network network = new XMLImporter().importData(dataSource, new NetworkFactoryImpl(), null); + network.getVariantManager().cloneVariant(VariantManagerConstants.INITIAL_VARIANT_ID, VARIANT_1); + network.getVariantManager().setWorkingVariant(VariantManagerConstants.INITIAL_VARIANT_ID); + return network; + } + + private static EquipmentInfos toEquipmentInfos(Line line, UUID networkUuid) { + return EquipmentInfos.builder() + .networkUuid(networkUuid) + .id(line.getId()) + .name(line.getNameOrId()) + .type("LINE") + .variantId("InitialState") + .voltageLevels(Set.of(VoltageLevelInfos.builder().id(line.getTerminal1().getVoltageLevel().getId()).name(line.getTerminal1().getVoltageLevel().getNameOrId()).build())) + .build(); + } +} diff --git a/src/test/java/org/gridsuite/study/server/StudyTest.java b/src/test/java/org/gridsuite/study/server/studycontroller/StudyTest.java similarity index 95% rename from src/test/java/org/gridsuite/study/server/StudyTest.java rename to src/test/java/org/gridsuite/study/server/studycontroller/StudyTest.java index 9b6901e08b..b89921c97b 100644 --- a/src/test/java/org/gridsuite/study/server/StudyTest.java +++ b/src/test/java/org/gridsuite/study/server/studycontroller/StudyTest.java @@ -4,9 +4,8 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -package org.gridsuite.study.server; +package org.gridsuite.study.server.studycontroller; -import co.elastic.clients.elasticsearch._types.query_dsl.BoolQuery; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; @@ -16,7 +15,6 @@ import com.powsybl.commons.datasource.ResourceDataSource; import com.powsybl.commons.datasource.ResourceSet; import com.powsybl.commons.exceptions.UncheckedInterruptedException; -import com.powsybl.iidm.network.Line; import com.powsybl.iidm.network.Network; import com.powsybl.iidm.network.VariantManagerConstants; import com.powsybl.iidm.serde.XMLImporter; @@ -34,14 +32,14 @@ import okhttp3.HttpUrl; import okio.Buffer; import org.elasticsearch.client.RestClient; +import org.gridsuite.study.server.ContextConfigurationWithTestChannel; +import org.gridsuite.study.server.StudyConstants; import org.gridsuite.study.server.dto.*; -import org.gridsuite.study.server.dto.elasticsearch.EquipmentInfos; import org.gridsuite.study.server.dto.modification.ModificationApplicationContext; import org.gridsuite.study.server.dto.modification.ModificationInfos; import org.gridsuite.study.server.dto.modification.ModificationType; import org.gridsuite.study.server.dto.modification.NetworkModificationsResult; import org.gridsuite.study.server.dto.networkexport.NetworkExportReceiver; -import org.gridsuite.study.server.dto.supervision.SupervisionStudyInfos; import org.gridsuite.study.server.elasticsearch.EquipmentInfosService; import org.gridsuite.study.server.elasticsearch.StudyInfosService; import org.gridsuite.study.server.networkmodificationtree.dto.*; @@ -57,6 +55,7 @@ import org.gridsuite.study.server.service.shortcircuit.ShortCircuitService; import org.gridsuite.study.server.utils.*; import org.gridsuite.study.server.utils.elasticsearch.DisableElasticsearch; +import org.gridsuite.study.server.utils.wiremock.WireMockStubs; import org.jetbrains.annotations.NotNull; import org.json.JSONArray; import org.json.JSONObject; @@ -147,7 +146,6 @@ class StudyTest { private static final String IMPORTED_BLOCKING_CASE_UUID_STRING = "22111111-0000-0000-0000-000000000000"; private static final String IMPORTED_CASE_WITH_ERRORS_UUID_STRING = "88888888-0000-0000-0000-000000000000"; private static final String NEW_STUDY_CASE_UUID = "11888888-0000-0000-0000-000000000000"; - private static final String DUPLICATED_STUDY_UUID = "11888888-0000-0000-0000-111111111111"; private static final String NOT_EXISTING_CASE_UUID = "00000000-0000-0000-0000-000000000000"; private static final String NOT_EXISTING_NETWORK_CASE_UUID_STRING = "00000000-0000-0000-0000-000000000001"; private static final String HEADER_UPDATE_TYPE = "updateType"; @@ -334,14 +332,10 @@ class StudyTest { private ObjectWriter objectWriter; - private List linesInfos; - - private List studiesInfos; - // new mock server (use this one to mock API calls) private WireMockServer wireMockServer; - private WireMockUtils wireMockUtils; + private WireMockStubs wireMockStubs; @Autowired private StudyRepository studyRepository; @@ -377,30 +371,7 @@ class StudyTest { @MockitoSpyBean ConsumerService consumeService; - private static EquipmentInfos toEquipmentInfos(Line line) { - return EquipmentInfos.builder() - .networkUuid(NETWORK_UUID) - .id(line.getId()) - .name(line.getNameOrId()) - .type("LINE") - .variantId("InitialState") - .voltageLevels(Set.of(VoltageLevelInfos.builder().id(line.getTerminal1().getVoltageLevel().getId()).name(line.getTerminal1().getVoltageLevel().getNameOrId()).build())) - .build(); - } - private void initMockBeans(Network network) { - linesInfos = network.getLineStream().map(StudyTest::toEquipmentInfos).collect(Collectors.toList()); - - studiesInfos = List.of( - CreatedStudyBasicInfos.builder().id(UUID.fromString(DUPLICATED_STUDY_UUID)).userId("userId1").build(), - CreatedStudyBasicInfos.builder().id(UUID.fromString("11888888-0000-0000-0000-111111111112")).userId("userId1").build() - ); - - when(studyInfosService.search("userId:%s".formatted("userId"))) - .then((Answer>) invocation -> studiesInfos); - - when(equipmentInfosService.searchEquipments(any(), any(), any(), any(), any())).thenCallRealMethod(); - when(equipmentInfosService.searchEquipments(any(BoolQuery.class))).then((Answer>) invocation -> linesInfos); when(equipmentInfosService.getEquipmentInfosCount()).then((Answer) invocation -> Long.parseLong("32")); when(equipmentInfosService.getEquipmentInfosCount(NETWORK_UUID)).then((Answer) invocation -> Long.parseLong("16")); when(equipmentInfosService.getTombstonedEquipmentInfosCount()).then((Answer) invocation -> Long.parseLong("8")); @@ -444,7 +415,7 @@ void setup(final MockWebServer server) throws Exception { initMockBeansNetworkNotExisting(); wireMockServer = new WireMockServer(wireMockConfig().dynamicPort().extensions(new SendInput(input))); - wireMockUtils = new WireMockUtils(wireMockServer); + wireMockStubs = new WireMockStubs(wireMockServer); objectWriter = mapper.writer().withDefaultPrettyPrinter(); @@ -785,72 +756,6 @@ private UUID getRootNodeUuid(UUID studyUuid) { return networkModificationTreeService.getStudyRootNodeUuid(studyUuid); } - @Test - void testSearch(final MockWebServer mockWebServer) throws Exception { - MvcResult mvcResult; - String resultAsString; - UUID studyUuid = createStudy(mockWebServer, "userId", CASE_UUID); - UUID firstRootNetworkUuid = studyTestUtils.getOneRootNetworkUuid(studyUuid); - UUID rootNodeId = getRootNodeUuid(studyUuid); - - mvcResult = mockMvc - .perform(get("/v1/search?q={request}", "userId:%s".formatted("userId")).header(USER_ID_HEADER, "userId")) - .andExpectAll(status().isOk(), content().contentType(MediaType.APPLICATION_JSON)).andReturn(); - resultAsString = mvcResult.getResponse().getContentAsString(); - List createdStudyBasicInfosList = mapper.readValue(resultAsString, new TypeReference<>() { }); - assertThat(createdStudyBasicInfosList, new MatcherJson<>(mapper, studiesInfos)); - - mvcResult = mockMvc - .perform(get("/v1/studies/{studyUuid}/root-networks/{rootNetworkUuid}/nodes/{nodeUuid}/search?userInput={request}&fieldSelector=NAME", - studyUuid, firstRootNetworkUuid, rootNodeId, "B").header(USER_ID_HEADER, "userId")) - .andExpectAll(status().isOk(), content().contentType(MediaType.APPLICATION_JSON)).andReturn(); - resultAsString = mvcResult.getResponse().getContentAsString(); - List equipmentInfos = mapper.readValue(resultAsString, new TypeReference<>() { }); - assertThat(equipmentInfos, new MatcherJson<>(mapper, linesInfos)); - - mvcResult = mockMvc - .perform(get("/v1/studies/{studyUuid}/root-networks/{rootNetworkUuid}/nodes/{nodeUuid}/search?userInput={request}&fieldSelector=NAME", - studyUuid, firstRootNetworkUuid, rootNodeId, "B").header(USER_ID_HEADER, "userId")) - .andExpectAll(status().isOk(), content().contentType(MediaType.APPLICATION_JSON)).andReturn(); - resultAsString = mvcResult.getResponse().getContentAsString(); - equipmentInfos = mapper.readValue(resultAsString, new TypeReference<>() { }); - assertThat(equipmentInfos, new MatcherJson<>(mapper, linesInfos)); - - mvcResult = mockMvc - .perform(get("/v1/studies/{studyUuid}/root-networks/{rootNetworkUuid}/nodes/{nodeUuid}/search?userInput={request}&fieldSelector=ID", - studyUuid, firstRootNetworkUuid, rootNodeId, "B").header(USER_ID_HEADER, "userId")) - .andExpectAll(status().isOk(), content().contentType(MediaType.APPLICATION_JSON)).andReturn(); - resultAsString = mvcResult.getResponse().getContentAsString(); - equipmentInfos = mapper.readValue(resultAsString, new TypeReference<>() { }); - assertThat(equipmentInfos, new MatcherJson<>(mapper, linesInfos)); - - mockMvc.perform(get("/v1/studies/{studyUuid}/root-networks/{rootNetworkUuid}/nodes/{nodeUuid}/search?userInput={request}&fieldSelector=bogus", - studyUuid, firstRootNetworkUuid, rootNodeId, "B").header(USER_ID_HEADER, "userId")) - .andExpectAll(status().isBadRequest(), - content().string("Enum unknown entry 'bogus' should be among NAME, ID")) - .andReturn(); - } - - @Test - void testSupervisionStudiesBasicData(final MockWebServer server) throws Exception { - // test empty return - mockMvc.perform(get("/v1/supervision/studies")).andExpectAll(status().isOk(), - content().contentType(MediaType.APPLICATION_JSON), content().string("[]")); - - //insert a study - UUID studyUuid = createStudy(server, "userId", CASE_UUID); - - MvcResult mvcResult = mockMvc.perform(get("/v1/supervision/studies", studyUuid)) - .andExpectAll(status().isOk(), content().contentType(MediaType.APPLICATION_JSON)).andReturn(); - String resultAsString = mvcResult.getResponse().getContentAsString(); - List infos = mapper.readValue(resultAsString, new TypeReference<>() { }); - - assertEquals(1, infos.size()); - // checks that the supervision extra data are here - assertEquals(1, infos.get(0).getCaseUuids().size()); - assertEquals(1, infos.get(0).getRootNetworkInfos().size()); - } - @Test void test(final MockWebServer server) throws Exception { MvcResult result; @@ -997,19 +902,6 @@ void testConsumeNetworkExportFinishedSuccess(final MockWebServer mockWebServer) assertEquals(EXPORT_UUID, mess.getHeaders().get(HEADER_EXPORT_UUID)); } - @Test - void testCreateStudyWithImportParameters(final MockWebServer mockWebServer) throws Exception { - Map importParameters = new HashMap<>(); - ArrayList randomListParam = new ArrayList<>(); - randomListParam.add("paramValue1"); - randomListParam.add("paramValue2"); - importParameters.put("param1", randomListParam); - UUID studyUuid = createStudyWithImportParameters(mockWebServer, "userId", CASE_UUID, "UCTE", importParameters); - - StudyEntity studyEntity = studyRepository.findById(studyUuid).get(); - assertEquals(studyUuid, studyEntity.getId()); - } - @Test void testCreateStudyWithDuplicateCase(final MockWebServer mockWebServer) throws Exception { createStudyWithDuplicateCase(mockWebServer, "userId", CASE_UUID); @@ -1024,13 +916,13 @@ void testDeleteStudy(final MockWebServer server) throws Exception { studyEntity.setSpreadsheetConfigCollectionUuid(UUID.randomUUID()); studyRepository.save(studyEntity); - UUID stubUuid = wireMockUtils.stubNetworkModificationDeleteGroup(); + UUID stubUuid = wireMockStubs.stubNetworkModificationDeleteGroup(); mockMvc.perform(delete("/v1/studies/{studyUuid}", studyUuid).header(USER_ID_HEADER, "userId")) .andExpect(status().isOk()); assertTrue(studyRepository.findById(studyUuid).isEmpty()); - wireMockUtils.verifyNetworkModificationDeleteGroup(stubUuid); + wireMockStubs.verifyNetworkModificationDeleteGroup(stubUuid); Set requests = TestUtils.getRequestsWithBodyDone(10, server); assertEquals(2, requests.stream().filter(r -> r.getPath().matches("/v1/reports")).count()); @@ -1063,12 +955,12 @@ void testDeleteStudyWithError(final MockWebServer server, final CapturedOutput c doAnswer(invocation -> { throw new InterruptedException(); }).when(caseService).deleteCase(any()); - UUID stubUuid = wireMockUtils.stubNetworkModificationDeleteGroup(); + UUID stubUuid = wireMockStubs.stubNetworkModificationDeleteGroup(); mockMvc.perform(delete("/v1/studies/{studyUuid}", studyUuid).header(USER_ID_HEADER, "userId")) .andExpectAll(status().isOk()); assertTrue(capturedOutput.getOut().contains(StudyServerExecutionService.class.getName() + " - " + CompletionException.class.getName() + ": " + InterruptedException.class.getName())); - wireMockUtils.verifyNetworkModificationDeleteGroup(stubUuid); + wireMockStubs.verifyNetworkModificationDeleteGroup(stubUuid); Set requests = TestUtils.getRequestsWithBodyDone(3, server); assertTrue(requests.stream().anyMatch(r -> r.getPath().matches("/v1/spreadsheet-config-collections/" + studyEntity.getSpreadsheetConfigCollectionUuid()))); @@ -1079,7 +971,7 @@ void testDeleteStudyWithError(final MockWebServer server, final CapturedOutput c void testDeleteStudyWithNonExistingCase(final MockWebServer server) throws Exception { UUID studyUuid = createStudy(server, "userId", CASE_UUID); - UUID stubUuid = wireMockUtils.stubNetworkModificationDeleteGroup(); + UUID stubUuid = wireMockStubs.stubNetworkModificationDeleteGroup(); // Changing the study case uuid with a non-existing case StudyEntity studyEntity = studyRepository.findById(studyUuid).orElse(null); @@ -1094,7 +986,7 @@ void testDeleteStudyWithNonExistingCase(final MockWebServer server) throws Excep assertTrue(studyRepository.findById(studyUuid).isEmpty()); - wireMockUtils.verifyNetworkModificationDeleteGroup(stubUuid); + wireMockStubs.verifyNetworkModificationDeleteGroup(stubUuid); Set requests = TestUtils.getRequestsWithBodyDone(8, server); assertTrue(requests.stream().anyMatch(r -> r.getPath().matches("/v1/reports"))); @@ -1789,7 +1681,7 @@ private void testDuplicateStudy(final MockWebServer mockWebServer, UUID study1Uu // add modification on node "node1" String createTwoWindingsTransformerAttributes = "{\"type\":\"" + ModificationType.TWO_WINDINGS_TRANSFORMER_CREATION + "\",\"equipmentId\":\"2wtId\",\"equipmentName\":\"2wtName\",\"seriesResistance\":\"10\",\"seriesReactance\":\"10\",\"magnetizingConductance\":\"100\",\"magnetizingSusceptance\":\"100\",\"ratedVoltage1\":\"480\",\"ratedVoltage2\":\"380\",\"voltageLevelId1\":\"CHOO5P6\",\"busOrBusbarSectionId1\":\"CHOO5P6_1\",\"voltageLevelId2\":\"CHOO5P6\",\"busOrBusbarSectionId2\":\"CHOO5P6_1\"}"; - UUID stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); + UUID stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); mockMvc.perform(post(URI_NETWORK_MODIF, study1Uuid, node1.getId(), rootNetworkUuid) .contentType(MediaType.APPLICATION_JSON) .content(createTwoWindingsTransformerAttributes) @@ -1800,12 +1692,12 @@ private void testDuplicateStudy(final MockWebServer mockWebServer, UUID study1Uu checkEquipmentUpdatingFinishedMessagesReceived(study1Uuid, node1.getId()); checkElementUpdatedMessageSent(study1Uuid, userId); Pair> modificationBody = Pair.of(createTwoWindingsTransformerAttributes, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(rootNetworkUuid, node1.getId(), NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); // add modification on node "node2" String createLoadAttributes = "{\"type\":\"" + ModificationType.LOAD_CREATION + "\",\"loadId\":\"loadId1\",\"loadName\":\"loadName1\",\"loadType\":\"UNDEFINED\",\"activePower\":\"100.0\",\"reactivePower\":\"50.0\",\"voltageLevelId\":\"idVL1\",\"busId\":\"idBus1\"}"; - stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); + stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); mockMvc.perform(post(URI_NETWORK_MODIF, study1Uuid, node2.getId(), rootNetworkUuid) .contentType(MediaType.APPLICATION_JSON) .content(createLoadAttributes) @@ -1816,7 +1708,7 @@ private void testDuplicateStudy(final MockWebServer mockWebServer, UUID study1Uu checkEquipmentUpdatingFinishedMessagesReceived(study1Uuid, node2.getId()); checkElementUpdatedMessageSent(study1Uuid, userId); modificationBody = Pair.of(createLoadAttributes, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(rootNetworkUuid, node2.getId(), NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); rootNetworkNodeInfoService.updateRootNetworkNode(node2.getId(), studyTestUtils.getOneRootNetworkUuid(study1Uuid), RootNetworkNodeInfo.builder() @@ -1972,7 +1864,7 @@ void testDuplicateStudyWithErrorDuringCaseDuplication(final MockWebServer mockWe } private StudyEntity duplicateStudy(final MockWebServer server, UUID studyUuid, String userId) throws Exception { - UUID stubUuid = wireMockUtils.stubDuplicateModificationGroup(mapper.writeValueAsString(Map.of())); + UUID stubUuid = wireMockStubs.stubDuplicateModificationGroup(mapper.writeValueAsString(Map.of())); String response = mockMvc.perform(post(STUDIES_URL + "?duplicateFrom={studyUuid}", studyUuid) .header(USER_ID_HEADER, userId)) .andExpect(status().isOk()).andReturn().getResponse().getContentAsString(); @@ -2013,7 +1905,7 @@ private StudyEntity duplicateStudy(final MockWebServer server, UUID studyUuid, S assertNull(((NetworkModificationNode) duplicatedModificationNode.getChildren().get(1)).getPccMinResultUuid()); //Check requests to duplicate modification groups has been emitted (3 nodes) - wireMockUtils.verifyDuplicateModificationGroup(stubUuid, 3); + wireMockStubs.verifyDuplicateModificationGroup(stubUuid, 3); Set requests; int numberOfRequests = 4; @@ -2129,7 +2021,7 @@ void testCutAndPasteNode(final MockWebServer mockWebServer) throws Exception { // add modification on node "node1" String createTwoWindingsTransformerAttributes = "{\"type\":\"" + ModificationType.TWO_WINDINGS_TRANSFORMER_CREATION + "\",\"equipmentId\":\"2wtId\",\"equipmentName\":\"2wtName\",\"seriesResistance\":\"10\",\"seriesReactance\":\"10\",\"magnetizingConductance\":\"100\",\"magnetizingSusceptance\":\"100\",\"ratedVoltage1\":\"480\",\"ratedVoltage2\":\"380\",\"voltageLevelId1\":\"CHOO5P6\",\"busOrBusbarSectionId1\":\"CHOO5P6_1\",\"voltageLevelId2\":\"CHOO5P6\",\"busOrBusbarSectionId2\":\"CHOO5P6_1\"}"; - UUID stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); + UUID stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); mockMvc.perform(post(URI_NETWORK_MODIF, study1Uuid, node1.getId(), firstRootNetworkUuid) .content(createTwoWindingsTransformerAttributes).contentType(MediaType.APPLICATION_JSON) .header(USER_ID_HEADER, userId)) @@ -2139,11 +2031,11 @@ void testCutAndPasteNode(final MockWebServer mockWebServer) throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(study1Uuid, node1.getId()); checkElementUpdatedMessageSent(study1Uuid, userId); Pair> modificationBody = Pair.of(createTwoWindingsTransformerAttributes, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, node1.getId(), NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); // add modification on node "node2" String createLoadAttributes = "{\"type\":\"" + ModificationType.LOAD_CREATION + "\",\"loadId\":\"loadId1\",\"loadName\":\"loadName1\",\"loadType\":\"UNDEFINED\",\"activePower\":\"100.0\",\"reactivePower\":\"50.0\",\"voltageLevelId\":\"idVL1\",\"busId\":\"idBus1\"}"; - stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); + stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); mockMvc.perform(post(URI_NETWORK_MODIF, study1Uuid, node2.getId(), firstRootNetworkUuid) .contentType(MediaType.APPLICATION_JSON) .content(createLoadAttributes) @@ -2154,7 +2046,7 @@ void testCutAndPasteNode(final MockWebServer mockWebServer) throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(study1Uuid, node2.getId()); checkElementUpdatedMessageSent(study1Uuid, userId); modificationBody = Pair.of(createLoadAttributes, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, node2.getId(), NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); rootNetworkNodeInfoService.updateRootNetworkNode(node2.getId(), studyTestUtils.getOneRootNetworkUuid(study1Uuid), RootNetworkNodeInfo.builder() @@ -2272,7 +2164,7 @@ void testCutAndPasteNodeAroundItself(final MockWebServer mockWebServer) throws E UUID modificationNodeUuid = rootNode.getChildren().get(0).getId(); NetworkModificationNode node1 = createNetworkModificationNode(study1Uuid, modificationNodeUuid, VARIANT_ID, "node1", userId); - UUID stubGetCountUuid = wireMockUtils.stubNetworkModificationCountGet(node1.getModificationGroupUuid().toString(), 0); + UUID stubGetCountUuid = wireMockStubs.stubNetworkModificationCountGet(node1.getModificationGroupUuid().toString(), 0); //try to cut and paste a node before itself and expect forbidden mockMvc.perform(post(STUDIES_URL + @@ -2280,7 +2172,7 @@ void testCutAndPasteNodeAroundItself(final MockWebServer mockWebServer) throws E study1Uuid, node1.getId(), node1.getId(), InsertMode.BEFORE) .header(USER_ID_HEADER, "userId")) .andExpect(status().isForbidden()); - wireMockUtils.verifyNetworkModificationCountsGet(stubGetCountUuid, node1.getModificationGroupUuid().toString()); + wireMockStubs.verifyNetworkModificationCountsGet(stubGetCountUuid, node1.getModificationGroupUuid().toString()); //try to cut and paste a node after itself and expect forbidden mockMvc.perform(post(STUDIES_URL + @@ -2288,7 +2180,7 @@ void testCutAndPasteNodeAroundItself(final MockWebServer mockWebServer) throws E study1Uuid, node1.getId(), node1.getId(), InsertMode.AFTER) .header(USER_ID_HEADER, "userId")) .andExpect(status().isForbidden()); - wireMockUtils.verifyNetworkModificationCountsGet(stubGetCountUuid, node1.getModificationGroupUuid().toString()); + wireMockStubs.verifyNetworkModificationCountsGet(stubGetCountUuid, node1.getModificationGroupUuid().toString()); //try to cut and paste a node in a new branch after itself and expect forbidden mockMvc.perform(post(STUDIES_URL + @@ -2296,7 +2188,7 @@ void testCutAndPasteNodeAroundItself(final MockWebServer mockWebServer) throws E study1Uuid, node1.getId(), node1.getId(), InsertMode.CHILD) .header(USER_ID_HEADER, "userId")) .andExpect(status().isForbidden()); - wireMockUtils.verifyNetworkModificationCountsGet(stubGetCountUuid, node1.getModificationGroupUuid().toString()); + wireMockStubs.verifyNetworkModificationCountsGet(stubGetCountUuid, node1.getModificationGroupUuid().toString()); } @Test @@ -2391,13 +2283,13 @@ void testCutAndPasteSubtree(final MockWebServer server) throws Exception { .header(USER_ID_HEADER, userId)) .andExpect(status().isForbidden()); - UUID deleteModificationIndexStub = wireMockUtils.stubNetworkModificationDeleteIndex(); + UUID deleteModificationIndexStub = wireMockStubs.stubNetworkModificationDeleteIndex(); mockMvc.perform(post(STUDIES_URL + "/{studyUuid}/tree/subtrees?subtreeToCutParentNodeUuid={nodeUuid}&referenceNodeUuid={referenceNodeUuid}", study1Uuid, emptyNode.getId(), node1.getId()) .header(USER_ID_HEADER, userId)) .andExpect(status().isOk()); - wireMockUtils.verifyNetworkModificationDeleteIndex(deleteModificationIndexStub); + wireMockStubs.verifyNetworkModificationDeleteIndex(deleteModificationIndexStub); checkNodeBuildStatusUpdatedMessageReceived(study1Uuid, List.of(emptyNode.getId(), emptyNodeChild.getId())); checkComputationStatusMessageReceived(); @@ -2460,7 +2352,7 @@ void testDuplicateNode(final MockWebServer mockWebServer) throws Exception { // add modification on node "node1" String createTwoWindingsTransformerAttributes = "{\"type\":\"" + ModificationType.TWO_WINDINGS_TRANSFORMER_CREATION + "\",\"equipmentId\":\"2wtId\",\"equipmentName\":\"2wtName\",\"seriesResistance\":\"10\",\"seriesReactance\":\"10\",\"magnetizingConductance\":\"100\",\"magnetizingSusceptance\":\"100\",\"ratedVoltage1\":\"480\",\"ratedVoltage2\":\"380\",\"voltageLevelId1\":\"CHOO5P6\",\"busOrBusbarSectionId1\":\"CHOO5P6_1\",\"voltageLevelId2\":\"CHOO5P6\",\"busOrBusbarSectionId2\":\"CHOO5P6_1\"}"; - UUID stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); + UUID stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); mockMvc.perform(post(URI_NETWORK_MODIF, study1Uuid, node1.getId(), firstRootNetworkUuid) .contentType(MediaType.APPLICATION_JSON) .content(createTwoWindingsTransformerAttributes) @@ -2471,11 +2363,11 @@ void testDuplicateNode(final MockWebServer mockWebServer) throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(study1Uuid, node1.getId()); checkElementUpdatedMessageSent(study1Uuid, userId); Pair> modificationBody = Pair.of(createTwoWindingsTransformerAttributes, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, node1.getId(), NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); // add modification on node "node2" String createLoadAttributes = "{\"type\":\"" + ModificationType.LOAD_CREATION + "\",\"loadId\":\"loadId1\",\"loadName\":\"loadName1\",\"loadType\":\"UNDEFINED\",\"activePower\":\"100.0\",\"reactivePower\":\"50.0\",\"voltageLevelId\":\"idVL1\",\"busId\":\"idBus1\"}"; - stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); + stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); mockMvc.perform(post(URI_NETWORK_MODIF, study1Uuid, node2.getId(), firstRootNetworkUuid) .contentType(MediaType.APPLICATION_JSON) .content(createLoadAttributes) @@ -2486,7 +2378,7 @@ void testDuplicateNode(final MockWebServer mockWebServer) throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(study1Uuid, node2.getId()); checkElementUpdatedMessageSent(study1Uuid, userId); modificationBody = Pair.of(createLoadAttributes, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, node2.getId(), NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); rootNetworkNodeInfoService.updateRootNetworkNode(node2.getId(), studyTestUtils.getOneRootNetworkUuid(study1Uuid), RootNetworkNodeInfo.builder() @@ -2585,8 +2477,8 @@ void testDuplicateSubtree(final MockWebServer server) throws Exception { // add modification on node "node1" (not built) -> invalidation of node 3 String createTwoWindingsTransformerAttributes = "{\"type\":\"" + ModificationType.TWO_WINDINGS_TRANSFORMER_CREATION + "\",\"equipmentId\":\"2wtId\",\"equipmentName\":\"2wtName\",\"seriesResistance\":\"10\",\"seriesReactance\":\"10\",\"magnetizingConductance\":\"100\",\"magnetizingSusceptance\":\"100\",\"ratedVoltage1\":\"480\",\"ratedVoltage2\":\"380\",\"voltageLevelId1\":\"CHOO5P6\",\"busOrBusbarSectionId1\":\"CHOO5P6_1\",\"voltageLevelId2\":\"CHOO5P6\",\"busOrBusbarSectionId2\":\"CHOO5P6_1\"}"; - UUID deleteModificationIndexStub = wireMockUtils.stubNetworkModificationDeleteIndex(); - UUID stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); + UUID deleteModificationIndexStub = wireMockStubs.stubNetworkModificationDeleteIndex(); + UUID stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); mockMvc.perform(post(URI_NETWORK_MODIF, study1Uuid, node1.getId(), firstRootNetworkUuid) .contentType(MediaType.APPLICATION_JSON) .content(createTwoWindingsTransformerAttributes) @@ -2599,8 +2491,8 @@ void testDuplicateSubtree(final MockWebServer server) throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(study1Uuid, node1.getId()); checkElementUpdatedMessageSent(study1Uuid, userId); Pair> modificationBody = Pair.of(createTwoWindingsTransformerAttributes, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, node1.getId(), NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); - wireMockUtils.verifyNetworkModificationDeleteIndex(deleteModificationIndexStub); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationDeleteIndex(deleteModificationIndexStub); // Invalidation node 3 assertEquals(BuildStatus.NOT_BUILT, networkModificationTreeService.getNodeBuildStatus(node3.getId(), firstRootNetworkUuid).getGlobalBuildStatus()); @@ -2609,7 +2501,7 @@ void testDuplicateSubtree(final MockWebServer server) throws Exception { // add modification on node "node2" String createLoadAttributes = "{\"type\":\"" + ModificationType.LOAD_CREATION + "\",\"loadId\":\"loadId1\",\"loadName\":\"loadName1\",\"loadType\":\"UNDEFINED\",\"activePower\":\"100.0\",\"reactivePower\":\"50.0\",\"voltageLevelId\":\"idVL1\",\"busId\":\"idBus1\"}"; - stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); + stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); mockMvc.perform(post(URI_NETWORK_MODIF, study1Uuid, node2.getId(), firstRootNetworkUuid) .contentType(MediaType.APPLICATION_JSON) .content(createLoadAttributes) @@ -2620,7 +2512,7 @@ void testDuplicateSubtree(final MockWebServer server) throws Exception { checkEquipmentUpdatingFinishedMessagesReceived(study1Uuid, node2.getId()); checkElementUpdatedMessageSent(study1Uuid, userId); modificationBody = Pair.of(createLoadAttributes, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, node2.getId(), NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); rootNetworkNodeInfoService.updateRootNetworkNode(node2.getId(), firstRootNetworkUuid, RootNetworkNodeInfo.builder() @@ -2638,7 +2530,7 @@ void testDuplicateSubtree(final MockWebServer server) throws Exception { // duplicate the node1 after node4 List allNodesBeforeDuplication = networkModificationTreeService.getAllNodes(study1Uuid).stream().map(NodeEntity::getIdNode).collect(Collectors.toList()); - UUID stubDuplicateUuid = wireMockUtils.stubDuplicateModificationGroup(mapper.writeValueAsString(Map.of())); + UUID stubDuplicateUuid = wireMockStubs.stubDuplicateModificationGroup(mapper.writeValueAsString(Map.of())); mockMvc.perform(post(STUDIES_URL + "/{study1Uuid}/tree/subtrees?subtreeToCopyParentNodeUuid={parentNodeToCopy}&referenceNodeUuid={referenceNodeUuid}&sourceStudyUuid={sourceStudyUuid}", @@ -2652,7 +2544,7 @@ void testDuplicateSubtree(final MockWebServer server) throws Exception { checkSubtreeCreatedMessageSent(study1Uuid, nodesAfterDuplication.get(0), node4.getId()); checkElementUpdatedMessageSent(study1Uuid, userId); - wireMockUtils.verifyDuplicateModificationGroup(stubDuplicateUuid, 3); + wireMockStubs.verifyDuplicateModificationGroup(stubDuplicateUuid, 3); /*tree state root @@ -2728,7 +2620,7 @@ void testDuplicateNodeBetweenStudies(final MockWebServer mockWebServer) throws E NetworkModificationNode study2Node2 = createNetworkModificationNode(study2Uuid, study2ModificationNodeUuid, VARIANT_ID_2, "node2", userId); // add modification on study 1 node "node1" - UUID stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); + UUID stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); String createTwoWindingsTransformerAttributes = "{\"type\":\"" + ModificationType.TWO_WINDINGS_TRANSFORMER_CREATION + "\",\"equipmentId\":\"2wtId\",\"equipmentName\":\"2wtName\",\"seriesResistance\":\"10\",\"seriesReactance\":\"10\",\"magnetizingConductance\":\"100\",\"magnetizingSusceptance\":\"100\",\"ratedVoltage1\":\"480\",\"ratedVoltage2\":\"380\",\"voltageLevelId1\":\"CHOO5P6\",\"busOrBusbarSectionId1\":\"CHOO5P6_1\",\"voltageLevelId2\":\"CHOO5P6\",\"busOrBusbarSectionId2\":\"CHOO5P6_1\"}"; mockMvc.perform(post(URI_NETWORK_MODIF, study1Uuid, node1.getId(), firstRootNetworkUuid) .contentType(MediaType.APPLICATION_JSON) @@ -2740,10 +2632,10 @@ void testDuplicateNodeBetweenStudies(final MockWebServer mockWebServer) throws E checkEquipmentUpdatingFinishedMessagesReceived(study1Uuid, node1.getId()); checkElementUpdatedMessageSent(study1Uuid, userId); Pair> modificationBody = Pair.of(createTwoWindingsTransformerAttributes, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, node1.getId(), NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); // add modification on node "node2" - stubPostId = wireMockUtils.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); + stubPostId = wireMockStubs.stubNetworkModificationPost(mapper.writeValueAsString(new NetworkModificationsResult(List.of(UUID.randomUUID()), List.of(Optional.empty())))); String createLoadAttributes = "{\"type\":\"" + ModificationType.LOAD_CREATION + "\",\"loadId\":\"loadId1\",\"loadName\":\"loadName1\",\"loadType\":\"UNDEFINED\",\"activePower\":\"100.0\",\"reactivePower\":\"50.0\",\"voltageLevelId\":\"idVL1\",\"busId\":\"idBus1\"}"; mockMvc.perform(post(URI_NETWORK_MODIF, study1Uuid, node2.getId(), firstRootNetworkUuid) .contentType(MediaType.APPLICATION_JSON) @@ -2755,7 +2647,7 @@ void testDuplicateNodeBetweenStudies(final MockWebServer mockWebServer) throws E checkEquipmentUpdatingFinishedMessagesReceived(study1Uuid, node2.getId()); checkElementUpdatedMessageSent(study1Uuid, userId); modificationBody = Pair.of(createLoadAttributes, List.of(rootNetworkNodeInfoService.getNetworkModificationApplicationContext(firstRootNetworkUuid, node2.getId(), NETWORK_UUID))); - wireMockUtils.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); + wireMockStubs.verifyNetworkModificationPostWithVariant(stubPostId, getModificationContextJsonString(mapper, modificationBody)); //study 2 node2 should not have any child List allNodes = networkModificationTreeService.getAllNodes(study2Uuid); @@ -2774,10 +2666,10 @@ void testDuplicateNodeBetweenStudies(final MockWebServer mockWebServer) throws E } private void cutAndPasteNode(UUID studyUuid, NetworkModificationNode nodeToCopy, UUID referenceNodeUuid, InsertMode insertMode, int childCount, String userId) throws Exception { - UUID stubUuid = wireMockUtils.stubNetworkModificationCountGet(nodeToCopy.getModificationGroupUuid().toString(), + UUID stubUuid = wireMockStubs.stubNetworkModificationCountGet(nodeToCopy.getModificationGroupUuid().toString(), EMPTY_MODIFICATION_GROUP_UUID.equals(nodeToCopy.getModificationGroupUuid()) ? 0 : 1); boolean wasBuilt = rootNetworkNodeInfoService.getRootNetworkNodeInfo(nodeToCopy.getId(), studyTestUtils.getOneRootNetworkUuid(studyUuid)).get().getNodeBuildStatus().toDto().isBuilt(); - UUID deleteModificationIndexStub = wireMockUtils.stubNetworkModificationDeleteIndex(); + UUID deleteModificationIndexStub = wireMockStubs.stubNetworkModificationDeleteIndex(); output.receive(TIMEOUT, studyUpdateDestination); mockMvc.perform(post(STUDIES_URL + "/{studyUuid}/tree/nodes?nodeToCutUuid={nodeUuid}&referenceNodeUuid={referenceNodeUuid}&insertMode={insertMode}", @@ -2785,11 +2677,11 @@ private void cutAndPasteNode(UUID studyUuid, NetworkModificationNode nodeToCopy, .header(USER_ID_HEADER, userId)) .andExpect(status().isOk()); checkElementUpdatedMessageSent(studyUuid, userId); - wireMockUtils.verifyNetworkModificationCountsGet(stubUuid, nodeToCopy.getModificationGroupUuid().toString()); + wireMockStubs.verifyNetworkModificationCountsGet(stubUuid, nodeToCopy.getModificationGroupUuid().toString()); boolean nodeHasModifications = networkModificationTreeService.hasModifications(nodeToCopy.getId(), false); - wireMockUtils.verifyNetworkModificationCountsGet(stubUuid, nodeToCopy.getModificationGroupUuid().toString()); + wireMockStubs.verifyNetworkModificationCountsGet(stubUuid, nodeToCopy.getModificationGroupUuid().toString()); /* * moving node @@ -2864,15 +2756,15 @@ private void cutAndPasteNode(UUID studyUuid, NetworkModificationNode nodeToCopy, }); if (wasBuilt) { - wireMockUtils.verifyNetworkModificationDeleteIndex(deleteModificationIndexStub, 1 + childCount); + wireMockStubs.verifyNetworkModificationDeleteIndex(deleteModificationIndexStub, 1 + childCount); } } private UUID duplicateNode(UUID sourceStudyUuid, UUID targetStudyUuid, NetworkModificationNode nodeToCopy, UUID referenceNodeUuid, InsertMode insertMode, boolean checkMessagesForStatusModels, String userId) throws Exception { List allNodesBeforeDuplication = networkModificationTreeService.getAllNodes(targetStudyUuid).stream().map(NodeEntity::getIdNode).collect(Collectors.toList()); - UUID stubGetCountUuid = wireMockUtils.stubNetworkModificationCountGet(nodeToCopy.getModificationGroupUuid().toString(), + UUID stubGetCountUuid = wireMockStubs.stubNetworkModificationCountGet(nodeToCopy.getModificationGroupUuid().toString(), EMPTY_MODIFICATION_GROUP_UUID.equals(nodeToCopy.getModificationGroupUuid()) ? 0 : 1); - UUID stubDuplicateUuid = wireMockUtils.stubDuplicateModificationGroup(mapper.writeValueAsString(Map.of())); + UUID stubDuplicateUuid = wireMockStubs.stubDuplicateModificationGroup(mapper.writeValueAsString(Map.of())); if (sourceStudyUuid.equals(targetStudyUuid)) { //if source and target are the same no need to pass sourceStudy param mockMvc.perform(post(STUDIES_URL + @@ -2899,8 +2791,8 @@ private UUID duplicateNode(UUID sourceStudyUuid, UUID targetStudyUuid, NetworkMo } checkElementUpdatedMessageSent(targetStudyUuid, userId); - wireMockUtils.verifyNetworkModificationCountsGet(stubGetCountUuid, nodeToCopy.getModificationGroupUuid().toString()); - wireMockUtils.verifyDuplicateModificationGroup(stubDuplicateUuid, 1); + wireMockStubs.verifyNetworkModificationCountsGet(stubGetCountUuid, nodeToCopy.getModificationGroupUuid().toString()); + wireMockStubs.verifyDuplicateModificationGroup(stubDuplicateUuid, 1); return nodesAfterDuplication.get(0); } diff --git a/src/test/java/org/gridsuite/study/server/utils/wiremock/CaseApiStubs.java b/src/test/java/org/gridsuite/study/server/utils/wiremock/CaseApiStubs.java new file mode 100644 index 0000000000..9ff02dae32 --- /dev/null +++ b/src/test/java/org/gridsuite/study/server/utils/wiremock/CaseApiStubs.java @@ -0,0 +1,59 @@ +package org.gridsuite.study.server.utils.wiremock; + +import com.github.tomakehurst.wiremock.WireMockServer; +import com.github.tomakehurst.wiremock.client.WireMock; +import com.github.tomakehurst.wiremock.matching.RequestPatternBuilder; +import com.github.tomakehurst.wiremock.matching.StringValuePattern; +import org.springframework.http.HttpHeaders; +import org.springframework.http.MediaType; + +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; + +import static org.gridsuite.study.server.utils.wiremock.WireMockUtils.*; + +public class CaseApiStubs { + private final WireMockServer wireMock; + private static final String CASE_URI = "/v1/cases"; + + public CaseApiStubs(WireMockServer wireMock) { + this.wireMock = wireMock; + } + + public UUID stubCaseExists(String caseUuid, boolean returnedValue) { + return wireMock.stubFor(WireMock.get(WireMock.urlPathEqualTo(CASE_URI + "/" + caseUuid + "/exists")) + .willReturn(WireMock.ok().withBody(returnedValue ? "true" : "false") + .withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE)) + ).getId(); + } + + public void verifyCaseExists(UUID stubUuid, String caseUuid) { + RequestPatternBuilder requestBuilder = WireMock.getRequestedFor(WireMock.urlPathEqualTo(CASE_URI + "/" + caseUuid + "/exists")); + wireMock.verify(1, requestBuilder); + removeRequestForStub(wireMock, stubUuid, 1); + } + + public UUID stubDisableCaseExpiration(String caseUuid) { + return wireMock.stubFor(WireMock.put(WireMock.urlPathEqualTo(CASE_URI + "/" + caseUuid + "/disableExpiration")) + .willReturn(WireMock.ok())).getId(); + } + + public void verifyDisableCaseExpiration(UUID stubUuid, String caseUuid) { + verifyPutRequest(wireMock, stubUuid, CASE_URI + "/" + caseUuid + "/disableExpiration", false, Map.of(), null); + } + + public UUID stubDuplicateCase(String caseUuid) { + return wireMock.stubFor(WireMock.post(WireMock.urlPathEqualTo(CASE_URI)) + .withQueryParam("withExpiration", WireMock.matching(".*")) + .withQueryParam("duplicateFrom", WireMock.equalTo(caseUuid)) + .willReturn(WireMock.ok())).getId(); + } + + public void verifyDuplicateCase(UUID stubUuid, String caseUuid) { + HashMap params = new HashMap<>(); + params.put("withExpiration", WireMock.matching(".*")); + params.put("duplicateFrom", WireMock.equalTo(caseUuid)); + verifyPostRequest(wireMock, stubUuid, CASE_URI, params); + } +} diff --git a/src/test/java/org/gridsuite/study/server/utils/wiremock/NetworkConversionApiStubs.java b/src/test/java/org/gridsuite/study/server/utils/wiremock/NetworkConversionApiStubs.java new file mode 100644 index 0000000000..2360e87aa3 --- /dev/null +++ b/src/test/java/org/gridsuite/study/server/utils/wiremock/NetworkConversionApiStubs.java @@ -0,0 +1,86 @@ +package org.gridsuite.study.server.utils.wiremock; + +import com.github.tomakehurst.wiremock.WireMockServer; +import com.github.tomakehurst.wiremock.client.MappingBuilder; +import com.github.tomakehurst.wiremock.client.WireMock; +import com.github.tomakehurst.wiremock.extension.Parameters; +import com.github.tomakehurst.wiremock.matching.StringValuePattern; + +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; +import java.util.concurrent.CountDownLatch; + +import static com.github.tomakehurst.wiremock.client.WireMock.equalTo; +import static org.gridsuite.study.server.StudyConstants.*; +import static org.gridsuite.study.server.utils.SendInput.POST_ACTION_SEND_INPUT; +import static org.gridsuite.study.server.utils.wiremock.WireMockUtils.verifyPostRequest; + +public class NetworkConversionApiStubs { + + public static final String URI_NETWORK = "/v1/networks"; + WireMockServer wireMock; + + public NetworkConversionApiStubs(WireMockServer wireMock) { + this.wireMock = wireMock; + } + + public void verifyImportNetwork(UUID stubUuid, String caseUuid, String variantId, String importParametersAsJson) { + HashMap params = new HashMap<>(); + params.put("caseUuid", equalTo(caseUuid)); + params.put("receiver", WireMock.matching(".*")); + + if (variantId != null) { + params.put("variantId", equalTo(variantId)); + } + + verifyPostRequest(wireMock, stubUuid, URI_NETWORK, false, + params, + importParametersAsJson + ); + } + + public void verifyImportNetwork(UUID stubUuid, String caseUuid, String variantId) { + verifyImportNetwork(stubUuid, caseUuid, variantId, null); + } + + public UUID stubImportNetworkWithPostAction(String caseUuid, Map importParameters, String networkUuid, String networkId, String variantId, String caseFormat, String caseName, CountDownLatch countDownLatch) { + MappingBuilder mappingBuilder = WireMock.post(WireMock.urlPathEqualTo(URI_NETWORK)) + .withQueryParam("caseUuid", equalTo(caseUuid)) + .withQueryParam("receiver", WireMock.matching(".*")); + if (variantId != null) { + mappingBuilder = mappingBuilder.withQueryParam("variantId", equalTo(variantId)); + } + mappingBuilder = mappingBuilder.withPostServeAction(POST_ACTION_SEND_INPUT, + Parameters.from( + Map.of( + "payload", "", + "destination", "case.import.succeeded", + "networkUuid", networkUuid, + "networkId", networkId, + "caseFormat", caseFormat, + "caseName", caseName, + "importParameters", importParameters, + "latch", countDownLatch + ) + ) + ) + .willReturn(WireMock.ok()); + + return wireMock.stubFor(mappingBuilder).getId(); + } + + public UUID stubImportNetwork(String caseUuid, String importParametersAsJson, String variantId, String caseFormat) { + MappingBuilder mappingBuilder = WireMock.post(WireMock.urlPathEqualTo(URI_NETWORK)) + .withQueryParam(CASE_UUID, WireMock.matching(caseUuid)) + .withQueryParam(QUERY_PARAM_VARIANT_ID, WireMock.matching(variantId)) + .withQueryParam(CASE_FORMAT, WireMock.matching(caseFormat)); + + if (importParametersAsJson != null) { + mappingBuilder = mappingBuilder.withRequestBody(equalTo(importParametersAsJson)) + .willReturn(WireMock.ok()); + } + + return wireMock.stubFor(mappingBuilder).getId(); + } +} diff --git a/src/test/java/org/gridsuite/study/server/utils/WireMockUtils.java b/src/test/java/org/gridsuite/study/server/utils/wiremock/WireMockStubs.java similarity index 69% rename from src/test/java/org/gridsuite/study/server/utils/WireMockUtils.java rename to src/test/java/org/gridsuite/study/server/utils/wiremock/WireMockStubs.java index dbad37175f..29ec0f9182 100644 --- a/src/test/java/org/gridsuite/study/server/utils/WireMockUtils.java +++ b/src/test/java/org/gridsuite/study/server/utils/wiremock/WireMockStubs.java @@ -4,16 +4,13 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -package org.gridsuite.study.server.utils; +package org.gridsuite.study.server.utils.wiremock; import com.github.tomakehurst.wiremock.WireMockServer; -import com.github.tomakehurst.wiremock.admin.model.ServeEventQuery; import com.github.tomakehurst.wiremock.client.MappingBuilder; import com.github.tomakehurst.wiremock.client.WireMock; -import com.github.tomakehurst.wiremock.extension.Parameters; import com.github.tomakehurst.wiremock.matching.RequestPatternBuilder; import com.github.tomakehurst.wiremock.matching.StringValuePattern; -import com.github.tomakehurst.wiremock.stubbing.ServeEvent; import com.powsybl.iidm.network.TwoSides; import org.gridsuite.filter.utils.EquipmentType; import org.springframework.http.HttpHeaders; @@ -23,16 +20,14 @@ import java.util.List; import java.util.Map; import java.util.UUID; -import java.util.concurrent.CountDownLatch; import static org.gridsuite.study.server.StudyConstants.*; -import static org.gridsuite.study.server.utils.SendInput.POST_ACTION_SEND_INPUT; -import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.gridsuite.study.server.utils.wiremock.WireMockUtils.*; /** * @author Slimane Amar */ -public class WireMockUtils { +public class WireMockStubs { private static final String DELIMITER = "/"; public static final String URI_NETWORK_DATA = "/v1/networks"; @@ -45,17 +40,13 @@ public class WireMockUtils { public static final String FIRST_VARIANT_ID = "first_variant_id"; private final WireMockServer wireMock; + public final CaseApiStubs caseApi; + public final NetworkConversionApiStubs networkConversionApi; - public WireMockUtils(WireMockServer wireMock) { + public WireMockStubs(WireMockServer wireMock) { this.wireMock = wireMock; - } - - public UUID stubAllNetworkElementInfosGet(String networkUuid, String infoType, String responseBody) { - return wireMock.stubFor(WireMock.get(WireMock.urlPathEqualTo(URI_NETWORK_DATA + DELIMITER + networkUuid + DELIMITER + "all")) - .withQueryParam(QUERY_PARAM_VARIANT_ID, WireMock.equalTo(FIRST_VARIANT_ID)) - .withQueryParam(QUERY_PARAM_INFO_TYPE, WireMock.equalTo(infoType)) - .willReturn(WireMock.ok().withBody(responseBody)) - ).getId(); + this.caseApi = new CaseApiStubs(wireMock); + this.networkConversionApi = new NetworkConversionApiStubs(wireMock); } public UUID stubNetworkElementInfosGet(String networkUuid, String elementType, String infoType, String elementId, String responseBody) { @@ -83,7 +74,7 @@ public UUID stubNetworkElementInfosGetWithError(String networkUuid, String eleme } public void verifyNetworkElementInfosGet(UUID stubUuid, String networkUuid, String elementType, String infoType, String elementId) { - verifyGetRequest(stubUuid, URI_NETWORK_DATA + DELIMITER + networkUuid + DELIMITER + "elements" + DELIMITER + elementId, + verifyGetRequest(wireMock, stubUuid, URI_NETWORK_DATA + DELIMITER + networkUuid + DELIMITER + "elements" + DELIMITER + elementId, Map.of(QUERY_PARAM_ELEMENT_TYPE, WireMock.equalTo(elementType), QUERY_PARAM_INFO_TYPE, WireMock.equalTo(infoType))); } @@ -104,7 +95,7 @@ public UUID stubNetworkElementsInfosPost(String networkUuid, String infoType, St } public void verifyNetworkElementsInfosPost(UUID stubUuid, String networkUuid, String infoType, String elementType, String requestBody) { - verifyPostRequest(stubUuid, URI_NETWORK_DATA + DELIMITER + networkUuid + DELIMITER + "elements", false, + verifyPostRequest(wireMock, stubUuid, URI_NETWORK_DATA + DELIMITER + networkUuid + DELIMITER + "elements", false, Map.of( QUERY_PARAM_INFO_TYPE, WireMock.equalTo(infoType), QUERY_PARAM_ELEMENT_TYPE, WireMock.equalTo(elementType) @@ -120,31 +111,11 @@ public UUID stubNetworkElementsIdsPost(String networkUuid, String responseBody) } public void verifyNetworkElementsIdsPost(UUID stubUuid, String networkUuid, String requestBody) { - verifyPostRequest(stubUuid, URI_NETWORK_DATA + DELIMITER + networkUuid + DELIMITER + "elements-ids", false, + verifyPostRequest(wireMock, stubUuid, URI_NETWORK_DATA + DELIMITER + networkUuid + DELIMITER + "elements-ids", false, Map.of(), requestBody); } - public UUID stubNetworkEquipmentsInfosGet(String networkUuid, String equipmentPath, String responseBody) { - return wireMock.stubFor(WireMock.get(WireMock.urlPathEqualTo(URI_NETWORK_DATA + DELIMITER + networkUuid + DELIMITER + equipmentPath)) - .willReturn(WireMock.ok().withBody(responseBody)) - ).getId(); - } - - public void verifyNetworkEquipmentsInfosGet(UUID stubUuid, String networkUuid, String equipmentPath) { - verifyGetRequest(stubUuid, URI_NETWORK_DATA + DELIMITER + networkUuid + DELIMITER + equipmentPath, Map.of()); - } - - public UUID stubNetworkEquipmentInfosGet(String networkUuid, String infoTypePath, String equipmentId, String responseBody) { - return wireMock.stubFor(WireMock.get(WireMock.urlPathEqualTo(URI_NETWORK_DATA + DELIMITER + networkUuid + DELIMITER + infoTypePath + DELIMITER + equipmentId)) - .willReturn(WireMock.ok().withBody(responseBody)) - ).getId(); - } - - public void verifyNetworkEquipmentInfosGet(UUID stubUuid, String networkUuid, String infoTypePath, String equipmentId) { - verifyGetRequest(stubUuid, URI_NETWORK_DATA + DELIMITER + networkUuid + DELIMITER + infoTypePath + DELIMITER + equipmentId, Map.of()); - } - public UUID stubNetworkModificationCountGet(String groupUuid, Integer expectedCount) { return wireMock.stubFor(WireMock.get(WireMock.urlPathMatching(URI_NETWORK_MODIFICATION_GROUPS + DELIMITER + groupUuid + "/network-modifications-count")) .withQueryParam(QUERY_PARAM_STASHED, WireMock.equalTo("false")) @@ -221,35 +192,31 @@ public UUID stubNetworkModificationDeleteIndex() { } public void verifyNetworkModificationCountsGet(UUID stubId, String groupUuid) { - verifyGetRequest(stubId, URI_NETWORK_MODIFICATION_GROUPS + DELIMITER + groupUuid + "/network-modifications-count", Map.of(QUERY_PARAM_STASHED, WireMock.equalTo("false"))); + verifyGetRequest(wireMock, stubId, URI_NETWORK_MODIFICATION_GROUPS + DELIMITER + groupUuid + "/network-modifications-count", Map.of(QUERY_PARAM_STASHED, WireMock.equalTo("false"))); } public void verifyNetworkModificationPost(UUID stubId, String requestBody) { - verifyPostRequest(stubId, URI_NETWORK_MODIFICATION, false, + verifyPostRequest(wireMock, stubId, URI_NETWORK_MODIFICATION, false, Map.of("groupUuid", WireMock.matching(".*")), requestBody); } public void verifyNetworkModificationPostWithVariant(UUID stubId, String requestBody) { - verifyPostRequest(stubId, URI_NETWORK_MODIFICATION, false, + verifyPostRequest(wireMock, stubId, URI_NETWORK_MODIFICATION, false, Map.of(), requestBody); } public void verifyNetworkModificationPut(UUID stubId, String modificationUuid, String requestBody) { - verifyPutRequest(stubId, URI_NETWORK_MODIFICATION + DELIMITER + modificationUuid, false, Map.of(), requestBody); + verifyPutRequest(wireMock, stubId, URI_NETWORK_MODIFICATION + DELIMITER + modificationUuid, false, Map.of(), requestBody); } public void verifyDuplicateModificationGroup(UUID stubId, int nbRequests) { - verifyPostRequest(stubId, URI_NETWORK_MODIFICATION_GROUPS, Map.of("duplicateFrom", WireMock.matching(".*"), "groupUuid", WireMock.matching(".*")), nbRequests); - } - - public void verifyPostRequest(UUID stubId, String urlPath, Map queryParams) { - verifyPostRequest(stubId, urlPath, queryParams, 1); + verifyPostRequest(wireMock, stubId, URI_NETWORK_MODIFICATION_GROUPS, Map.of("duplicateFrom", WireMock.matching(".*"), "groupUuid", WireMock.matching(".*")), nbRequests); } public void verifyNetworkModificationDeleteGroup(UUID stubId) { - verifyDeleteRequest(stubId, URI_NETWORK_MODIFICATION_GROUPS + DELIMITER + ".*", true, Map.of()); + verifyDeleteRequest(wireMock, stubId, URI_NETWORK_MODIFICATION_GROUPS + DELIMITER + ".*", true, Map.of()); } public void verifyNetworkModificationDeleteIndex(UUID stubId) { @@ -257,62 +224,7 @@ public void verifyNetworkModificationDeleteIndex(UUID stubId) { } public void verifyNetworkModificationDeleteIndex(UUID stubId, int nbRequests) { - verifyDeleteRequest(stubId, URI_NETWORK_MODIFICATION + DELIMITER + "index.*", true, Map.of(), nbRequests); - } - - public void verifyPostRequest(UUID stubId, String urlPath, Map queryParams, int nbRequests) { - verifyPostRequest(stubId, urlPath, false, queryParams, null, nbRequests); - } - - public void verifyPostRequest(UUID stubId, String urlPath, boolean regexMatching, Map queryParams, String body) { - verifyPostRequest(stubId, urlPath, regexMatching, queryParams, body, 1); - } - - public void verifyPostRequest(UUID stubId, String urlPath, boolean regexMatching, Map queryParams, String body, int nbRequests) { - RequestPatternBuilder requestBuilder = regexMatching ? WireMock.postRequestedFor(WireMock.urlPathMatching(urlPath)) : WireMock.postRequestedFor(WireMock.urlPathEqualTo(urlPath)); - verifyRequest(stubId, requestBuilder, queryParams, body, nbRequests); - } - - public void verifyPutRequestWithUrlMatching(UUID stubId, String urlPath, Map queryParams, String body) { - verifyPutRequest(stubId, urlPath, true, queryParams, body); - } - - public void verifyPutRequest(UUID stubId, String urlPath, boolean regexMatching, Map queryParams, String body) { - RequestPatternBuilder requestBuilder = regexMatching ? WireMock.putRequestedFor(WireMock.urlPathMatching(urlPath)) : WireMock.putRequestedFor(WireMock.urlPathEqualTo(urlPath)); - verifyRequest(stubId, requestBuilder, queryParams, body, 1); - } - - public void verifyDeleteRequest(UUID stubId, String urlPath, boolean regexMatching, Map queryParams) { - verifyDeleteRequest(stubId, urlPath, regexMatching, queryParams, 1); - } - - public void verifyDeleteRequest(UUID stubId, String urlPath, boolean regexMatching, Map queryParams, int nbRequests) { - RequestPatternBuilder requestBuilder = regexMatching ? WireMock.deleteRequestedFor(WireMock.urlPathMatching(urlPath)) : WireMock.deleteRequestedFor(WireMock.urlPathEqualTo(urlPath)); - verifyRequest(stubId, requestBuilder, queryParams, null, nbRequests); - } - - public void verifyGetRequest(UUID stubId, String urlPath, Map queryParams) { - RequestPatternBuilder requestBuilder = WireMock.getRequestedFor(WireMock.urlPathEqualTo(urlPath)); - queryParams.forEach(requestBuilder::withQueryParam); - wireMock.verify(1, requestBuilder); - removeRequestForStub(stubId, 1); - } - - private void verifyRequest(UUID stubId, RequestPatternBuilder requestBuilder, Map queryParams, String body, int nbRequests) { - queryParams.forEach(requestBuilder::withQueryParam); - if (body != null) { - requestBuilder.withRequestBody(WireMock.equalToJson(body)); - } - wireMock.verify(nbRequests, requestBuilder); - removeRequestForStub(stubId, nbRequests); - } - - private void removeRequestForStub(UUID stubId, int nbRequests) { - List serveEvents = wireMock.getServeEvents(ServeEventQuery.forStubMapping(stubId)).getServeEvents(); - assertEquals(nbRequests, serveEvents.size()); - for (ServeEvent serveEvent : serveEvents) { - wireMock.removeServeEvent(serveEvent.getId()); - } + verifyDeleteRequest(wireMock, stubId, URI_NETWORK_MODIFICATION + DELIMITER + "index.*", true, Map.of(), nbRequests); } public UUID stubBranchOr3WTVoltageLevelIdGet(String networkUuid, String equipmentId, String responseBody) { @@ -338,26 +250,13 @@ public UUID stubHvdcLinesShuntCompensatorsGetError(String networkUuid, String hv public void verifyHvdcLinesShuntCompensatorsGet(UUID stubUuid, String networkUuid, String hvdcId) { RequestPatternBuilder requestBuilder = WireMock.getRequestedFor(WireMock.urlPathEqualTo("/v1/networks/" + networkUuid + "/hvdc-lines/" + hvdcId + "/shunt-compensators")); wireMock.verify(1, requestBuilder); - removeRequestForStub(stubUuid, 1); + removeRequestForStub(wireMock, stubUuid, 1); } public void verifyBranchOr3WTVoltageLevelIdGet(UUID stubUuid, String networkUuid, String equipmentId) { RequestPatternBuilder requestBuilder = WireMock.getRequestedFor(WireMock.urlPathEqualTo("/v1/networks/" + networkUuid + "/branch-or-3wt/" + equipmentId + "/voltage-level-id")); wireMock.verify(1, requestBuilder); - removeRequestForStub(stubUuid, 1); - } - - public UUID stubCaseExists(String caseUuid, boolean returnedValue) { - return wireMock.stubFor(WireMock.get(WireMock.urlPathEqualTo("/v1/cases/" + caseUuid + "/exists")) - .willReturn(WireMock.ok().withBody(returnedValue ? "true" : "false") - .withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE)) - ).getId(); - } - - public void verifyCaseExists(UUID stubUuid, String caseUuid) { - RequestPatternBuilder requestBuilder = WireMock.getRequestedFor(WireMock.urlPathEqualTo("/v1/cases/" + caseUuid + "/exists")); - wireMock.verify(1, requestBuilder); - removeRequestForStub(stubUuid, 1); + removeRequestForStub(wireMock, stubUuid, 1); } public UUID stubRunLoadFlow(UUID networkUuid, boolean withRatioTapChangers, UUID loadFlowResultUuid, String responseBody) { @@ -387,11 +286,11 @@ public void verifyRunLoadflow(UUID stubUuid, UUID networkUuid, boolean withRatio params.put(QUERY_PARAM_RESULT_UUID, WireMock.equalTo(loadFlowResultUuid.toString())); } - verifyPostRequest(stubUuid, "/v1/networks/" + networkUuid + "/run-and-save", params); + verifyPostRequest(wireMock, stubUuid, "/v1/networks/" + networkUuid + "/run-and-save", params); } public void verifyLoadFlowProviderGet(UUID loadFlowProviderStubUuid, UUID loadFlowParametersUuid) { - verifyGetRequest(loadFlowProviderStubUuid, "/v1/parameters/" + loadFlowParametersUuid + "/provider", Map.of()); + verifyGetRequest(wireMock, loadFlowProviderStubUuid, "/v1/parameters/" + loadFlowParametersUuid + "/provider", Map.of()); } public UUID stubDeleteLoadFlowResults(List loadFlowResultUuids) { @@ -405,7 +304,7 @@ public void verifyDeleteLoadFlowResults(UUID stubUuid, List loadFlowResult HashMap params = new HashMap<>(); params.put(QUERY_PARAM_RESULTS_UUIDS, WireMock.equalTo(String.join(",", loadFlowResultUuids.stream().map(UUID::toString).toList()))); - verifyDeleteRequest(stubUuid, "/v1/results", false, params); + verifyDeleteRequest(wireMock, stubUuid, "/v1/results", false, params); } public UUID stubCreateRunningLoadflowStatus(String responseBody) { @@ -415,54 +314,7 @@ public UUID stubCreateRunningLoadflowStatus(String responseBody) { } public void verifyCreateRunningLoadflowStatus(UUID stubUuid) { - verifyPostRequest(stubUuid, "/v1/results/running-status", false, new HashMap<>(), null); - } - - public UUID stubImportNetwork(String caseUuid, Map importParameters, String networkUuid, String networkId, String variantId, String caseFormat, String caseName, CountDownLatch countDownLatch) { - MappingBuilder mappingBuilder = WireMock.post(WireMock.urlPathEqualTo("/v1/networks")) - .withQueryParam("caseUuid", WireMock.equalTo(caseUuid)) - .withQueryParam("receiver", WireMock.matching(".*")); - if (variantId != null) { - mappingBuilder = mappingBuilder.withQueryParam("variantId", WireMock.equalTo(variantId)); - } - mappingBuilder = mappingBuilder.withPostServeAction(POST_ACTION_SEND_INPUT, - Parameters.from( - Map.of( - "payload", "", - "destination", "case.import.succeeded", - "networkUuid", networkUuid, - "networkId", networkId, - "caseFormat", caseFormat, - "caseName", caseName, - "importParameters", importParameters, - "latch", countDownLatch - ) - ) - ) - .willReturn(WireMock.ok()); - - return wireMock.stubFor(mappingBuilder).getId(); - } - - public void verifyImportNetwork(UUID stubUuid, String caseUuid, String variantId) { - HashMap params = new HashMap<>(); - params.put("caseUuid", WireMock.equalTo(caseUuid)); - params.put("receiver", WireMock.matching(".*")); - - if (variantId != null) { - params.put("variantId", WireMock.equalTo(variantId)); - } - - verifyPostRequest(stubUuid, "/v1/networks", params); - } - - public UUID stubDisableCaseExpiration(String caseUuid) { - return wireMock.stubFor(WireMock.put(WireMock.urlPathEqualTo("/v1/cases/" + caseUuid + "/disableExpiration")) - .willReturn(WireMock.ok())).getId(); - } - - public void verifyDisableCaseExpiration(UUID stubUuid, String caseUuid) { - verifyPutRequest(stubUuid, "/v1/cases/" + caseUuid + "/disableExpiration", false, Map.of(), null); + verifyPostRequest(wireMock, stubUuid, "/v1/results/running-status", false, new HashMap<>(), null); } public UUID stubCountriesGet(String networkUuid, String responseBody) { @@ -489,11 +341,11 @@ public UUID stubSendReport() { } public void verifySendReport(UUID stubUuid) { - verifyPutRequest(stubUuid, "/v1/reports/.*", true, Map.of(), null); + verifyPutRequest(wireMock, stubUuid, "/v1/reports/.*", true, Map.of(), null); } public void verifyCountriesGet(UUID stubUuid, String networkUuid) { - verifyGetRequest(stubUuid, "/v1/networks/" + networkUuid + "/countries", Map.of()); + verifyGetRequest(wireMock, stubUuid, "/v1/networks/" + networkUuid + "/countries", Map.of()); } public UUID stubNominalVoltagesGet(String networkUuid, String responseBody) { @@ -515,7 +367,7 @@ public UUID stubNominalVoltagesGetError(String networkUuid) { } public void verifyNominalVoltagesGet(UUID stubUuid, String networkUuid) { - verifyGetRequest(stubUuid, "/v1/networks/" + networkUuid + "/nominal-voltages", Map.of()); + verifyGetRequest(wireMock, stubUuid, "/v1/networks/" + networkUuid + "/nominal-voltages", Map.of()); } public UUID stubFilterEvaluate(String networkUuid, String responseBody) { @@ -549,12 +401,12 @@ public UUID stubFilterEvaluateError(String networkUuid) { } public void verifyFilterEvaluate(UUID stubUuid, String networkUuid) { - verifyPostRequest(stubUuid, "/v1/filters/evaluate", + verifyPostRequest(wireMock, stubUuid, "/v1/filters/evaluate", Map.of(NETWORK_UUID, WireMock.equalTo(networkUuid))); } public void verifyGlobalFilterEvaluate(UUID stubUuid, String networkUuid, List equipmentTypes) { - verifyPostRequest(stubUuid, "/v1/global-filter", + verifyPostRequest(wireMock, stubUuid, "/v1/global-filter", Map.of(NETWORK_UUID, WireMock.equalTo(networkUuid), QUERY_PARAM_VARIANT_ID, WireMock.equalTo(""), QUERY_PARAM_EQUIPMENT_TYPES, WireMock.equalTo(String.join(",", equipmentTypes.stream().map(EquipmentType::name).toList())))); @@ -585,7 +437,7 @@ public UUID stubFiltersExport(String networkUuid, List filtersUuid, Stri } public void verifyFilterExport(UUID stubUuid, String filterUuid, String networkUuid) { - verifyGetRequest(stubUuid, "/v1/filters/" + filterUuid + "/export", + verifyGetRequest(wireMock, stubUuid, "/v1/filters/" + filterUuid + "/export", Map.of(NETWORK_UUID, WireMock.equalTo(networkUuid))); } @@ -595,13 +447,13 @@ public void verifyFiltersExport(UUID stubUuid, List filtersUuid, String for (String filterUuid : filtersUuid) { queryParams.put(IDS, WireMock.equalTo(filterUuid)); } - verifyGetRequest(stubUuid, "/v1/filters/export", queryParams); + verifyGetRequest(wireMock, stubUuid, "/v1/filters/export", queryParams); } public void verifyFiltersEvaluate(UUID stubUuid, String filtersBody, String networkUuid) { Map queryParams = new HashMap<>(); queryParams.put(NETWORK_UUID, WireMock.equalTo(networkUuid)); - verifyPostRequest(stubUuid, "/v1/filters/evaluate/identifiables", false, queryParams, filtersBody); + verifyPostRequest(wireMock, stubUuid, "/v1/filters/evaluate/identifiables", false, queryParams, filtersBody); } public UUID stubSearchModifications(String networkUuid, String userInput, String responseBody) { @@ -615,7 +467,7 @@ public UUID stubSearchModifications(String networkUuid, String userInput, String } public void verifySearchModifications(UUID stubUuid, String networkUuid, String userInput) { - verifyGetRequest(stubUuid, "/v1/network-modifications/indexation-infos", + verifyGetRequest(wireMock, stubUuid, "/v1/network-modifications/indexation-infos", Map.of(NETWORK_UUID, WireMock.equalTo(networkUuid), "userInput", WireMock.equalTo(userInput))); } @@ -635,7 +487,7 @@ public UUID stubCreatePositionsFromCsv() { } public void verifyStubCreatePositionsFromCsv(UUID stubUuid) { - verifyPostRequest(stubUuid, URI_NETWORK_AREA_DIAGRAM, true, Map.of(), null); + verifyPostRequest(wireMock, stubUuid, URI_NETWORK_AREA_DIAGRAM, true, Map.of(), null); } public UUID stubPccMinRun(String networkUuid, String variantId, String resultUuid) { @@ -653,12 +505,12 @@ public UUID stubPccMinStatus(String resultUuid, String statusJson) { } public void verifyPccMinRun(UUID stubUuid, String networkUuid, String variantId) { - verifyPostRequest(stubUuid, "/v1/networks/" + networkUuid + "/run-and-save", + verifyPostRequest(wireMock, stubUuid, "/v1/networks/" + networkUuid + "/run-and-save", Map.of("variantId", WireMock.equalTo(variantId))); } public void verifyPccMinStop(UUID stubUuid, String resultUuid) { - verifyPutRequest(stubUuid, "/v1/results/" + resultUuid + "/stop", true, Map.of(), null); + verifyPutRequest(wireMock, stubUuid, "/v1/results/" + resultUuid + "/stop", true, Map.of(), null); } public UUID stubPccMinFailed(String networkUuid, String variantId, String resultUuid) { @@ -670,6 +522,7 @@ public UUID stubPccMinFailed(String networkUuid, String variantId, String result public void verifyPccMinFail(UUID stubUuid, String networkUuid, String variantId) { verifyPostRequest( + wireMock, stubUuid, "/v1/networks/" + networkUuid + "/run-and-save", true, @@ -680,7 +533,7 @@ public void verifyPccMinFail(UUID stubUuid, String networkUuid, String variantId } public void verifyPccMinStatus(UUID stubUuid, String resultUuid) { - verifyGetRequest(stubUuid, "/v1/results/" + resultUuid + "/status", Map.of()); + verifyGetRequest(wireMock, stubUuid, "/v1/results/" + resultUuid + "/status", Map.of()); } public UUID stubPagedPccMinResult(String resultUuid, String responseBody) { @@ -695,7 +548,9 @@ public UUID stubPagedPccMinResult(String resultUuid, String responseBody) { } public void verifyPccMinPagedGet(UUID stubId, String resultUuid) { - verifyGetRequest(stubId, + verifyGetRequest( + wireMock, + stubId, "/v1/results/" + resultUuid, Map.of( "page", WireMock.equalTo("0"), diff --git a/src/test/java/org/gridsuite/study/server/utils/wiremock/WireMockUtils.java b/src/test/java/org/gridsuite/study/server/utils/wiremock/WireMockUtils.java new file mode 100644 index 0000000000..e18b3aa99d --- /dev/null +++ b/src/test/java/org/gridsuite/study/server/utils/wiremock/WireMockUtils.java @@ -0,0 +1,79 @@ +package org.gridsuite.study.server.utils.wiremock; + +import com.github.tomakehurst.wiremock.WireMockServer; +import com.github.tomakehurst.wiremock.admin.model.ServeEventQuery; +import com.github.tomakehurst.wiremock.client.WireMock; +import com.github.tomakehurst.wiremock.matching.RequestPatternBuilder; +import com.github.tomakehurst.wiremock.matching.StringValuePattern; +import com.github.tomakehurst.wiremock.stubbing.ServeEvent; + +import java.util.List; +import java.util.Map; +import java.util.UUID; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public final class WireMockUtils { + private WireMockUtils() { + throw new IllegalStateException("Utility class"); + } + + public static void verifyPostRequest(WireMockServer wireMockServer, UUID stubId, String urlPath, Map queryParams, int nbRequests) { + verifyPostRequest(wireMockServer, stubId, urlPath, false, queryParams, null, nbRequests); + } + + public static void verifyPostRequest(WireMockServer wireMockServer, UUID stubId, String urlPath, Map queryParams) { + verifyPostRequest(wireMockServer, stubId, urlPath, queryParams, 1); + } + + public static void verifyPostRequest(WireMockServer wireMockServer, UUID stubId, String urlPath, boolean regexMatching, Map queryParams, String body) { + verifyPostRequest(wireMockServer, stubId, urlPath, regexMatching, queryParams, body, 1); + } + + public static void verifyPostRequest(WireMockServer wireMockServer, UUID stubId, String urlPath, boolean regexMatching, Map queryParams, String body, int nbRequests) { + RequestPatternBuilder requestBuilder = regexMatching ? WireMock.postRequestedFor(WireMock.urlPathMatching(urlPath)) : WireMock.postRequestedFor(WireMock.urlPathEqualTo(urlPath)); + verifyRequest(wireMockServer, stubId, requestBuilder, queryParams, body, nbRequests); + } + + public static void verifyPutRequestWithUrlMatching(WireMockServer wireMockServer, UUID stubId, String urlPath, Map queryParams, String body) { + verifyPutRequest(wireMockServer, stubId, urlPath, true, queryParams, body); + } + + public static void verifyPutRequest(WireMockServer wireMockServer, UUID stubId, String urlPath, boolean regexMatching, Map queryParams, String body) { + RequestPatternBuilder requestBuilder = regexMatching ? WireMock.putRequestedFor(WireMock.urlPathMatching(urlPath)) : WireMock.putRequestedFor(WireMock.urlPathEqualTo(urlPath)); + verifyRequest(wireMockServer, stubId, requestBuilder, queryParams, body, 1); + } + + public static void verifyDeleteRequest(WireMockServer wireMockServer, UUID stubId, String urlPath, boolean regexMatching, Map queryParams) { + verifyDeleteRequest(wireMockServer, stubId, urlPath, regexMatching, queryParams, 1); + } + + public static void verifyDeleteRequest(WireMockServer wireMockServer, UUID stubId, String urlPath, boolean regexMatching, Map queryParams, int nbRequests) { + RequestPatternBuilder requestBuilder = regexMatching ? WireMock.deleteRequestedFor(WireMock.urlPathMatching(urlPath)) : WireMock.deleteRequestedFor(WireMock.urlPathEqualTo(urlPath)); + verifyRequest(wireMockServer, stubId, requestBuilder, queryParams, null, nbRequests); + } + + public static void verifyGetRequest(WireMockServer wireMockServer, UUID stubId, String urlPath, Map queryParams) { + RequestPatternBuilder requestBuilder = WireMock.getRequestedFor(WireMock.urlPathEqualTo(urlPath)); + queryParams.forEach(requestBuilder::withQueryParam); + wireMockServer.verify(1, requestBuilder); + removeRequestForStub(wireMockServer, stubId, 1); + } + + private static void verifyRequest(WireMockServer wireMockServer, UUID stubId, RequestPatternBuilder requestBuilder, Map queryParams, String body, int nbRequests) { + queryParams.forEach(requestBuilder::withQueryParam); + if (body != null) { + requestBuilder.withRequestBody(WireMock.equalToJson(body)); + } + wireMockServer.verify(nbRequests, requestBuilder); + removeRequestForStub(wireMockServer, stubId, nbRequests); + } + + public static void removeRequestForStub(WireMockServer wireMockServer, UUID stubId, int nbRequests) { + List serveEvents = wireMockServer.getServeEvents(ServeEventQuery.forStubMapping(stubId)).getServeEvents(); + assertEquals(nbRequests, serveEvents.size()); + for (ServeEvent serveEvent : serveEvents) { + wireMockServer.removeServeEvent(serveEvent.getId()); + } + } +}