From a27b48a37cad0f20c781916574a974dddc1dc531 Mon Sep 17 00:00:00 2001 From: BOUHOURS Antoine Date: Tue, 27 Jan 2026 16:46:39 +0100 Subject: [PATCH 1/2] Split network conversion service --- .../commons/steps/LoadNetworkStep.java | 2 +- .../adapter}/NetworkConversionService.java | 15 +++----- .../external/client/CaseRestClient.java | 33 ++++++++++++++++ .../commons/steps/LoadNetworkStepTest.java | 2 +- .../NetworkConversionServiceTest.java | 38 +++++++++++++------ .../external/client/CaseRestClientTest.java | 35 +++++++++++++++++ 6 files changed, 102 insertions(+), 23 deletions(-) rename monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/{ => external/adapter}/NetworkConversionService.java (68%) create mode 100644 monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/external/client/CaseRestClient.java rename monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/{ => external/adapter}/NetworkConversionServiceTest.java (64%) create mode 100644 monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/external/client/CaseRestClientTest.java diff --git a/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/processes/commons/steps/LoadNetworkStep.java b/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/processes/commons/steps/LoadNetworkStep.java index 0f8e06d..95609d5 100644 --- a/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/processes/commons/steps/LoadNetworkStep.java +++ b/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/processes/commons/steps/LoadNetworkStep.java @@ -11,7 +11,7 @@ import org.gridsuite.monitor.commons.ProcessConfig; import org.gridsuite.monitor.worker.server.core.AbstractProcessStep; import org.gridsuite.monitor.worker.server.core.ProcessStepExecutionContext; -import org.gridsuite.monitor.worker.server.services.NetworkConversionService; +import org.gridsuite.monitor.worker.server.services.external.adapter.NetworkConversionService; import org.springframework.stereotype.Component; import java.util.UUID; diff --git a/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/NetworkConversionService.java b/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/external/adapter/NetworkConversionService.java similarity index 68% rename from monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/NetworkConversionService.java rename to monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/external/adapter/NetworkConversionService.java index 8f398e1..81352b3 100644 --- a/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/NetworkConversionService.java +++ b/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/external/adapter/NetworkConversionService.java @@ -4,7 +4,7 @@ * 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.monitor.worker.server.services; +package org.gridsuite.monitor.worker.server.services.external.adapter; import com.powsybl.cases.datasource.CaseDataSourceClient; import com.powsybl.commons.PowsyblException; @@ -13,12 +13,10 @@ import com.powsybl.iidm.network.Importer; import com.powsybl.iidm.network.Network; import com.powsybl.iidm.network.NetworkFactory; +import org.gridsuite.monitor.worker.server.services.external.client.CaseRestClient; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.boot.web.client.RestTemplateBuilder; import org.springframework.stereotype.Service; -import org.springframework.web.client.RestTemplate; import java.util.Properties; import java.util.UUID; @@ -30,17 +28,16 @@ public class NetworkConversionService { private static final Logger LOGGER = LoggerFactory.getLogger(NetworkConversionService.class); - private final RestTemplate caseServerRest; + private final CaseRestClient caseRestClient; - public NetworkConversionService(@Value("${powsybl.services.case-server.base-uri:http://case-server/}") String caseServerBaseUri, - RestTemplateBuilder restTemplateBuilder) { - this.caseServerRest = restTemplateBuilder.rootUri(caseServerBaseUri).build(); + public NetworkConversionService(CaseRestClient caseRestClient) { + this.caseRestClient = caseRestClient; } public Network createNetwork(UUID caseUuid, ReportNode reporter) { LOGGER.info("Creating network"); - CaseDataSourceClient dataSource = new CaseDataSourceClient(caseServerRest, caseUuid); + CaseDataSourceClient dataSource = caseRestClient.getCaseDataSource(caseUuid); Importer importer = Importer.find(dataSource, LocalComputationManager.getDefault()); if (importer == null) { diff --git a/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/external/client/CaseRestClient.java b/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/external/client/CaseRestClient.java new file mode 100644 index 0000000..cc3f155 --- /dev/null +++ b/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/external/client/CaseRestClient.java @@ -0,0 +1,33 @@ +/** + * Copyright (c) 2026, RTE (http://www.rte-france.com) + * This Source Code Form is subject to the terms of the Mozilla Public + * 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.monitor.worker.server.services.external.client; + +import com.powsybl.cases.datasource.CaseDataSourceClient; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.web.client.RestTemplateBuilder; +import org.springframework.stereotype.Service; +import org.springframework.web.client.RestTemplate; + +import java.util.UUID; + +/** + * @author Antoine Bouhours + */ +@Service +public class CaseRestClient { + + private final RestTemplate caseServerRest; + + public CaseRestClient(@Value("${powsybl.services.case-server.base-uri:http://case-server/}") String caseServerBaseUri, + RestTemplateBuilder restTemplateBuilder) { + this.caseServerRest = restTemplateBuilder.rootUri(caseServerBaseUri).build(); + } + + public CaseDataSourceClient getCaseDataSource(UUID caseUuid) { + return new CaseDataSourceClient(caseServerRest, caseUuid); + } +} diff --git a/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/processes/commons/steps/LoadNetworkStepTest.java b/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/processes/commons/steps/LoadNetworkStepTest.java index 607f333..89d7209 100644 --- a/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/processes/commons/steps/LoadNetworkStepTest.java +++ b/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/processes/commons/steps/LoadNetworkStepTest.java @@ -12,7 +12,7 @@ import org.gridsuite.monitor.commons.ProcessConfig; import org.gridsuite.monitor.worker.server.core.ProcessStepExecutionContext; import org.gridsuite.monitor.worker.server.dto.ReportInfos; -import org.gridsuite.monitor.worker.server.services.NetworkConversionService; +import org.gridsuite.monitor.worker.server.services.external.adapter.NetworkConversionService; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; diff --git a/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/NetworkConversionServiceTest.java b/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/external/adapter/NetworkConversionServiceTest.java similarity index 64% rename from monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/NetworkConversionServiceTest.java rename to monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/external/adapter/NetworkConversionServiceTest.java index 40449f3..616c837 100644 --- a/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/NetworkConversionServiceTest.java +++ b/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/external/adapter/NetworkConversionServiceTest.java @@ -4,7 +4,7 @@ * 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.monitor.worker.server.services; +package org.gridsuite.monitor.worker.server.services.external.adapter; import com.powsybl.cases.datasource.CaseDataSourceClient; import com.powsybl.commons.PowsyblException; @@ -13,12 +13,14 @@ import com.powsybl.iidm.network.Importer; import com.powsybl.iidm.network.Network; import com.powsybl.iidm.network.NetworkFactory; +import org.gridsuite.monitor.worker.server.services.external.client.CaseRestClient; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.MockedStatic; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.client.RestClientTest; +import org.mockito.junit.jupiter.MockitoExtension; import java.util.Properties; import java.util.UUID; @@ -31,10 +33,14 @@ /** * @author Antoine Bouhours */ -@RestClientTest(NetworkConversionService.class) +@ExtendWith(MockitoExtension.class) class NetworkConversionServiceTest { - @Autowired - private NetworkConversionService service; + + @Mock + private CaseRestClient caseRestClient; + + @Mock + private CaseDataSourceClient caseDataSourceClient; @Mock private Importer importer; @@ -45,6 +51,9 @@ class NetworkConversionServiceTest { @Mock private ReportNode reportNode; + @InjectMocks + private NetworkConversionService networkConversionService; + private UUID caseUuid; @BeforeEach @@ -54,21 +63,24 @@ void setUp() { @Test void createNetworkShouldImportNetworkWhenImporterFound() { + when(caseRestClient.getCaseDataSource(caseUuid)).thenReturn(caseDataSourceClient); + try (MockedStatic importerMock = mockStatic(Importer.class)) { - importerMock.when(() -> Importer.find(any(CaseDataSourceClient.class), any())) + importerMock.when(() -> Importer.find(eq(caseDataSourceClient), any())) .thenReturn(importer); when(importer.importData( - any(CaseDataSourceClient.class), + eq(caseDataSourceClient), any(NetworkFactory.class), any(Properties.class), eq(reportNode) )).thenReturn(network); - Network result = service.createNetwork(caseUuid, reportNode); + Network result = networkConversionService.createNetwork(caseUuid, reportNode); assertThat(result).isSameAs(network); + verify(caseRestClient).getCaseDataSource(caseUuid); verify(importer).importData( - any(CaseDataSourceClient.class), + eq(caseDataSourceClient), any(NetworkFactory.class), any(Properties.class), eq(reportNode) @@ -78,10 +90,12 @@ void createNetworkShouldImportNetworkWhenImporterFound() { @Test void createNetworkShouldThrowExceptionWhenNoImporterFound() { + when(caseRestClient.getCaseDataSource(caseUuid)).thenReturn(caseDataSourceClient); + try (MockedStatic importerMock = mockStatic(Importer.class)) { - importerMock.when(() -> Importer.find(any(CaseDataSourceClient.class), any(ComputationManager.class))).thenReturn(null); + importerMock.when(() -> Importer.find(eq(caseDataSourceClient), any(ComputationManager.class))).thenReturn(null); - assertThatThrownBy(() -> service.createNetwork(caseUuid, reportNode)) + assertThatThrownBy(() -> networkConversionService.createNetwork(caseUuid, reportNode)) .isInstanceOf(PowsyblException.class) .hasMessage("No importer found"); } diff --git a/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/external/client/CaseRestClientTest.java b/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/external/client/CaseRestClientTest.java new file mode 100644 index 0000000..1a1212f --- /dev/null +++ b/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/external/client/CaseRestClientTest.java @@ -0,0 +1,35 @@ +/** + * Copyright (c) 2026, RTE (http://www.rte-france.com) + * This Source Code Form is subject to the terms of the Mozilla Public + * 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.monitor.worker.server.services.external.client; + +import com.powsybl.cases.datasource.CaseDataSourceClient; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.web.client.RestClientTest; + +import java.util.UUID; + +import static org.assertj.core.api.Assertions.assertThat; + +/** + * @author Antoine Bouhours + */ +@RestClientTest(CaseRestClient.class) +class CaseRestClientTest { + + @Autowired + private CaseRestClient caseRestClient; + + @Test + void getCaseDataSourceShouldReturnCaseDataSourceClient() { + UUID caseUuid = UUID.randomUUID(); + + CaseDataSourceClient result = caseRestClient.getCaseDataSource(caseUuid); + + assertThat(result).isNotNull().isInstanceOf(CaseDataSourceClient.class); + } +} From 9b47571c79ed372ce97a4e58d6dfff0a588abdec Mon Sep 17 00:00:00 2001 From: Radouane Khouadri Date: Fri, 6 Feb 2026 12:56:07 +0100 Subject: [PATCH 2/2] [GRD-3891] organize monitor-worker-server services --- .../worker/server/core/AbstractProcess.java | 2 +- .../commons/steps/ApplyModificationsStep.java | 14 ++--- .../SecurityAnalysisProcess.java | 2 +- .../SecurityAnalysisRunComputationStep.java | 10 ++-- .../{ => external/adapter}/FilterService.java | 12 +++-- .../adapter}/NetworkModificationService.java | 3 +- .../client/FilterRestClient.java} | 9 ++-- .../NetworkModificationRestClient.java} | 9 ++-- .../client/ReportRestClient.java} | 11 ++-- .../client/SecurityAnalysisRestClient.java} | 15 ++++-- .../ProcessExecutionService.java | 21 ++------ .../{ => internal}/StepExecutionService.java | 9 ++-- .../{ => messaging}/ConsumerService.java | 4 +- .../{ => messaging}/NotificationService.java | 3 +- .../worker/server/core/ProcessTest.java | 2 +- .../steps/ApplyModificationsStepTest.java | 14 ++--- .../SecurityAnalysisProcessTest.java | 2 +- ...ecurityAnalysisRunComputationStepTest.java | 8 +-- .../adapter}/FilterServiceTest.java | 2 +- .../NetworkModificationServiceTest.java | 2 +- .../client/FilterRestClientTest.java} | 12 ++--- .../NetworkModificationRestClientTest.java} | 47 +++++++++-------- .../client/ReportRestClientTest.java} | 14 ++--- .../SecurityAnalysisRestClientTest.java} | 14 ++--- .../ProcessExecutionServiceTest.java | 51 +------------------ .../StepExecutionServiceTest.java | 14 ++--- .../{ => messaging}/ConsumerServiceTest.java | 3 +- .../NotificationServiceTest.java | 2 +- 28 files changed, 136 insertions(+), 175 deletions(-) rename monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/{ => external/adapter}/FilterService.java (81%) rename monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/{ => external/adapter}/NetworkModificationService.java (95%) rename monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/{FilterRestService.java => external/client/FilterRestClient.java} (84%) rename monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/{NetworkModificationRestService.java => external/client/NetworkModificationRestClient.java} (83%) rename monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/{ReportService.java => external/client/ReportRestClient.java} (85%) rename monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/{SecurityAnalysisService.java => external/client/SecurityAnalysisRestClient.java} (80%) rename monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/{ => internal}/ProcessExecutionService.java (75%) rename monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/{ => internal}/StepExecutionService.java (88%) rename monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/{ => messaging}/ConsumerService.java (84%) rename monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/{ => messaging}/NotificationService.java (96%) rename monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/{ => external/adapter}/FilterServiceTest.java (98%) rename monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/{ => external/adapter}/NetworkModificationServiceTest.java (98%) rename monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/{FilterRestServiceTest.java => external/client/FilterRestClientTest.java} (91%) rename monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/{NetworkModificationRestServiceTest.java => external/client/NetworkModificationRestClientTest.java} (62%) rename monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/{ReportServiceTest.java => external/client/ReportRestClientTest.java} (88%) rename monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/{SecurityAnalysisServiceTest.java => external/client/SecurityAnalysisRestClientTest.java} (85%) rename monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/{ => internal}/ProcessExecutionServiceTest.java (69%) rename monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/{ => internal}/StepExecutionServiceTest.java (92%) rename monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/{ => messaging}/ConsumerServiceTest.java (91%) rename monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/{ => messaging}/NotificationServiceTest.java (98%) diff --git a/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/core/AbstractProcess.java b/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/core/AbstractProcess.java index 9b1a719..6092be2 100644 --- a/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/core/AbstractProcess.java +++ b/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/core/AbstractProcess.java @@ -9,7 +9,7 @@ import lombok.Getter; import org.gridsuite.monitor.commons.ProcessConfig; import org.gridsuite.monitor.commons.ProcessType; -import org.gridsuite.monitor.worker.server.services.StepExecutionService; +import org.gridsuite.monitor.worker.server.services.internal.StepExecutionService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/processes/commons/steps/ApplyModificationsStep.java b/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/processes/commons/steps/ApplyModificationsStep.java index 8c09d9a..8cf1276 100644 --- a/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/processes/commons/steps/ApplyModificationsStep.java +++ b/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/processes/commons/steps/ApplyModificationsStep.java @@ -13,9 +13,9 @@ import org.gridsuite.monitor.commons.ProcessConfig; import org.gridsuite.monitor.worker.server.core.AbstractProcessStep; import org.gridsuite.monitor.worker.server.core.ProcessStepExecutionContext; -import org.gridsuite.monitor.worker.server.services.FilterService; -import org.gridsuite.monitor.worker.server.services.NetworkModificationRestService; -import org.gridsuite.monitor.worker.server.services.NetworkModificationService; +import org.gridsuite.monitor.worker.server.services.external.adapter.FilterService; +import org.gridsuite.monitor.worker.server.services.external.client.NetworkModificationRestClient; +import org.gridsuite.monitor.worker.server.services.external.adapter.NetworkModificationService; import org.springframework.stereotype.Component; import java.util.List; @@ -28,15 +28,15 @@ public class ApplyModificationsStep extends AbstractProcessStep { private final NetworkModificationService networkModificationService; - private final NetworkModificationRestService networkModificationRestService; + private final NetworkModificationRestClient networkModificationRestClient; private final FilterService filterService; - public ApplyModificationsStep(NetworkModificationService networkModificationService, NetworkModificationRestService networkModificationRestService, + public ApplyModificationsStep(NetworkModificationService networkModificationService, NetworkModificationRestClient networkModificationRestClient, FilterService filterService) { super(CommonStepType.APPLY_MODIFICATIONS); this.networkModificationService = networkModificationService; - this.networkModificationRestService = networkModificationRestService; + this.networkModificationRestClient = networkModificationRestClient; this.filterService = filterService; } @@ -50,7 +50,7 @@ public void execute(ProcessStepExecutionContext context) { } private void applyModifications(List modificationIds, Network network, ReportNode reportNode) { - List modificationInfos = networkModificationRestService.getModifications(modificationIds); + List modificationInfos = networkModificationRestClient.getModifications(modificationIds); networkModificationService.applyModifications(network, modificationInfos, reportNode, filterService); } } diff --git a/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/processes/securityanalysis/SecurityAnalysisProcess.java b/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/processes/securityanalysis/SecurityAnalysisProcess.java index 0e80ed7..9f6a813 100644 --- a/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/processes/securityanalysis/SecurityAnalysisProcess.java +++ b/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/processes/securityanalysis/SecurityAnalysisProcess.java @@ -13,7 +13,7 @@ import org.gridsuite.monitor.worker.server.processes.commons.steps.ApplyModificationsStep; import org.gridsuite.monitor.worker.server.processes.commons.steps.LoadNetworkStep; import org.gridsuite.monitor.worker.server.processes.securityanalysis.steps.SecurityAnalysisRunComputationStep; -import org.gridsuite.monitor.worker.server.services.StepExecutionService; +import org.gridsuite.monitor.worker.server.services.internal.StepExecutionService; import org.springframework.stereotype.Component; import java.util.List; diff --git a/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/processes/securityanalysis/steps/SecurityAnalysisRunComputationStep.java b/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/processes/securityanalysis/steps/SecurityAnalysisRunComputationStep.java index 6b64466..e9ac412 100644 --- a/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/processes/securityanalysis/steps/SecurityAnalysisRunComputationStep.java +++ b/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/processes/securityanalysis/steps/SecurityAnalysisRunComputationStep.java @@ -17,7 +17,7 @@ import org.gridsuite.monitor.worker.server.core.AbstractProcessStep; import org.gridsuite.monitor.worker.server.core.ProcessStepExecutionContext; import org.gridsuite.monitor.worker.server.processes.securityanalysis.SecurityAnalysisStepType; -import org.gridsuite.monitor.worker.server.services.SecurityAnalysisService; +import org.gridsuite.monitor.worker.server.services.external.client.SecurityAnalysisRestClient; import org.springframework.stereotype.Component; import java.util.List; @@ -30,11 +30,11 @@ @Component public class SecurityAnalysisRunComputationStep extends AbstractProcessStep { - private final SecurityAnalysisService securityAnalysisService; + private final SecurityAnalysisRestClient securityAnalysisRestClient; - public SecurityAnalysisRunComputationStep(SecurityAnalysisService securityAnalysisService) { + public SecurityAnalysisRunComputationStep(SecurityAnalysisRestClient securityAnalysisRestClient) { super(SecurityAnalysisStepType.RUN_SA_COMPUTATION); - this.securityAnalysisService = securityAnalysisService; + this.securityAnalysisRestClient = securityAnalysisRestClient; } @Override @@ -50,7 +50,7 @@ public void execute(ProcessStepExecutionContext context) SecurityAnalysisReport saReport = SecurityAnalysis.run(context.getNetwork(), contingencyList, runParameters); ResultInfos resultInfos = new ResultInfos(UUID.randomUUID(), ResultType.SECURITY_ANALYSIS); - securityAnalysisService.saveResult(resultInfos.resultUUID(), saReport.getResult()); + securityAnalysisRestClient.saveResult(resultInfos.resultUUID(), saReport.getResult()); context.setResultInfos(resultInfos); } } diff --git a/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/FilterService.java b/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/external/adapter/FilterService.java similarity index 81% rename from monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/FilterService.java rename to monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/external/adapter/FilterService.java index 1e941ec..2839aa4 100644 --- a/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/FilterService.java +++ b/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/external/adapter/FilterService.java @@ -3,8 +3,9 @@ * This Source Code Form is subject to the terms of the Mozilla Public * 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/. + * SPDX-License-Identifier: MPL-2.0 */ -package org.gridsuite.monitor.worker.server.services; +package org.gridsuite.monitor.worker.server.services.external.adapter; import com.powsybl.iidm.network.Network; import org.gridsuite.filter.AbstractFilter; @@ -12,6 +13,7 @@ import org.gridsuite.modification.IFilterService; import org.gridsuite.modification.dto.FilterEquipments; import org.gridsuite.modification.dto.IdentifiableAttributes; +import org.gridsuite.monitor.worker.server.services.external.client.FilterRestClient; import org.springframework.stereotype.Service; import java.util.ArrayList; @@ -27,14 +29,14 @@ */ @Service public class FilterService implements IFilterService { - private final FilterRestService filterRestService; + private final FilterRestClient filterRestClient; - public FilterService(FilterRestService filterRestService) { - this.filterRestService = filterRestService; + public FilterService(FilterRestClient filterRestClient) { + this.filterRestClient = filterRestClient; } public List getFilters(List filtersUuids) { - return filterRestService.getFilters(filtersUuids); + return filterRestClient.getFilters(filtersUuids); } public Stream exportFilters(List filtersUuids, Network network) { diff --git a/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/NetworkModificationService.java b/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/external/adapter/NetworkModificationService.java similarity index 95% rename from monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/NetworkModificationService.java rename to monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/external/adapter/NetworkModificationService.java index 4be5f3c..3b2f93e 100644 --- a/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/NetworkModificationService.java +++ b/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/external/adapter/NetworkModificationService.java @@ -3,9 +3,10 @@ * This Source Code Form is subject to the terms of the Mozilla Public * 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/. + * SPDX-License-Identifier: MPL-2.0 */ -package org.gridsuite.monitor.worker.server.services; +package org.gridsuite.monitor.worker.server.services.external.adapter; import com.powsybl.commons.PowsyblException; import com.powsybl.commons.report.ReportNode; diff --git a/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/FilterRestService.java b/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/external/client/FilterRestClient.java similarity index 84% rename from monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/FilterRestService.java rename to monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/external/client/FilterRestClient.java index 2c6be83..489eb6c 100644 --- a/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/FilterRestService.java +++ b/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/external/client/FilterRestClient.java @@ -3,8 +3,9 @@ * This Source Code Form is subject to the terms of the Mozilla Public * 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/. + * SPDX-License-Identifier: MPL-2.0 */ -package org.gridsuite.monitor.worker.server.services; +package org.gridsuite.monitor.worker.server.services.external.client; import com.powsybl.commons.PowsyblException; import org.gridsuite.filter.AbstractFilter; @@ -24,7 +25,7 @@ * @author Franck Lecuyer */ @Service -public class FilterRestService { +public class FilterRestClient { private static final String FILTER_SERVER_API_VERSION = "v1"; private static final String DELIMITER = "/"; @@ -33,8 +34,8 @@ public class FilterRestService { private final RestTemplate restTemplate; - public FilterRestService(@Value("${gridsuite.services.filter-server.base-uri:http://filter-server/}") String filterServerBaseUri, - RestTemplateBuilder restTemplateBuilder) { + public FilterRestClient(@Value("${gridsuite.services.filter-server.base-uri:http://filter-server/}") String filterServerBaseUri, + RestTemplateBuilder restTemplateBuilder) { this.filterServerBaseUri = filterServerBaseUri; this.restTemplate = restTemplateBuilder.build(); } diff --git a/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/NetworkModificationRestService.java b/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/external/client/NetworkModificationRestClient.java similarity index 83% rename from monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/NetworkModificationRestService.java rename to monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/external/client/NetworkModificationRestClient.java index 33ff854..8b59071 100644 --- a/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/NetworkModificationRestService.java +++ b/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/external/client/NetworkModificationRestClient.java @@ -3,9 +3,10 @@ * This Source Code Form is subject to the terms of the Mozilla Public * 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/. + * SPDX-License-Identifier: MPL-2.0 */ -package org.gridsuite.monitor.worker.server.services; +package org.gridsuite.monitor.worker.server.services.external.client; import org.apache.commons.collections4.CollectionUtils; import org.gridsuite.modification.dto.ModificationInfos; @@ -23,15 +24,15 @@ * @author Franck Lecuyer */ @Service -public class NetworkModificationRestService { +public class NetworkModificationRestClient { private static final String NETWORK_MODIFICATION_SERVER_API_VERSION = "v1"; private static final String DELIMITER = "/"; private final RestTemplate networkModificationServerRest; private final String networkModificationServerBaseUri; - public NetworkModificationRestService(@Value("${gridsuite.services.network-modification-server.base-uri:http://network-modification-server/}") String networkModificationServerBaseUri, - RestTemplateBuilder restTemplateBuilder) { + public NetworkModificationRestClient(@Value("${gridsuite.services.network-modification-server.base-uri:http://network-modification-server/}") String networkModificationServerBaseUri, + RestTemplateBuilder restTemplateBuilder) { this.networkModificationServerRest = restTemplateBuilder.build(); this.networkModificationServerBaseUri = networkModificationServerBaseUri; } diff --git a/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/ReportService.java b/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/external/client/ReportRestClient.java similarity index 85% rename from monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/ReportService.java rename to monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/external/client/ReportRestClient.java index 8bbeb85..a12276a 100644 --- a/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/ReportService.java +++ b/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/external/client/ReportRestClient.java @@ -3,8 +3,9 @@ * This Source Code Form is subject to the terms of the Mozilla Public * 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/. + * SPDX-License-Identifier: MPL-2.0 */ -package org.gridsuite.monitor.worker.server.services; +package org.gridsuite.monitor.worker.server.services.external.client; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; @@ -28,7 +29,7 @@ * @author Antoine Bouhours */ @Service -public class ReportService { +public class ReportRestClient { static final String REPORT_API_VERSION = "v1"; private static final String DELIMITER = "/"; @@ -39,9 +40,9 @@ public class ReportService { private final ObjectMapper objectMapper; - public ReportService(ObjectMapper objectMapper, - @Value("${gridsuite.services.report-server.base-uri:http://report-server/}") String reportServerBaseUri, - RestTemplateBuilder restTemplateBuilder) { + public ReportRestClient(ObjectMapper objectMapper, + @Value("${gridsuite.services.report-server.base-uri:http://report-server/}") String reportServerBaseUri, + RestTemplateBuilder restTemplateBuilder) { this.reportServerBaseUri = reportServerBaseUri; this.objectMapper = objectMapper; this.restTemplate = restTemplateBuilder.build(); diff --git a/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/SecurityAnalysisService.java b/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/external/client/SecurityAnalysisRestClient.java similarity index 80% rename from monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/SecurityAnalysisService.java rename to monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/external/client/SecurityAnalysisRestClient.java index c4344fb..1f69f67 100644 --- a/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/SecurityAnalysisService.java +++ b/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/external/client/SecurityAnalysisRestClient.java @@ -1,4 +1,11 @@ -package org.gridsuite.monitor.worker.server.services; +/** + * Copyright (c) 2026, RTE (http://www.rte-france.com) + * This Source Code Form is subject to the terms of the Mozilla Public + * 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/. + * SPDX-License-Identifier: MPL-2.0 + */ +package org.gridsuite.monitor.worker.server.services.external.client; import com.powsybl.security.SecurityAnalysisResult; import lombok.Setter; @@ -18,8 +25,8 @@ import java.util.UUID; @Service -public class SecurityAnalysisService { - private static final Logger LOGGER = LoggerFactory.getLogger(SecurityAnalysisService.class); +public class SecurityAnalysisRestClient { + private static final Logger LOGGER = LoggerFactory.getLogger(SecurityAnalysisRestClient.class); static final String SA_API_VERSION = "v1"; private static final String DELIMITER = "/"; @@ -32,7 +39,7 @@ private String getSecurityAnalysisServerBaseUri() { return this.securityAnalysisServerBaseUri + DELIMITER + SA_API_VERSION + DELIMITER; } - public SecurityAnalysisService( + public SecurityAnalysisRestClient( RestTemplateBuilder restTemplateBuilder, @Value("${gridsuite.services.security-analysis-server.base-uri:http://security-analysis-server/}") String securityAnalysisServerBaseUri) { this.securityAnalysisServerBaseUri = securityAnalysisServerBaseUri; diff --git a/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/ProcessExecutionService.java b/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/internal/ProcessExecutionService.java similarity index 75% rename from monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/ProcessExecutionService.java rename to monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/internal/ProcessExecutionService.java index 38b8c78..d8b462c 100644 --- a/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/ProcessExecutionService.java +++ b/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/internal/ProcessExecutionService.java @@ -3,19 +3,18 @@ * This Source Code Form is subject to the terms of the Mozilla Public * 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/. + * SPDX-License-Identifier: MPL-2.0 */ -package org.gridsuite.monitor.worker.server.services; +package org.gridsuite.monitor.worker.server.services.internal; import org.gridsuite.monitor.commons.ProcessConfig; import org.gridsuite.monitor.commons.ProcessExecutionStatusUpdate; -import org.gridsuite.monitor.commons.ProcessExecutionStep; import org.gridsuite.monitor.commons.ProcessRunMessage; import org.gridsuite.monitor.commons.ProcessStatus; import org.gridsuite.monitor.commons.ProcessType; -import org.gridsuite.monitor.commons.StepStatus; import org.gridsuite.monitor.worker.server.core.Process; import org.gridsuite.monitor.worker.server.core.ProcessExecutionContext; -import org.gridsuite.monitor.worker.server.core.ProcessStep; +import org.gridsuite.monitor.worker.server.services.messaging.NotificationService; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -24,7 +23,6 @@ import java.util.Map; import java.util.UUID; import java.util.stream.Collectors; -import java.util.stream.IntStream; /** * @author Antoine Bouhours @@ -59,19 +57,9 @@ public void executeProcess(ProcessRunMessage runMes executionEnvName ); - try { - List> steps = process.defineSteps(); - notificationService.updateStepsStatuses(context.getExecutionId(), - IntStream.range(0, steps.size()) - .mapToObj(i -> new ProcessExecutionStep(steps.get(i).getId(), steps.get(i).getType().getName(), i, StepStatus.SCHEDULED, null, null, null, null, null)) - .toList()); - } catch (Exception e) { - updateExecutionStatus(context.getExecutionId(), context.getExecutionEnvName(), ProcessStatus.FAILED); - throw e; - } + updateExecutionStatus(context.getExecutionId(), context.getExecutionEnvName(), ProcessStatus.RUNNING); try { - updateExecutionStatus(context.getExecutionId(), context.getExecutionEnvName(), ProcessStatus.RUNNING); process.execute(context); updateExecutionStatus(context.getExecutionId(), context.getExecutionEnvName(), ProcessStatus.COMPLETED); } catch (Exception e) { @@ -84,7 +72,6 @@ private void updateExecutionStatus(UUID executionId, String envName, ProcessStat ProcessExecutionStatusUpdate processExecutionStatusUpdate = new ProcessExecutionStatusUpdate( status, envName, - status == ProcessStatus.RUNNING ? Instant.now() : null, status == ProcessStatus.COMPLETED || status == ProcessStatus.FAILED ? Instant.now() : null ); diff --git a/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/StepExecutionService.java b/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/internal/StepExecutionService.java similarity index 88% rename from monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/StepExecutionService.java rename to monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/internal/StepExecutionService.java index 0d57ffe..ddda402 100644 --- a/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/StepExecutionService.java +++ b/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/internal/StepExecutionService.java @@ -3,8 +3,9 @@ * This Source Code Form is subject to the terms of the Mozilla Public * 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/. + * SPDX-License-Identifier: MPL-2.0 */ -package org.gridsuite.monitor.worker.server.services; +package org.gridsuite.monitor.worker.server.services.internal; import lombok.RequiredArgsConstructor; import org.gridsuite.monitor.commons.ProcessConfig; @@ -12,6 +13,8 @@ import org.gridsuite.monitor.commons.StepStatus; import org.gridsuite.monitor.worker.server.core.ProcessStep; import org.gridsuite.monitor.worker.server.core.ProcessStepExecutionContext; +import org.gridsuite.monitor.worker.server.services.external.client.ReportRestClient; +import org.gridsuite.monitor.worker.server.services.messaging.NotificationService; import org.springframework.stereotype.Service; import java.time.Instant; @@ -24,7 +27,7 @@ public class StepExecutionService { private final NotificationService notificationService; - private final ReportService reportService; + private final ReportRestClient reportRestClient; public void skipStep(ProcessStepExecutionContext context, ProcessStep step) { ProcessExecutionStep executionStep = new ProcessExecutionStep( @@ -57,7 +60,7 @@ public void executeStep(ProcessStepExecutionContext context, ProcessStep s try { step.execute(context); - reportService.sendReport(context.getReportInfos()); + reportRestClient.sendReport(context.getReportInfos()); updateStepStatus(context, StepStatus.COMPLETED, step); } catch (Exception e) { updateStepStatus(context, StepStatus.FAILED, step); diff --git a/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/ConsumerService.java b/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/messaging/ConsumerService.java similarity index 84% rename from monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/ConsumerService.java rename to monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/messaging/ConsumerService.java index c13f453..9f1da95 100644 --- a/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/ConsumerService.java +++ b/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/messaging/ConsumerService.java @@ -3,12 +3,14 @@ * This Source Code Form is subject to the terms of the Mozilla Public * 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/. + * SPDX-License-Identifier: MPL-2.0 */ -package org.gridsuite.monitor.worker.server.services; +package org.gridsuite.monitor.worker.server.services.messaging; import lombok.RequiredArgsConstructor; import org.gridsuite.monitor.commons.ProcessConfig; import org.gridsuite.monitor.commons.ProcessRunMessage; +import org.gridsuite.monitor.worker.server.services.internal.ProcessExecutionService; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.messaging.Message; diff --git a/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/NotificationService.java b/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/messaging/NotificationService.java similarity index 96% rename from monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/NotificationService.java rename to monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/messaging/NotificationService.java index 61b6c6e..da44456 100644 --- a/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/NotificationService.java +++ b/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/messaging/NotificationService.java @@ -3,8 +3,9 @@ * This Source Code Form is subject to the terms of the Mozilla Public * 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/. + * SPDX-License-Identifier: MPL-2.0 */ -package org.gridsuite.monitor.worker.server.services; +package org.gridsuite.monitor.worker.server.services.messaging; import org.gridsuite.monitor.commons.MessageType; import org.gridsuite.monitor.commons.ProcessExecutionStatusUpdate; diff --git a/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/core/ProcessTest.java b/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/core/ProcessTest.java index cfb5b9e..fc1be84 100644 --- a/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/core/ProcessTest.java +++ b/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/core/ProcessTest.java @@ -8,7 +8,7 @@ import org.gridsuite.monitor.commons.ProcessConfig; import org.gridsuite.monitor.commons.ProcessType; -import org.gridsuite.monitor.worker.server.services.StepExecutionService; +import org.gridsuite.monitor.worker.server.services.internal.StepExecutionService; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; diff --git a/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/processes/commons/steps/ApplyModificationsStepTest.java b/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/processes/commons/steps/ApplyModificationsStepTest.java index 1316d04..587e9a6 100644 --- a/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/processes/commons/steps/ApplyModificationsStepTest.java +++ b/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/processes/commons/steps/ApplyModificationsStepTest.java @@ -16,9 +16,9 @@ import org.gridsuite.monitor.commons.ProcessConfig; import org.gridsuite.monitor.worker.server.core.ProcessStepExecutionContext; import org.gridsuite.monitor.worker.server.dto.ReportInfos; -import org.gridsuite.monitor.worker.server.services.FilterService; -import org.gridsuite.monitor.worker.server.services.NetworkModificationRestService; -import org.gridsuite.monitor.worker.server.services.NetworkModificationService; +import org.gridsuite.monitor.worker.server.services.external.adapter.FilterService; +import org.gridsuite.monitor.worker.server.services.external.client.NetworkModificationRestClient; +import org.gridsuite.monitor.worker.server.services.external.adapter.NetworkModificationService; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -44,7 +44,7 @@ class ApplyModificationsStepTest { private NetworkModificationService networkModificationService; @Mock - private NetworkModificationRestService networkModificationRestService; + private NetworkModificationRestClient networkModificationRestClient; @Mock private FilterService filterService; @@ -62,7 +62,7 @@ class ApplyModificationsStepTest { @BeforeEach void setUp() { - applyModificationsStep = new ApplyModificationsStep<>(networkModificationService, networkModificationRestService, filterService); + applyModificationsStep = new ApplyModificationsStep<>(networkModificationService, networkModificationRestClient, filterService); when(config.modificationUuids()).thenReturn(List.of(MODIFICATION_UUID)); when(stepContext.getConfig()).thenReturn(config); ReportInfos reportInfos = new ReportInfos(REPORT_UUID, ReportNode.newRootReportNode() @@ -81,11 +81,11 @@ void executeApplyModifications() { Network network = EurostagTutorialExample1Factory.create(); when(stepContext.getNetwork()).thenReturn(network); - when(networkModificationRestService.getModifications(any(List.class))).thenReturn(modificationInfos); + when(networkModificationRestClient.getModifications(any(List.class))).thenReturn(modificationInfos); doNothing().when(networkModificationService).applyModifications(any(Network.class), any(List.class), any(ReportNode.class), any(FilterService.class)); applyModificationsStep.execute(stepContext); - verify(networkModificationRestService).getModifications(any(List.class)); + verify(networkModificationRestClient).getModifications(any(List.class)); verify(networkModificationService).applyModifications(any(Network.class), any(List.class), any(ReportNode.class), any(FilterService.class)); } } diff --git a/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/processes/securityanalysis/SecurityAnalysisProcessTest.java b/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/processes/securityanalysis/SecurityAnalysisProcessTest.java index e95f297..e420c38 100644 --- a/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/processes/securityanalysis/SecurityAnalysisProcessTest.java +++ b/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/processes/securityanalysis/SecurityAnalysisProcessTest.java @@ -12,7 +12,7 @@ import org.gridsuite.monitor.worker.server.processes.commons.steps.ApplyModificationsStep; import org.gridsuite.monitor.worker.server.processes.commons.steps.LoadNetworkStep; import org.gridsuite.monitor.worker.server.processes.securityanalysis.steps.SecurityAnalysisRunComputationStep; -import org.gridsuite.monitor.worker.server.services.StepExecutionService; +import org.gridsuite.monitor.worker.server.services.internal.StepExecutionService; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; diff --git a/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/processes/securityanalysis/steps/SecurityAnalysisRunComputationStepTest.java b/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/processes/securityanalysis/steps/SecurityAnalysisRunComputationStepTest.java index fd07eb3..7ab4af0 100644 --- a/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/processes/securityanalysis/steps/SecurityAnalysisRunComputationStepTest.java +++ b/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/processes/securityanalysis/steps/SecurityAnalysisRunComputationStepTest.java @@ -14,7 +14,7 @@ import org.gridsuite.monitor.commons.SecurityAnalysisConfig; import org.gridsuite.monitor.worker.server.core.ProcessStepExecutionContext; import org.gridsuite.monitor.worker.server.dto.ReportInfos; -import org.gridsuite.monitor.worker.server.services.SecurityAnalysisService; +import org.gridsuite.monitor.worker.server.services.external.client.SecurityAnalysisRestClient; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -37,7 +37,7 @@ class SecurityAnalysisRunComputationStepTest { @Mock - private SecurityAnalysisService securityAnalysisService; + private SecurityAnalysisRestClient securityAnalysisRestClient; @Mock private ProcessStepExecutionContext stepContext; @@ -52,7 +52,7 @@ class SecurityAnalysisRunComputationStepTest { @BeforeEach void setUp() { - runComputationStep = new SecurityAnalysisRunComputationStep(securityAnalysisService); + runComputationStep = new SecurityAnalysisRunComputationStep(securityAnalysisRestClient); when(stepContext.getConfig()).thenReturn(config); when(config.parametersUuid()).thenReturn(PARAMS_UUID); @@ -74,7 +74,7 @@ void executeRunSecurityAnalysis() { String stepType = runComputationStep.getType().getName(); assertEquals("RUN_SA_COMPUTATION", stepType); - verify(securityAnalysisService).saveResult( + verify(securityAnalysisRestClient).saveResult( any(UUID.class), any(SecurityAnalysisResult.class) ); diff --git a/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/FilterServiceTest.java b/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/external/adapter/FilterServiceTest.java similarity index 98% rename from monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/FilterServiceTest.java rename to monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/external/adapter/FilterServiceTest.java index aebf64a..abcd48a 100644 --- a/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/FilterServiceTest.java +++ b/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/external/adapter/FilterServiceTest.java @@ -4,7 +4,7 @@ * 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.monitor.worker.server.services; +package org.gridsuite.monitor.worker.server.services.external.adapter; import com.powsybl.iidm.network.IdentifiableType; import com.powsybl.iidm.network.Network; diff --git a/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/NetworkModificationServiceTest.java b/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/external/adapter/NetworkModificationServiceTest.java similarity index 98% rename from monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/NetworkModificationServiceTest.java rename to monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/external/adapter/NetworkModificationServiceTest.java index 173c3e5..95c86b1 100644 --- a/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/NetworkModificationServiceTest.java +++ b/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/external/adapter/NetworkModificationServiceTest.java @@ -4,7 +4,7 @@ * 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.monitor.worker.server.services; +package org.gridsuite.monitor.worker.server.services.external.adapter; import com.powsybl.commons.PowsyblException; import com.powsybl.commons.report.ReportNode; diff --git a/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/FilterRestServiceTest.java b/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/external/client/FilterRestClientTest.java similarity index 91% rename from monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/FilterRestServiceTest.java rename to monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/external/client/FilterRestClientTest.java index 81aaf4a..70af1c8 100644 --- a/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/FilterRestServiceTest.java +++ b/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/external/client/FilterRestClientTest.java @@ -4,7 +4,7 @@ * 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.monitor.worker.server.services; +package org.gridsuite.monitor.worker.server.services.external.client; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; @@ -43,10 +43,10 @@ /** * @author Franck Lecuyer */ -@RestClientTest(FilterRestService.class) -class FilterRestServiceTest { +@RestClientTest(FilterRestClient.class) +class FilterRestClientTest { @Autowired - private FilterRestService filterRestService; + private FilterRestClient filterRestClient; @Autowired private MockRestServiceServer server; @@ -83,7 +83,7 @@ void getFilters() throws JsonProcessingException { .contentType(MediaType.APPLICATION_JSON) .body(objectMapper.writeValueAsString(listFilters))); - List resultListFilters = filterRestService.getFilters(filterUuids); + List resultListFilters = filterRestClient.getFilters(filterUuids); assertThat(resultListFilters).usingRecursiveComparison().isEqualTo(listFilters); } @@ -94,7 +94,7 @@ void getFiltersNotFound() { .andRespond(MockRestResponseCreators.withServerError()); List filterUuids = List.of(FILTER_ERROR_UUID); - assertThatThrownBy(() -> filterRestService.getFilters(filterUuids)).isInstanceOf(PowsyblException.class) + assertThatThrownBy(() -> filterRestClient.getFilters(filterUuids)).isInstanceOf(PowsyblException.class) .hasMessage("Error retrieving filters"); } } diff --git a/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/NetworkModificationRestServiceTest.java b/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/external/client/NetworkModificationRestClientTest.java similarity index 62% rename from monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/NetworkModificationRestServiceTest.java rename to monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/external/client/NetworkModificationRestClientTest.java index c5de88d..8f6bddc 100644 --- a/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/NetworkModificationRestServiceTest.java +++ b/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/external/client/NetworkModificationRestClientTest.java @@ -4,7 +4,7 @@ * 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.monitor.worker.server.services; +package org.gridsuite.monitor.worker.server.services.external.client; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; @@ -23,6 +23,7 @@ import org.springframework.test.web.client.response.MockRestResponseCreators; import org.springframework.web.client.HttpServerErrorException; +import java.util.Arrays; import java.util.List; import java.util.UUID; @@ -32,10 +33,10 @@ /** * @author Franck Lecuyer */ -@RestClientTest(NetworkModificationRestService.class) -class NetworkModificationRestServiceTest { +@RestClientTest(NetworkModificationRestClient.class) +class NetworkModificationRestClientTest { @Autowired - private NetworkModificationRestService networkModificationRestService; + private NetworkModificationRestClient networkModificationRestClient; @Autowired private MockRestServiceServer server; @@ -54,39 +55,37 @@ void tearDown() { @Test void getModifications() { + UUID[] modificationUuids = {MODIFICATION_1_UUID, MODIFICATION_2_UUID}; + ModificationInfos modificationInfos1 = LoadModificationInfos.builder().equipmentId("load1").q0(new AttributeModification<>(300., OperationType.SET)).build(); ModificationInfos modificationInfos2 = LoadModificationInfos.builder().equipmentId("load2").q0(new AttributeModification<>(null, OperationType.UNSET)).build(); - List modificationInfos = List.of(modificationInfos1, modificationInfos2); - ModificationInfos[] modificationsArray = modificationInfos.toArray(ModificationInfos[]::new); + ModificationInfos[] modificationInfos = {modificationInfos1, modificationInfos2}; - try { - server.expect(MockRestRequestMatchers.method(HttpMethod.GET)) - .andExpect(MockRestRequestMatchers.requestTo("http://network-modification-server/v1/network-composite-modifications/network-modifications?uuids=" + MODIFICATION_1_UUID + "&uuids=" + MODIFICATION_2_UUID + "&onlyMetadata=false")) - .andRespond(MockRestResponseCreators.withSuccess() - .contentType(MediaType.APPLICATION_JSON) - .body(objectMapper.writeValueAsString(modificationsArray))); - } catch (JsonProcessingException e) { - throw new RuntimeException(e); + for (int i = 0; i < modificationUuids.length; i++) { + ModificationInfos[] modificationsArray = {modificationInfos[i]}; + try { + server.expect(MockRestRequestMatchers.method(HttpMethod.GET)) + .andExpect(MockRestRequestMatchers.requestTo("http://network-modification-server/v1/network-composite-modification/" + modificationUuids[i] + "/network-modifications?onlyMetadata=false")) + .andRespond(MockRestResponseCreators.withSuccess() + .contentType(MediaType.APPLICATION_JSON) + .body(objectMapper.writeValueAsString(modificationsArray))); + } catch (JsonProcessingException e) { + throw new RuntimeException(e); + } } - List resultListModifications = networkModificationRestService.getModifications(List.of(MODIFICATION_1_UUID, MODIFICATION_2_UUID)); - assertThat(resultListModifications).usingRecursiveComparison().isEqualTo(modificationInfos); + List resultListModifications = networkModificationRestClient.getModifications(Arrays.asList(modificationUuids)); + assertThat(resultListModifications).usingRecursiveComparison().isEqualTo(Arrays.asList(modificationInfos)); } @Test void getModificationsNotFound() { server.expect(MockRestRequestMatchers.method(HttpMethod.GET)) - .andExpect(MockRestRequestMatchers.requestTo("http://network-modification-server/v1/network-composite-modifications/network-modifications?uuids=" + MODIFICATION_ERROR_UUID + "&onlyMetadata=false")) + .andExpect(MockRestRequestMatchers.requestTo("http://network-modification-server/v1/network-composite-modification/" + MODIFICATION_ERROR_UUID + "/network-modifications?onlyMetadata=false")) .andRespond(MockRestResponseCreators.withServerError()); List modificationsUuids = List.of(MODIFICATION_ERROR_UUID); - assertThatThrownBy(() -> networkModificationRestService.getModifications(modificationsUuids)).isInstanceOf(HttpServerErrorException.InternalServerError.class); - } - - @Test - void getEmptyModifications() { - List resultListModifications = networkModificationRestService.getModifications(List.of()); - assertThat(resultListModifications).isEmpty(); + assertThatThrownBy(() -> networkModificationRestClient.getModifications(modificationsUuids)).isInstanceOf(HttpServerErrorException.InternalServerError.class); } } diff --git a/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/ReportServiceTest.java b/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/external/client/ReportRestClientTest.java similarity index 88% rename from monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/ReportServiceTest.java rename to monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/external/client/ReportRestClientTest.java index 7381184..3d77d3d 100644 --- a/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/ReportServiceTest.java +++ b/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/external/client/ReportRestClientTest.java @@ -4,7 +4,7 @@ * 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.monitor.worker.server.services; +package org.gridsuite.monitor.worker.server.services.external.client; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; @@ -31,15 +31,15 @@ /** * @author Antoine Bouhours */ -@RestClientTest(ReportService.class) -@ContextConfiguration(classes = {MonitorWorkerConfig.class, ReportService.class}) -class ReportServiceTest { +@RestClientTest(ReportRestClient.class) +@ContextConfiguration(classes = {MonitorWorkerConfig.class, ReportRestClient.class}) +class ReportRestClientTest { private static final UUID REPORT_UUID = UUID.randomUUID(); private static final UUID REPORT_ERROR_UUID = UUID.randomUUID(); @Autowired - private ReportService reportService; + private ReportRestClient reportRestClient; @Autowired private MockRestServiceServer server; @@ -67,7 +67,7 @@ void sendReport() throws JsonProcessingException { .andRespond(MockRestResponseCreators.withSuccess()); ReportInfos reportInfos = new ReportInfos(REPORT_UUID, reportNode); - assertThatNoException().isThrownBy(() -> reportService.sendReport(reportInfos)); + assertThatNoException().isThrownBy(() -> reportRestClient.sendReport(reportInfos)); } @Test @@ -82,6 +82,6 @@ void sendReportFailed() { .andRespond(MockRestResponseCreators.withServerError()); ReportInfos reportInfos = new ReportInfos(REPORT_ERROR_UUID, reportNode); - assertThatThrownBy(() -> reportService.sendReport(reportInfos)).isInstanceOf(RestClientException.class); + assertThatThrownBy(() -> reportRestClient.sendReport(reportInfos)).isInstanceOf(RestClientException.class); } } diff --git a/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/SecurityAnalysisServiceTest.java b/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/external/client/SecurityAnalysisRestClientTest.java similarity index 85% rename from monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/SecurityAnalysisServiceTest.java rename to monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/external/client/SecurityAnalysisRestClientTest.java index 0ee4988..fa99805 100644 --- a/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/SecurityAnalysisServiceTest.java +++ b/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/external/client/SecurityAnalysisRestClientTest.java @@ -1,4 +1,4 @@ -package org.gridsuite.monitor.worker.server.services; +package org.gridsuite.monitor.worker.server.services.external.client; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; @@ -24,13 +24,13 @@ /** * @author Kevin Le Saulnier */ -@RestClientTest(SecurityAnalysisService.class) -@ContextConfiguration(classes = {MonitorWorkerConfig.class, SecurityAnalysisService.class}) -class SecurityAnalysisServiceTest { +@RestClientTest(SecurityAnalysisRestClient.class) +@ContextConfiguration(classes = {MonitorWorkerConfig.class, SecurityAnalysisRestClient.class}) +class SecurityAnalysisRestClientTest { private static final UUID RESULT_UUID = UUID.randomUUID(); @Autowired - private SecurityAnalysisService securityAnalysisService; + private SecurityAnalysisRestClient securityAnalysisRestClient; @Autowired private MockRestServiceServer server; @@ -52,7 +52,7 @@ void saveResult() throws JsonProcessingException { .andExpect(MockRestRequestMatchers.content().json(objectMapper.writeValueAsString(result))) .andRespond(MockRestResponseCreators.withSuccess()); - assertThatNoException().isThrownBy(() -> securityAnalysisService.saveResult(RESULT_UUID, result)); + assertThatNoException().isThrownBy(() -> securityAnalysisRestClient.saveResult(RESULT_UUID, result)); } @Test @@ -62,6 +62,6 @@ void saveResultFailed() { .andExpect(MockRestRequestMatchers.requestTo("http://security-analysis-server/v1/results/" + RESULT_UUID)) .andRespond(MockRestResponseCreators.withServerError()); - assertThatThrownBy(() -> securityAnalysisService.saveResult(RESULT_UUID, result)).isInstanceOf(RestClientException.class); + assertThatThrownBy(() -> securityAnalysisRestClient.saveResult(RESULT_UUID, result)).isInstanceOf(RestClientException.class); } } diff --git a/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/ProcessExecutionServiceTest.java b/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/internal/ProcessExecutionServiceTest.java similarity index 69% rename from monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/ProcessExecutionServiceTest.java rename to monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/internal/ProcessExecutionServiceTest.java index c4cc51a..08acd2c 100644 --- a/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/ProcessExecutionServiceTest.java +++ b/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/internal/ProcessExecutionServiceTest.java @@ -4,20 +4,16 @@ * 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.monitor.worker.server.services; +package org.gridsuite.monitor.worker.server.services.internal; import org.gridsuite.monitor.commons.ProcessConfig; import org.gridsuite.monitor.commons.ProcessExecutionStatusUpdate; import org.gridsuite.monitor.commons.ProcessRunMessage; import org.gridsuite.monitor.commons.ProcessStatus; import org.gridsuite.monitor.commons.ProcessType; -import org.gridsuite.monitor.commons.SecurityAnalysisConfig; -import org.gridsuite.monitor.commons.StepStatus; import org.gridsuite.monitor.worker.server.core.Process; import org.gridsuite.monitor.worker.server.core.ProcessExecutionContext; -import org.gridsuite.monitor.worker.server.processes.commons.steps.ApplyModificationsStep; -import org.gridsuite.monitor.worker.server.processes.commons.steps.LoadNetworkStep; -import org.gridsuite.monitor.worker.server.processes.securityanalysis.steps.SecurityAnalysisRunComputationStep; +import org.gridsuite.monitor.worker.server.services.messaging.NotificationService; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -47,29 +43,8 @@ class ProcessExecutionServiceTest { @Mock private ProcessConfig processConfig; - @Mock - private NetworkConversionService networkConversionService; - - @Mock - private NetworkModificationService networkModificationService; - - @Mock - private NetworkModificationRestService networkModificationRestService; - - @Mock - private FilterService filterService; - - @Mock - private SecurityAnalysisService securityAnalysisService; - private ProcessExecutionService processExecutionService; - private LoadNetworkStep loadNetworkStep; - - private ApplyModificationsStep applyModificationsStep; - - private SecurityAnalysisRunComputationStep runComputationStep; - private static final String EXECUTION_ENV_NAME = "test-env"; @BeforeEach @@ -78,10 +53,6 @@ void setUp() { List> processList = List.of(process); processExecutionService = new ProcessExecutionService(processList, notificationService, EXECUTION_ENV_NAME); - - loadNetworkStep = new LoadNetworkStep<>(networkConversionService); - applyModificationsStep = new ApplyModificationsStep<>(networkModificationService, networkModificationRestService, filterService); - runComputationStep = new SecurityAnalysisRunComputationStep(securityAnalysisService); } @Test @@ -91,27 +62,9 @@ void executeProcessShouldCompleteSuccessfullyWhenProcessExecutesWithoutError() { when(processConfig.processType()).thenReturn(ProcessType.SECURITY_ANALYSIS); doNothing().when(process).execute(any(ProcessExecutionContext.class)); ProcessRunMessage runMessage = new ProcessRunMessage<>(executionId, caseUuid, processConfig); - when(process.defineSteps()).thenReturn((List) List.of(loadNetworkStep, applyModificationsStep, runComputationStep)); processExecutionService.executeProcess(runMessage); - verify(process, times(1)).defineSteps(); - verify(notificationService, times(1)).updateStepsStatuses(eq(executionId), argThat(steps -> - steps.size() == 3 && - steps.get(0).getStatus() == StepStatus.SCHEDULED && - steps.get(0).getId().equals(loadNetworkStep.getId()) && - steps.get(0).getStepType().equals(loadNetworkStep.getType().getName()) && - steps.get(0).getStepOrder() == 0 && - steps.get(1).getStatus() == StepStatus.SCHEDULED && - steps.get(1).getId().equals(applyModificationsStep.getId()) && - steps.get(1).getStepType().equals(applyModificationsStep.getType().getName()) && - steps.get(1).getStepOrder() == 1 && - steps.get(2).getStatus() == StepStatus.SCHEDULED && - steps.get(2).getId().equals(runComputationStep.getId()) && - steps.get(2).getStepType().equals(runComputationStep.getType().getName()) && - steps.get(2).getStepOrder() == 2 - )); - verify(process).execute(argThat(context -> context.getExecutionId().equals(executionId) && context.getCaseUuid().equals(caseUuid) && diff --git a/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/StepExecutionServiceTest.java b/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/internal/StepExecutionServiceTest.java similarity index 92% rename from monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/StepExecutionServiceTest.java rename to monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/internal/StepExecutionServiceTest.java index c437cd3..07c2c9c 100644 --- a/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/StepExecutionServiceTest.java +++ b/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/internal/StepExecutionServiceTest.java @@ -4,7 +4,7 @@ * 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.monitor.worker.server.services; +package org.gridsuite.monitor.worker.server.services.internal; import com.powsybl.commons.report.ReportNode; import org.gridsuite.monitor.commons.ProcessConfig; @@ -14,6 +14,8 @@ import org.gridsuite.monitor.worker.server.core.ProcessStepExecutionContext; import org.gridsuite.monitor.worker.server.core.ProcessStepType; import org.gridsuite.monitor.worker.server.dto.ReportInfos; +import org.gridsuite.monitor.worker.server.services.external.client.ReportRestClient; +import org.gridsuite.monitor.worker.server.services.messaging.NotificationService; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -38,7 +40,7 @@ class StepExecutionServiceTest { private NotificationService notificationService; @Mock - private ReportService reportService; + private ReportRestClient reportRestClient; @Mock private ProcessStep processStep; @@ -53,7 +55,7 @@ class StepExecutionServiceTest { @BeforeEach void setUp() { - stepExecutionService = new StepExecutionService<>(notificationService, reportService); + stepExecutionService = new StepExecutionService<>(notificationService, reportRestClient); } @Test @@ -69,7 +71,7 @@ void executeStepShouldCompleteSuccessfullyWhenNoExceptionThrown() { stepExecutionService.executeStep(context, processStep); verify(processStep).execute(context); - verify(reportService).sendReport(any(ReportInfos.class)); + verify(reportRestClient).sendReport(any(ReportInfos.class)); verify(notificationService, times(2)).updateStepStatus(eq(executionId), any(ProcessExecutionStep.class)); InOrder inOrder = inOrder(notificationService); inOrder.verify(notificationService).updateStepStatus(eq(executionId), argThat(step -> @@ -111,7 +113,7 @@ void executeStepShouldSendFailedStatusWhenExceptionThrown() { step.getCompletedAt() != null )); // Verify report was NOT sent on failure - verify(reportService, never()).sendReport(any(ReportInfos.class)); + verify(reportRestClient, never()).sendReport(any(ReportInfos.class)); } @Test @@ -126,7 +128,7 @@ void skipStepShouldSendSkippedStatusWithoutExecutingStep() { verify(processStep, never()).execute(any()); // Verify report was NOT sent on skip - verify(reportService, never()).sendReport(any(ReportInfos.class)); + verify(reportRestClient, never()).sendReport(any(ReportInfos.class)); verify(notificationService).updateStepStatus(eq(executionId), argThat(step -> step.getStatus() == StepStatus.SKIPPED && "SKIPPED_STEP".equals(step.getStepType()) && diff --git a/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/ConsumerServiceTest.java b/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/messaging/ConsumerServiceTest.java similarity index 91% rename from monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/ConsumerServiceTest.java rename to monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/messaging/ConsumerServiceTest.java index c03685a..821feba 100644 --- a/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/ConsumerServiceTest.java +++ b/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/messaging/ConsumerServiceTest.java @@ -4,10 +4,11 @@ * 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.monitor.worker.server.services; +package org.gridsuite.monitor.worker.server.services.messaging; import org.gridsuite.monitor.commons.ProcessConfig; import org.gridsuite.monitor.commons.ProcessRunMessage; +import org.gridsuite.monitor.worker.server.services.internal.ProcessExecutionService; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; diff --git a/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/NotificationServiceTest.java b/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/messaging/NotificationServiceTest.java similarity index 98% rename from monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/NotificationServiceTest.java rename to monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/messaging/NotificationServiceTest.java index 87bf06c..04c2ef7 100644 --- a/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/NotificationServiceTest.java +++ b/monitor-worker-server/src/test/java/org/gridsuite/monitor/worker/server/services/messaging/NotificationServiceTest.java @@ -4,7 +4,7 @@ * 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.monitor.worker.server.services; +package org.gridsuite.monitor.worker.server.services.messaging; import org.gridsuite.monitor.commons.MessageType; import org.gridsuite.monitor.commons.ProcessExecutionStatusUpdate;