support async operation for vf module operations 92/89892/1
authorSmokowski, Steven <steve.smokowski@att.com>
Fri, 14 Jun 2019 13:26:20 +0000 (09:26 -0400)
committerBenjamin, Max (mb388a) <mb388a@us.att.com>
Fri, 14 Jun 2019 13:26:26 +0000 (09:26 -0400)
support async operation for vf module operations with sdnc
Update Junit comparison data to be valid for new code
Modify coded to support usage of ASYNC response sdnc

Change-Id: I95b955cb257dcead152d68cd4cc4fb0fbcdfd708
Issue-ID: SO-2015
Signed-off-by: Benjamin, Max (mb388a) <mb388a@us.att.com>
19 files changed:
bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/sdnc/tasks/SDNCActivateTasks.java
bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/sdnc/tasks/SDNCAssignTasks.java
bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/sdnc/tasks/SDNCChangeAssignTasks.java
bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/sdnc/tasks/SDNCDeactivateTasks.java
bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/sdnc/tasks/SDNCDeleteTasks.java [deleted file]
bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/sdnc/tasks/SDNCRequestTasks.java
bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/sdnc/tasks/SDNCUnassignTasks.java
bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/orchestration/SDNCVfModuleResources.java
bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/sdnc/mapper/VfModuleTopologyOperationRequestMapper.java
bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/sdnc/tasks/SDNCActivateTaskTest.java
bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/sdnc/tasks/SDNCAssignTasksTest.java
bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/sdnc/tasks/SDNCChangeAssignTasksTest.java
bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/sdnc/tasks/SDNCDeactivateTaskTest.java
bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/sdnc/tasks/SDNCRequestTasksTest.java
bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/sdnc/tasks/SDNCUnassignTasksTest.java
bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/orchestration/SDNCVfModuleResourcesTest.java
bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/sdnc/mapper/VfModuleTopologyOperationRequestMapperTest.java
bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/genericResourceApiVfModuleOperationInformationAssign.json
bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/genericResourceApiVfModuleOperationInformationUnassign.json

index 3227689..e4dd355 100644 (file)
@@ -22,6 +22,8 @@
 
 package org.onap.so.bpmn.infrastructure.sdnc.tasks;
 
+import java.net.URI;
+import javax.ws.rs.core.UriBuilder;
 import org.onap.sdnc.northbound.client.model.GenericResourceApiNetworkOperationInformation;
 import org.onap.sdnc.northbound.client.model.GenericResourceApiVfModuleOperationInformation;
 import org.onap.sdnc.northbound.client.model.GenericResourceApiVnfOperationInformation;
@@ -46,6 +48,7 @@ import org.onap.so.client.sdnc.endpoint.SDNCTopology;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.env.Environment;
 import org.springframework.stereotype.Component;
 
 @Component
@@ -62,7 +65,8 @@ public class SDNCActivateTasks {
     private SDNCNetworkResources sdncNetworkResources;
     @Autowired
     private SDNCVfModuleResources sdncVfModuleResources;
-
+    @Autowired
+    private Environment env;
 
     public void activateVnf(BuildingBlockExecution execution) {
         try {
@@ -122,9 +126,12 @@ public class SDNCActivateTasks {
             vfModule = extractPojosForBB.extractByKey(execution, ResourceKey.VF_MODULE_ID);
             Customer customer = gBBInput.getCustomer();
             CloudRegion cloudRegion = gBBInput.getCloudRegion();
-            GenericResourceApiVfModuleOperationInformation req = sdncVfModuleResources.activateVfModule(vfModule, vnf,
-                    serviceInstance, customer, cloudRegion, requestContext);
             SDNCRequest sdncRequest = new SDNCRequest();
+            UriBuilder builder = UriBuilder.fromPath(env.getRequiredProperty("mso.workflow.message.endpoint"))
+                    .path(sdncRequest.getCorrelationName()).path(sdncRequest.getCorrelationValue());
+            URI uri = builder.build();
+            GenericResourceApiVfModuleOperationInformation req = sdncVfModuleResources.activateVfModule(vfModule, vnf,
+                    serviceInstance, customer, cloudRegion, requestContext, uri);
             sdncRequest.setSDNCPayload(req);
             sdncRequest.setTopology(SDNCTopology.VFMODULE);
             execution.setVariable(SDNC_REQUEST, sdncRequest);
index 111f008..c100cd6 100644 (file)
@@ -22,6 +22,8 @@
 
 package org.onap.so.bpmn.infrastructure.sdnc.tasks;
 
+import java.net.URI;
+import javax.ws.rs.core.UriBuilder;
 import org.onap.sdnc.northbound.client.model.GenericResourceApiNetworkOperationInformation;
 import org.onap.sdnc.northbound.client.model.GenericResourceApiServiceOperationInformation;
 import org.onap.sdnc.northbound.client.model.GenericResourceApiVfModuleOperationInformation;
@@ -49,6 +51,7 @@ import org.onap.so.client.sdnc.endpoint.SDNCTopology;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.env.Environment;
 import org.springframework.stereotype.Component;
 
 @Component
@@ -67,6 +70,8 @@ public class SDNCAssignTasks {
     private ExtractPojosForBB extractPojosForBB;
     @Autowired
     private SDNCNetworkResources sdncNetworkResources;
+    @Autowired
+    private Environment env;
 
     public void assignServiceInstance(BuildingBlockExecution execution) {
         try {
@@ -122,9 +127,12 @@ public class SDNCAssignTasks {
             }
             Customer customer = gBBInput.getCustomer();
             CloudRegion cloudRegion = gBBInput.getCloudRegion();
-            GenericResourceApiVfModuleOperationInformation req = sdncVfModuleResources.assignVfModule(vfModule,
-                    volumeGroup, vnf, serviceInstance, customer, cloudRegion, requestContext);
             SDNCRequest sdncRequest = new SDNCRequest();
+            UriBuilder builder = UriBuilder.fromPath(env.getRequiredProperty("mso.workflow.message.endpoint"))
+                    .path(sdncRequest.getCorrelationName()).path(sdncRequest.getCorrelationValue());
+            URI uri = builder.build();
+            GenericResourceApiVfModuleOperationInformation req = sdncVfModuleResources.assignVfModule(vfModule,
+                    volumeGroup, vnf, serviceInstance, customer, cloudRegion, requestContext, uri);
             sdncRequest.setSDNCPayload(req);
             sdncRequest.setTopology(SDNCTopology.VFMODULE);
             execution.setVariable(SDNC_REQUEST, sdncRequest);
index 4ffb397..acf48ac 100644 (file)
@@ -20,6 +20,8 @@
 
 package org.onap.so.bpmn.infrastructure.sdnc.tasks;
 
+import java.net.URI;
+import javax.ws.rs.core.UriBuilder;
 import org.onap.sdnc.northbound.client.model.GenericResourceApiNetworkOperationInformation;
 import org.onap.sdnc.northbound.client.model.GenericResourceApiServiceOperationInformation;
 import org.onap.sdnc.northbound.client.model.GenericResourceApiVfModuleOperationInformation;
@@ -43,6 +45,7 @@ import org.onap.so.client.orchestration.SDNCVnfResources;
 import org.onap.so.client.sdnc.beans.SDNCRequest;
 import org.onap.so.client.sdnc.endpoint.SDNCTopology;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.env.Environment;
 import org.springframework.stereotype.Component;
 
 @Component
@@ -60,6 +63,8 @@ public class SDNCChangeAssignTasks {
     private ExceptionBuilder exceptionUtil;
     @Autowired
     private SDNCVfModuleResources sdncVfModuleResources;
+    @Autowired
+    private Environment env;
 
     public void changeModelServiceInstance(BuildingBlockExecution execution) {
         try {
@@ -121,9 +126,12 @@ public class SDNCChangeAssignTasks {
             GenericVnf vnf = extractPojosForBB.extractByKey(execution, ResourceKey.GENERIC_VNF_ID);
             VfModule vfModule = extractPojosForBB.extractByKey(execution, ResourceKey.VF_MODULE_ID);
             Customer customer = gBBInput.getCustomer();
-            GenericResourceApiVfModuleOperationInformation req = sdncVfModuleResources.changeAssignVfModule(vfModule,
-                    vnf, serviceInstance, customer, cloudRegion, requestContext);
             SDNCRequest sdncRequest = new SDNCRequest();
+            UriBuilder builder = UriBuilder.fromPath(env.getRequiredProperty("mso.workflow.message.endpoint"))
+                    .path(sdncRequest.getCorrelationName()).path(sdncRequest.getCorrelationValue());
+            URI uri = builder.build();
+            GenericResourceApiVfModuleOperationInformation req = sdncVfModuleResources.changeAssignVfModule(vfModule,
+                    vnf, serviceInstance, customer, cloudRegion, requestContext, uri);
             sdncRequest.setSDNCPayload(req);
             sdncRequest.setTopology(SDNCTopology.VFMODULE);
             execution.setVariable(SDNC_REQUEST, sdncRequest);
index e587830..3fc2519 100644 (file)
@@ -22,6 +22,8 @@
 
 package org.onap.so.bpmn.infrastructure.sdnc.tasks;
 
+import java.net.URI;
+import javax.ws.rs.core.UriBuilder;
 import org.onap.sdnc.northbound.client.model.GenericResourceApiNetworkOperationInformation;
 import org.onap.sdnc.northbound.client.model.GenericResourceApiServiceOperationInformation;
 import org.onap.sdnc.northbound.client.model.GenericResourceApiVfModuleOperationInformation;
@@ -47,6 +49,7 @@ import org.onap.so.client.sdnc.endpoint.SDNCTopology;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.env.Environment;
 import org.springframework.stereotype.Component;
 
 @Component
@@ -65,6 +68,8 @@ public class SDNCDeactivateTasks {
     private ExceptionBuilder exceptionUtil;
     @Autowired
     private ExtractPojosForBB extractPojosForBB;
+    @Autowired
+    private Environment env;
 
     public void deactivateVfModule(BuildingBlockExecution execution) {
         try {
@@ -76,9 +81,12 @@ public class SDNCDeactivateTasks {
             VfModule vfModule = extractPojosForBB.extractByKey(execution, ResourceKey.VF_MODULE_ID);
             Customer customer = gBBInput.getCustomer();
             CloudRegion cloudRegion = gBBInput.getCloudRegion();
-            GenericResourceApiVfModuleOperationInformation req = sdncVfModuleResources.deactivateVfModule(vfModule, vnf,
-                    serviceInstance, customer, cloudRegion, requestContext);
             SDNCRequest sdncRequest = new SDNCRequest();
+            UriBuilder builder = UriBuilder.fromPath(env.getRequiredProperty("mso.workflow.message.endpoint"))
+                    .path(sdncRequest.getCorrelationName()).path(sdncRequest.getCorrelationValue());
+            URI uri = builder.build();
+            GenericResourceApiVfModuleOperationInformation req = sdncVfModuleResources.deactivateVfModule(vfModule, vnf,
+                    serviceInstance, customer, cloudRegion, requestContext, uri);
             sdncRequest.setSDNCPayload(req);
             sdncRequest.setTopology(SDNCTopology.VFMODULE);
             execution.setVariable(SDNC_REQUEST, sdncRequest);
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/sdnc/tasks/SDNCDeleteTasks.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/sdnc/tasks/SDNCDeleteTasks.java
deleted file mode 100644 (file)
index 6d81cba..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.bpmn.infrastructure.sdnc.tasks;
-
-import org.springframework.stereotype.Component;
-
-@Component
-public class SDNCDeleteTasks {
-
-}
index f32ffd7..cb761f4 100644 (file)
 package org.onap.so.bpmn.infrastructure.sdnc.tasks;
 
 import java.io.StringReader;
+import java.io.StringWriter;
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
 import javax.xml.xpath.XPath;
 import javax.xml.xpath.XPathFactory;
 import org.camunda.bpm.engine.delegate.DelegateExecution;
@@ -98,12 +103,18 @@ public class SDNCRequestTasks {
             Document doc = db.parse(new InputSource(new StringReader(asyncRequest)));
 
             String finalMessageIndicator = getXmlElement(doc, "/input/ack-final-indicator");
+
             boolean isCallbackCompleted = convertIndicatorToBoolean(finalMessageIndicator);
             execution.setVariable(IS_CALLBACK_COMPLETED, isCallbackCompleted);
             if (isCallbackCompleted) {
                 String responseCode = getXmlElement(doc, "/input/response-code");
-                String responseMessage = getXmlElement(doc, "/input/response-message");
                 if (!SDNC_SUCCESS.equalsIgnoreCase(responseCode)) {
+                    String responseMessage;
+                    try {
+                        responseMessage = getXmlElement(doc, "/input/response-message");
+                    } catch (Exception e) {
+                        responseMessage = "Unknown Error in SDNC";
+                    }
                     throw new SDNCErrorResponseException(responseMessage);
                 }
             }
@@ -126,8 +137,17 @@ public class SDNCRequestTasks {
     }
 
     protected String getXmlElement(Document doc, String exp) throws Exception {
+        TransformerFactory tf = TransformerFactory.newInstance();
+        Transformer transformer = tf.newTransformer();
+        StringWriter writer = new StringWriter();
+        transformer.transform(new DOMSource(doc), new StreamResult(writer));
+        logger.debug(writer.getBuffer().toString());
         XPath xPath = XPathFactory.newInstance().newXPath();
-        return xPath.evaluate(exp, doc);
+        String result = xPath.evaluate(exp, doc);
+        if (result == null || result.isEmpty()) {
+            throw new Exception("XPath Failed to find element expression: " + exp);
+        }
+        return result;
     }
 
 }
index fba189f..7d5591a 100644 (file)
@@ -22,6 +22,8 @@
 
 package org.onap.so.bpmn.infrastructure.sdnc.tasks;
 
+import java.net.URI;
+import javax.ws.rs.core.UriBuilder;
 import org.onap.sdnc.northbound.client.model.GenericResourceApiNetworkOperationInformation;
 import org.onap.sdnc.northbound.client.model.GenericResourceApiServiceOperationInformation;
 import org.onap.sdnc.northbound.client.model.GenericResourceApiVfModuleOperationInformation;
@@ -47,6 +49,7 @@ import org.onap.so.client.sdnc.endpoint.SDNCTopology;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.env.Environment;
 import org.springframework.stereotype.Component;
 
 @Component
@@ -65,6 +68,8 @@ public class SDNCUnassignTasks {
     private ExtractPojosForBB extractPojosForBB;
     @Autowired
     private SDNCNetworkResources sdncNetworkResources;
+    @Autowired
+    private Environment env;
 
     public void unassignServiceInstance(BuildingBlockExecution execution) {
         try {
@@ -90,9 +95,12 @@ public class SDNCUnassignTasks {
                     extractPojosForBB.extractByKey(execution, ResourceKey.SERVICE_INSTANCE_ID);
             GenericVnf vnf = extractPojosForBB.extractByKey(execution, ResourceKey.GENERIC_VNF_ID);
             VfModule vfModule = extractPojosForBB.extractByKey(execution, ResourceKey.VF_MODULE_ID);
-            GenericResourceApiVfModuleOperationInformation req =
-                    sdncVfModuleResources.unassignVfModule(vfModule, vnf, serviceInstance);
             SDNCRequest sdncRequest = new SDNCRequest();
+            UriBuilder builder = UriBuilder.fromPath(env.getRequiredProperty("mso.workflow.message.endpoint"))
+                    .path(sdncRequest.getCorrelationName()).path(sdncRequest.getCorrelationValue());
+            URI uri = builder.build();
+            GenericResourceApiVfModuleOperationInformation req =
+                    sdncVfModuleResources.unassignVfModule(vfModule, vnf, serviceInstance, uri);
             sdncRequest.setSDNCPayload(req);
             sdncRequest.setTopology(SDNCTopology.VFMODULE);
             execution.setVariable(SDNC_REQUEST, sdncRequest);
index 60cad78..b83a4d5 100644 (file)
@@ -22,6 +22,7 @@
 
 package org.onap.so.client.orchestration;
 
+import java.net.URI;
 import org.onap.sdnc.northbound.client.model.GenericResourceApiVfModuleOperationInformation;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.CloudRegion;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.Customer;
@@ -53,22 +54,22 @@ public class SDNCVfModuleResources {
 
     public GenericResourceApiVfModuleOperationInformation assignVfModule(VfModule vfModule, VolumeGroup volumeGroup,
             GenericVnf vnf, ServiceInstance serviceInstance, Customer customer, CloudRegion cloudRegion,
-            RequestContext requestContext) throws MapperException {
+            RequestContext requestContext, URI callbackURI) throws MapperException {
         return sdncRM.reqMapper(SDNCSvcOperation.VF_MODULE_TOPOLOGY_OPERATION, SDNCSvcAction.ASSIGN, vfModule,
-                volumeGroup, vnf, serviceInstance, customer, cloudRegion, requestContext, null);
+                volumeGroup, vnf, serviceInstance, customer, cloudRegion, requestContext, null, callbackURI);
     }
 
     public GenericResourceApiVfModuleOperationInformation unassignVfModule(VfModule vfModule, GenericVnf vnf,
-            ServiceInstance serviceInstance) throws MapperException {
+            ServiceInstance serviceInstance, URI callbackURI) throws MapperException {
         return sdncRM.reqMapper(SDNCSvcOperation.VF_MODULE_TOPOLOGY_OPERATION, SDNCSvcAction.UNASSIGN, vfModule, null,
-                vnf, serviceInstance, null, null, null, null);
+                vnf, serviceInstance, null, null, null, null, callbackURI);
     }
 
     public GenericResourceApiVfModuleOperationInformation deactivateVfModule(VfModule vfModule, GenericVnf vnf,
-            ServiceInstance serviceInstance, Customer customer, CloudRegion cloudRegion, RequestContext requestContext)
-            throws MapperException {
+            ServiceInstance serviceInstance, Customer customer, CloudRegion cloudRegion, RequestContext requestContext,
+            URI callbackURI) throws MapperException {
         return sdncRM.reqMapper(SDNCSvcOperation.VF_MODULE_TOPOLOGY_OPERATION, SDNCSvcAction.DEACTIVATE, vfModule, null,
-                vnf, serviceInstance, customer, cloudRegion, requestContext, null);
+                vnf, serviceInstance, customer, cloudRegion, requestContext, null, callbackURI);
     }
 
     public String queryVfModule(VfModule vfModule) throws MapperException, BadResponseException {
@@ -77,16 +78,16 @@ public class SDNCVfModuleResources {
     }
 
     public GenericResourceApiVfModuleOperationInformation activateVfModule(VfModule vfModule, GenericVnf vnf,
-            ServiceInstance serviceInstance, Customer customer, CloudRegion cloudRegion, RequestContext requestContext)
-            throws MapperException {
+            ServiceInstance serviceInstance, Customer customer, CloudRegion cloudRegion, RequestContext requestContext,
+            URI callbackURI) throws MapperException {
         return sdncRM.reqMapper(SDNCSvcOperation.VF_MODULE_TOPOLOGY_OPERATION, SDNCSvcAction.ACTIVATE, vfModule, null,
-                vnf, serviceInstance, customer, cloudRegion, requestContext, null);
+                vnf, serviceInstance, customer, cloudRegion, requestContext, null, callbackURI);
     }
 
     public GenericResourceApiVfModuleOperationInformation changeAssignVfModule(VfModule vfModule, GenericVnf vnf,
-            ServiceInstance serviceInstance, Customer customer, CloudRegion cloudRegion, RequestContext requestContext)
-            throws MapperException {
+            ServiceInstance serviceInstance, Customer customer, CloudRegion cloudRegion, RequestContext requestContext,
+            URI callbackURI) throws MapperException {
         return sdncRM.reqMapper(SDNCSvcOperation.VF_MODULE_TOPOLOGY_OPERATION, SDNCSvcAction.CHANGE_ASSIGN, vfModule,
-                null, vnf, serviceInstance, customer, cloudRegion, requestContext, null);
+                null, vnf, serviceInstance, customer, cloudRegion, requestContext, null, callbackURI);
     }
 }
index 0cfe6fb..6ddb292 100644 (file)
@@ -22,6 +22,7 @@
 
 package org.onap.so.client.sdnc.mapper;
 
+import java.net.URI;
 import java.util.Map;
 import java.util.UUID;
 import org.onap.so.logger.LoggingAnchor;
@@ -65,7 +66,7 @@ public class VfModuleTopologyOperationRequestMapper {
     public GenericResourceApiVfModuleOperationInformation reqMapper(SDNCSvcOperation svcOperation,
             SDNCSvcAction svcAction, VfModule vfModule, VolumeGroup volumeGroup, GenericVnf vnf,
             ServiceInstance serviceInstance, Customer customer, CloudRegion cloudRegion, RequestContext requestContext,
-            String sdncAssignResponse) throws MapperException {
+            String sdncAssignResponse, URI callbackURL) throws MapperException {
         GenericResourceApiVfModuleOperationInformation req = new GenericResourceApiVfModuleOperationInformation();
 
         boolean includeModelInformation = false;
@@ -114,7 +115,7 @@ public class VfModuleTopologyOperationRequestMapper {
         GenericResourceApiVfmodulerequestinputVfModuleRequestInput vfModuleRequestInput =
                 buildVfModuleRequestInput(vfModule, volumeGroup, cloudRegion, requestContext);
         GenericResourceApiSdncrequestheaderSdncRequestHeader sdncRequestHeader =
-                buildVfModuleSdncRequestHeader(sdncReqId, genericResourceApiSvcAction);
+                buildVfModuleSdncRequestHeader(sdncReqId, genericResourceApiSvcAction, callbackURL);
 
         req.setRequestInformation(requestInformation);
         req.setSdncRequestHeader(sdncRequestHeader);
@@ -170,13 +171,12 @@ public class VfModuleTopologyOperationRequestMapper {
     }
 
     private GenericResourceApiSdncrequestheaderSdncRequestHeader buildVfModuleSdncRequestHeader(String sdncReqId,
-            GenericResourceApiSvcActionEnumeration svcAction) {
+            GenericResourceApiSvcActionEnumeration svcAction, URI callbackUrl) {
         GenericResourceApiSdncrequestheaderSdncRequestHeader sdncRequestHeader =
                 new GenericResourceApiSdncrequestheaderSdncRequestHeader();
-
         sdncRequestHeader.setSvcRequestId(sdncReqId);
         sdncRequestHeader.setSvcAction(svcAction);
-
+        sdncRequestHeader.setSvcNotificationUrl(callbackUrl.toString());
         return sdncRequestHeader;
     }
 
index 4eb1432..ffd4f74 100644 (file)
@@ -29,6 +29,7 @@ import static org.mockito.Mockito.doThrow;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
+import java.net.URI;
 import org.camunda.bpm.engine.delegate.BpmnError;
 import org.junit.Before;
 import org.junit.Test;
@@ -85,7 +86,10 @@ public class SDNCActivateTaskTest extends BaseTaskTest {
         when(extractPojosForBB.extractByKey(any(), ArgumentMatchers.eq(ResourceKey.NETWORK_ID))).thenReturn(network);
         when(extractPojosForBB.extractByKey(any(), ArgumentMatchers.eq(ResourceKey.SERVICE_INSTANCE_ID)))
                 .thenReturn(serviceInstance);
+        when(extractPojosForBB.extractByKey(any(), ArgumentMatchers.eq(ResourceKey.SERVICE_INSTANCE_ID)))
+                .thenReturn(serviceInstance);
 
+        when(env.getRequiredProperty("mso.workflow.message.endpoint")).thenReturn("http://localhost:9090");
     }
 
     @Test
@@ -129,11 +133,12 @@ public class SDNCActivateTaskTest extends BaseTaskTest {
 
     @Test
     public void activateVfModuleTest() throws Exception {
-        doReturn(new GenericResourceApiVfModuleOperationInformation()).when(sdncVfModuleResources)
-                .activateVfModule(vfModule, genericVnf, serviceInstance, customer, cloudRegion, requestContext);
+        doReturn(new GenericResourceApiVfModuleOperationInformation()).when(sdncVfModuleResources).activateVfModule(
+                eq(vfModule), eq(genericVnf), eq(serviceInstance), eq(customer), eq(cloudRegion), eq(requestContext),
+                any(URI.class));
         sdncActivateTasks.activateVfModule(execution);
-        verify(sdncVfModuleResources, times(1)).activateVfModule(vfModule, genericVnf, serviceInstance, customer,
-                cloudRegion, requestContext);
+        verify(sdncVfModuleResources, times(1)).activateVfModule(eq(vfModule), eq(genericVnf), eq(serviceInstance),
+                eq(customer), eq(cloudRegion), eq(requestContext), any(URI.class));
         SDNCRequest sdncRequest = execution.getVariable("SDNCRequest");
         assertEquals(SDNCTopology.VFMODULE, sdncRequest.getTopology());
     }
@@ -141,8 +146,8 @@ public class SDNCActivateTaskTest extends BaseTaskTest {
     @Test
     public void activateVfModuleTestException() throws Exception {
         expectedException.expect(BpmnError.class);
-        doThrow(RuntimeException.class).when(sdncVfModuleResources).activateVfModule(vfModule, genericVnf,
-                serviceInstance, customer, cloudRegion, requestContext);
+        doThrow(RuntimeException.class).when(sdncVfModuleResources).activateVfModule(eq(vfModule), eq(genericVnf),
+                eq(serviceInstance), eq(customer), eq(cloudRegion), eq(requestContext), any(URI.class));
         sdncActivateTasks.activateVfModule(execution);
     }
 }
index 7d8e94d..982868d 100644 (file)
@@ -28,6 +28,7 @@ import static org.mockito.Mockito.doThrow;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
+import java.net.URI;
 import org.camunda.bpm.engine.delegate.BpmnError;
 import org.junit.Before;
 import org.junit.Test;
@@ -89,6 +90,7 @@ public class SDNCAssignTasksTest extends BaseTaskTest {
                 .thenReturn(serviceInstance);
         when(extractPojosForBB.extractByKey(any(), ArgumentMatchers.eq(ResourceKey.VOLUME_GROUP_ID)))
                 .thenReturn(volumeGroup);
+        when(env.getRequiredProperty("mso.workflow.message.endpoint")).thenReturn("http://localhost:9090");
     }
 
     @Test
@@ -132,10 +134,11 @@ public class SDNCAssignTasksTest extends BaseTaskTest {
     @Test
     public void assignVfModuleTest() throws Exception {
         doReturn(new GenericResourceApiVfModuleOperationInformation()).when(sdncVfModuleResources).assignVfModule(
-                vfModule, volumeGroup, genericVnf, serviceInstance, customer, cloudRegion, requestContext);
+                eq(vfModule), eq(volumeGroup), eq(genericVnf), eq(serviceInstance), eq(customer), eq(cloudRegion),
+                eq(requestContext), any(URI.class));
         sdncAssignTasks.assignVfModule(execution);
-        verify(sdncVfModuleResources, times(1)).assignVfModule(vfModule, volumeGroup, genericVnf, serviceInstance,
-                customer, cloudRegion, requestContext);
+        verify(sdncVfModuleResources, times(1)).assignVfModule(eq(vfModule), eq(volumeGroup), eq(genericVnf),
+                eq(serviceInstance), eq(customer), eq(cloudRegion), eq(requestContext), any(URI.class));
         SDNCRequest sdncRequest = execution.getVariable("SDNCRequest");
         assertEquals(SDNCTopology.VFMODULE, sdncRequest.getTopology());
     }
@@ -143,8 +146,8 @@ public class SDNCAssignTasksTest extends BaseTaskTest {
     @Test
     public void assignVfModuleExceptionTest() throws Exception {
         expectedException.expect(BpmnError.class);
-        doThrow(RuntimeException.class).when(sdncVfModuleResources).assignVfModule(vfModule, volumeGroup, genericVnf,
-                serviceInstance, customer, cloudRegion, requestContext);
+        doThrow(RuntimeException.class).when(sdncVfModuleResources).assignVfModule(eq(vfModule), eq(volumeGroup),
+                eq(genericVnf), eq(serviceInstance), eq(customer), eq(cloudRegion), eq(requestContext), any(URI.class));
         sdncAssignTasks.assignVfModule(execution);
     }
 
index 1c1616a..8c25bea 100644 (file)
@@ -27,6 +27,7 @@ import static org.mockito.Mockito.doThrow;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
+import java.net.URI;
 import org.camunda.bpm.engine.delegate.BpmnError;
 import org.junit.Before;
 import org.junit.Test;
@@ -74,6 +75,7 @@ public class SDNCChangeAssignTasksTest extends BaseTaskTest {
         when(extractPojosForBB.extractByKey(any(), ArgumentMatchers.eq(ResourceKey.VF_MODULE_ID))).thenReturn(vfModule);
         when(extractPojosForBB.extractByKey(any(), ArgumentMatchers.eq(ResourceKey.SERVICE_INSTANCE_ID)))
                 .thenReturn(serviceInstance);
+        when(env.getRequiredProperty("mso.workflow.message.endpoint")).thenReturn("http://localhost:9090");
     }
 
     @Test
@@ -97,11 +99,12 @@ public class SDNCChangeAssignTasksTest extends BaseTaskTest {
 
     @Test
     public void changeAssignModelVfModuleTest() throws Exception {
-        doReturn(new GenericResourceApiVfModuleOperationInformation()).when(sdncVfModuleResources)
-                .changeAssignVfModule(vfModule, genericVnf, serviceInstance, customer, cloudRegion, requestContext);
+        doReturn(new GenericResourceApiVfModuleOperationInformation()).when(sdncVfModuleResources).changeAssignVfModule(
+                eq(vfModule), eq(genericVnf), eq(serviceInstance), eq(customer), eq(cloudRegion), eq(requestContext),
+                any(URI.class));
         sdncChangeAssignTasks.changeAssignModelVfModule(execution);
-        verify(sdncVfModuleResources, times(1)).changeAssignVfModule(vfModule, genericVnf, serviceInstance, customer,
-                cloudRegion, requestContext);
+        verify(sdncVfModuleResources, times(1)).changeAssignVfModule(eq(vfModule), eq(genericVnf), eq(serviceInstance),
+                eq(customer), eq(cloudRegion), eq(requestContext), any(URI.class));
         SDNCRequest sdncRequest = execution.getVariable("SDNCRequest");
         assertEquals(SDNCTopology.VFMODULE, sdncRequest.getTopology());
     }
@@ -109,8 +112,8 @@ public class SDNCChangeAssignTasksTest extends BaseTaskTest {
     @Test
     public void changeAssignModelVfModuleExceptionTest() throws Exception {
         expectedException.expect(BpmnError.class);
-        doThrow(RuntimeException.class).when(sdncVfModuleResources).changeAssignVfModule(vfModule, genericVnf,
-                serviceInstance, customer, cloudRegion, requestContext);
+        doThrow(RuntimeException.class).when(sdncVfModuleResources).changeAssignVfModule(eq(vfModule), eq(genericVnf),
+                eq(serviceInstance), eq(customer), eq(cloudRegion), eq(requestContext), any(URI.class));
         sdncChangeAssignTasks.changeAssignModelVfModule(execution);
     }
 }
index 08d4d19..d8a1b01 100644 (file)
@@ -28,6 +28,7 @@ import static org.mockito.Mockito.doThrow;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
+import java.net.URI;
 import org.camunda.bpm.engine.delegate.BpmnError;
 import org.junit.Before;
 import org.junit.Test;
@@ -81,16 +82,17 @@ public class SDNCDeactivateTaskTest extends BaseTaskTest {
         when(extractPojosForBB.extractByKey(any(), ArgumentMatchers.eq(ResourceKey.VF_MODULE_ID))).thenReturn(vfModule);
         when(extractPojosForBB.extractByKey(any(), ArgumentMatchers.eq(ResourceKey.SERVICE_INSTANCE_ID)))
                 .thenReturn(serviceInstance);
-
+        when(env.getRequiredProperty("mso.workflow.message.endpoint")).thenReturn("http://localhost:9090");
     }
 
     @Test
     public void deactivateVfModuleTest() throws Exception {
-        doReturn(new GenericResourceApiVfModuleOperationInformation()).when(sdncVfModuleResources)
-                .deactivateVfModule(vfModule, genericVnf, serviceInstance, customer, cloudRegion, requestContext);
+        doReturn(new GenericResourceApiVfModuleOperationInformation()).when(sdncVfModuleResources).deactivateVfModule(
+                eq(vfModule), eq(genericVnf), eq(serviceInstance), eq(customer), eq(cloudRegion), eq(requestContext),
+                any(URI.class));
         sdncDeactivateTasks.deactivateVfModule(execution);
-        verify(sdncVfModuleResources, times(1)).deactivateVfModule(vfModule, genericVnf, serviceInstance, customer,
-                cloudRegion, requestContext);
+        verify(sdncVfModuleResources, times(1)).deactivateVfModule(eq(vfModule), eq(genericVnf), eq(serviceInstance),
+                eq(customer), eq(cloudRegion), eq(requestContext), any(URI.class));
         SDNCRequest sdncRequest = execution.getVariable("SDNCRequest");
         assertEquals(SDNCTopology.VFMODULE, sdncRequest.getTopology());
     }
@@ -98,8 +100,8 @@ public class SDNCDeactivateTaskTest extends BaseTaskTest {
     @Test
     public void deactivateVfModuleExceptionTest() throws Exception {
         expectedException.expect(BpmnError.class);
-        doThrow(RuntimeException.class).when(sdncVfModuleResources).deactivateVfModule(vfModule, genericVnf,
-                serviceInstance, customer, cloudRegion, requestContext);
+        doThrow(RuntimeException.class).when(sdncVfModuleResources).deactivateVfModule(eq(vfModule), eq(genericVnf),
+                eq(serviceInstance), eq(customer), eq(cloudRegion), eq(requestContext), any(URI.class));
         sdncDeactivateTasks.deactivateVfModule(execution);
     }
 
index b5d34ea..6a94b35 100644 (file)
@@ -23,8 +23,6 @@ package org.onap.so.bpmn.infrastructure.sdnc.tasks;
 import static org.junit.Assert.assertEquals;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.doThrow;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
 import java.io.IOException;
 import java.io.StringReader;
 import java.nio.file.Files;
@@ -39,7 +37,6 @@ import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
 import org.junit.runner.RunWith;
-import org.mockito.ArgumentCaptor;
 import org.mockito.InjectMocks;
 import org.mockito.Mock;
 import org.mockito.Spy;
@@ -69,6 +66,7 @@ public class SDNCRequestTasksTest extends SDNCRequestTasks {
     @Mock
     SDNCClient sdncClient;
 
+
     @Spy
     private ExceptionBuilder exceptionBuilder;
 
@@ -151,7 +149,7 @@ public class SDNCRequestTasksTest extends SDNCRequestTasks {
         db = dbf.newDocumentBuilder();
         Document doc = db.parse(new InputSource(new StringReader(sdncResponse)));
 
-        String finalMessageIndicator = getXmlElement(doc, "/input/ack-final-indicator");
+        String finalMessageIndicator = getXmlElement(doc, "//*:ack-final-indicator");
         String responseCode = getXmlElement(doc, "/input/response-code");
         String responseMessage = getXmlElement(doc, "/input/response-message");
 
index 968723c..10c034d 100644 (file)
@@ -29,6 +29,7 @@ import static org.mockito.Mockito.doThrow;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
+import java.net.URI;
 import org.camunda.bpm.engine.delegate.BpmnError;
 import org.junit.Before;
 import org.junit.Test;
@@ -81,6 +82,7 @@ public class SDNCUnassignTasksTest extends BaseTaskTest {
         when(extractPojosForBB.extractByKey(any(), ArgumentMatchers.eq(ResourceKey.VF_MODULE_ID))).thenReturn(vfModule);
         when(extractPojosForBB.extractByKey(any(), ArgumentMatchers.eq(ResourceKey.SERVICE_INSTANCE_ID)))
                 .thenReturn(serviceInstance);
+        when(env.getRequiredProperty("mso.workflow.message.endpoint")).thenReturn("http://localhost:9090");
     }
 
     @Test
@@ -105,9 +107,10 @@ public class SDNCUnassignTasksTest extends BaseTaskTest {
     @Test
     public void unassignVfModuleTest() throws Exception {
         doReturn(new GenericResourceApiVfModuleOperationInformation()).when(sdncVfModuleResources)
-                .unassignVfModule(vfModule, genericVnf, serviceInstance);
+                .unassignVfModule(eq(vfModule), eq(genericVnf), eq(serviceInstance), any(URI.class));
         sdncUnassignTasks.unassignVfModule(execution);
-        verify(sdncVfModuleResources, times(1)).unassignVfModule(vfModule, genericVnf, serviceInstance);
+        verify(sdncVfModuleResources, times(1)).unassignVfModule(eq(vfModule), eq(genericVnf), eq(serviceInstance),
+                any(URI.class));
         SDNCRequest sdncRequest = execution.getVariable("SDNCRequest");
         assertEquals(SDNCTopology.VFMODULE, sdncRequest.getTopology());
     }
@@ -115,8 +118,8 @@ public class SDNCUnassignTasksTest extends BaseTaskTest {
     @Test
     public void unassignVfModuleExceptionTest() throws Exception {
         expectedException.expect(BpmnError.class);
-        doThrow(RuntimeException.class).when(sdncVfModuleResources).unassignVfModule(vfModule, genericVnf,
-                serviceInstance);
+        doThrow(RuntimeException.class).when(sdncVfModuleResources).unassignVfModule(eq(vfModule), eq(genericVnf),
+                eq(serviceInstance), any(URI.class));
         sdncUnassignTasks.unassignVfModule(execution);
     }
 
index 2b45a33..57d6496 100644 (file)
@@ -23,6 +23,8 @@ package org.onap.so.client.orchestration;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
+import java.net.URI;
+import java.net.URISyntaxException;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -62,6 +64,8 @@ public class SDNCVfModuleResourcesTest extends TestDataSetup {
     private RequestContext requestContext;
     private GenericResourceApiVfModuleOperationInformation sdncReq;
 
+    private URI testURI;
+
     @Before
     public void before() {
         vfModule = buildVfModule();
@@ -72,60 +76,67 @@ public class SDNCVfModuleResourcesTest extends TestDataSetup {
         cloudRegion = buildCloudRegion();
         requestContext = buildRequestContext();
         sdncReq = new GenericResourceApiVfModuleOperationInformation();
+        try {
+            testURI = new URI("http://localhost:9800");
+        } catch (URISyntaxException e) {
+
+        }
     }
 
     @Test
     public void assignVfModuleTest() throws MapperException {
         doReturn(sdncReq).when(vfModuleTopologyMapper).reqMapper(SDNCSvcOperation.VF_MODULE_TOPOLOGY_OPERATION,
                 SDNCSvcAction.ASSIGN, vfModule, volumeGroup, vnf, serviceInstance, customer, cloudRegion,
-                requestContext, null);
+                requestContext, null, testURI);
         sdncVfModuleResources.assignVfModule(vfModule, volumeGroup, vnf, serviceInstance, customer, cloudRegion,
-                requestContext);
+                requestContext, testURI);
         verify(vfModuleTopologyMapper, times(1)).reqMapper(SDNCSvcOperation.VF_MODULE_TOPOLOGY_OPERATION,
                 SDNCSvcAction.ASSIGN, vfModule, volumeGroup, vnf, serviceInstance, customer, cloudRegion,
-                requestContext, null);
+                requestContext, null, testURI);
     }
 
     @Test
     public void unassignVfModuleTest() throws MapperException {
         doReturn(sdncReq).when(vfModuleTopologyMapper).reqMapper(SDNCSvcOperation.VF_MODULE_TOPOLOGY_OPERATION,
-                SDNCSvcAction.UNASSIGN, vfModule, null, vnf, serviceInstance, null, null, null, null);
-        sdncVfModuleResources.unassignVfModule(vfModule, vnf, serviceInstance);
+                SDNCSvcAction.UNASSIGN, vfModule, null, vnf, serviceInstance, null, null, null, null, testURI);
+        sdncVfModuleResources.unassignVfModule(vfModule, vnf, serviceInstance, testURI);
         verify(vfModuleTopologyMapper, times(1)).reqMapper(SDNCSvcOperation.VF_MODULE_TOPOLOGY_OPERATION,
-                SDNCSvcAction.UNASSIGN, vfModule, null, vnf, serviceInstance, null, null, null, null);
+                SDNCSvcAction.UNASSIGN, vfModule, null, vnf, serviceInstance, null, null, null, null, testURI);
     }
 
     @Test
     public void activateVfModuleTest() throws MapperException {
         doReturn(sdncReq).when(vfModuleTopologyMapper).reqMapper(SDNCSvcOperation.VF_MODULE_TOPOLOGY_OPERATION,
                 SDNCSvcAction.ACTIVATE, vfModule, null, vnf, serviceInstance, customer, cloudRegion, requestContext,
-                null);
-        sdncVfModuleResources.activateVfModule(vfModule, vnf, serviceInstance, customer, cloudRegion, requestContext);
+                null, testURI);
+        sdncVfModuleResources.activateVfModule(vfModule, vnf, serviceInstance, customer, cloudRegion, requestContext,
+                testURI);
         verify(vfModuleTopologyMapper, times(1)).reqMapper(SDNCSvcOperation.VF_MODULE_TOPOLOGY_OPERATION,
                 SDNCSvcAction.ACTIVATE, vfModule, null, vnf, serviceInstance, customer, cloudRegion, requestContext,
-                null);
+                null, testURI);
     }
 
     @Test
     public void deactivateVfModuleTest() throws MapperException {
         doReturn(sdncReq).when(vfModuleTopologyMapper).reqMapper(SDNCSvcOperation.VF_MODULE_TOPOLOGY_OPERATION,
                 SDNCSvcAction.DEACTIVATE, vfModule, null, vnf, serviceInstance, customer, cloudRegion, requestContext,
-                null);
-        sdncVfModuleResources.deactivateVfModule(vfModule, vnf, serviceInstance, customer, cloudRegion, requestContext);
+                null, testURI);
+        sdncVfModuleResources.deactivateVfModule(vfModule, vnf, serviceInstance, customer, cloudRegion, requestContext,
+                testURI);
         verify(vfModuleTopologyMapper, times(1)).reqMapper(SDNCSvcOperation.VF_MODULE_TOPOLOGY_OPERATION,
                 SDNCSvcAction.DEACTIVATE, vfModule, null, vnf, serviceInstance, customer, cloudRegion, requestContext,
-                null);
+                null, testURI);
     }
 
     @Test
     public void changeAssignVfModuleTest() throws MapperException, BadResponseException {
         doReturn(sdncReq).when(vfModuleTopologyMapper).reqMapper(SDNCSvcOperation.VF_MODULE_TOPOLOGY_OPERATION,
                 SDNCSvcAction.CHANGE_ASSIGN, vfModule, null, vnf, serviceInstance, customer, cloudRegion,
-                requestContext, null);
+                requestContext, null, testURI);
         sdncVfModuleResources.changeAssignVfModule(vfModule, vnf, serviceInstance, customer, cloudRegion,
-                requestContext);
+                requestContext, testURI);
         verify(vfModuleTopologyMapper, times(1)).reqMapper(SDNCSvcOperation.VF_MODULE_TOPOLOGY_OPERATION,
                 SDNCSvcAction.CHANGE_ASSIGN, vfModule, null, vnf, serviceInstance, customer, cloudRegion,
-                requestContext, null);
+                requestContext, null, testURI);
     }
 }
index 275e9f7..b71ddba 100644 (file)
@@ -25,6 +25,7 @@ import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
+import java.net.URI;
 import java.nio.file.Files;
 import java.nio.file.Paths;
 import java.util.ArrayList;
@@ -38,6 +39,7 @@ import org.junit.runner.RunWith;
 import org.mockito.InjectMocks;
 import org.mockito.Spy;
 import org.mockito.junit.MockitoJUnitRunner;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiVfModuleOperationInformation;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.CloudRegion;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.Customer;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf;
@@ -53,7 +55,6 @@ import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoVfModule;
 import org.onap.so.client.exception.MapperException;
 import org.onap.so.client.sdnc.beans.SDNCSvcAction;
 import org.onap.so.client.sdnc.beans.SDNCSvcOperation;
-import org.onap.sdnc.northbound.client.model.GenericResourceApiVfModuleOperationInformation;
 import com.fasterxml.jackson.databind.ObjectMapper;
 
 @RunWith(MockitoJUnitRunner.class)
@@ -134,9 +135,9 @@ public class VfModuleTopologyOperationRequestMapperTest {
 
         CloudRegion cloudRegion = new CloudRegion();
 
-        GenericResourceApiVfModuleOperationInformation vfModuleSDNCrequest =
-                mapper.reqMapper(SDNCSvcOperation.VF_MODULE_TOPOLOGY_OPERATION, SDNCSvcAction.ASSIGN, vfModule,
-                        volumeGroup, vnf, serviceInstance, customer, cloudRegion, requestContext, null);
+        GenericResourceApiVfModuleOperationInformation vfModuleSDNCrequest = mapper.reqMapper(
+                SDNCSvcOperation.VF_MODULE_TOPOLOGY_OPERATION, SDNCSvcAction.ASSIGN, vfModule, volumeGroup, vnf,
+                serviceInstance, customer, cloudRegion, requestContext, null, new URI("http://localhost:8080"));
 
         String jsonToCompare = new String(Files.readAllBytes(
                 Paths.get(JSON_FILE_LOCATION + "genericResourceApiVfModuleOperationInformationAssign.json")));
@@ -145,7 +146,7 @@ public class VfModuleTopologyOperationRequestMapperTest {
         GenericResourceApiVfModuleOperationInformation reqMapper1 =
                 omapper.readValue(jsonToCompare, GenericResourceApiVfModuleOperationInformation.class);
 
-        assertThat(reqMapper1, sameBeanAs(vfModuleSDNCrequest).ignoring("sdncRequestHeader.svcRequestId")
+        assertThat(vfModuleSDNCrequest, sameBeanAs(reqMapper1).ignoring("sdncRequestHeader.svcRequestId")
                 .ignoring("requestInformation.requestId"));
         assertEquals("MsoRequestId", vfModuleSDNCrequest.getRequestInformation().getRequestId());
     }
@@ -174,7 +175,7 @@ public class VfModuleTopologyOperationRequestMapperTest {
 
         GenericResourceApiVfModuleOperationInformation vfModuleSDNCrequest =
                 mapper.reqMapper(SDNCSvcOperation.VF_MODULE_TOPOLOGY_OPERATION, SDNCSvcAction.UNASSIGN, vfModule, null,
-                        vnf, serviceInstance, null, null, requestContext, null);
+                        vnf, serviceInstance, null, null, requestContext, null, new URI("http://localhost:8080"));
 
         String jsonToCompare = new String(Files.readAllBytes(
                 Paths.get(JSON_FILE_LOCATION + "genericResourceApiVfModuleOperationInformationUnassign.json")));
@@ -183,7 +184,7 @@ public class VfModuleTopologyOperationRequestMapperTest {
         GenericResourceApiVfModuleOperationInformation reqMapper1 =
                 omapper.readValue(jsonToCompare, GenericResourceApiVfModuleOperationInformation.class);
 
-        assertThat(reqMapper1, sameBeanAs(vfModuleSDNCrequest).ignoring("sdncRequestHeader.svcRequestId")
+        assertThat(vfModuleSDNCrequest, sameBeanAs(reqMapper1).ignoring("sdncRequestHeader.svcRequestId")
                 .ignoring("requestInformation.requestId"));
         assertEquals("MsoRequestId", vfModuleSDNCrequest.getRequestInformation().getRequestId());
     }
@@ -211,7 +212,7 @@ public class VfModuleTopologyOperationRequestMapperTest {
 
         GenericResourceApiVfModuleOperationInformation vfModuleSDNCrequest =
                 mapper.reqMapper(SDNCSvcOperation.VF_MODULE_TOPOLOGY_OPERATION, SDNCSvcAction.UNASSIGN, vfModule, null,
-                        vnf, serviceInstance, null, null, requestContext, null);
+                        vnf, serviceInstance, null, null, requestContext, null, new URI("http://localhost:8080"));
 
         assertNotNull(vfModuleSDNCrequest.getRequestInformation().getRequestId());
     }
@@ -271,9 +272,9 @@ public class VfModuleTopologyOperationRequestMapperTest {
 
         CloudRegion cloudRegion = new CloudRegion();
 
-        GenericResourceApiVfModuleOperationInformation vfModuleSDNCrequest =
-                mapper.reqMapper(SDNCSvcOperation.VF_MODULE_TOPOLOGY_OPERATION, SDNCSvcAction.ASSIGN, vfModule, null,
-                        vnf, serviceInstance, customer, cloudRegion, requestContext, null);
+        GenericResourceApiVfModuleOperationInformation vfModuleSDNCrequest = mapper.reqMapper(
+                SDNCSvcOperation.VF_MODULE_TOPOLOGY_OPERATION, SDNCSvcAction.ASSIGN, vfModule, null, vnf,
+                serviceInstance, customer, cloudRegion, requestContext, null, new URI("http://localhost:8080"));
 
         assertNull(vfModuleSDNCrequest.getServiceInformation().getOnapModelInformation().getModelCustomizationUuid());
         assertEquals("vnfModelCustomizationUuid",
@@ -330,7 +331,7 @@ public class VfModuleTopologyOperationRequestMapperTest {
         expectedException.expectMessage(ERRORMESSAGE);
 
         mapper.reqMapper(SDNCSvcOperation.VF_MODULE_TOPOLOGY_OPERATION, SDNCSvcAction.ASSIGN, vfModule, null, vnf,
-                serviceInstance, customer, cloudRegion, requestContext, null);
+                serviceInstance, customer, cloudRegion, requestContext, null, new URI("http://localhost:8080"));
     }
 
 }
index c28b0fa..9f93c0d 100644 (file)
@@ -17,7 +17,7 @@
   },
   "sdnc-request-header" : {
     "svc-request-id" : "svcRequestId",
-    "svc-notification-url" : null,
+    "svc-notification-url" : "http://localhost:8080",
     "svc-action" : "unassign"
   },
   "vf-module-information" : {