Fix dataProducerId in SubJobWriteRequest 00/138500/4
authorleventecsanyi <levente.csanyi@est.tech>
Wed, 17 Jul 2024 14:48:15 +0000 (16:48 +0200)
committerleventecsanyi <levente.csanyi@est.tech>
Wed, 24 Jul 2024 12:52:56 +0000 (14:52 +0200)
Issue-ID: CPS-2322
Change-Id: I7bfdfd05ffacb085ac056707d477f348cb5bd64f
Signed-off-by: leventecsanyi <levente.csanyi@est.tech>
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/datajobs/DmiSubJobRequestHandler.java
cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/datajobs/DmiSubJobRequestHandlerSpec.groovy

index 3d1c523..1f9ea11 100644 (file)
@@ -63,7 +63,7 @@ public class DmiSubJobRequestHandler {
         final List<SubJobWriteResponse> subJobWriteResponses = new ArrayList<>(dmiWriteOperationsPerProducerKey.size());
         dmiWriteOperationsPerProducerKey.forEach((producerKey, dmi3ggpWriteOperations) -> {
             final SubJobWriteRequest subJobWriteRequest = new SubJobWriteRequest(dataJobMetadata.dataAcceptType(),
-                    dataJobMetadata.dataContentType(), dataJobId, dmi3ggpWriteOperations);
+                    dataJobMetadata.dataContentType(), producerKey.dataProducerIdentifier(), dmi3ggpWriteOperations);
 
             final UrlTemplateParameters urlTemplateParameters = getUrlTemplateParameters(dataJobId, producerKey);
             final ResponseEntity<Object> responseEntity = dmiRestClient.synchronousPostOperationWithJsonData(
index e07b978..7005cc6 100644 (file)
@@ -25,16 +25,16 @@ class DmiSubJobRequestHandlerSpec extends Specification {
     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'
             def dataJobId = 'some-job-id'
-            def dataJobMetadata = new DataJobMetadata('', '', '')
-            def dmiWriteOperation = new DmiWriteOperation('', '', '', null, '', [:])
-            def dmiWriteOperationsPerProducerKey = [new ProducerKey('', ''): [dmiWriteOperation]]
-            def response = new ResponseEntity<>(new SubJobWriteResponse('my-sub-job-id', '', ''), HttpStatus.OK)
+            def dataJobMetadata = new DataJobMetadata('d1', 't1', 't2')
+            def dmiWriteOperation = new DmiWriteOperation('p', 'operation', 'tag', null, 'o1', [:])
+            def dmiWriteOperationsPerProducerKey = [new ProducerKey('dmi1', 'prod1'): [dmiWriteOperation]]
+        and: 'the dmi rest client will return a response (for the correct parameters)'
+            def responseEntity = new ResponseEntity<>(new SubJobWriteResponse('my-sub-job-id', 'dmi1', 'prod1'), HttpStatus.OK)
+            def expectedJson = '{"dataAcceptType":"t1","dataContentType":"t2","dataProducerId":"prod1","data":[{"path":"p","op":"operation","moduleSetTag":"tag","value":null,"operationId":"o1","privateProperties":{}}]}'
+            mockDmiRestClient.synchronousPostOperationWithJsonData(RequiredDmiService.DATA, _, expectedJson, OperationType.CREATE, NO_AUTH) >> responseEntity
         when: 'sending request to DMI invoked'
             objectUnderTest.sendRequestsToDmi(dataJobId, dataJobMetadata, dmiWriteOperationsPerProducerKey)
-        then: 'the dmi rest client is called'
-            1 * mockDmiRestClient.synchronousPostOperationWithJsonData(RequiredDmiService.DATA, _, _, OperationType.CREATE, NO_AUTH) >> response
-        and: 'the result contains the expected sub-job write responses'
-            def result = response.body
-            assert result.subJobId() == 'my-sub-job-id'
+        then: 'the result contains the expected sub-job id'
+            assert responseEntity.body.subJobId == 'my-sub-job-id'
     }
 }