Skip to content
Merged
452 changes: 201 additions & 251 deletions src/test/java/org/gridsuite/study/server/ShortCircuitTest.java

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -697,7 +697,7 @@ void testSecurityAnalysisParameters() throws Exception {
StudyEntity studyEntity = insertDummyStudy(UUID.randomUUID(), UUID.randomUUID(), null);
UUID studyUuid = studyEntity.getId();
assertNotNull(studyUuid);
computationServerStubs.stubParametersDefault(SECURITY_ANALYSIS_DEFAULT_PARAMETERS_JSON);
computationServerStubs.stubGetParametersDefault(SECURITY_ANALYSIS_DEFAULT_PARAMETERS_JSON);
wireMockServer.stubFor(
post(urlEqualTo("/v1/parameters/default"))
.willReturn(
Expand All @@ -709,7 +709,7 @@ void testSecurityAnalysisParameters() throws Exception {
);

computationServerStubs.stubParametersGet(SECURITY_ANALYSIS_PARAMETERS_UUID_STRING, SECURITY_ANALYSIS_DEFAULT_PARAMETERS_JSON);
computationServerStubs.stubParametersDefault(SECURITY_ANALYSIS_DEFAULT_PARAMETERS_JSON);
computationServerStubs.stubGetParametersDefault(SECURITY_ANALYSIS_DEFAULT_PARAMETERS_JSON);
mockMvc.perform(get("/v1/studies/{studyUuid}/security-analysis/parameters", studyUuid))
.andExpect(status().isOk())
.andExpect(content().string(SECURITY_ANALYSIS_DEFAULT_PARAMETERS_JSON));
Expand Down Expand Up @@ -764,7 +764,7 @@ void testCreateSecurityAnalysisParameters() throws Exception {
assertNull(studyEntity.getSecurityAnalysisParametersUuid());

String bodyJson = objectWriter.writeValueAsString(SECURITY_ANALYSIS_DEFAULT_PARAMETERS_JSON);
computationServerStubs.stubCreateParameter(SECURITY_ANALYSIS_PARAMETERS_UUID);
computationServerStubs.stubCreateParameter(objectMapper.writeValueAsString(SECURITY_ANALYSIS_PARAMETERS_UUID));
mockMvc.perform(post("/v1/studies/{studyUuid}/security-analysis/parameters", studyUuid)
.header("userId", "userId")
.contentType(MediaType.APPLICATION_JSON)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,7 @@ void testDeleteStudy() throws Exception {

wireMockStubs.verifyNetworkModificationDeleteGroup(stubUuid, false);
wireMockStubs.caseServer.verifyDeleteCase(stubDeleteCaseId, CASE_UUID_STRING);
deleteStudyStubs.verify(wireMockStubs, 7); // voltageInit, loadFlow, securityAnalysis, sensitivityAnalysis, stateEstimation, pccMin, dynamic
deleteStudyStubs.verify(wireMockStubs, computationServerStubs, 7); // voltageInit, loadFlow, securityAnalysis, sensitivityAnalysis, stateEstimation, pccMin, dynamic
}

@Test
Expand Down Expand Up @@ -283,7 +283,7 @@ void testDeleteStudyWithError(final CapturedOutput capturedOutput) throws Except
assertTrue(capturedOutput.getOut().contains(StudyServerExecutionService.class.getName() + " - " + CompletionException.class.getName() + ": " + InterruptedException.class.getName()));

wireMockStubs.verifyNetworkModificationDeleteGroup(stubUuid, false);
deleteStudyStubs.verify(wireMockStubs, 1); // loadflow, security, sensitivity, stateEstimation, shortCircuit, pccMin
deleteStudyStubs.verify(wireMockStubs, computationServerStubs, 1); // loadflow, security, sensitivity, stateEstimation, shortCircuit, pccMin
}

@Test
Expand All @@ -310,7 +310,7 @@ void testDeleteStudyWithNonExistingCase() throws Exception {

wireMockStubs.verifyNetworkModificationDeleteGroup(stubUuid, false);
wireMockStubs.caseServer.verifyDeleteCase(stubDeleteCaseId, nonExistingCaseUuid.toString());
deleteStudyStubs.verify(wireMockStubs, 7);
deleteStudyStubs.verify(wireMockStubs, computationServerStubs, 7);
}

@Test
Expand Down Expand Up @@ -674,7 +674,7 @@ void testCreateStudyWithDefaultLoadflowUserHasInvalidParamsInProfile() throws Ex
createStudyStubs.verify(wireMockStubs);
verifyCreateParameters(0, 4, 0, 0, 1);
wireMockStubs.computationServer.verifyParametersDuplicateFrom(PROFILE_LOADFLOW_INVALID_PARAMETERS_UUID_STRING);
duplicateParameterStubs.verify(wireMockStubs, 4, 1, 1, 0);
duplicateParameterStubs.verify(wireMockStubs, computationServerStubs, 4, 1, 1, 0);
}

@Test
Expand All @@ -690,7 +690,7 @@ void testCreateStudyWithDefaultLoadflowUserHasValidParamsInProfile() throws Exce
createStudyStubs.verify(wireMockStubs);
verifyCreateParameters(0, 3, 0, 0, 1);
wireMockStubs.computationServer.verifyParametersDuplicateFrom(PROFILE_LOADFLOW_VALID_PARAMETERS_UUID_STRING);
duplicateParameterStubs.verify(wireMockStubs, 4, 1, 1, 0);
duplicateParameterStubs.verify(wireMockStubs, computationServerStubs, 4, 1, 1, 0);
}

@Test
Expand All @@ -706,7 +706,7 @@ void testCreateStudyWithDefaultSecurityAnalysisUserHasInvalidParamsInProfile() t
createStudyStubs.verify(wireMockStubs);
verifyCreateParameters(0, 4, 0, 0, 1);
wireMockStubs.computationServer.verifyParametersDuplicateFrom(PROFILE_SECURITY_ANALYSIS_INVALID_PARAMETERS_UUID_STRING);
duplicateParameterStubs.verify(wireMockStubs, 4, 1, 1, 0);
duplicateParameterStubs.verify(wireMockStubs, computationServerStubs, 4, 1, 1, 0);
}

@Test
Expand All @@ -722,7 +722,7 @@ void testCreateStudyWithDefaultSecurityAnalysisUserHasValidParamsInProfile() thr
createStudyStubs.verify(wireMockStubs);
verifyCreateParameters(0, 3, 0, 0, 1);
wireMockStubs.computationServer.verifyParametersDuplicateFrom(PROFILE_SECURITY_ANALYSIS_VALID_PARAMETERS_UUID_STRING);
duplicateParameterStubs.verify(wireMockStubs, 4, 1, 1, 0);
duplicateParameterStubs.verify(wireMockStubs, computationServerStubs, 4, 1, 1, 0);
}

@Test
Expand All @@ -738,7 +738,7 @@ void testCreateStudyWithDefaultSensitivityAnalysisUserHasInvalidParamsInProfile(
createStudyStubs.verify(wireMockStubs);
verifyCreateParameters(0, 4, 0, 0, 1);
wireMockStubs.computationServer.verifyParametersDuplicateFrom(PROFILE_SENSITIVITY_ANALYSIS_INVALID_PARAMETERS_UUID_STRING);
duplicateParameterStubs.verify(wireMockStubs, 4, 1, 1, 0);
duplicateParameterStubs.verify(wireMockStubs, computationServerStubs, 4, 1, 1, 0);
}

@Test
Expand All @@ -754,7 +754,7 @@ void testCreateStudyWithDefaultSensitivityAnalysisUserHasValidParamsInProfile()
createStudyStubs.verify(wireMockStubs);
verifyCreateParameters(0, 3, 0, 0, 1);
wireMockStubs.computationServer.verifyParametersDuplicateFrom(PROFILE_SENSITIVITY_ANALYSIS_VALID_PARAMETERS_UUID_STRING);
duplicateParameterStubs.verify(wireMockStubs, 4, 1, 1, 0);
duplicateParameterStubs.verify(wireMockStubs, computationServerStubs, 4, 1, 1, 0);
}

@Test
Expand All @@ -770,7 +770,7 @@ void testCreateStudyWithDefaultShortcircuitUserHasInvalidParamsInProfile() throw
createStudyStubs.verify(wireMockStubs);
verifyCreateParameters(0, 4, 0, 0, 1);
wireMockStubs.computationServer.verifyParametersDuplicateFrom(PROFILE_SHORTCIRCUIT_INVALID_PARAMETERS_UUID_STRING);
duplicateParameterStubs.verify(wireMockStubs, 4, 1, 1, 0);
duplicateParameterStubs.verify(wireMockStubs, computationServerStubs, 4, 1, 1, 0);
}

@Test
Expand All @@ -786,7 +786,7 @@ void testCreateStudyWithDefaultShortcircuitUserHasValidParamsInProfile() throws
createStudyStubs.verify(wireMockStubs);
verifyCreateParameters(0, 3, 0, 0, 1);
wireMockStubs.computationServer.verifyParametersDuplicateFrom(PROFILE_SHORTCIRCUIT_VALID_PARAMETERS_UUID_STRING);
duplicateParameterStubs.verify(wireMockStubs, 4, 1, 1, 0);
duplicateParameterStubs.verify(wireMockStubs, computationServerStubs, 4, 1, 1, 0);
}

@Test
Expand All @@ -802,7 +802,7 @@ void testCreateStudyWithDefaultSpreadsheetConfigCollectionUserHasInvalidParamsIn
createStudyStubs.verify(wireMockStubs);
verifyCreateParameters(0, 3, 1, 0, 1);
wireMockStubs.verifySpreadsheetConfigDuplicateFrom(stubSpreadsheetConfigDuplicateFromNotFoundId, PROFILE_SPREADSHEET_CONFIG_COLLECTION_INVALID_UUID_STRING);
duplicateParameterStubs.verify(wireMockStubs, 5, 0, 1, 0);
duplicateParameterStubs.verify(wireMockStubs, computationServerStubs, 5, 0, 1, 0);
}

@Test
Expand All @@ -818,7 +818,7 @@ void testCreateStudyWithDefaultSpreadsheetConfigCollectionUserHasValidParamsInPr
createStudyStubs.verify(wireMockStubs);
verifyCreateParameters(0, 3, 0, 0, 1);
wireMockStubs.verifySpreadsheetConfigDuplicateFrom(stubSpreadsheetConfigDuplicateFromId, PROFILE_SPREADSHEET_CONFIG_COLLECTION_VALID_UUID_STRING);
duplicateParameterStubs.verify(wireMockStubs, 5, 0, 1, 0);
duplicateParameterStubs.verify(wireMockStubs, computationServerStubs, 5, 0, 1, 0);
}

@Test
Expand All @@ -834,7 +834,7 @@ void testCreateStudyWithDefaultNetworkVisualizationsParametersUserHasInvalidPara
createStudyStubs.verify(wireMockStubs);
verifyCreateParameters(0, 3, 0, 1, 1);
wireMockStubs.verifyNetworkVisualizationParamsDuplicateFrom(stubNetworkVisualizationParamsDuplicateFromNotFoundId, PROFILE_NETWORK_VISUALIZATION_INVALID_PARAMETERS_UUID_STRING);
duplicateParameterStubs.verify(wireMockStubs, 5, 1, 0, 0);
duplicateParameterStubs.verify(wireMockStubs, computationServerStubs, 5, 1, 0, 0);
}

@Test
Expand All @@ -850,7 +850,7 @@ void testCreateStudyWithDefaultNetworkVisualizationsParametersUserHasValidParams
createStudyStubs.verify(wireMockStubs);
verifyCreateParameters(0, 3, 0, 0, 1);
wireMockStubs.verifyNetworkVisualizationParamsDuplicateFrom(stubNetworkVisualizationParamsDuplicateFromId, PROFILE_NETWORK_VISUALIZATION_VALID_PARAMETERS_UUID_STRING);
duplicateParameterStubs.verify(wireMockStubs, 5, 1, 0, 0);
duplicateParameterStubs.verify(wireMockStubs, computationServerStubs, 5, 1, 0, 0);
}

@Test
Expand All @@ -866,7 +866,7 @@ void testCreateStudyWithDefaultVoltageInitUserHasInvalidParamsInProfile() throws
createStudyStubs.verify(wireMockStubs);
verifyCreateParameters(1, 3, 0, 0, 1);
wireMockStubs.computationServer.verifyParametersDuplicateFrom(PROFILE_VOLTAGE_INIT_INVALID_PARAMETERS_UUID_STRING);
duplicateParameterStubs.verify(wireMockStubs, 4, 1, 1, 0);
duplicateParameterStubs.verify(wireMockStubs, computationServerStubs, 4, 1, 1, 0);
}

@Test
Expand All @@ -882,7 +882,7 @@ void testCreateStudyWithDefaultVoltageInitUserHasValidParamsInProfile() throws E
createStudyStubs.verify(wireMockStubs);
verifyCreateParameters(0, 3, 0, 0, 1);
wireMockStubs.computationServer.verifyParametersDuplicateFrom(PROFILE_VOLTAGE_INIT_VALID_PARAMETERS_UUID_STRING);
duplicateParameterStubs.verify(wireMockStubs, 4, 1, 1, 0);
duplicateParameterStubs.verify(wireMockStubs, computationServerStubs, 4, 1, 1, 0);
}

private void testDuplicateStudy(UUID study1Uuid, UUID rootNetworkUuid, String userId) throws Exception {
Expand Down Expand Up @@ -1014,7 +1014,7 @@ void testDuplicateStudyWithoutParametersUuid() throws Exception {

@Test
void testDuplicateStudyWithErrorDuringCaseDuplication() throws Exception {
UUID stubParametersDuplicateFromId = wireMockStubs.stubParametersDuplicateFromAny(mapper.writeValueAsString(UUID.randomUUID()));
UUID stubParametersDuplicateFromId = computationServerStubs.stubParametersDuplicateFromAny(mapper.writeValueAsString(UUID.randomUUID()));
UUID stubSpreadsheetConfigDuplicateFromId = wireMockStubs.stubSpreadsheetConfigDuplicateFromAny(mapper.writeValueAsString(UUID.randomUUID()));
UUID stubNetworkVisualizationParamsDuplicateFromId = wireMockStubs.stubNetworkVisualizationParamsDuplicateFromAny(DUPLICATED_NETWORK_VISUALIZATION_PARAMS_JSON);
UUID stubWorkspacesConfigDuplicateFromId = wireMockStubs.stubWorkspacesConfigDuplicateFromAny(mapper.writeValueAsString(UUID.randomUUID()));
Expand All @@ -1038,7 +1038,7 @@ void testDuplicateStudyWithErrorDuringCaseDuplication() throws Exception {
assertTrue(studyRepository.findById(UUID.fromString(duplicatedStudyUuid)).isEmpty());

//now case are duplicated after parameters, case import error does not prevent parameters from being duplicated
wireMockStubs.verifyParametersDuplicateFromAny(stubParametersDuplicateFromId, 7);
computationServerStubs.verifyParametersDuplicateFromAny(stubParametersDuplicateFromId, 7);
wireMockStubs.verifyNetworkVisualizationParamsDuplicateFrom(stubNetworkVisualizationParamsDuplicateFromId, studyEntity.getNetworkVisualizationParametersUuid().toString());
wireMockStubs.verifySpreadsheetConfigDuplicateFrom(stubSpreadsheetConfigDuplicateFromId, studyEntity.getSpreadsheetConfigCollectionUuid().toString());
wireMockStubs.verifyWorkspacesConfigDuplicateFromAny(stubWorkspacesConfigDuplicateFromId, 1);
Expand All @@ -1057,7 +1057,7 @@ private StudyEntity duplicateStudy(UUID studyUuid, String userId) throws Excepti
.willReturn(WireMock.ok().withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE)
.withBody(mapper.writeValueAsString(UUID.randomUUID())))).getId();

wireMockStubs.stubParametersDuplicateFromAny(mapper.writeValueAsString(UUID.randomUUID()));
computationServerStubs.stubParametersDuplicateFromAny(mapper.writeValueAsString(UUID.randomUUID()));
UUID stubSpreadsheetConfigDuplicateFromId = wireMockStubs.stubSpreadsheetConfigDuplicateFromAny(mapper.writeValueAsString(UUID.randomUUID()));
UUID stubNetworkVisualizationParamsDuplicateFromId = wireMockStubs.stubNetworkVisualizationParamsDuplicateFromAny(DUPLICATED_NETWORK_VISUALIZATION_PARAMS_JSON);
UUID stubWorkspacesConfigDuplicateFromId = wireMockStubs.stubWorkspacesConfigDuplicateFromAny(mapper.writeValueAsString(UUID.randomUUID()));
Expand Down Expand Up @@ -1336,7 +1336,7 @@ void providerTest() throws Exception {
assertEquals(UPDATE_TYPE_COMPUTATION_PARAMETERS, message.getHeaders().get(NotificationService.HEADER_UPDATE_TYPE));
assertNotNull(output.receive(TIMEOUT, elementUpdateDestination));

wireMockStubs.verifyParametersProvider(stubParametersProviderId, 2);
computationServerStubs.verifyParametersProvider(stubParametersProviderId, 2);
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
import org.gridsuite.study.server.utils.SendInput;
import org.gridsuite.study.server.utils.TestUtils;
import org.gridsuite.study.server.utils.elasticsearch.DisableElasticsearch;
import org.gridsuite.study.server.utils.wiremock.ComputationServerStubs;
import org.gridsuite.study.server.utils.wiremock.WireMockStubs;
import org.json.JSONObject;
import org.junit.jupiter.api.AfterEach;
Expand Down Expand Up @@ -217,6 +218,8 @@ class StudyTestBase {

protected WireMockStubs wireMockStubs;

protected ComputationServerStubs computationServerStubs;

@Autowired
protected TestUtils studyTestUtils;

Expand Down Expand Up @@ -348,6 +351,7 @@ void setup() {

wireMockServer = new WireMockServer(wireMockConfig().dynamicPort().extensions(new SendInput(input)));
wireMockStubs = new WireMockStubs(wireMockServer);
computationServerStubs = new ComputationServerStubs(wireMockServer);

objectWriter = mapper.writer().withDefaultPrettyPrinter();

Expand Down Expand Up @@ -576,9 +580,9 @@ protected record DuplicateParameterStubs(UUID stubParametersDuplicateFromId,
UUID stubSpreadsheetConfigDuplicateFromId,
UUID stubNetworkVisualizationParamsDuplicateFromId,
UUID stubWorkspacesConfigDuplicateFromId) {
public void verify(WireMockStubs wireMockStubs, int parametersDuplicateFromNbRequests, int spreadsheetConfigDuplicateFromNbRequests, int networkVisualizationParamsDuplicateFromNbRequests, int workspacesConfigDuplicateFromNbRequests) {
public void verify(WireMockStubs wireMockStubs, ComputationServerStubs computationServerStubs, int parametersDuplicateFromNbRequests, int spreadsheetConfigDuplicateFromNbRequests, int networkVisualizationParamsDuplicateFromNbRequests, int workspacesConfigDuplicateFromNbRequests) {
if (stubParametersDuplicateFromId != null) {
wireMockStubs.verifyParametersDuplicateFromAny(stubParametersDuplicateFromId, parametersDuplicateFromNbRequests);
computationServerStubs.verifyParametersDuplicateFromAny(stubParametersDuplicateFromId, parametersDuplicateFromNbRequests);
}
if (stubSpreadsheetConfigDuplicateFromId != null) {
wireMockStubs.verifySpreadsheetConfigDuplicateFromAny(stubSpreadsheetConfigDuplicateFromId, spreadsheetConfigDuplicateFromNbRequests);
Expand All @@ -596,9 +600,9 @@ protected record DeleteStudyStubs(UUID stubDeleteParametersId, UUID stubDeleteRe
UUID stubDeleteNetworkVisualizationParamsId,
UUID stubDeleteSpreadsheetConfigCollectionId,
UUID stubDeleteWorkspacesConfigId) {
public void verify(WireMockStubs wireMockStubs, int deleteParametersNbRequests) {
public void verify(WireMockStubs wireMockStubs, ComputationServerStubs computationServerStubs, int deleteParametersNbRequests) {
wireMockStubs.verifyDeleteReports(stubDeleteReportsId, 2);
wireMockStubs.verifyDeleteParameters(stubDeleteParametersId, deleteParametersNbRequests);
computationServerStubs.verifyDeleteParameters(stubDeleteParametersId, deleteParametersNbRequests);
wireMockStubs.verifyDeleteNetworkVisualizationParams(stubDeleteNetworkVisualizationParamsId);
wireMockStubs.verifyDeleteSpreadsheetConfigCollection(stubDeleteSpreadsheetConfigCollectionId);
wireMockStubs.verifyDeleteWorkspacesConfig(stubDeleteWorkspacesConfigId);
Expand All @@ -615,23 +619,23 @@ protected CreateStudyStubs setupCreateStudyStubs(String userId, String userProfi
}

protected void setupCreateParametersStubs() throws Exception {
wireMockStubs.stubParameters(mapper.writeValueAsString(UUID.randomUUID()));
wireMockStubs.stubParametersDefault(mapper.writeValueAsString(UUID.randomUUID()));
computationServerStubs.stubCreateParameter(mapper.writeValueAsString(UUID.randomUUID()));
computationServerStubs.stubPostParametersDefault(mapper.writeValueAsString(UUID.randomUUID()));
wireMockStubs.stubSpreadsheetConfigDefault(mapper.writeValueAsString(UUID.randomUUID()));
wireMockStubs.stubNetworkVisualizationParamsDefault(StudyTest.DUPLICATED_NETWORK_VISUALIZATION_PARAMS_JSON);
wireMockStubs.stubWorkspacesConfigDefault(mapper.writeValueAsString(UUID.randomUUID()));
}

protected void verifyCreateParameters(int createParametersNbRequests, int parametersDefaultNbRequests, int spreadsheetConfigDefaultNbRequests, int networkVisualizationParamsDefaultNbRequests, int workspacesConfigDefaultNbRequests) {
wireMockStubs.computationServer.verifyParameters(createParametersNbRequests);
wireMockStubs.computationServer.verifyParametersDefault(parametersDefaultNbRequests);
computationServerStubs.verifyParameters(createParametersNbRequests);
computationServerStubs.verifyParametersDefault(parametersDefaultNbRequests);
wireMockStubs.verifySpreadsheetConfigDefault(spreadsheetConfigDefaultNbRequests);
wireMockStubs.verifyNetworkVisualizationParamsDefault(networkVisualizationParamsDefaultNbRequests);
wireMockStubs.verifyWorkspacesConfigDefault(workspacesConfigDefaultNbRequests);
}

protected DuplicateParameterStubs setupDuplicateParametersStubs() throws Exception {
UUID stubParametersDuplicateFromId = wireMockStubs.stubParametersDuplicateFromAny(mapper.writeValueAsString(UUID.randomUUID()));
UUID stubParametersDuplicateFromId = computationServerStubs.stubParametersDuplicateFromAny(mapper.writeValueAsString(UUID.randomUUID()));
UUID stubSpreadsheetConfigDuplicateFromId = wireMockStubs.stubSpreadsheetConfigDuplicateFromAny(mapper.writeValueAsString(UUID.randomUUID()));
UUID stubNetworkVisualizationParamsDuplicateFromId = wireMockStubs.stubNetworkVisualizationParamsDuplicateFromAny(StudyTest.DUPLICATED_NETWORK_VISUALIZATION_PARAMS_JSON);
UUID stubWorkspacesConfigDuplicateFromId = wireMockStubs.stubWorkspacesConfigDuplicateFromAny(mapper.writeValueAsString(UUID.randomUUID()));
Expand Down
Loading