diff --git a/src/main/java/org/gridsuite/dynamicmargincalculation/server/controller/DynamicMarginCalculationController.java b/src/main/java/org/gridsuite/dynamicmargincalculation/server/controller/DynamicMarginCalculationController.java index 59be9fe..092db1d 100644 --- a/src/main/java/org/gridsuite/dynamicmargincalculation/server/controller/DynamicMarginCalculationController.java +++ b/src/main/java/org/gridsuite/dynamicmargincalculation/server/controller/DynamicMarginCalculationController.java @@ -60,21 +60,19 @@ public ResponseEntity run(@PathVariable("networkUuid") UUID networkUuid, @RequestParam(name = "reportUuid", required = false) UUID reportId, @RequestParam(name = REPORTER_ID_HEADER, required = false) String reportName, @RequestParam(name = REPORT_TYPE_HEADER, required = false, defaultValue = "DynamicMarginCalculation") String reportType, - @RequestParam(name = HEADER_PROVIDER, required = false) String provider, @RequestParam(name = HEADER_DEBUG, required = false, defaultValue = "false") boolean debug, + @RequestParam(name = "dynamicSimulationParametersUuid") UUID dynamicSimulationParametersUuid, @RequestParam(name = "dynamicSecurityAnalysisParametersUuid") UUID dynamicSecurityAnalysisParametersUuid, @RequestParam(name = "parametersUuid") UUID parametersUuid, - @RequestBody String dynamicSimulationParametersJson, @RequestHeader(HEADER_USER_ID) String userId) { DynamicMarginCalculationRunContext dynamicMarginCalculationRunContext = parametersService.createRunContext( networkUuid, variantId, receiver, - provider, ReportInfos.builder().reportUuid(reportId).reporterId(reportName).computationType(reportType).build(), userId, - dynamicSimulationParametersJson, + dynamicSimulationParametersUuid, dynamicSecurityAnalysisParametersUuid, parametersUuid, debug); diff --git a/src/main/java/org/gridsuite/dynamicmargincalculation/server/service/DynamicMarginCalculationWorkerService.java b/src/main/java/org/gridsuite/dynamicmargincalculation/server/service/DynamicMarginCalculationWorkerService.java index b306f0a..ded2739 100644 --- a/src/main/java/org/gridsuite/dynamicmargincalculation/server/service/DynamicMarginCalculationWorkerService.java +++ b/src/main/java/org/gridsuite/dynamicmargincalculation/server/service/DynamicMarginCalculationWorkerService.java @@ -132,7 +132,7 @@ public void preRun(DynamicMarginCalculationRunContext runContext) { // get evaluated parameters values from the dynamic simulation server DynamicSimulationParametersValues dynamicSimulationParametersValues = - dynamicSimulationClient.getParametersValues(runContext.getDynamicSimulationParametersJson(), + dynamicSimulationClient.getParametersValues(runContext.getDynamicSimulationParametersUuid(), runContext.getNetworkUuid(), runContext.getVariantId()); // get dynamic model list from dynamic simulation server diff --git a/src/main/java/org/gridsuite/dynamicmargincalculation/server/service/ParametersService.java b/src/main/java/org/gridsuite/dynamicmargincalculation/server/service/ParametersService.java index ee70148..2f54d17 100644 --- a/src/main/java/org/gridsuite/dynamicmargincalculation/server/service/ParametersService.java +++ b/src/main/java/org/gridsuite/dynamicmargincalculation/server/service/ParametersService.java @@ -71,9 +71,8 @@ public ParametersService(@Value("${dynamic-margin-calculation.default-provider}" @Transactional(readOnly = true) public DynamicMarginCalculationRunContext createRunContext(UUID networkUuid, String variantId, String receiver, - String provider, ReportInfos reportInfos, String userId, - // should be UUID dynamicSimulationParametersUuid after moving dynamic simulation parameters to its server, - String dynamicSimulationParametersJson, + ReportInfos reportInfos, String userId, + UUID dynamicSimulationParametersUuid, UUID dynamicSecurityAnalysisParametersUuid, UUID dynamicMarginCalculationParametersUuid, boolean debug) { @@ -95,15 +94,11 @@ public DynamicMarginCalculationRunContext createRunContext(UUID networkUuid, Str .parameters(dynamicMarginCalculationParametersInfos) .debug(debug) .build(); - runContext.setDynamicSimulationParametersJson(dynamicSimulationParametersJson); + runContext.setDynamicSimulationParametersUuid(dynamicSimulationParametersUuid); runContext.setDynamicSecurityAnalysisParametersUuid(dynamicSecurityAnalysisParametersUuid); // set provider for run context - String providerToUse = provider; - if (providerToUse == null) { - providerToUse = Optional.ofNullable(runContext.getParameters().getProvider()).orElse(defaultProvider); - } - + String providerToUse = Optional.ofNullable(runContext.getParameters().getProvider()).orElse(defaultProvider); runContext.setProvider(providerToUse); // check provider diff --git a/src/main/java/org/gridsuite/dynamicmargincalculation/server/service/client/DynamicSimulationClient.java b/src/main/java/org/gridsuite/dynamicmargincalculation/server/service/client/DynamicSimulationClient.java index 80bfe31..2120909 100644 --- a/src/main/java/org/gridsuite/dynamicmargincalculation/server/service/client/DynamicSimulationClient.java +++ b/src/main/java/org/gridsuite/dynamicmargincalculation/server/service/client/DynamicSimulationClient.java @@ -11,7 +11,6 @@ import org.gridsuite.dynamicmargincalculation.server.dto.parameters.DynamicSimulationParametersValues; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; -import org.springframework.http.*; import org.springframework.stereotype.Service; import org.springframework.web.client.RestTemplate; import org.springframework.web.util.UriComponents; @@ -39,26 +38,19 @@ public DynamicSimulationClient(@Value("${gridsuite.services.dynamic-simulation-s super(baseUri, restTemplate, objectMapper); } - public DynamicSimulationParametersValues getParametersValues(String dynamicSimulationParametersJson, UUID networkUuid, String variant) { + public DynamicSimulationParametersValues getParametersValues(UUID dynamicSimulationParametersUuid, UUID networkUuid, String variant) { String endPointUrl = buildEndPointUrl(getBaseUri(), API_VERSION, DYNAMIC_SIMULATION_END_POINT_PARAMETERS); - // TODO should use GET instead of POST after moving dynamic simulation parameters to its server - UriComponents uriComponents = UriComponentsBuilder.fromUriString(endPointUrl + "/values") + UriComponents uriComponents = UriComponentsBuilder.fromUriString(endPointUrl + "/" + dynamicSimulationParametersUuid + "/values") .queryParam("networkUuid", networkUuid) .queryParam(VARIANT_ID_HEADER, variant) .build(); // call dynamic simulation REST API String url = uriComponents.toUriString(); - - HttpHeaders headers = new HttpHeaders(); - headers.setContentType(MediaType.APPLICATION_JSON); - - HttpEntity requestEntity = new HttpEntity<>(dynamicSimulationParametersJson, headers); - - ResponseEntity result = getRestTemplate().exchange(url, HttpMethod.POST, requestEntity, DynamicSimulationParametersValues.class); + DynamicSimulationParametersValues result = getRestTemplate().getForObject(url, DynamicSimulationParametersValues.class); logger.debug(DYNAMIC_SIMULATION_REST_API_CALLED_SUCCESSFULLY_MESSAGE, url); - return result.getBody(); + return result; } } diff --git a/src/main/java/org/gridsuite/dynamicmargincalculation/server/service/contexts/DynamicMarginCalculationResultContext.java b/src/main/java/org/gridsuite/dynamicmargincalculation/server/service/contexts/DynamicMarginCalculationResultContext.java index b145b70..6ab1d48 100644 --- a/src/main/java/org/gridsuite/dynamicmargincalculation/server/service/contexts/DynamicMarginCalculationResultContext.java +++ b/src/main/java/org/gridsuite/dynamicmargincalculation/server/service/contexts/DynamicMarginCalculationResultContext.java @@ -12,7 +12,6 @@ import org.gridsuite.computation.dto.ReportInfos; import org.gridsuite.computation.service.AbstractResultContext; import org.gridsuite.dynamicmargincalculation.server.dto.parameters.DynamicMarginCalculationParametersInfos; -import org.gridsuite.dynamicmargincalculation.server.utils.GZipUtils; import org.springframework.messaging.Message; import org.springframework.messaging.MessageHeaders; @@ -29,7 +28,7 @@ */ public class DynamicMarginCalculationResultContext extends AbstractResultContext { - private static final String HEADER_DYNAMIC_SIMULATION_PARAMETERS_JSON_UUID = "dynamicSimulationParametersJson"; + private static final String HEADER_DYNAMIC_SIMULATION_PARAMETERS_UUID = "dynamicSimulationParametersUuid"; private static final String HEADER_DYNAMIC_SECURITY_ANALYSIS_PARAMETERS_UUID = "dynamicSecurityAnalysisParametersUuid"; public DynamicMarginCalculationResultContext(UUID resultUuid, DynamicMarginCalculationRunContext runContext) { @@ -74,18 +73,15 @@ public static DynamicMarginCalculationResultContext fromMessage(Message // specific headers UUID dynamicSecurityAnalysisParametersUuid = UUID.fromString(getNonNullHeader(headers, HEADER_DYNAMIC_SECURITY_ANALYSIS_PARAMETERS_UUID)); runContext.setDynamicSecurityAnalysisParametersUuid(dynamicSecurityAnalysisParametersUuid); - // TODO : using directly uuid after moving dynamic simulation parameters to its server - String compressedJson = headers.get(HEADER_DYNAMIC_SIMULATION_PARAMETERS_JSON_UUID).toString(); - runContext.setDynamicSimulationParametersJson(GZipUtils.decompress(compressedJson)); + UUID dynamicSimulationParametersUuid = UUID.fromString(getNonNullHeader(headers, HEADER_DYNAMIC_SIMULATION_PARAMETERS_UUID)); + runContext.setDynamicSimulationParametersUuid(dynamicSimulationParametersUuid); return new DynamicMarginCalculationResultContext(resultUuid, runContext); } @Override public Map getSpecificMsgHeaders(ObjectMapper objectMapper) { - // TODO : using directly uuid after moving dynamic simulation parameters to its server - String compressedJson = GZipUtils.compress(getRunContext().getDynamicSimulationParametersJson()); return Map.of(HEADER_DYNAMIC_SECURITY_ANALYSIS_PARAMETERS_UUID, getRunContext().getDynamicSecurityAnalysisParametersUuid().toString(), - HEADER_DYNAMIC_SIMULATION_PARAMETERS_JSON_UUID, compressedJson); + HEADER_DYNAMIC_SIMULATION_PARAMETERS_UUID, getRunContext().getDynamicSimulationParametersUuid().toString()); } } diff --git a/src/main/java/org/gridsuite/dynamicmargincalculation/server/service/contexts/DynamicMarginCalculationRunContext.java b/src/main/java/org/gridsuite/dynamicmargincalculation/server/service/contexts/DynamicMarginCalculationRunContext.java index 5c74bc5..5c9bb33 100644 --- a/src/main/java/org/gridsuite/dynamicmargincalculation/server/service/contexts/DynamicMarginCalculationRunContext.java +++ b/src/main/java/org/gridsuite/dynamicmargincalculation/server/service/contexts/DynamicMarginCalculationRunContext.java @@ -27,7 +27,7 @@ @Setter public class DynamicMarginCalculationRunContext extends AbstractComputationRunContext { - private String dynamicSimulationParametersJson; + private UUID dynamicSimulationParametersUuid; private UUID dynamicSecurityAnalysisParametersUuid; // --- Fields which are enriched in worker service --- // diff --git a/src/test/java/org/gridsuite/dynamicmargincalculation/server/controller/DynamicMarginCalculationControllerIEEE14Test.java b/src/test/java/org/gridsuite/dynamicmargincalculation/server/controller/DynamicMarginCalculationControllerIEEE14Test.java index 702255c..3d0fd71 100644 --- a/src/test/java/org/gridsuite/dynamicmargincalculation/server/controller/DynamicMarginCalculationControllerIEEE14Test.java +++ b/src/test/java/org/gridsuite/dynamicmargincalculation/server/controller/DynamicMarginCalculationControllerIEEE14Test.java @@ -48,7 +48,8 @@ import static org.gridsuite.computation.service.NotificationService.HEADER_RESULT_UUID; import static org.gridsuite.computation.service.NotificationService.HEADER_USER_ID; import static org.gridsuite.dynamicmargincalculation.server.controller.utils.TestUtils.RESOURCE_PATH_DELIMITER; -import static org.mockito.ArgumentMatchers.*; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.BDDMockito.given; import static org.mockito.Mockito.when; import static org.springframework.http.MediaType.APPLICATION_JSON; @@ -78,6 +79,7 @@ public class DynamicMarginCalculationControllerIEEE14Test extends AbstractDynami private static final UUID NETWORK_UUID = UUID.fromString("43b0f54e-e8fc-4607-8f53-e1cab1075ab5"); private static final String VARIANT_1_ID = "variant_1"; + private static final UUID DS_PARAMETERS_UUID = UUID.fromString("ca76b46c-b013-4453-b2a2-f64107dd023b"); private static final UUID DSA_PARAMETERS_UUID = UUID.fromString("2745666a-0abe-4c3a-8b91-a719c1d1f753"); private static final UUID PARAMETERS_UUID = UUID.fromString("e786c4ca-64e7-4f44-b6a2-8f23b8b4334a"); private static final UUID FILTER_UUID = UUID.fromString("b234ce92-23f2-422c-b239-ec69abc399bd"); @@ -163,7 +165,7 @@ private void initDynamicSimulationClientsMock() { DynamicSimulationParameters dynamicSimulationParameters = objectMapper.readValue(dynamicSimulationParametersIS, DynamicSimulationParameters.class); // Mock for dynamic simulation server - when(dynamicSimulationClient.getParametersValues(anyString(), eq(NETWORK_UUID), any())) + when(dynamicSimulationClient.getParametersValues(eq(DS_PARAMETERS_UUID), eq(NETWORK_UUID), any())) .thenReturn(DynamicSimulationParametersValues.builder() .dynamicModel(dynamicModel) .dynawoParameters(dynamicSimulationParameters.getExtension(DynawoSimulationParameters.class)) @@ -183,17 +185,15 @@ private void initDynamicSecurityAnalysisClientMock() { @Test void test01IEEE14() throws Exception { - // The controller requires a request body string: dynamicSimulationParametersJson. - String dynamicSimulationParametersJson = "{}"; // run dynamic margin calculation on a specific variant MvcResult result = mockMvc.perform( post("/v1/networks/{networkUuid}/run", NETWORK_UUID.toString()) .param(VARIANT_ID_HEADER, VARIANT_1_ID) + .param("dynamicSimulationParametersUuid", DS_PARAMETERS_UUID.toString()) .param("dynamicSecurityAnalysisParametersUuid", DSA_PARAMETERS_UUID.toString()) .param("parametersUuid", PARAMETERS_UUID.toString()) .contentType(APPLICATION_JSON) - .content(dynamicSimulationParametersJson) .header(HEADER_USER_ID, "testUserId") ) .andExpect(status().isOk()) diff --git a/src/test/java/org/gridsuite/dynamicmargincalculation/server/controller/DynamicMarginCalculationControllerTest.java b/src/test/java/org/gridsuite/dynamicmargincalculation/server/controller/DynamicMarginCalculationControllerTest.java index 6f15b82..5e19596 100644 --- a/src/test/java/org/gridsuite/dynamicmargincalculation/server/controller/DynamicMarginCalculationControllerTest.java +++ b/src/test/java/org/gridsuite/dynamicmargincalculation/server/controller/DynamicMarginCalculationControllerTest.java @@ -64,7 +64,6 @@ import static org.mockito.ArgumentMatchers.any; import static org.mockito.BDDMockito.given; import static org.mockito.Mockito.*; -import static org.springframework.http.MediaType.APPLICATION_JSON; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; @@ -81,6 +80,7 @@ public class DynamicMarginCalculationControllerTest extends AbstractDynamicMargi private static final String NETWORK_FILE = "IEEE14.iidm"; private static final UUID PARAMETERS_UUID = UUID.fromString("34f54d14-92ab-4616-a705-e9711275fc3b"); + private static final UUID DS_PARAMETERS_UUID = UUID.fromString("16920ed8-95dd-41ca-815c-2e20c5971754"); private static final UUID DSA_PARAMETERS_UUID = UUID.fromString("bb9f39cf-7146-4892-8005-cd7c3fa48333"); private static final String LINE_ID = "_BUS____1-BUS____5-1_AC"; @@ -129,7 +129,7 @@ protected void initExternalClientsMocks() { .build()); // Mock for dynamic simulation server - when(dynamicSimulationClient.getParametersValues(anyString(), eq(NETWORK_UUID), any())) + when(dynamicSimulationClient.getParametersValues(eq(DS_PARAMETERS_UUID), eq(NETWORK_UUID), any())) .thenReturn(DynamicSimulationParametersValues.builder().build()); } @@ -151,16 +151,13 @@ void testResult() throws Exception { AbortableInputStream.create(new ByteArrayInputStream("s3 debug file content".getBytes())) )).when(s3Client).getObject(any(GetObjectRequest.class)); - // run with debug (body is the dynamicSimulationParametersJson string) - String dynamicSimulationParametersJson = "{}"; MvcResult result = mockMvc.perform( post("/v1/networks/{networkUuid}/run", NETWORK_UUID) .param(VARIANT_ID_HEADER, VARIANT_1_ID) + .param("dynamicSimulationParametersUuid", DS_PARAMETERS_UUID.toString()) .param("dynamicSecurityAnalysisParametersUuid", DSA_PARAMETERS_UUID.toString()) .param("parametersUuid", PARAMETERS_UUID.toString()) .param(HEADER_DEBUG, "true") - .contentType(APPLICATION_JSON) - .content(dynamicSimulationParametersJson) .header(HEADER_USER_ID, "testUserId") ) .andExpect(status().isOk()) @@ -189,10 +186,9 @@ void testResult() throws Exception { // run on implicit default variant (variantId omitted) result = mockMvc.perform( post("/v1/networks/{networkUuid}/run", NETWORK_UUID) + .param("dynamicSimulationParametersUuid", DS_PARAMETERS_UUID.toString()) .param("dynamicSecurityAnalysisParametersUuid", DSA_PARAMETERS_UUID.toString()) .param("parametersUuid", PARAMETERS_UUID.toString()) - .contentType(APPLICATION_JSON) - .content(dynamicSimulationParametersJson) .header(HEADER_USER_ID, "testUserId") ) .andExpect(status().isOk()) @@ -256,17 +252,21 @@ void testResult() throws Exception { @Test void testRunWithSynchronousExceptions() throws Exception { - String dynamicSimulationParametersJson = "{}"; + + // mock a fake provider in a parameter + DynamicMarginCalculationParametersInfos params = parametersService.getDefaultParametersValues(); + params.setProvider("notFoundProvider"); + DynamicMarginCalculationParametersEntity entity = new DynamicMarginCalculationParametersEntity(params); + UUID notFoundProviderParametersUuid = UUID.randomUUID(); + given(dynamicMarginCalculationParametersRepository.findById(notFoundProviderParametersUuid)).willReturn(Optional.of(entity)); // provider not found mockMvc.perform( post("/v1/networks/{networkUuid}/run", NETWORK_UUID) - .param(HEADER_PROVIDER, "notFoundProvider") .param(VARIANT_ID_HEADER, VARIANT_1_ID) + .param("dynamicSimulationParametersUuid", DS_PARAMETERS_UUID.toString()) .param("dynamicSecurityAnalysisParametersUuid", DSA_PARAMETERS_UUID.toString()) - .param("parametersUuid", PARAMETERS_UUID.toString()) - .contentType(APPLICATION_JSON) - .content(dynamicSimulationParametersJson) + .param("parametersUuid", notFoundProviderParametersUuid.toString()) .header(HEADER_USER_ID, "testUserId") ) .andExpect(status().isNotFound()); @@ -275,10 +275,9 @@ void testRunWithSynchronousExceptions() throws Exception { mockMvc.perform( post("/v1/networks/{networkUuid}/run", NETWORK_UUID) .param(VARIANT_ID_HEADER, VARIANT_1_ID) + .param("dynamicSimulationParametersUuid", DS_PARAMETERS_UUID.toString()) .param("dynamicSecurityAnalysisParametersUuid", DSA_PARAMETERS_UUID.toString()) .param("parametersUuid", UUID.randomUUID().toString()) - .contentType(APPLICATION_JSON) - .content(dynamicSimulationParametersJson) .header(HEADER_USER_ID, "testUserId") ) .andExpect(status().isNotFound()); @@ -297,17 +296,15 @@ void testRunWithResult() throws Exception { new ScenarioResult(GEN_ID, CONVERGENCE))) )))) .when(dynamicMarginCalculationWorkerService).getCompletableFuture(any(), any(), any()); - String dynamicSimulationParametersJson = "{}"; MvcResult result = mockMvc.perform( post("/v1/networks/{networkUuid}/run", NETWORK_UUID) .param(VARIANT_ID_HEADER, VARIANT_1_ID) + .param("dynamicSimulationParametersUuid", DS_PARAMETERS_UUID.toString()) .param("dynamicSecurityAnalysisParametersUuid", DSA_PARAMETERS_UUID.toString()) .param("parametersUuid", PARAMETERS_UUID.toString()) .param("reportUuid", UUID.randomUUID().toString()) .param(REPORTER_ID_HEADER, "dmc") - .contentType(APPLICATION_JSON) - .content(dynamicSimulationParametersJson) .header(HEADER_USER_ID, "testUserId") ) .andExpect(status().isOk()) @@ -349,16 +346,14 @@ private void mockSendRunMessage(Supplier> runAsyncMock) { } private UUID runAndCancel(CountDownLatch cancelLatch, int cancelDelayMs) throws Exception { - String dynamicSimulationParametersJson = "{}"; // run the dynamic margin calculation MvcResult result = mockMvc.perform( post("/v1/networks/{networkUuid}/run", NETWORK_UUID) .param(VARIANT_ID_HEADER, VARIANT_1_ID) + .param("dynamicSimulationParametersUuid", DS_PARAMETERS_UUID.toString()) .param("dynamicSecurityAnalysisParametersUuid", DSA_PARAMETERS_UUID.toString()) .param("parametersUuid", PARAMETERS_UUID.toString()) - .contentType(APPLICATION_JSON) - .content(dynamicSimulationParametersJson) .header(HEADER_USER_ID, "testUserId")) .andExpect(status().isOk()) .andReturn(); diff --git a/src/test/java/org/gridsuite/dynamicmargincalculation/server/service/client/DynamicSimulationClientTest.java b/src/test/java/org/gridsuite/dynamicmargincalculation/server/service/client/DynamicSimulationClientTest.java index 063f5f1..3e6ec4e 100644 --- a/src/test/java/org/gridsuite/dynamicmargincalculation/server/service/client/DynamicSimulationClientTest.java +++ b/src/test/java/org/gridsuite/dynamicmargincalculation/server/service/client/DynamicSimulationClientTest.java @@ -30,7 +30,6 @@ import java.util.List; import java.util.UUID; -import static com.github.tomakehurst.wiremock.client.WireMock.containing; import static com.github.tomakehurst.wiremock.client.WireMock.equalTo; import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.wireMockConfig; import static org.assertj.core.api.Assertions.assertThat; @@ -67,9 +66,9 @@ void init() { void testGetParametersValues() throws Exception { // --- Setup --- // + UUID dynamicSimulationParametersUuid = UUID.fromString("ee4496de-0a8a-4ced-8ab1-7fff57b0d717"); UUID networkUuid = UUID.fromString("e6516424-21c3-4bff-953d-9d0efc20ea08"); String variantId = "variant_1"; - String dynamicSimulationParametersJson = "{}"; // prepare dynamic model List dynamicModel = List.of(new DynamicModelConfig("LoadAlphaBeta", "_DM", SetGroupType.SUFFIX, List.of( @@ -108,13 +107,11 @@ void testGetParametersValues() throws Exception { String bodyJson = objectMapper.writeValueAsString(expected); String baseEndpoint = buildEndPointUrl("", API_VERSION, DYNAMIC_SIMULATION_END_POINT_PARAMETERS); - String urlPath = baseEndpoint + "/values"; + String urlPath = baseEndpoint + "/" + dynamicSimulationParametersUuid + "/values"; - wireMockServer.stubFor(WireMock.post(WireMock.urlPathEqualTo(urlPath)) + wireMockServer.stubFor(WireMock.get(WireMock.urlPathEqualTo(urlPath)) .withQueryParam("networkUuid", equalTo(networkUuid.toString())) .withQueryParam(VARIANT_ID_HEADER, equalTo(variantId)) - .withHeader(HttpHeaders.CONTENT_TYPE, containing(MediaType.APPLICATION_JSON_VALUE)) - .withRequestBody(WireMock.equalToJson(dynamicSimulationParametersJson)) .willReturn(WireMock.ok() .withBody(bodyJson) .withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE) @@ -122,7 +119,7 @@ void testGetParametersValues() throws Exception { // --- Execute --- // DynamicSimulationParametersValues result = - dynamicSimulationClient.getParametersValues(dynamicSimulationParametersJson, networkUuid, variantId); + dynamicSimulationClient.getParametersValues(dynamicSimulationParametersUuid, networkUuid, variantId); // --- Verify --- // assertThat(result).usingRecursiveComparison().isEqualTo(expected); @@ -132,14 +129,14 @@ void testGetParametersValues() throws Exception { void testGetParametersValuesGivenException() { // --- Setup --- // + UUID dynamicSimulationParametersUuid = UUID.fromString("ef8061f1-b16c-49be-96df-9674af01d795"); UUID networkUuid = UUID.fromString("4b364ee1-2933-401a-ae3c-e79253b2de67"); String variantId = "variant_1"; - String dynamicSimulationParametersJson = "{}"; String baseEndpoint = buildEndPointUrl("", API_VERSION, DYNAMIC_SIMULATION_END_POINT_PARAMETERS); - String urlPath = baseEndpoint + "/values"; + String urlPath = baseEndpoint + "/" + dynamicSimulationParametersUuid + "/values"; - wireMockServer.stubFor(WireMock.post(WireMock.urlPathEqualTo(urlPath)) + wireMockServer.stubFor(WireMock.get(WireMock.urlPathEqualTo(urlPath)) .withQueryParam("networkUuid", equalTo(networkUuid.toString())) .withQueryParam(VARIANT_ID_HEADER, equalTo(variantId)) .willReturn(WireMock.serverError() @@ -148,7 +145,7 @@ void testGetParametersValuesGivenException() { // --- Execute --- // HttpServerErrorException exception = catchThrowableOfType(HttpServerErrorException.class, - () -> dynamicSimulationClient.getParametersValues(dynamicSimulationParametersJson, networkUuid, variantId)); + () -> dynamicSimulationClient.getParametersValues(dynamicSimulationParametersUuid, networkUuid, variantId)); // --- Verify --- // assertThat(exception.getMessage()).contains(ERROR_MESSAGE);