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/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/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 83% 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..7c9f9a1 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 @@ -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.Network; import org.gridsuite.filter.AbstractFilter; @@ -12,6 +12,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 +28,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/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/NetworkModificationService.java b/monitor-worker-server/src/main/java/org/gridsuite/monitor/worker/server/services/external/adapter/NetworkModificationService.java similarity index 96% 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..bcfc1fe 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 @@ -5,7 +5,7 @@ * 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/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/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 85% 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..077e12a 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 @@ -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.powsybl.commons.PowsyblException; import org.gridsuite.filter.AbstractFilter; @@ -24,7 +24,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 +33,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 84% 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..9054cd9 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 @@ -5,7 +5,7 @@ * 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 org.apache.commons.collections4.CollectionUtils; import org.gridsuite.modification.dto.ModificationInfos; @@ -23,15 +23,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 91% 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..8a4110a 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,4 @@ -package org.gridsuite.monitor.worker.server.services; +package org.gridsuite.monitor.worker.server.services.external.client; import com.powsybl.security.SecurityAnalysisResult; import lombok.Setter; @@ -18,8 +18,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 +32,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 96% 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..5b79ce5 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 @@ -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 org.gridsuite.monitor.commons.ProcessConfig; import org.gridsuite.monitor.commons.ProcessExecutionStatusUpdate; @@ -16,6 +16,7 @@ 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; 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 89% 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..51dc6d8 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 @@ -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 lombok.RequiredArgsConstructor; import org.gridsuite.monitor.commons.ProcessConfig; @@ -12,6 +12,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 +26,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 +59,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 87% 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..123e222 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 @@ -4,11 +4,12 @@ * 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 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 97% 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..34c0bac 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 @@ -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; 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/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/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/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/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/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); + } +} 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 87% 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..0012c6d 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; @@ -32,10 +32,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; @@ -70,7 +70,7 @@ void getModifications() { throw new RuntimeException(e); } - List resultListModifications = networkModificationRestService.getModifications(List.of(MODIFICATION_1_UUID, MODIFICATION_2_UUID)); + List resultListModifications = networkModificationRestClient.getModifications(List.of(MODIFICATION_1_UUID, MODIFICATION_2_UUID)); assertThat(resultListModifications).usingRecursiveComparison().isEqualTo(modificationInfos); } @@ -81,12 +81,12 @@ void getModificationsNotFound() { .andRespond(MockRestResponseCreators.withServerError()); List modificationsUuids = List.of(MODIFICATION_ERROR_UUID); - assertThatThrownBy(() -> networkModificationRestService.getModifications(modificationsUuids)).isInstanceOf(HttpServerErrorException.InternalServerError.class); + assertThatThrownBy(() -> networkModificationRestClient.getModifications(modificationsUuids)).isInstanceOf(HttpServerErrorException.InternalServerError.class); } @Test void getEmptyModifications() { - List resultListModifications = networkModificationRestService.getModifications(List.of()); + List resultListModifications = networkModificationRestClient.getModifications(List.of()); assertThat(resultListModifications).isEmpty(); } } 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 89% 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..857e324 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,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 org.gridsuite.monitor.commons.ProcessConfig; import org.gridsuite.monitor.commons.ProcessExecutionStatusUpdate; @@ -18,6 +18,12 @@ 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.external.adapter.FilterService; +import org.gridsuite.monitor.worker.server.services.external.adapter.NetworkConversionService; +import org.gridsuite.monitor.worker.server.services.external.adapter.NetworkModificationService; +import org.gridsuite.monitor.worker.server.services.external.client.NetworkModificationRestClient; +import org.gridsuite.monitor.worker.server.services.external.client.SecurityAnalysisRestClient; +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; @@ -54,13 +60,13 @@ class ProcessExecutionServiceTest { private NetworkModificationService networkModificationService; @Mock - private NetworkModificationRestService networkModificationRestService; + private NetworkModificationRestClient networkModificationRestClient; @Mock private FilterService filterService; @Mock - private SecurityAnalysisService securityAnalysisService; + private SecurityAnalysisRestClient securityAnalysisRestClient; private ProcessExecutionService processExecutionService; @@ -80,8 +86,8 @@ void setUp() { processExecutionService = new ProcessExecutionService(processList, notificationService, EXECUTION_ENV_NAME); loadNetworkStep = new LoadNetworkStep<>(networkConversionService); - applyModificationsStep = new ApplyModificationsStep<>(networkModificationService, networkModificationRestService, filterService); - runComputationStep = new SecurityAnalysisRunComputationStep(securityAnalysisService); + applyModificationsStep = new ApplyModificationsStep<>(networkModificationService, networkModificationRestClient, filterService); + runComputationStep = new SecurityAnalysisRunComputationStep(securityAnalysisRestClient); } @Test 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;