From 1d46a4789f5283ebda453bcddbef478d6baaeb29 Mon Sep 17 00:00:00 2001 From: Markus Ofterdinger Date: Wed, 21 May 2025 15:39:19 +0200 Subject: [PATCH 01/10] Moved class MalwareScanResult --- .../service/malware/client/DefaultMalwareScanClient.java | 1 - .../malware/client/{model => }/MalwareScanResult.java | 6 ++++-- .../malware/client/{model => }/MalwareScanResultTest.java | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) rename cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/{model => }/MalwareScanResult.java (88%) rename cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/{model => }/MalwareScanResultTest.java (90%) diff --git a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClient.java b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClient.java index 674436bd..6e6c1e47 100644 --- a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClient.java +++ b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClient.java @@ -19,7 +19,6 @@ import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; -import com.sap.cds.feature.attachments.service.malware.client.model.MalwareScanResult; import com.sap.cds.feature.attachments.service.malware.client.model.MalwareScanResultStatus; import com.sap.cds.services.ServiceException; diff --git a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/model/MalwareScanResult.java b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanResult.java similarity index 88% rename from cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/model/MalwareScanResult.java rename to cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanResult.java index f4457433..731f66de 100644 --- a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/model/MalwareScanResult.java +++ b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanResult.java @@ -1,8 +1,9 @@ /************************************************************************** * (C) 2019-2025 SAP SE or an SAP affiliate company. All rights reserved. * **************************************************************************/ -package com.sap.cds.feature.attachments.service.malware.client.model; +package com.sap.cds.feature.attachments.service.malware.client; +import com.google.common.annotations.VisibleForTesting; import java.io.Serial; import java.io.Serializable; @@ -19,11 +20,12 @@ public class MalwareScanResult implements Serializable { private String mimeType; /** - * Default constructor with no parameters. + * Default constructor with no parameters. Required for Jackson deserialization. */ public MalwareScanResult() { } + @VisibleForTesting MalwareScanResult(boolean malwareDetected, boolean encryptedContentDetected, long scanSize, String mimeType) { this.malwareDetected = malwareDetected; this.encryptedContentDetected = encryptedContentDetected; diff --git a/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/model/MalwareScanResultTest.java b/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanResultTest.java similarity index 90% rename from cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/model/MalwareScanResultTest.java rename to cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanResultTest.java index ee385aa9..85d3ad57 100644 --- a/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/model/MalwareScanResultTest.java +++ b/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanResultTest.java @@ -1,4 +1,4 @@ -package com.sap.cds.feature.attachments.service.malware.client.model; +package com.sap.cds.feature.attachments.service.malware.client; import static org.assertj.core.api.Assertions.assertThat; From af284ccaa35069946171fe23d37d491b49587039 Mon Sep 17 00:00:00 2001 From: Markus Ofterdinger Date: Wed, 21 May 2025 16:14:42 +0200 Subject: [PATCH 02/10] exlude test folders from sonar scan --- .pipeline/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pipeline/config.yml b/.pipeline/config.yml index 31b2b690..e31529d3 100644 --- a/.pipeline/config.yml +++ b/.pipeline/config.yml @@ -34,6 +34,6 @@ steps: options: - sonar.qualitygate.wait=true - sonar.java.source=17 - - sonar.exclusions=**/node_modules/**,**/target/** + - sonar.exclusions=**/node_modules/**,**/target/**,**/test/** - sonar.coverage.jacoco.xmlReportPaths=cds-feature-attachments/target/site/jacoco/jacoco.xml - sonar.coverage.exclusions=cds-feature-attachments/src/test/**,cds-feature-attachments/src/gen/**,integration-tests/** From 809c3014ad0b9bd1d891aa79be68aafa542bc27c Mon Sep 17 00:00:00 2001 From: Markus Ofterdinger Date: Mon, 26 May 2025 08:31:31 +0200 Subject: [PATCH 03/10] Shortened class names. --- .../attachments/configuration/Registration.java | 6 +++--- .../malware/client/DefaultMalwareScanClient.java | 16 ++++++---------- ...viderFactory.java => HttpClientProvider.java} | 4 ++-- ...ctory.java => MalwareScanClientProvider.java} | 8 ++++---- .../client/DefaultMalwareScanClientTest.java | 4 ++-- .../MalwareScanClientProviderFactoryTest.java | 4 ++-- 6 files changed, 19 insertions(+), 23 deletions(-) rename cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/{HttpClientProviderFactory.java => HttpClientProvider.java} (81%) rename cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/{MalwareScanClientProviderFactory.java => MalwareScanClientProvider.java} (87%) diff --git a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/configuration/Registration.java b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/configuration/Registration.java index c81070c1..dc2b7339 100644 --- a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/configuration/Registration.java +++ b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/configuration/Registration.java @@ -36,9 +36,9 @@ import com.sap.cds.feature.attachments.service.malware.AttachmentMalwareScanner; import com.sap.cds.feature.attachments.service.malware.DefaultAttachmentMalwareScanner; import com.sap.cds.feature.attachments.service.malware.client.DefaultMalwareScanClient; -import com.sap.cds.feature.attachments.service.malware.client.HttpClientProviderFactory; +import com.sap.cds.feature.attachments.service.malware.client.HttpClientProvider; import com.sap.cds.feature.attachments.service.malware.client.MalwareScanClient; -import com.sap.cds.feature.attachments.service.malware.client.MalwareScanClientProviderFactory; +import com.sap.cds.feature.attachments.service.malware.client.MalwareScanClientProvider; import com.sap.cds.services.ServiceCatalog; import com.sap.cds.services.cds.ApplicationService; import com.sap.cds.services.draft.DraftService; @@ -143,7 +143,7 @@ private static MalwareScanClient buildMalwareScanClient(CdsEnvironment environme if (bindingOpt.isPresent()) { ServiceBinding binding = bindingOpt.get(); ConnectionPool connectionPool = getConnectionPool(environment); - HttpClientProviderFactory clientProviderFactory = new MalwareScanClientProviderFactory(binding, + HttpClientProvider clientProviderFactory = new MalwareScanClientProvider(binding, connectionPool); if (logger.isInfoEnabled()) { logger.info( diff --git a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClient.java b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClient.java index 6e6c1e47..b81536ae 100644 --- a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClient.java +++ b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClient.java @@ -34,33 +34,29 @@ public class DefaultMalwareScanClient implements MalwareScanClient { private final ObjectMapper mapper = buildObjectMapper(); - private final HttpClientProviderFactory clientProviderFactory; + private final HttpClientProvider clientProviderFactory; /** * Constructs a new instance of {@link DefaultMalwareScanClient}. * - * @param clientProviderFactory the required {@link HttpClientProviderFactory} to create the HTTP client to access + * @param clientProviderFactory the required {@link HttpClientProvider} to create the HTTP client to access * the Malware Scan Service. * * @throws NullPointerException if the {@code clientProviderFactory} is {@code null}. */ - public DefaultMalwareScanClient(HttpClientProviderFactory clientProviderFactory) { + public DefaultMalwareScanClient(HttpClientProvider clientProviderFactory) { this.clientProviderFactory = requireNonNull(clientProviderFactory, "clientProviderFactory must not be null"); } @Override public MalwareScanResultStatus scanContent(InputStream content) { logger.info("Start scanning document"); - return scanContentWithClient(content); - } - - private MalwareScanResultStatus scanContentWithClient(InputStream content) { - HttpClient httpClient = clientProviderFactory.getHttpClient(); HttpPost request = buildHttpRequest(content); - return executeRequest(httpClient, request); + return executeRequest(request); } - private MalwareScanResultStatus executeRequest(HttpClient httpClient, HttpPost request) { + private MalwareScanResultStatus executeRequest(HttpPost request) { + HttpClient httpClient = clientProviderFactory.getHttpClient(); try (CloseableHttpResponse response = (CloseableHttpResponse) httpClient.execute(request)) { MalwareScanResult malwareScanResult = convertHttpResponseToJavaObject(response); return mapResponseToStatus(malwareScanResult); diff --git a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/HttpClientProviderFactory.java b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/HttpClientProvider.java similarity index 81% rename from cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/HttpClientProviderFactory.java rename to cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/HttpClientProvider.java index 290609bb..4a650347 100644 --- a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/HttpClientProviderFactory.java +++ b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/HttpClientProvider.java @@ -6,9 +6,9 @@ import org.apache.http.client.HttpClient; /** - * Factory for creating a {@link HttpClient} to access the Malware Scan Service. + * A provider for getting a {@link HttpClient} to access the Malware Scan Service. */ -public interface HttpClientProviderFactory { +public interface HttpClientProvider { /** * Returns an {@link HttpClient} to send HTTP requests to the Malware Scan Service. diff --git a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanClientProviderFactory.java b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanClientProvider.java similarity index 87% rename from cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanClientProviderFactory.java rename to cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanClientProvider.java index 265e6455..5a1676c9 100644 --- a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanClientProviderFactory.java +++ b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanClientProvider.java @@ -17,19 +17,19 @@ import com.sap.cloud.sdk.cloudplatform.security.BasicCredentials; /** - * The default factory for creating a {@link HttpClient} for the Malware Scan Service. + * The default provider for getting a {@link HttpClient} for the Malware Scan Service. */ -public final class MalwareScanClientProviderFactory implements HttpClientProviderFactory { +public final class MalwareScanClientProvider implements HttpClientProvider { private final HttpClient httpClient; /** - * Creates a new instance of {@link MalwareScanClientProviderFactory}. + * Creates a new instance of {@link MalwareScanClientProvider}. * * @param binding the required {@link ServiceBinding} to the Malware Scan Service * @param configuration the required {@link ConnectionPool} configuration */ - public MalwareScanClientProviderFactory(ServiceBinding binding, ConnectionPool configuration) { + public MalwareScanClientProvider(ServiceBinding binding, ConnectionPool configuration) { Map credentials = binding.getCredentials(); BasicCredentials basic = new BasicCredentials((String) credentials.get("username"), diff --git a/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClientTest.java b/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClientTest.java index 2849cf6f..ab6b69ec 100644 --- a/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClientTest.java +++ b/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClientTest.java @@ -35,12 +35,12 @@ class DefaultMalwareScanClientTest { private DefaultMalwareScanClient cut; - private HttpClientProviderFactory clientProviderFactory; + private HttpClientProvider clientProviderFactory; private ArgumentCaptor requestCaptor; @BeforeEach void setup() { - clientProviderFactory = mock(HttpClientProviderFactory.class); + clientProviderFactory = mock(HttpClientProvider.class); cut = new DefaultMalwareScanClient(clientProviderFactory); requestCaptor = ArgumentCaptor.forClass(HttpEntityEnclosingRequestBase.class); diff --git a/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanClientProviderFactoryTest.java b/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanClientProviderFactoryTest.java index 82ce9613..673eee30 100644 --- a/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanClientProviderFactoryTest.java +++ b/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanClientProviderFactoryTest.java @@ -16,7 +16,7 @@ import com.sap.cloud.environment.servicebinding.api.ServiceBinding; class MalwareScanClientProviderFactoryTest { - private MalwareScanClientProviderFactory cut; + private MalwareScanClientProvider cut; private ServiceBinding binding; private CdsRuntime runtime; private ConnectionPool connectionPoolConfig; @@ -36,7 +36,7 @@ void clientProviderReturned() { when(connectionPoolConfig.getMaxConnections()).thenReturn(10); when(connectionPoolConfig.getMaxConnectionsPerRoute()).thenReturn(1); - cut = new MalwareScanClientProviderFactory(binding, connectionPoolConfig); + cut = new MalwareScanClientProvider(binding, connectionPoolConfig); var client = cut.getHttpClient(); assertThat(client).isNotNull(); From 4623447cdcb2caad021b36fab3194b5784a07b1f Mon Sep 17 00:00:00 2001 From: Markus Ofterdinger Date: Mon, 26 May 2025 08:51:48 +0200 Subject: [PATCH 04/10] renamed argument and variable --- .../service/malware/client/DefaultMalwareScanClient.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClient.java b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClient.java index b81536ae..a570b4a4 100644 --- a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClient.java +++ b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClient.java @@ -39,13 +39,13 @@ public class DefaultMalwareScanClient implements MalwareScanClient { /** * Constructs a new instance of {@link DefaultMalwareScanClient}. * - * @param clientProviderFactory the required {@link HttpClientProvider} to create the HTTP client to access + * @param clientProvider the required {@link HttpClientProvider} to create the HTTP client to access * the Malware Scan Service. * * @throws NullPointerException if the {@code clientProviderFactory} is {@code null}. */ - public DefaultMalwareScanClient(HttpClientProvider clientProviderFactory) { - this.clientProviderFactory = requireNonNull(clientProviderFactory, "clientProviderFactory must not be null"); + public DefaultMalwareScanClient(HttpClientProvider clientProvider) { + this.clientProviderFactory = requireNonNull(clientProvider, "clientProvider must not be null"); } @Override From d59f1a58f34a431dd5f13665ae07aeed6622dec2 Mon Sep 17 00:00:00 2001 From: Markus Ofterdinger Date: Mon, 26 May 2025 09:23:57 +0200 Subject: [PATCH 05/10] more renaming --- .../service/malware/DefaultAttachmentMalwareScanner.java | 2 +- .../service/malware/client/DefaultMalwareScanClient.java | 9 ++++----- .../service/malware/client/MalwareScanClient.java | 2 -- .../client/{model => }/MalwareScanResultStatus.java | 2 +- .../malware/DefaultAttachmentMalwareScannerTest.java | 2 +- .../malware/client/DefaultMalwareScanClientTest.java | 2 -- 6 files changed, 7 insertions(+), 12 deletions(-) rename cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/{model => }/MalwareScanResultStatus.java (93%) diff --git a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/DefaultAttachmentMalwareScanner.java b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/DefaultAttachmentMalwareScanner.java index 0bbaab2d..3a6f2369 100644 --- a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/DefaultAttachmentMalwareScanner.java +++ b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/DefaultAttachmentMalwareScanner.java @@ -21,7 +21,7 @@ import com.sap.cds.feature.attachments.generated.cds4j.sap.attachments.StatusCode; import com.sap.cds.feature.attachments.service.AttachmentService; import com.sap.cds.feature.attachments.service.malware.client.MalwareScanClient; -import com.sap.cds.feature.attachments.service.malware.client.model.MalwareScanResultStatus; +import com.sap.cds.feature.attachments.service.malware.client.MalwareScanResultStatus; import com.sap.cds.ql.Select; import com.sap.cds.ql.Update; import com.sap.cds.ql.cqn.CqnSelect; diff --git a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClient.java b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClient.java index a570b4a4..e861f4f4 100644 --- a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClient.java +++ b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClient.java @@ -19,7 +19,6 @@ import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; -import com.sap.cds.feature.attachments.service.malware.client.model.MalwareScanResultStatus; import com.sap.cds.services.ServiceException; /** @@ -34,18 +33,18 @@ public class DefaultMalwareScanClient implements MalwareScanClient { private final ObjectMapper mapper = buildObjectMapper(); - private final HttpClientProvider clientProviderFactory; + private final HttpClientProvider clientProvider; /** * Constructs a new instance of {@link DefaultMalwareScanClient}. * * @param clientProvider the required {@link HttpClientProvider} to create the HTTP client to access - * the Malware Scan Service. + * the Malware Scan Service. * * @throws NullPointerException if the {@code clientProviderFactory} is {@code null}. */ public DefaultMalwareScanClient(HttpClientProvider clientProvider) { - this.clientProviderFactory = requireNonNull(clientProvider, "clientProvider must not be null"); + this.clientProvider = requireNonNull(clientProvider, "clientProvider must not be null"); } @Override @@ -56,7 +55,7 @@ public MalwareScanResultStatus scanContent(InputStream content) { } private MalwareScanResultStatus executeRequest(HttpPost request) { - HttpClient httpClient = clientProviderFactory.getHttpClient(); + HttpClient httpClient = clientProvider.getHttpClient(); try (CloseableHttpResponse response = (CloseableHttpResponse) httpClient.execute(request)) { MalwareScanResult malwareScanResult = convertHttpResponseToJavaObject(response); return mapResponseToStatus(malwareScanResult); diff --git a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanClient.java b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanClient.java index d8c987bc..ae14dab1 100644 --- a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanClient.java +++ b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanClient.java @@ -4,8 +4,6 @@ package com.sap.cds.feature.attachments.service.malware.client; import java.io.InputStream; - -import com.sap.cds.feature.attachments.service.malware.client.model.MalwareScanResultStatus; import com.sap.cds.services.ServiceException; /** diff --git a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/model/MalwareScanResultStatus.java b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanResultStatus.java similarity index 93% rename from cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/model/MalwareScanResultStatus.java rename to cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanResultStatus.java index e031cad6..7a0ada05 100644 --- a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/model/MalwareScanResultStatus.java +++ b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanResultStatus.java @@ -1,7 +1,7 @@ /************************************************************************** * (C) 2019-2025 SAP SE or an SAP affiliate company. All rights reserved. * **************************************************************************/ -package com.sap.cds.feature.attachments.service.malware.client.model; +package com.sap.cds.feature.attachments.service.malware.client; /** * The results returned from the Malware Scan backing service. The status of the scan can be one of the following: diff --git a/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/DefaultAttachmentMalwareScannerTest.java b/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/DefaultAttachmentMalwareScannerTest.java index fa8cec83..79c721f0 100644 --- a/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/DefaultAttachmentMalwareScannerTest.java +++ b/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/DefaultAttachmentMalwareScannerTest.java @@ -26,7 +26,7 @@ import com.sap.cds.feature.attachments.handler.helper.RuntimeHelper; import com.sap.cds.feature.attachments.service.AttachmentService; import com.sap.cds.feature.attachments.service.malware.client.MalwareScanClient; -import com.sap.cds.feature.attachments.service.malware.client.model.MalwareScanResultStatus; +import com.sap.cds.feature.attachments.service.malware.client.MalwareScanResultStatus; import com.sap.cds.ql.cqn.CqnSelect; import com.sap.cds.ql.cqn.CqnUpdate; import com.sap.cds.services.ServiceException; diff --git a/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClientTest.java b/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClientTest.java index ab6b69ec..29546256 100644 --- a/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClientTest.java +++ b/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClientTest.java @@ -28,8 +28,6 @@ import org.junit.jupiter.params.provider.CsvSource; import org.junit.jupiter.params.provider.ValueSource; import org.mockito.ArgumentCaptor; - -import com.sap.cds.feature.attachments.service.malware.client.model.MalwareScanResultStatus; import com.sap.cds.services.ServiceException; class DefaultMalwareScanClientTest { From 0727463cc531748380884c940a74e3d90e210971 Mon Sep 17 00:00:00 2001 From: Markus Ofterdinger Date: Mon, 26 May 2025 09:36:57 +0200 Subject: [PATCH 06/10] refactoring --- .../service/malware/DefaultAttachmentMalwareScanner.java | 1 - .../service/malware/{client => }/MalwareScanResultStatus.java | 2 +- .../service/malware/client/DefaultMalwareScanClient.java | 1 + .../attachments/service/malware/client/MalwareScanClient.java | 1 + .../service/malware/DefaultAttachmentMalwareScannerTest.java | 1 - .../service/malware/client/DefaultMalwareScanClientTest.java | 1 + 6 files changed, 4 insertions(+), 3 deletions(-) rename cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/{client => }/MalwareScanResultStatus.java (94%) diff --git a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/DefaultAttachmentMalwareScanner.java b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/DefaultAttachmentMalwareScanner.java index 3a6f2369..4e240adf 100644 --- a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/DefaultAttachmentMalwareScanner.java +++ b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/DefaultAttachmentMalwareScanner.java @@ -21,7 +21,6 @@ import com.sap.cds.feature.attachments.generated.cds4j.sap.attachments.StatusCode; import com.sap.cds.feature.attachments.service.AttachmentService; import com.sap.cds.feature.attachments.service.malware.client.MalwareScanClient; -import com.sap.cds.feature.attachments.service.malware.client.MalwareScanResultStatus; import com.sap.cds.ql.Select; import com.sap.cds.ql.Update; import com.sap.cds.ql.cqn.CqnSelect; diff --git a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanResultStatus.java b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/MalwareScanResultStatus.java similarity index 94% rename from cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanResultStatus.java rename to cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/MalwareScanResultStatus.java index 7a0ada05..b61fc6d7 100644 --- a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanResultStatus.java +++ b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/MalwareScanResultStatus.java @@ -1,7 +1,7 @@ /************************************************************************** * (C) 2019-2025 SAP SE or an SAP affiliate company. All rights reserved. * **************************************************************************/ -package com.sap.cds.feature.attachments.service.malware.client; +package com.sap.cds.feature.attachments.service.malware; /** * The results returned from the Malware Scan backing service. The status of the scan can be one of the following: diff --git a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClient.java b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClient.java index e861f4f4..c56d9281 100644 --- a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClient.java +++ b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClient.java @@ -19,6 +19,7 @@ import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; +import com.sap.cds.feature.attachments.service.malware.MalwareScanResultStatus; import com.sap.cds.services.ServiceException; /** diff --git a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanClient.java b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanClient.java index ae14dab1..abdfb816 100644 --- a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanClient.java +++ b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanClient.java @@ -4,6 +4,7 @@ package com.sap.cds.feature.attachments.service.malware.client; import java.io.InputStream; +import com.sap.cds.feature.attachments.service.malware.MalwareScanResultStatus; import com.sap.cds.services.ServiceException; /** diff --git a/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/DefaultAttachmentMalwareScannerTest.java b/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/DefaultAttachmentMalwareScannerTest.java index 79c721f0..7414825a 100644 --- a/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/DefaultAttachmentMalwareScannerTest.java +++ b/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/DefaultAttachmentMalwareScannerTest.java @@ -26,7 +26,6 @@ import com.sap.cds.feature.attachments.handler.helper.RuntimeHelper; import com.sap.cds.feature.attachments.service.AttachmentService; import com.sap.cds.feature.attachments.service.malware.client.MalwareScanClient; -import com.sap.cds.feature.attachments.service.malware.client.MalwareScanResultStatus; import com.sap.cds.ql.cqn.CqnSelect; import com.sap.cds.ql.cqn.CqnUpdate; import com.sap.cds.services.ServiceException; diff --git a/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClientTest.java b/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClientTest.java index 29546256..d1275205 100644 --- a/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClientTest.java +++ b/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClientTest.java @@ -28,6 +28,7 @@ import org.junit.jupiter.params.provider.CsvSource; import org.junit.jupiter.params.provider.ValueSource; import org.mockito.ArgumentCaptor; +import com.sap.cds.feature.attachments.service.malware.MalwareScanResultStatus; import com.sap.cds.services.ServiceException; class DefaultMalwareScanClientTest { From a4c45e2faeb6d820e2a5203024221539aaa321c1 Mon Sep 17 00:00:00 2001 From: Markus Ofterdinger Date: Mon, 26 May 2025 09:38:48 +0200 Subject: [PATCH 07/10] Revert "refactoring" This reverts commit 0727463cc531748380884c940a74e3d90e210971. --- .../service/malware/DefaultAttachmentMalwareScanner.java | 1 + .../service/malware/client/DefaultMalwareScanClient.java | 1 - .../attachments/service/malware/client/MalwareScanClient.java | 1 - .../service/malware/{ => client}/MalwareScanResultStatus.java | 2 +- .../service/malware/DefaultAttachmentMalwareScannerTest.java | 1 + .../service/malware/client/DefaultMalwareScanClientTest.java | 1 - 6 files changed, 3 insertions(+), 4 deletions(-) rename cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/{ => client}/MalwareScanResultStatus.java (94%) diff --git a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/DefaultAttachmentMalwareScanner.java b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/DefaultAttachmentMalwareScanner.java index 4e240adf..3a6f2369 100644 --- a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/DefaultAttachmentMalwareScanner.java +++ b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/DefaultAttachmentMalwareScanner.java @@ -21,6 +21,7 @@ import com.sap.cds.feature.attachments.generated.cds4j.sap.attachments.StatusCode; import com.sap.cds.feature.attachments.service.AttachmentService; import com.sap.cds.feature.attachments.service.malware.client.MalwareScanClient; +import com.sap.cds.feature.attachments.service.malware.client.MalwareScanResultStatus; import com.sap.cds.ql.Select; import com.sap.cds.ql.Update; import com.sap.cds.ql.cqn.CqnSelect; diff --git a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClient.java b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClient.java index c56d9281..e861f4f4 100644 --- a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClient.java +++ b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClient.java @@ -19,7 +19,6 @@ import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; -import com.sap.cds.feature.attachments.service.malware.MalwareScanResultStatus; import com.sap.cds.services.ServiceException; /** diff --git a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanClient.java b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanClient.java index abdfb816..ae14dab1 100644 --- a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanClient.java +++ b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanClient.java @@ -4,7 +4,6 @@ package com.sap.cds.feature.attachments.service.malware.client; import java.io.InputStream; -import com.sap.cds.feature.attachments.service.malware.MalwareScanResultStatus; import com.sap.cds.services.ServiceException; /** diff --git a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/MalwareScanResultStatus.java b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanResultStatus.java similarity index 94% rename from cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/MalwareScanResultStatus.java rename to cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanResultStatus.java index b61fc6d7..7a0ada05 100644 --- a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/MalwareScanResultStatus.java +++ b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanResultStatus.java @@ -1,7 +1,7 @@ /************************************************************************** * (C) 2019-2025 SAP SE or an SAP affiliate company. All rights reserved. * **************************************************************************/ -package com.sap.cds.feature.attachments.service.malware; +package com.sap.cds.feature.attachments.service.malware.client; /** * The results returned from the Malware Scan backing service. The status of the scan can be one of the following: diff --git a/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/DefaultAttachmentMalwareScannerTest.java b/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/DefaultAttachmentMalwareScannerTest.java index 7414825a..79c721f0 100644 --- a/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/DefaultAttachmentMalwareScannerTest.java +++ b/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/DefaultAttachmentMalwareScannerTest.java @@ -26,6 +26,7 @@ import com.sap.cds.feature.attachments.handler.helper.RuntimeHelper; import com.sap.cds.feature.attachments.service.AttachmentService; import com.sap.cds.feature.attachments.service.malware.client.MalwareScanClient; +import com.sap.cds.feature.attachments.service.malware.client.MalwareScanResultStatus; import com.sap.cds.ql.cqn.CqnSelect; import com.sap.cds.ql.cqn.CqnUpdate; import com.sap.cds.services.ServiceException; diff --git a/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClientTest.java b/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClientTest.java index d1275205..29546256 100644 --- a/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClientTest.java +++ b/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClientTest.java @@ -28,7 +28,6 @@ import org.junit.jupiter.params.provider.CsvSource; import org.junit.jupiter.params.provider.ValueSource; import org.mockito.ArgumentCaptor; -import com.sap.cds.feature.attachments.service.malware.MalwareScanResultStatus; import com.sap.cds.services.ServiceException; class DefaultMalwareScanClientTest { From 3233b9d41ef3ec6b8a240597ab90dacf5e4d9922 Mon Sep 17 00:00:00 2001 From: Markus Ofterdinger Date: Mon, 26 May 2025 10:28:33 +0200 Subject: [PATCH 08/10] renamed local variable --- .../cds/feature/attachments/configuration/Registration.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/configuration/Registration.java b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/configuration/Registration.java index dc2b7339..c2e76203 100644 --- a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/configuration/Registration.java +++ b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/configuration/Registration.java @@ -143,14 +143,14 @@ private static MalwareScanClient buildMalwareScanClient(CdsEnvironment environme if (bindingOpt.isPresent()) { ServiceBinding binding = bindingOpt.get(); ConnectionPool connectionPool = getConnectionPool(environment); - HttpClientProvider clientProviderFactory = new MalwareScanClientProvider(binding, + HttpClientProvider clientProvider = new MalwareScanClientProvider(binding, connectionPool); if (logger.isInfoEnabled()) { logger.info( "Using Malware Scanning service binding with name '{}' and plan '{}' for malware scanning of attachments.", binding.getName().orElse("unknown"), binding.getServicePlan().orElse("unknown")); } - return new DefaultMalwareScanClient(clientProviderFactory); + return new DefaultMalwareScanClient(clientProvider); } logger.info("No Malware Scanning service binding found, malware scanning is disabled."); From c5ce487e67e6863ded8f4e49a4b7272d95b418ca Mon Sep 17 00:00:00 2001 From: Markus Ofterdinger Date: Tue, 3 Jun 2025 08:51:18 +0200 Subject: [PATCH 09/10] further renaming --- .../service/malware/client/HttpClientProvider.java | 2 +- .../service/malware/client/MalwareScanResult.java | 8 ++++---- .../malware/client/DefaultMalwareScanClientTest.java | 10 +++++----- ...oryTest.java => MalwareScanClientProviderTest.java} | 2 +- 4 files changed, 11 insertions(+), 11 deletions(-) rename cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/{MalwareScanClientProviderFactoryTest.java => MalwareScanClientProviderTest.java} (97%) diff --git a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/HttpClientProvider.java b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/HttpClientProvider.java index 4a650347..86e5c5e8 100644 --- a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/HttpClientProvider.java +++ b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/HttpClientProvider.java @@ -12,7 +12,7 @@ public interface HttpClientProvider { /** * Returns an {@link HttpClient} to send HTTP requests to the Malware Scan Service. - * + * * @return an {@link HttpClient} to send HTTP requests to the Malware Scan Service. */ HttpClient getHttpClient(); diff --git a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanResult.java b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanResult.java index 731f66de..8ce330c0 100644 --- a/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanResult.java +++ b/cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanResult.java @@ -35,7 +35,7 @@ public MalwareScanResult() { /** * Indicates if malware was detected. - * + * * @return true if malware was detected, otherwise false. */ public boolean isMalwareDetected() { @@ -44,7 +44,7 @@ public boolean isMalwareDetected() { /** * Indicates if encrypted content was detected. - * + * * @return true if encrypted content was detected, otherwise false. */ public boolean isEncryptedContentDetected() { @@ -53,7 +53,7 @@ public boolean isEncryptedContentDetected() { /** * The size of the scanned file. - * + * * @return the size of the scanned file. */ public long getScanSize() { @@ -62,7 +62,7 @@ public long getScanSize() { /** * The mime type of the file scanned. - * + * * @return the mime type of the file scanned. */ public String getMimeType() { diff --git a/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClientTest.java b/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClientTest.java index 29546256..96d797bd 100644 --- a/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClientTest.java +++ b/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClientTest.java @@ -33,13 +33,13 @@ class DefaultMalwareScanClientTest { private DefaultMalwareScanClient cut; - private HttpClientProvider clientProviderFactory; + private HttpClientProvider clientProvider; private ArgumentCaptor requestCaptor; @BeforeEach void setup() { - clientProviderFactory = mock(HttpClientProvider.class); - cut = new DefaultMalwareScanClient(clientProviderFactory); + clientProvider = mock(HttpClientProvider.class); + cut = new DefaultMalwareScanClient(clientProvider); requestCaptor = ArgumentCaptor.forClass(HttpEntityEnclosingRequestBase.class); } @@ -90,7 +90,7 @@ void correctStatusReturnedForNotCleanResponse(boolean malwareDetected, @Test void exceptionIsThrownIfRequestRespondWithException() throws IOException { var httpClient = mock(HttpClient.class); - when(clientProviderFactory.getHttpClient()).thenReturn(httpClient); + when(clientProvider.getHttpClient()).thenReturn(httpClient); when(httpClient.execute(any())).thenThrow(new IOException()); var inputStream = mock(InputStream.class); @@ -139,7 +139,7 @@ private HttpClient mockHttpResponse(int httpStatus, boolean malwareDetected, private HttpClient mockHttpResponse(int httpStatus, boolean malwareDetected, boolean encryptedContentDetected, String contentTypeString, boolean responseEntityExists) throws IOException { var httpClient = mock(HttpClient.class); - when(clientProviderFactory.getHttpClient()).thenReturn(httpClient); + when(clientProvider.getHttpClient()).thenReturn(httpClient); var response = mock(CloseableHttpResponse.class); when(httpClient.execute(any())).thenReturn(response); var statusLine = mock(StatusLine.class); diff --git a/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanClientProviderFactoryTest.java b/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanClientProviderTest.java similarity index 97% rename from cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanClientProviderFactoryTest.java rename to cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanClientProviderTest.java index 673eee30..edc7ba87 100644 --- a/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanClientProviderFactoryTest.java +++ b/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanClientProviderTest.java @@ -15,7 +15,7 @@ import com.sap.cds.services.runtime.CdsRuntime; import com.sap.cloud.environment.servicebinding.api.ServiceBinding; -class MalwareScanClientProviderFactoryTest { +class MalwareScanClientProviderTest { private MalwareScanClientProvider cut; private ServiceBinding binding; private CdsRuntime runtime; From 526a3ea45391db7ef4c004d9e1a290cbc1ae8c79 Mon Sep 17 00:00:00 2001 From: Markus Ofterdinger Date: Tue, 3 Jun 2025 10:07:18 +0200 Subject: [PATCH 10/10] simplified some assertions --- .../DefaultAttachmentMalwareScannerTest.java | 11 ++++++----- .../client/DefaultMalwareScanClientTest.java | 15 +++++++-------- .../client/MalwareScanClientProviderTest.java | 5 ++--- .../malware/client/MalwareScanResultTest.java | 11 +++++------ 4 files changed, 20 insertions(+), 22 deletions(-) diff --git a/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/DefaultAttachmentMalwareScannerTest.java b/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/DefaultAttachmentMalwareScannerTest.java index 79c721f0..ba8f3b04 100644 --- a/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/DefaultAttachmentMalwareScannerTest.java +++ b/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/DefaultAttachmentMalwareScannerTest.java @@ -1,6 +1,7 @@ package com.sap.cds.feature.attachments.service.malware; import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; @@ -250,11 +251,11 @@ void clientNotCalledIfNoInstanceBound() { @Test void mapStatus() { - assertThat(DefaultAttachmentMalwareScanner.mapStatus(MalwareScanResultStatus.CLEAN)).isEqualTo(StatusCode.CLEAN); - assertThat(DefaultAttachmentMalwareScanner.mapStatus(MalwareScanResultStatus.ENCRYPTED)).isEqualTo(StatusCode.INFECTED); - assertThat(DefaultAttachmentMalwareScanner.mapStatus(MalwareScanResultStatus.FAILED)).isEqualTo(StatusCode.FAILED); - assertThat(DefaultAttachmentMalwareScanner.mapStatus(MalwareScanResultStatus.INFECTED)).isEqualTo(StatusCode.INFECTED); - assertThat(DefaultAttachmentMalwareScanner.mapStatus(MalwareScanResultStatus.NO_SCANNER)).isEqualTo(StatusCode.CLEAN); + assertEquals(StatusCode.CLEAN, DefaultAttachmentMalwareScanner.mapStatus(MalwareScanResultStatus.CLEAN)); + assertEquals(StatusCode.INFECTED,DefaultAttachmentMalwareScanner.mapStatus(MalwareScanResultStatus.ENCRYPTED)); + assertEquals(StatusCode.FAILED, DefaultAttachmentMalwareScanner.mapStatus(MalwareScanResultStatus.FAILED)); + assertEquals(StatusCode.INFECTED, DefaultAttachmentMalwareScanner.mapStatus(MalwareScanResultStatus.INFECTED)); + assertEquals(StatusCode.CLEAN, DefaultAttachmentMalwareScanner.mapStatus(MalwareScanResultStatus.NO_SCANNER)); } private void verifyPersistenceServiceCalledCorrectlyForReadAndUpdate(MalwareScanResultStatus expectedStatus) { diff --git a/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClientTest.java b/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClientTest.java index 96d797bd..6742aaac 100644 --- a/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClientTest.java +++ b/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/DefaultMalwareScanClientTest.java @@ -1,19 +1,19 @@ package com.sap.cds.feature.attachments.service.malware.client; -import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; +import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; +import com.sap.cds.services.ServiceException; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import java.nio.charset.StandardCharsets; import java.util.Objects; - import org.apache.http.Header; import org.apache.http.HeaderElement; import org.apache.http.HttpEntity; @@ -28,7 +28,6 @@ import org.junit.jupiter.params.provider.CsvSource; import org.junit.jupiter.params.provider.ValueSource; import org.mockito.ArgumentCaptor; -import com.sap.cds.services.ServiceException; class DefaultMalwareScanClientTest { @@ -52,7 +51,7 @@ void contentIsUsedInRequest() throws IOException { cut.scanContent(content); verify(httpClient).execute(requestCaptor.capture()); - assertThat(requestCaptor.getValue().getEntity().getContent()).isEqualTo(content); + assertEquals(requestCaptor.getValue().getEntity().getContent(), content); } @Test @@ -64,7 +63,7 @@ void correctMethodIsUsedInRequest() throws IOException { verify(httpClient).execute(requestCaptor.capture()); var request = requestCaptor.getValue(); - assertThat(request.getMethod()).isEqualTo("POST"); + assertEquals("POST", request.getMethod()); } @Test @@ -73,7 +72,7 @@ void correctStatusReturnedForSuccessfulScan() throws IOException { var response = cut.scanContent(mock(InputStream.class)); - assertThat(response).isEqualTo(MalwareScanResultStatus.CLEAN); + assertEquals(MalwareScanResultStatus.CLEAN, response); } @ParameterizedTest @@ -84,7 +83,7 @@ void correctStatusReturnedForNotCleanResponse(boolean malwareDetected, var response = cut.scanContent(mock(InputStream.class)); - assertThat(response).isEqualTo(MalwareScanResultStatus.INFECTED); + assertEquals(MalwareScanResultStatus.INFECTED, response); } @Test @@ -128,7 +127,7 @@ void noResponseEntityReturnsClean() throws IOException { var response = cut.scanContent(mock(InputStream.class)); - assertThat(response).isEqualTo(MalwareScanResultStatus.CLEAN); + assertEquals(MalwareScanResultStatus.CLEAN, response); } private HttpClient mockHttpResponse(int httpStatus, boolean malwareDetected, diff --git a/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanClientProviderTest.java b/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanClientProviderTest.java index edc7ba87..4e964bec 100644 --- a/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanClientProviderTest.java +++ b/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanClientProviderTest.java @@ -1,6 +1,6 @@ package com.sap.cds.feature.attachments.service.malware.client; -import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @@ -39,7 +39,7 @@ void clientProviderReturned() { cut = new MalwareScanClientProvider(binding, connectionPoolConfig); var client = cut.getHttpClient(); - assertThat(client).isNotNull(); + assertNotNull(client); } private void mockInput() { @@ -50,5 +50,4 @@ private void mockInput() { when(connectionPoolConfig.getMaxConnections()).thenReturn(20); when(connectionPoolConfig.getMaxConnectionsPerRoute()).thenReturn(20); } - } diff --git a/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanResultTest.java b/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanResultTest.java index 85d3ad57..7d7ed0c6 100644 --- a/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanResultTest.java +++ b/cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/malware/client/MalwareScanResultTest.java @@ -1,6 +1,6 @@ package com.sap.cds.feature.attachments.service.malware.client; -import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.jupiter.api.Assertions.assertEquals; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.ValueSource; @@ -12,10 +12,9 @@ class MalwareScanResultTest { void dataCanBeSet(boolean value) { var malwareScanResult = new MalwareScanResult(value, value, 100, "text/plain"); - assertThat(malwareScanResult.isMalwareDetected()).isEqualTo(value); - assertThat(malwareScanResult.isEncryptedContentDetected()).isEqualTo(value); - assertThat(malwareScanResult.getScanSize()).isEqualTo(100); - assertThat(malwareScanResult.getMimeType()).isEqualTo("text/plain"); + assertEquals(value, malwareScanResult.isMalwareDetected()); + assertEquals(value, malwareScanResult.isEncryptedContentDetected()); + assertEquals(100, malwareScanResult.getScanSize()); + assertEquals("text/plain", malwareScanResult.getMimeType()); } - } \ No newline at end of file