Change DmiProperties class to DmiServiceAuthenicationProperties 15/141315/1
authorseanbeirne <sean.beirne@est.tech>
Tue, 17 Jun 2025 12:45:30 +0000 (13:45 +0100)
committerseanbeirne <sean.beirne@est.tech>
Tue, 17 Jun 2025 12:46:54 +0000 (13:46 +0100)
Issue-ID: CPS-2855
Change-Id: Iada453d996ca2ff27cdfa91c517175f3842393a3
Signed-off-by: seanbeirne <sean.beirne@est.tech>
14 files changed:
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/data/DmiDataOperations.java
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/datajobs/DataJobResultServiceImpl.java
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/datajobs/DataJobStatusServiceImpl.java
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/datajobs/DmiSubJobRequestHandler.java
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/dmi/DmiRestClient.java
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/dmi/DmiServiceAuthenticationProperties.java [moved from cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/dmi/DmiProperties.java with 97% similarity]
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/sync/DmiModelOperations.java
cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/data/DmiDataOperationsSpec.groovy
cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/datajobs/DataJobResultServiceImplSpec.groovy
cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/datajobs/DataJobStatusServiceImplSpec.groovy
cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/datajobs/DmiSubJobRequestHandlerSpec.groovy
cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/dmi/DmiRestClientSpec.groovy
cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/dmi/DmiServiceAuthenticationPropertiesSpec.groovy [moved from cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/dmi/DmiPropertiesSpec.groovy with 90% similarity]
cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/inventory/sync/DmiModelOperationsSpec.groovy

index 2d5eae3..25229b7 100644 (file)
@@ -46,8 +46,8 @@ import org.onap.cps.ncmp.impl.data.models.DmiDataOperationRequest;
 import org.onap.cps.ncmp.impl.data.models.DmiOperationCmHandle;
 import org.onap.cps.ncmp.impl.data.policyexecutor.PolicyExecutor;
 import org.onap.cps.ncmp.impl.data.utils.DmiDataOperationsHelper;
-import org.onap.cps.ncmp.impl.dmi.DmiProperties;
 import org.onap.cps.ncmp.impl.dmi.DmiRestClient;
+import org.onap.cps.ncmp.impl.dmi.DmiServiceAuthenticationProperties;
 import org.onap.cps.ncmp.impl.inventory.InventoryPersistence;
 import org.onap.cps.ncmp.impl.inventory.models.YangModelCmHandle;
 import org.onap.cps.ncmp.impl.models.DmiRequestBody;
@@ -73,7 +73,7 @@ public class DmiDataOperations {
     private final InventoryPersistence inventoryPersistence;
     private final AlternateIdMatcher alternateIdMatcher;
     private final JsonObjectMapper jsonObjectMapper;
-    private final DmiProperties dmiProperties;
+    private final DmiServiceAuthenticationProperties dmiServiceAuthenticationProperties;
     private final DmiRestClient dmiRestClient;
     private final PolicyExecutor policyExecutor;
 
@@ -229,7 +229,7 @@ public class DmiDataOperations {
                 .queryParameter("resourceIdentifier", resourceIdentifier)
                 .queryParameter("options", optionsParamInQuery)
                 .queryParameter("topic", topicParamInQuery)
-                .createUrlTemplateParameters(dmiServiceName, dmiProperties.getDmiBasePath());
+                .createUrlTemplateParameters(dmiServiceName, dmiServiceAuthenticationProperties.getDmiBasePath());
     }
 
     private UrlTemplateParameters getUrlTemplateParameters(final String dmiServiceName,
@@ -239,7 +239,7 @@ public class DmiDataOperations {
                 .fixedPathSegment("data")
                 .queryParameter("requestId", requestId)
                 .queryParameter("topic", topicParamInQuery)
-                .createUrlTemplateParameters(dmiServiceName, dmiProperties.getDmiBasePath());
+                .createUrlTemplateParameters(dmiServiceName, dmiServiceAuthenticationProperties.getDmiBasePath());
     }
 
     private void validateIfCmHandleStateReady(final YangModelCmHandle yangModelCmHandle,
index 8934c08..1bc90cd 100644 (file)
@@ -22,8 +22,8 @@ package org.onap.cps.ncmp.impl.datajobs;
 
 import lombok.RequiredArgsConstructor;
 import org.onap.cps.ncmp.api.datajobs.DataJobResultService;
-import org.onap.cps.ncmp.impl.dmi.DmiProperties;
 import org.onap.cps.ncmp.impl.dmi.DmiRestClient;
+import org.onap.cps.ncmp.impl.dmi.DmiServiceAuthenticationProperties;
 import org.onap.cps.ncmp.impl.utils.http.RestServiceUrlTemplateBuilder;
 import org.onap.cps.ncmp.impl.utils.http.UrlTemplateParameters;
 import org.springframework.stereotype.Service;
@@ -33,7 +33,7 @@ import org.springframework.stereotype.Service;
 public class DataJobResultServiceImpl implements DataJobResultService {
 
     private final DmiRestClient dmiRestClient;
-    private final DmiProperties dmiProperties;
+    private final DmiServiceAuthenticationProperties dmiServiceAuthenticationProperties;
 
     @Override
     public String getDataJobResult(final String authorization,
@@ -49,7 +49,8 @@ public class DataJobResultServiceImpl implements DataJobResultService {
                                            .variablePathSegment("dataProducerJobId", dataProducerJobId)
                                            .fixedPathSegment("result")
                                            .queryParameter("destination", destination)
-                                           .createUrlTemplateParameters(dmiServiceName, dmiProperties.getDmiBasePath());
+                                           .createUrlTemplateParameters(dmiServiceName,
+                                               dmiServiceAuthenticationProperties.getDmiBasePath());
         return dmiRestClient.getDataJobResult(urlTemplateParameters, authorization).block();
     }
 }
index 1cfb8a9..8d7061c 100644 (file)
@@ -22,8 +22,8 @@ package org.onap.cps.ncmp.impl.datajobs;
 
 import lombok.RequiredArgsConstructor;
 import org.onap.cps.ncmp.api.datajobs.DataJobStatusService;
-import org.onap.cps.ncmp.impl.dmi.DmiProperties;
 import org.onap.cps.ncmp.impl.dmi.DmiRestClient;
+import org.onap.cps.ncmp.impl.dmi.DmiServiceAuthenticationProperties;
 import org.onap.cps.ncmp.impl.utils.http.RestServiceUrlTemplateBuilder;
 import org.onap.cps.ncmp.impl.utils.http.UrlTemplateParameters;
 import org.springframework.stereotype.Service;
@@ -37,7 +37,7 @@ import org.springframework.stereotype.Service;
 public class DataJobStatusServiceImpl implements DataJobStatusService {
 
     private final DmiRestClient dmiRestClient;
-    private final DmiProperties dmiProperties;
+    private final DmiServiceAuthenticationProperties dmiServiceAuthenticationProperties;
 
     @Override
     public String getDataJobStatus(final String authorization,
@@ -61,6 +61,6 @@ public class DataJobStatusServiceImpl implements DataJobStatusService {
                 .fixedPathSegment("dataProducerJob")
                 .variablePathSegment("dataProducerJobId", dataProducerJobId)
                 .fixedPathSegment("status")
-                .createUrlTemplateParameters(dmiServiceName, dmiProperties.getDmiBasePath());
+                .createUrlTemplateParameters(dmiServiceName, dmiServiceAuthenticationProperties.getDmiBasePath());
     }
 }
index d74863a..5a62667 100644 (file)
@@ -31,8 +31,8 @@ import org.onap.cps.ncmp.api.datajobs.models.DmiWriteOperation;
 import org.onap.cps.ncmp.api.datajobs.models.ProducerKey;
 import org.onap.cps.ncmp.api.datajobs.models.SubJobWriteRequest;
 import org.onap.cps.ncmp.api.datajobs.models.SubJobWriteResponse;
-import org.onap.cps.ncmp.impl.dmi.DmiProperties;
 import org.onap.cps.ncmp.impl.dmi.DmiRestClient;
+import org.onap.cps.ncmp.impl.dmi.DmiServiceAuthenticationProperties;
 import org.onap.cps.ncmp.impl.models.RequiredDmiService;
 import org.onap.cps.ncmp.impl.utils.http.RestServiceUrlTemplateBuilder;
 import org.onap.cps.ncmp.impl.utils.http.UrlTemplateParameters;
@@ -46,7 +46,7 @@ import org.springframework.stereotype.Service;
 public class DmiSubJobRequestHandler {
 
     private final DmiRestClient dmiRestClient;
-    private final DmiProperties dmiProperties;
+    private final DmiServiceAuthenticationProperties dmiServiceAuthenticationProperties;
     private final JsonObjectMapper jsonObjectMapper;
 
     /**
@@ -94,6 +94,7 @@ public class DmiSubJobRequestHandler {
         return RestServiceUrlTemplateBuilder.newInstance()
                 .fixedPathSegment("cmwriteJob")
                 .queryParameter("destination", destination)
-                .createUrlTemplateParameters(producerKey.dmiServiceName(), dmiProperties.getDmiBasePath());
+                .createUrlTemplateParameters(producerKey.dmiServiceName(),
+                    dmiServiceAuthenticationProperties.getDmiBasePath());
     }
 }
index 060051e..ceed489 100644 (file)
@@ -57,7 +57,7 @@ public class DmiRestClient {
 
     private static final String NOT_SPECIFIED = "";
 
-    private final DmiProperties dmiProperties;
+    private final DmiServiceAuthenticationProperties dmiServiceAuthenticationProperties;
     private final JsonObjectMapper jsonObjectMapper;
     @Qualifier("dataServicesWebClient")
     private final WebClient dataServicesWebClient;
@@ -188,8 +188,9 @@ public class DmiRestClient {
     }
 
     private void configureHttpHeaders(final HttpHeaders httpHeaders, final String authorization) {
-        if (dmiProperties.isDmiBasicAuthEnabled()) {
-            httpHeaders.setBasicAuth(dmiProperties.getAuthUsername(), dmiProperties.getAuthPassword());
+        if (dmiServiceAuthenticationProperties.isDmiBasicAuthEnabled()) {
+            httpHeaders.setBasicAuth(dmiServiceAuthenticationProperties.getAuthUsername(),
+                dmiServiceAuthenticationProperties.getAuthPassword());
         } else if (authorization != null && authorization.toLowerCase(Locale.getDefault()).startsWith("bearer ")) {
             httpHeaders.add(HttpHeaders.AUTHORIZATION, authorization);
         }
@@ -27,7 +27,7 @@ import org.springframework.stereotype.Component;
 
 @Getter
 @Component
-public class DmiProperties {
+public class DmiServiceAuthenticationProperties {
     @Value("${ncmp.dmi.auth.username}")
     private String authUsername;
     @Value("${ncmp.dmi.auth.password}")
index 2cc4375..eeaab0e 100644 (file)
@@ -36,8 +36,8 @@ import java.util.Map;
 import lombok.RequiredArgsConstructor;
 import org.onap.cps.api.model.ModuleReference;
 import org.onap.cps.ncmp.api.inventory.models.YangResource;
-import org.onap.cps.ncmp.impl.dmi.DmiProperties;
 import org.onap.cps.ncmp.impl.dmi.DmiRestClient;
+import org.onap.cps.ncmp.impl.dmi.DmiServiceAuthenticationProperties;
 import org.onap.cps.ncmp.impl.inventory.models.YangModelCmHandle;
 import org.onap.cps.ncmp.impl.models.DmiRequestBody;
 import org.onap.cps.ncmp.impl.utils.http.RestServiceUrlTemplateBuilder;
@@ -54,7 +54,7 @@ import org.springframework.stereotype.Service;
 public class DmiModelOperations {
 
     private final JsonObjectMapper jsonObjectMapper;
-    private final DmiProperties dmiProperties;
+    private final DmiServiceAuthenticationProperties dmiServiceAuthenticationProperties;
     private final DmiRestClient dmiRestClient;
 
     /**
@@ -119,7 +119,7 @@ public class DmiModelOperations {
                 .fixedPathSegment("ch")
                 .variablePathSegment("cmHandleId", cmHandle)
                 .fixedPathSegment(resourceName)
-                .createUrlTemplateParameters(dmiServiceName, dmiProperties.getDmiBasePath());
+                .createUrlTemplateParameters(dmiServiceName, dmiServiceAuthenticationProperties.getDmiBasePath());
         return dmiRestClient.synchronousPostOperationWithJsonData(MODEL, urlTemplateParameters, jsonRequestBody, READ,
                 null);
     }
index 93338c9..717b35a 100644 (file)
@@ -31,7 +31,7 @@ import org.onap.cps.ncmp.config.CpsApplicationContext
 import org.onap.cps.ncmp.events.async1_0_0.DataOperationEvent
 import org.onap.cps.ncmp.impl.data.policyexecutor.PolicyExecutor
 import org.onap.cps.ncmp.impl.dmi.DmiOperationsBaseSpec
-import org.onap.cps.ncmp.impl.dmi.DmiProperties
+import org.onap.cps.ncmp.impl.dmi.DmiServiceAuthenticationProperties
 import org.onap.cps.ncmp.impl.utils.AlternateIdMatcher
 import org.onap.cps.ncmp.impl.utils.http.UrlTemplateParameters
 import org.onap.cps.ncmp.utils.TestUtils
@@ -57,7 +57,7 @@ import static org.onap.cps.ncmp.impl.models.RequiredDmiService.DATA
 import static org.onap.cps.ncmp.utils.events.CloudEventMapper.toTargetEvent
 
 @SpringBootTest
-@ContextConfiguration(classes = [EventsProducer, CpsApplicationContext, DmiProperties, DmiDataOperations, PolicyExecutor])
+@ContextConfiguration(classes = [EventsProducer, CpsApplicationContext, DmiServiceAuthenticationProperties, DmiDataOperations, PolicyExecutor])
 class DmiDataOperationsSpec extends DmiOperationsBaseSpec {
 
     def NO_TOPIC = null
index 74bd048..bc2b3d3 100644 (file)
@@ -20,8 +20,8 @@
 
 package org.onap.cps.ncmp.impl.datajobs
 
-import org.onap.cps.ncmp.impl.dmi.DmiProperties
 import org.onap.cps.ncmp.impl.dmi.DmiRestClient
+import org.onap.cps.ncmp.impl.dmi.DmiServiceAuthenticationProperties
 import org.onap.cps.ncmp.impl.utils.http.UrlTemplateParameters
 import reactor.core.publisher.Mono
 import spock.lang.Specification
@@ -29,11 +29,11 @@ import spock.lang.Specification
 class DataJobResultServiceImplSpec extends Specification {
 
     def mockDmiRestClient = Mock(DmiRestClient)
-    def mockDmiProperties = Mock(DmiProperties)
-    def objectUnderTest = new DataJobResultServiceImpl(mockDmiRestClient, mockDmiProperties)
+    def mockDmiServiceAuthenticationProperties = Mock(DmiServiceAuthenticationProperties)
+    def objectUnderTest = new DataJobResultServiceImpl(mockDmiRestClient, mockDmiServiceAuthenticationProperties)
 
     def setup() {
-        mockDmiProperties.dmiBasePath >> 'dmi'
+        mockDmiServiceAuthenticationProperties.dmiBasePath >> 'dmi'
     }
 
     def 'Retrieve data job result.'() {
index be46d88..da557de 100644 (file)
@@ -20,8 +20,8 @@
 
 package org.onap.cps.ncmp.impl.datajobs
 
-import org.onap.cps.ncmp.impl.dmi.DmiProperties
 import org.onap.cps.ncmp.impl.dmi.DmiRestClient
+import org.onap.cps.ncmp.impl.dmi.DmiServiceAuthenticationProperties
 import org.onap.cps.ncmp.impl.utils.http.UrlTemplateParameters
 import reactor.core.publisher.Mono
 import spock.lang.Specification
@@ -29,11 +29,11 @@ import spock.lang.Specification
 class DataJobStatusServiceImplSpec extends Specification {
 
     def mockDmiRestClient = Mock(DmiRestClient)
-    def mockDmiProperties = Mock(DmiProperties)
-    def objectUnderTest = new DataJobStatusServiceImpl(mockDmiRestClient, mockDmiProperties)
+    def mockDmiServiceAuthenticationProperties = Mock(DmiServiceAuthenticationProperties)
+    def objectUnderTest = new DataJobStatusServiceImpl(mockDmiRestClient, mockDmiServiceAuthenticationProperties)
 
     def setup() {
-        mockDmiProperties.dmiBasePath >> 'dmi'
+        mockDmiServiceAuthenticationProperties.dmiBasePath >> 'dmi'
     }
 
     def 'Forward a data job status query to DMI.' () {
index 175fb18..bc4bb13 100644 (file)
@@ -5,8 +5,7 @@ import org.onap.cps.ncmp.api.data.models.OperationType
 import org.onap.cps.ncmp.api.datajobs.models.DataJobMetadata
 import org.onap.cps.ncmp.api.datajobs.models.DmiWriteOperation
 import org.onap.cps.ncmp.api.datajobs.models.ProducerKey
-import org.onap.cps.ncmp.api.datajobs.models.SubJobWriteResponse
-import org.onap.cps.ncmp.impl.dmi.DmiProperties
+import org.onap.cps.ncmp.impl.dmi.DmiServiceAuthenticationProperties
 import org.onap.cps.ncmp.impl.dmi.DmiRestClient
 import org.onap.cps.ncmp.impl.models.RequiredDmiService
 import org.onap.cps.utils.JsonObjectMapper
@@ -18,8 +17,8 @@ class DmiSubJobRequestHandlerSpec extends Specification {
 
     def mockDmiRestClient = Mock(DmiRestClient)
     def jsonObjectMapper = new JsonObjectMapper(new ObjectMapper())
-    def mockDmiProperties = Mock(DmiProperties)
-    def objectUnderTest = new DmiSubJobRequestHandler(mockDmiRestClient, mockDmiProperties, jsonObjectMapper)
+    def mockDmiServiceAuthenticationProperties = Mock(DmiServiceAuthenticationProperties)
+    def objectUnderTest = new DmiSubJobRequestHandler(mockDmiRestClient, mockDmiServiceAuthenticationProperties, jsonObjectMapper)
 
     def 'Send a sub-job request to the DMI Plugin.'() {
         given: 'a data job id, metadata and a map of producer keys and write operations to create a request'
index c968a32..261d11c 100644 (file)
@@ -60,11 +60,11 @@ class DmiRestClientSpec extends Specification {
     def mockRequestBody = Mock(WebClient.RequestBodyUriSpec)
     def mockResponse = Mock(WebClient.ResponseSpec)
 
-    def mockDmiProperties = Mock(DmiProperties)
+    def mockDmiServiceAuthenticationProperties = Mock(DmiServiceAuthenticationProperties)
 
     JsonObjectMapper jsonObjectMapper = new JsonObjectMapper(new ObjectMapper())
 
-    DmiRestClient objectUnderTest = new DmiRestClient(mockDmiProperties, jsonObjectMapper, mockDataServicesWebClient, mockModelServicesWebClient, mockHealthChecksWebClient)
+    DmiRestClient objectUnderTest = new DmiRestClient(mockDmiServiceAuthenticationProperties, jsonObjectMapper, mockDataServicesWebClient, mockModelServicesWebClient, mockHealthChecksWebClient)
 
     def setup() {
         mockRequestBody.uri(_,_) >> mockRequestBody
@@ -148,9 +148,9 @@ class DmiRestClientSpec extends Specification {
 
     def 'DMI auth header #scenario'() {
         when: 'Specific dmi properties are provided'
-            mockDmiProperties.dmiBasicAuthEnabled >> authEnabled
-            mockDmiProperties.authUsername >> 'some user'
-            mockDmiProperties.authPassword >> 'some password'
+            mockDmiServiceAuthenticationProperties.dmiBasicAuthEnabled >> authEnabled
+            mockDmiServiceAuthenticationProperties.authUsername >> 'some user'
+            mockDmiServiceAuthenticationProperties.authPassword >> 'some password'
         then: 'http headers to conditionally have Authorization header'
             def httpHeaders = new HttpHeaders()
             objectUnderTest.configureHttpHeaders(httpHeaders, ncmpAuthHeader)
@@ -23,9 +23,9 @@ package org.onap.cps.ncmp.impl.dmi
 
 import spock.lang.Specification
 
-class DmiPropertiesSpec extends Specification {
+class DmiServiceAuthenticationPropertiesSpec extends Specification {
 
-    def objectUnderTest = new DmiProperties()
+    def objectUnderTest = new DmiServiceAuthenticationProperties()
 
     def 'Geting dmi base path.'() {
         given: 'base path of #dmiBasePath'
index 302e43f..35d8d7a 100644 (file)
@@ -22,7 +22,7 @@
 package org.onap.cps.ncmp.impl.inventory.sync
 
 import org.onap.cps.ncmp.impl.dmi.DmiOperationsBaseSpec
-import org.onap.cps.ncmp.impl.dmi.DmiProperties
+import org.onap.cps.ncmp.impl.dmi.DmiServiceAuthenticationProperties
 import org.onap.cps.ncmp.impl.utils.http.UrlTemplateParameters
 import org.onap.cps.api.model.ModuleReference
 import org.onap.cps.utils.JsonObjectMapper
@@ -37,7 +37,7 @@ import static org.onap.cps.ncmp.api.data.models.OperationType.READ
 import static org.onap.cps.ncmp.impl.models.RequiredDmiService.MODEL
 
 @SpringBootTest
-@ContextConfiguration(classes = [DmiProperties, DmiModelOperations, JsonObjectMapper])
+@ContextConfiguration(classes = [DmiServiceAuthenticationProperties, DmiModelOperations, JsonObjectMapper])
 class DmiModelOperationsSpec extends DmiOperationsBaseSpec {
 
     def NO_AUTH_HEADER = null