From 154a2c591396f8b91d45f11cd2c93cd3670edd9f Mon Sep 17 00:00:00 2001 From: Radouane Khouadri Date: Fri, 6 Feb 2026 13:03:14 +0100 Subject: [PATCH] [GRD-3891] organize monitor-server services --- .../server/controllers/MonitorController.java | 2 +- .../SecurityAnalysisResultProvider.java | 14 ++++++----- .../client/ReportRestClient.java} | 8 +++---- .../client/SecurityAnalysisRestClient.java} | 8 +++---- .../{ => internal}/MonitorService.java | 14 ++++++----- .../{ => internal}/ResultProvider.java | 2 +- .../{ => internal}/ResultService.java | 2 +- .../{ => messaging}/ConsumerService.java | 3 ++- .../{ => messaging}/NotificationService.java | 2 +- .../server/MonitorIntegrationTest.java | 14 +++++------ .../controllers/MonitorControllerTest.java | 2 +- .../SecurityAnalysisResultProviderTest.java | 21 ++++++++-------- .../client/ReportRestClientTest.java} | 18 +++++++------- .../SecurityAnalysisRestClientTest.java} | 18 +++++++------- .../{ => internal}/MonitorServiceTest.java | 24 ++++++++++--------- .../{ => internal}/ResultServiceTest.java | 2 +- .../{ => messaging}/ConsumerServiceTest.java | 3 ++- .../NotificationServiceTest.java | 2 +- 18 files changed, 84 insertions(+), 75 deletions(-) rename monitor-server/src/main/java/org/gridsuite/monitor/server/services/{ => external/adapter}/SecurityAnalysisResultProvider.java (57%) rename monitor-server/src/main/java/org/gridsuite/monitor/server/services/{ReportService.java => external/client/ReportRestClient.java} (87%) rename monitor-server/src/main/java/org/gridsuite/monitor/server/services/{SecurityAnalysisService.java => external/client/SecurityAnalysisRestClient.java} (92%) rename monitor-server/src/main/java/org/gridsuite/monitor/server/services/{ => internal}/MonitorService.java (94%) rename monitor-server/src/main/java/org/gridsuite/monitor/server/services/{ => internal}/ResultProvider.java (90%) rename monitor-server/src/main/java/org/gridsuite/monitor/server/services/{ => internal}/ResultService.java (96%) rename monitor-server/src/main/java/org/gridsuite/monitor/server/services/{ => messaging}/ConsumerService.java (97%) rename monitor-server/src/main/java/org/gridsuite/monitor/server/services/{ => messaging}/NotificationService.java (95%) rename monitor-server/src/test/java/org/gridsuite/monitor/server/services/{ => external/adapter}/SecurityAnalysisResultProviderTest.java (62%) rename monitor-server/src/test/java/org/gridsuite/monitor/server/services/{ReportServiceTest.java => external/client/ReportRestClientTest.java} (85%) rename monitor-server/src/test/java/org/gridsuite/monitor/server/services/{SecurityAnalysisServiceTest.java => external/client/SecurityAnalysisRestClientTest.java} (85%) rename monitor-server/src/test/java/org/gridsuite/monitor/server/services/{ => internal}/MonitorServiceTest.java (96%) rename monitor-server/src/test/java/org/gridsuite/monitor/server/services/{ => internal}/ResultServiceTest.java (98%) rename monitor-server/src/test/java/org/gridsuite/monitor/server/services/{ => messaging}/ConsumerServiceTest.java (98%) rename monitor-server/src/test/java/org/gridsuite/monitor/server/services/{ => messaging}/NotificationServiceTest.java (97%) diff --git a/monitor-server/src/main/java/org/gridsuite/monitor/server/controllers/MonitorController.java b/monitor-server/src/main/java/org/gridsuite/monitor/server/controllers/MonitorController.java index 65ec8bc..51520c7 100644 --- a/monitor-server/src/main/java/org/gridsuite/monitor/server/controllers/MonitorController.java +++ b/monitor-server/src/main/java/org/gridsuite/monitor/server/controllers/MonitorController.java @@ -16,7 +16,7 @@ import org.gridsuite.monitor.commons.SecurityAnalysisConfig; import org.gridsuite.monitor.server.dto.ProcessExecution; import org.gridsuite.monitor.server.dto.ReportPage; -import org.gridsuite.monitor.server.services.MonitorService; +import org.gridsuite.monitor.server.services.internal.MonitorService; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; diff --git a/monitor-server/src/main/java/org/gridsuite/monitor/server/services/SecurityAnalysisResultProvider.java b/monitor-server/src/main/java/org/gridsuite/monitor/server/services/external/adapter/SecurityAnalysisResultProvider.java similarity index 57% rename from monitor-server/src/main/java/org/gridsuite/monitor/server/services/SecurityAnalysisResultProvider.java rename to monitor-server/src/main/java/org/gridsuite/monitor/server/services/external/adapter/SecurityAnalysisResultProvider.java index b446d1d..9847acf 100644 --- a/monitor-server/src/main/java/org/gridsuite/monitor/server/services/SecurityAnalysisResultProvider.java +++ b/monitor-server/src/main/java/org/gridsuite/monitor/server/services/external/adapter/SecurityAnalysisResultProvider.java @@ -4,9 +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.server.services; +package org.gridsuite.monitor.server.services.external.adapter; import org.gridsuite.monitor.commons.ResultType; +import org.gridsuite.monitor.server.services.internal.ResultProvider; +import org.gridsuite.monitor.server.services.external.client.SecurityAnalysisRestClient; import org.springframework.stereotype.Service; import java.util.UUID; @@ -16,10 +18,10 @@ */ @Service public class SecurityAnalysisResultProvider implements ResultProvider { - private final SecurityAnalysisService securityAnalysisService; + private final SecurityAnalysisRestClient securityAnalysisRestClient; - public SecurityAnalysisResultProvider(SecurityAnalysisService securityAnalysisService) { - this.securityAnalysisService = securityAnalysisService; + public SecurityAnalysisResultProvider(SecurityAnalysisRestClient securityAnalysisRestClient) { + this.securityAnalysisRestClient = securityAnalysisRestClient; } @Override @@ -29,11 +31,11 @@ public ResultType getType() { @Override public String getResult(UUID resultId) { - return securityAnalysisService.getResult(resultId); + return securityAnalysisRestClient.getResult(resultId); } @Override public void deleteResult(UUID resultId) { - securityAnalysisService.deleteResult(resultId); + securityAnalysisRestClient.deleteResult(resultId); } } diff --git a/monitor-server/src/main/java/org/gridsuite/monitor/server/services/ReportService.java b/monitor-server/src/main/java/org/gridsuite/monitor/server/services/external/client/ReportRestClient.java similarity index 87% rename from monitor-server/src/main/java/org/gridsuite/monitor/server/services/ReportService.java rename to monitor-server/src/main/java/org/gridsuite/monitor/server/services/external/client/ReportRestClient.java index 21f5575..9ba6ce1 100644 --- a/monitor-server/src/main/java/org/gridsuite/monitor/server/services/ReportService.java +++ b/monitor-server/src/main/java/org/gridsuite/monitor/server/services/external/client/ReportRestClient.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.server.services; +package org.gridsuite.monitor.server.services.external.client; import org.gridsuite.monitor.server.dto.ReportPage; import org.springframework.beans.factory.annotation.Value; @@ -24,7 +24,7 @@ * @author Franck Lecuyer */ @Service -public class ReportService { +public class ReportRestClient { private static final String REPORT_API_VERSION = "v1"; private static final String DELIMITER = "/"; @@ -33,8 +33,8 @@ public class ReportService { private final RestTemplate restTemplate; - public ReportService(@Value("${gridsuite.services.report-server.base-uri:http://report-server/}") String reportServerBaseUri, - RestTemplateBuilder restTemplateBuilder) { + public ReportRestClient(@Value("${gridsuite.services.report-server.base-uri:http://report-server/}") String reportServerBaseUri, + RestTemplateBuilder restTemplateBuilder) { this.reportServerBaseUri = reportServerBaseUri; this.restTemplate = restTemplateBuilder.build(); } diff --git a/monitor-server/src/main/java/org/gridsuite/monitor/server/services/SecurityAnalysisService.java b/monitor-server/src/main/java/org/gridsuite/monitor/server/services/external/client/SecurityAnalysisRestClient.java similarity index 92% rename from monitor-server/src/main/java/org/gridsuite/monitor/server/services/SecurityAnalysisService.java rename to monitor-server/src/main/java/org/gridsuite/monitor/server/services/external/client/SecurityAnalysisRestClient.java index 0af66bf..104a732 100644 --- a/monitor-server/src/main/java/org/gridsuite/monitor/server/services/SecurityAnalysisService.java +++ b/monitor-server/src/main/java/org/gridsuite/monitor/server/services/external/client/SecurityAnalysisRestClient.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.server.services; +package org.gridsuite.monitor.server.services.external.client; import lombok.Setter; import org.slf4j.Logger; @@ -23,8 +23,8 @@ * @author Kevin Le Saulnier */ @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 = "/"; @@ -37,7 +37,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-server/src/main/java/org/gridsuite/monitor/server/services/MonitorService.java b/monitor-server/src/main/java/org/gridsuite/monitor/server/services/internal/MonitorService.java similarity index 94% rename from monitor-server/src/main/java/org/gridsuite/monitor/server/services/MonitorService.java rename to monitor-server/src/main/java/org/gridsuite/monitor/server/services/internal/MonitorService.java index d0722e5..ba29f40 100644 --- a/monitor-server/src/main/java/org/gridsuite/monitor/server/services/MonitorService.java +++ b/monitor-server/src/main/java/org/gridsuite/monitor/server/services/internal/MonitorService.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.server.services; +package org.gridsuite.monitor.server.services.internal; import org.gridsuite.monitor.commons.ProcessConfig; import org.gridsuite.monitor.commons.ProcessExecutionStep; @@ -18,6 +18,8 @@ import org.gridsuite.monitor.server.mapper.ProcessExecutionMapper; import org.gridsuite.monitor.server.mapper.ProcessExecutionStepMapper; import org.gridsuite.monitor.server.repositories.ProcessExecutionRepository; +import org.gridsuite.monitor.server.services.messaging.NotificationService; +import org.gridsuite.monitor.server.services.external.client.ReportRestClient; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -35,16 +37,16 @@ public class MonitorService { private final ProcessExecutionRepository executionRepository; private final NotificationService notificationService; - private final ReportService reportService; + private final ReportRestClient reportRestClient; private final ResultService resultService; public MonitorService(ProcessExecutionRepository executionRepository, NotificationService notificationService, - ReportService reportService, + ReportRestClient reportRestClient, ResultService resultService) { this.executionRepository = executionRepository; this.notificationService = notificationService; - this.reportService = reportService; + this.reportRestClient = reportRestClient; this.resultService = resultService; } @@ -142,7 +144,7 @@ private ProcessExecutionStepEntity toStepEntity(ProcessExecutionStep processExec public List getReports(UUID executionId) { List reportIds = getReportIds(executionId); return reportIds.stream() - .map(reportService::getReport) + .map(reportRestClient::getReport) .toList(); } @@ -206,7 +208,7 @@ public boolean deleteExecution(UUID executionId) { } }); resultIds.forEach(resultService::deleteResult); - reportIds.forEach(reportService::deleteReport); + reportIds.forEach(reportRestClient::deleteReport); executionRepository.deleteById(executionId); diff --git a/monitor-server/src/main/java/org/gridsuite/monitor/server/services/ResultProvider.java b/monitor-server/src/main/java/org/gridsuite/monitor/server/services/internal/ResultProvider.java similarity index 90% rename from monitor-server/src/main/java/org/gridsuite/monitor/server/services/ResultProvider.java rename to monitor-server/src/main/java/org/gridsuite/monitor/server/services/internal/ResultProvider.java index e66f2d0..ea0e551 100644 --- a/monitor-server/src/main/java/org/gridsuite/monitor/server/services/ResultProvider.java +++ b/monitor-server/src/main/java/org/gridsuite/monitor/server/services/internal/ResultProvider.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.server.services; +package org.gridsuite.monitor.server.services.internal; import org.gridsuite.monitor.commons.ResultType; diff --git a/monitor-server/src/main/java/org/gridsuite/monitor/server/services/ResultService.java b/monitor-server/src/main/java/org/gridsuite/monitor/server/services/internal/ResultService.java similarity index 96% rename from monitor-server/src/main/java/org/gridsuite/monitor/server/services/ResultService.java rename to monitor-server/src/main/java/org/gridsuite/monitor/server/services/internal/ResultService.java index 3e1bd22..5b8ab89 100644 --- a/monitor-server/src/main/java/org/gridsuite/monitor/server/services/ResultService.java +++ b/monitor-server/src/main/java/org/gridsuite/monitor/server/services/internal/ResultService.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.server.services; +package org.gridsuite.monitor.server.services.internal; import org.gridsuite.monitor.commons.ResultInfos; import org.gridsuite.monitor.commons.ResultType; diff --git a/monitor-server/src/main/java/org/gridsuite/monitor/server/services/ConsumerService.java b/monitor-server/src/main/java/org/gridsuite/monitor/server/services/messaging/ConsumerService.java similarity index 97% rename from monitor-server/src/main/java/org/gridsuite/monitor/server/services/ConsumerService.java rename to monitor-server/src/main/java/org/gridsuite/monitor/server/services/messaging/ConsumerService.java index d134038..72a814a 100644 --- a/monitor-server/src/main/java/org/gridsuite/monitor/server/services/ConsumerService.java +++ b/monitor-server/src/main/java/org/gridsuite/monitor/server/services/messaging/ConsumerService.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.server.services; +package org.gridsuite.monitor.server.services.messaging; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; @@ -12,6 +12,7 @@ import org.gridsuite.monitor.commons.MessageType; import org.gridsuite.monitor.commons.ProcessExecutionStatusUpdate; import org.gridsuite.monitor.commons.ProcessExecutionStep; +import org.gridsuite.monitor.server.services.internal.MonitorService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; diff --git a/monitor-server/src/main/java/org/gridsuite/monitor/server/services/NotificationService.java b/monitor-server/src/main/java/org/gridsuite/monitor/server/services/messaging/NotificationService.java similarity index 95% rename from monitor-server/src/main/java/org/gridsuite/monitor/server/services/NotificationService.java rename to monitor-server/src/main/java/org/gridsuite/monitor/server/services/messaging/NotificationService.java index a6ca955..53bc175 100644 --- a/monitor-server/src/main/java/org/gridsuite/monitor/server/services/NotificationService.java +++ b/monitor-server/src/main/java/org/gridsuite/monitor/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.server.services; +package org.gridsuite.monitor.server.services.messaging; import lombok.RequiredArgsConstructor; import org.gridsuite.monitor.commons.ProcessConfig; diff --git a/monitor-server/src/test/java/org/gridsuite/monitor/server/MonitorIntegrationTest.java b/monitor-server/src/test/java/org/gridsuite/monitor/server/MonitorIntegrationTest.java index 3111c7c..fd7cc19 100644 --- a/monitor-server/src/test/java/org/gridsuite/monitor/server/MonitorIntegrationTest.java +++ b/monitor-server/src/test/java/org/gridsuite/monitor/server/MonitorIntegrationTest.java @@ -14,11 +14,11 @@ import org.gridsuite.monitor.server.entities.ProcessExecutionEntity; import org.gridsuite.monitor.server.repositories.ProcessConfigRepository; import org.gridsuite.monitor.server.repositories.ProcessExecutionRepository; -import org.gridsuite.monitor.server.services.ConsumerService; +import org.gridsuite.monitor.server.services.messaging.ConsumerService; import org.gridsuite.monitor.server.services.ProcessConfigService; -import org.gridsuite.monitor.server.services.ReportService; -import org.gridsuite.monitor.server.services.MonitorService; -import org.gridsuite.monitor.server.services.ResultService; +import org.gridsuite.monitor.server.services.external.client.ReportRestClient; +import org.gridsuite.monitor.server.services.internal.MonitorService; +import org.gridsuite.monitor.server.services.internal.ResultService; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; @@ -78,7 +78,7 @@ class MonitorIntegrationTest { private MockMvc mockMvc; @MockitoBean - private ReportService reportService; + private ReportRestClient reportRestClient; @MockitoBean private ResultService resultService; @@ -183,8 +183,8 @@ void securityAnalysisProcessIT() throws Exception { new ReportLog("message2", Severity.WARN, 2, UUID.randomUUID())), 100, 10); ReportPage reportPage1 = new ReportPage(2, List.of(new ReportLog("message3", Severity.ERROR, 3, UUID.randomUUID())), 200, 20); - when(reportService.getReport(reportId0)).thenReturn(reportPage0); - when(reportService.getReport(reportId1)).thenReturn(reportPage1); + when(reportRestClient.getReport(reportId0)).thenReturn(reportPage0); + when(reportRestClient.getReport(reportId1)).thenReturn(reportPage1); // Test the reports endpoint fetches correctly from database mockMvc.perform(get("/v1/executions/{executionId}/reports", executionId)) diff --git a/monitor-server/src/test/java/org/gridsuite/monitor/server/controllers/MonitorControllerTest.java b/monitor-server/src/test/java/org/gridsuite/monitor/server/controllers/MonitorControllerTest.java index 18c6a10..72cff9c 100644 --- a/monitor-server/src/test/java/org/gridsuite/monitor/server/controllers/MonitorControllerTest.java +++ b/monitor-server/src/test/java/org/gridsuite/monitor/server/controllers/MonitorControllerTest.java @@ -16,7 +16,7 @@ import org.gridsuite.monitor.server.dto.ReportLog; import org.gridsuite.monitor.server.dto.ReportPage; import org.gridsuite.monitor.server.dto.Severity; -import org.gridsuite.monitor.server.services.MonitorService; +import org.gridsuite.monitor.server.services.internal.MonitorService; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; diff --git a/monitor-server/src/test/java/org/gridsuite/monitor/server/services/SecurityAnalysisResultProviderTest.java b/monitor-server/src/test/java/org/gridsuite/monitor/server/services/external/adapter/SecurityAnalysisResultProviderTest.java similarity index 62% rename from monitor-server/src/test/java/org/gridsuite/monitor/server/services/SecurityAnalysisResultProviderTest.java rename to monitor-server/src/test/java/org/gridsuite/monitor/server/services/external/adapter/SecurityAnalysisResultProviderTest.java index f02ba95..49e8e05 100644 --- a/monitor-server/src/test/java/org/gridsuite/monitor/server/services/SecurityAnalysisResultProviderTest.java +++ b/monitor-server/src/test/java/org/gridsuite/monitor/server/services/external/adapter/SecurityAnalysisResultProviderTest.java @@ -4,9 +4,10 @@ * 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.server.services; +package org.gridsuite.monitor.server.services.external.adapter; import org.gridsuite.monitor.commons.ResultType; +import org.gridsuite.monitor.server.services.external.client.SecurityAnalysisRestClient; import org.junit.jupiter.api.Test; import org.mockito.Mockito; @@ -19,11 +20,11 @@ * @author Kevin Le Saulnier */ class SecurityAnalysisResultProviderTest { - private final SecurityAnalysisService securityAnalysisService = - Mockito.mock(SecurityAnalysisService.class); + private final SecurityAnalysisRestClient securityAnalysisRestClient = + Mockito.mock(SecurityAnalysisRestClient.class); private final SecurityAnalysisResultProvider provider = - new SecurityAnalysisResultProvider(securityAnalysisService); + new SecurityAnalysisResultProvider(securityAnalysisRestClient); @Test void getTypeShouldReturnSecurityAnalysis() { @@ -36,24 +37,24 @@ void getResultShouldDelegateToSecurityAnalysisService() { UUID id = UUID.randomUUID(); String expected = "result"; - when(securityAnalysisService.getResult(id)).thenReturn(expected); + when(securityAnalysisRestClient.getResult(id)).thenReturn(expected); String result = provider.getResult(id); assertThat(result).isEqualTo(expected); - verify(securityAnalysisService).getResult(id); - verifyNoMoreInteractions(securityAnalysisService); + verify(securityAnalysisRestClient).getResult(id); + verifyNoMoreInteractions(securityAnalysisRestClient); } @Test void deleteResultShouldDelegateToSecurityAnalysisService() { UUID id = UUID.randomUUID(); - doNothing().when(securityAnalysisService).deleteResult(id); + doNothing().when(securityAnalysisRestClient).deleteResult(id); provider.deleteResult(id); - verify(securityAnalysisService).deleteResult(id); - verifyNoMoreInteractions(securityAnalysisService); + verify(securityAnalysisRestClient).deleteResult(id); + verifyNoMoreInteractions(securityAnalysisRestClient); } } diff --git a/monitor-server/src/test/java/org/gridsuite/monitor/server/services/ReportServiceTest.java b/monitor-server/src/test/java/org/gridsuite/monitor/server/services/external/client/ReportRestClientTest.java similarity index 85% rename from monitor-server/src/test/java/org/gridsuite/monitor/server/services/ReportServiceTest.java rename to monitor-server/src/test/java/org/gridsuite/monitor/server/services/external/client/ReportRestClientTest.java index dde1ca9..5a8c67e 100644 --- a/monitor-server/src/test/java/org/gridsuite/monitor/server/services/ReportServiceTest.java +++ b/monitor-server/src/test/java/org/gridsuite/monitor/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.server.services; +package org.gridsuite.monitor.server.services.external.client; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; @@ -32,11 +32,11 @@ /** * @author Franck Lecuyer */ -@RestClientTest(ReportService.class) -@ContextConfiguration(classes = {ReportService.class}) -class ReportServiceTest { +@RestClientTest(ReportRestClient.class) +@ContextConfiguration(classes = {ReportRestClient.class}) +class ReportRestClientTest { @Autowired - private ReportService reportService; + private ReportRestClient reportRestClient; @Autowired private MockRestServiceServer server; @@ -58,7 +58,7 @@ void getReport() throws JsonProcessingException { .contentType(MediaType.APPLICATION_JSON) .body(objectMapper.writeValueAsString(reportPage))); - ReportPage reportResult = reportService.getReport(reportId); + ReportPage reportResult = reportRestClient.getReport(reportId); assertThat(reportResult).usingRecursiveComparison().isEqualTo(reportPage); } @@ -70,7 +70,7 @@ void getReportFailed() { .andExpect(MockRestRequestMatchers.requestTo("http://report-server/v1/reports/" + reportId + "/logs")) .andRespond(MockRestResponseCreators.withServerError()); - assertThatThrownBy(() -> reportService.getReport(reportId)).isInstanceOf(RestClientException.class); + assertThatThrownBy(() -> reportRestClient.getReport(reportId)).isInstanceOf(RestClientException.class); } @Test @@ -81,7 +81,7 @@ void deleteReport() { .andExpect(MockRestRequestMatchers.requestTo("http://report-server/v1/reports/" + reportId)) .andRespond(MockRestResponseCreators.withSuccess()); - assertThatNoException().isThrownBy(() -> reportService.deleteReport(reportId)); + assertThatNoException().isThrownBy(() -> reportRestClient.deleteReport(reportId)); } @Test @@ -92,6 +92,6 @@ void deleteReportFailed() { .andExpect(MockRestRequestMatchers.requestTo("http://report-server/v1/reports/" + reportId)) .andRespond(MockRestResponseCreators.withServerError()); - assertThatThrownBy(() -> reportService.deleteReport(reportId)).isInstanceOf(RestClientException.class); + assertThatThrownBy(() -> reportRestClient.deleteReport(reportId)).isInstanceOf(RestClientException.class); } } diff --git a/monitor-server/src/test/java/org/gridsuite/monitor/server/services/SecurityAnalysisServiceTest.java b/monitor-server/src/test/java/org/gridsuite/monitor/server/services/external/client/SecurityAnalysisRestClientTest.java similarity index 85% rename from monitor-server/src/test/java/org/gridsuite/monitor/server/services/SecurityAnalysisServiceTest.java rename to monitor-server/src/test/java/org/gridsuite/monitor/server/services/external/client/SecurityAnalysisRestClientTest.java index bf8b690..588dfa9 100644 --- a/monitor-server/src/test/java/org/gridsuite/monitor/server/services/SecurityAnalysisServiceTest.java +++ b/monitor-server/src/test/java/org/gridsuite/monitor/server/services/external/client/SecurityAnalysisRestClientTest.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.server.services; +package org.gridsuite.monitor.server.services.external.client; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; @@ -27,15 +27,15 @@ /** * @author Kevin Le Saulnier */ -@RestClientTest(SecurityAnalysisService.class) -@ContextConfiguration(classes = { SecurityAnalysisService.class }) -class SecurityAnalysisServiceTest { +@RestClientTest(SecurityAnalysisRestClient.class) +@ContextConfiguration(classes = { SecurityAnalysisRestClient.class }) +class SecurityAnalysisRestClientTest { private static final UUID RESULT_UUID = UUID.randomUUID(); private static final String RESULT_BODY = "{\"status\":\"OK\"}"; @Autowired - private SecurityAnalysisService securityAnalysisService; + private SecurityAnalysisRestClient securityAnalysisRestClient; @Autowired private MockRestServiceServer server; @@ -56,7 +56,7 @@ void getResult() { MediaType.APPLICATION_JSON )); - String result = securityAnalysisService.getResult(RESULT_UUID); + String result = securityAnalysisRestClient.getResult(RESULT_UUID); assertThat(result).isEqualTo(RESULT_BODY); } @@ -69,7 +69,7 @@ void getResultFailed() { )) .andRespond(MockRestResponseCreators.withServerError()); - assertThatThrownBy(() -> securityAnalysisService.getResult(RESULT_UUID)) + assertThatThrownBy(() -> securityAnalysisRestClient.getResult(RESULT_UUID)) .isInstanceOf(RestClientException.class); } @@ -79,7 +79,7 @@ void deleteResult() { .andExpect(MockRestRequestMatchers.requestTo("http://security-analysis-server/v1/results?resultsUuids=" + RESULT_UUID)) .andRespond(MockRestResponseCreators.withSuccess()); - assertThatNoException().isThrownBy(() -> securityAnalysisService.deleteResult(RESULT_UUID)); + assertThatNoException().isThrownBy(() -> securityAnalysisRestClient.deleteResult(RESULT_UUID)); } @Test @@ -88,7 +88,7 @@ void deleteResultFailed() { .andExpect(MockRestRequestMatchers.requestTo("http://security-analysis-server/v1/results?resultsUuids=" + RESULT_UUID)) .andRespond(MockRestResponseCreators.withServerError()); - assertThatThrownBy(() -> securityAnalysisService.deleteResult(RESULT_UUID)) + assertThatThrownBy(() -> securityAnalysisRestClient.deleteResult(RESULT_UUID)) .isInstanceOf(RestClientException.class); } } diff --git a/monitor-server/src/test/java/org/gridsuite/monitor/server/services/MonitorServiceTest.java b/monitor-server/src/test/java/org/gridsuite/monitor/server/services/internal/MonitorServiceTest.java similarity index 96% rename from monitor-server/src/test/java/org/gridsuite/monitor/server/services/MonitorServiceTest.java rename to monitor-server/src/test/java/org/gridsuite/monitor/server/services/internal/MonitorServiceTest.java index fd1c712..d410c02 100644 --- a/monitor-server/src/test/java/org/gridsuite/monitor/server/services/MonitorServiceTest.java +++ b/monitor-server/src/test/java/org/gridsuite/monitor/server/services/internal/MonitorServiceTest.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.server.services; +package org.gridsuite.monitor.server.services.internal; import org.gridsuite.monitor.commons.*; import org.gridsuite.monitor.server.dto.ProcessExecution; @@ -14,6 +14,8 @@ import org.gridsuite.monitor.server.entities.ProcessExecutionEntity; import org.gridsuite.monitor.server.entities.ProcessExecutionStepEntity; import org.gridsuite.monitor.server.repositories.ProcessExecutionRepository; +import org.gridsuite.monitor.server.services.external.client.ReportRestClient; +import org.gridsuite.monitor.server.services.messaging.NotificationService; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -44,7 +46,7 @@ class MonitorServiceTest { private NotificationService notificationService; @Mock - private ReportService reportService; + private ReportRestClient reportRestClient; @Mock private ResultService resultService; @@ -354,15 +356,15 @@ void getReportsShouldReturnReports() { new ReportLog("message2", Severity.WARN, 2, UUID.randomUUID())), 100, 10); ReportPage reportPage2 = new ReportPage(2, List.of(new ReportLog("message3", Severity.ERROR, 3, UUID.randomUUID())), 200, 20); - when(reportService.getReport(reportId1)).thenReturn(reportPage1); - when(reportService.getReport(reportId2)).thenReturn(reportPage2); + when(reportRestClient.getReport(reportId1)).thenReturn(reportPage1); + when(reportRestClient.getReport(reportId2)).thenReturn(reportPage2); List result = monitorService.getReports(executionId); assertThat(result).hasSize(2).containsExactly(reportPage1, reportPage2); verify(executionRepository).findById(executionId); - verify(reportService).getReport(reportId1); - verify(reportService).getReport(reportId2); + verify(reportRestClient).getReport(reportId1); + verify(reportRestClient).getReport(reportId2); } @Test @@ -525,8 +527,8 @@ void deleteExecutionShouldDeleteResultsAndReports() { when(executionRepository.findById(executionId)).thenReturn(Optional.of(execution)); doNothing().when(executionRepository).deleteById(executionId); - doNothing().when(reportService).deleteReport(reportId1); - doNothing().when(reportService).deleteReport(reportId2); + doNothing().when(reportRestClient).deleteReport(reportId1); + doNothing().when(reportRestClient).deleteReport(reportId2); doNothing().when(resultService).deleteResult(any(ResultInfos.class)); boolean done = monitorService.deleteExecution(executionId); @@ -534,8 +536,8 @@ void deleteExecutionShouldDeleteResultsAndReports() { verify(executionRepository).findById(executionId); verify(executionRepository).deleteById(executionId); - verify(reportService).deleteReport(reportId1); - verify(reportService).deleteReport(reportId2); + verify(reportRestClient).deleteReport(reportId1); + verify(reportRestClient).deleteReport(reportId2); verify(resultService, times(1)).deleteResult(any(ResultInfos.class)); } @@ -547,7 +549,7 @@ void deleteExecutionShouldReturnFalseWhenExecutionNotFound() { assertThat(done).isFalse(); verify(executionRepository).findById(executionId); - verifyNoInteractions(reportService); + verifyNoInteractions(reportRestClient); verifyNoInteractions(resultService); verify(executionRepository, never()).deleteById(executionId); } diff --git a/monitor-server/src/test/java/org/gridsuite/monitor/server/services/ResultServiceTest.java b/monitor-server/src/test/java/org/gridsuite/monitor/server/services/internal/ResultServiceTest.java similarity index 98% rename from monitor-server/src/test/java/org/gridsuite/monitor/server/services/ResultServiceTest.java rename to monitor-server/src/test/java/org/gridsuite/monitor/server/services/internal/ResultServiceTest.java index 4c617c5..b74b120 100644 --- a/monitor-server/src/test/java/org/gridsuite/monitor/server/services/ResultServiceTest.java +++ b/monitor-server/src/test/java/org/gridsuite/monitor/server/services/internal/ResultServiceTest.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.server.services; +package org.gridsuite.monitor.server.services.internal; import org.gridsuite.monitor.commons.ResultInfos; import org.gridsuite.monitor.commons.ResultType; diff --git a/monitor-server/src/test/java/org/gridsuite/monitor/server/services/ConsumerServiceTest.java b/monitor-server/src/test/java/org/gridsuite/monitor/server/services/messaging/ConsumerServiceTest.java similarity index 98% rename from monitor-server/src/test/java/org/gridsuite/monitor/server/services/ConsumerServiceTest.java rename to monitor-server/src/test/java/org/gridsuite/monitor/server/services/messaging/ConsumerServiceTest.java index ffb86b8..a13606f 100644 --- a/monitor-server/src/test/java/org/gridsuite/monitor/server/services/ConsumerServiceTest.java +++ b/monitor-server/src/test/java/org/gridsuite/monitor/server/services/messaging/ConsumerServiceTest.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.server.services; +package org.gridsuite.monitor.server.services.messaging; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import org.gridsuite.monitor.commons.*; +import org.gridsuite.monitor.server.services.internal.MonitorService; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; diff --git a/monitor-server/src/test/java/org/gridsuite/monitor/server/services/NotificationServiceTest.java b/monitor-server/src/test/java/org/gridsuite/monitor/server/services/messaging/NotificationServiceTest.java similarity index 97% rename from monitor-server/src/test/java/org/gridsuite/monitor/server/services/NotificationServiceTest.java rename to monitor-server/src/test/java/org/gridsuite/monitor/server/services/messaging/NotificationServiceTest.java index daed261..f8e8822 100644 --- a/monitor-server/src/test/java/org/gridsuite/monitor/server/services/NotificationServiceTest.java +++ b/monitor-server/src/test/java/org/gridsuite/monitor/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.server.services; +package org.gridsuite.monitor.server.services.messaging; import org.gridsuite.monitor.commons.ProcessRunMessage; import org.gridsuite.monitor.commons.SecurityAnalysisConfig;