use async activity call in UpdateNetwork BB 70/79470/2
authorBenjamin, Max (mb388a) <mb388a@us.att.com>
Fri, 1 Mar 2019 17:53:12 +0000 (12:53 -0500)
committerBenjamin, Max (mb388a) <mb388a@us.att.com>
Fri, 1 Mar 2019 19:37:00 +0000 (14:37 -0500)
remove references to AIC in comments
use async activity call in UpdateNetwork BB

Change-Id: I46472571078ac335bc85c865fdd82964b68c0d75
Issue-ID: SO-1583
Signed-off-by: Benjamin, Max (mb388a) <mb388a@us.att.com>
bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/UpdateNetworkBB.bpmn
bpmn/so-bpmn-building-blocks/src/test/java/org/onap/so/bpmn/infrastructure/bpmn/subprocess/UpdateNetworkBBTest.java
bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAIUpdateTasks.java
bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/adapter/network/tasks/NetworkAdapterUpdateTasks.java
bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAIUpdateTasksTest.java
bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/adapter/network/tasks/NetworkAdapterUpdateTasksTest.java

index 1cfb9a3..b93ecf8 100644 (file)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_MagIIMOUEeW8asg-vCEgWQ" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.10.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
+<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_MagIIMOUEeW8asg-vCEgWQ" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.7.2" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
   <bpmn2:process id="UpdateNetworkBB" name="UpdateNetworkBB" isExecutable="true">
     <bpmn2:startEvent id="UpdateNetworkBB_Start" name="Start">
       <bpmn2:outgoing>SequenceFlow_074w2et</bpmn2:outgoing>
       <bpmn2:linkEventDefinition name="AAI_to_AIC" />
     </bpmn2:intermediateThrowEvent>
     <bpmn2:sequenceFlow id="SequenceFlow_00xbxe7" sourceRef="QueryNetworkTableRefAAI" targetRef="AAI_End" />
-    <bpmn2:intermediateCatchEvent id="AIC_Start" name="To AIC">
-      <bpmn2:outgoing>SequenceFlow_196cgux</bpmn2:outgoing>
+    <bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_0y5f10a" name="To AIC">
+      <bpmn2:outgoing>SequenceFlow_0qrtpcy</bpmn2:outgoing>
       <bpmn2:linkEventDefinition name="AAI_to_AIC" />
     </bpmn2:intermediateCatchEvent>
-    <bpmn2:sequenceFlow id="SequenceFlow_196cgux" sourceRef="AIC_Start" targetRef="UpdateNetworkAdapter" />
-    <bpmn2:serviceTask id="UpdateNetworkAdapter" name="Update Network (Network Adapter)" camunda:expression="${NetworkAdapterUpdateTasks.updateNetwork(InjectExecution.execute(execution, execution.getVariable(&#34;gBuildingBlockExecution&#34;)))}">
-      <bpmn2:incoming>SequenceFlow_196cgux</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_0hsvgje</bpmn2:outgoing>
-    </bpmn2:serviceTask>
-    <bpmn2:sequenceFlow id="SequenceFlow_0hsvgje" sourceRef="UpdateNetworkAdapter" targetRef="UpdateNetworkAAI" />
-    <bpmn2:serviceTask id="UpdateNetworkAAI" name="Update Network (AAI)" camunda:expression="${AAIUpdateTasks.updateObjectNetwork(execution.getVariable(&#34;&#34;))}">
-      <bpmn2:incoming>SequenceFlow_0hsvgje</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_0fhfitm</bpmn2:outgoing>
+    <bpmn2:serviceTask id="Update_Network_AAI_ServiceTask" name="Update Network (AAI)" camunda:expression="${AAIUpdateTasks.updateNetworkUpdated(InjectExecution.execute(execution, execution.getVariable(&#34;gBuildingBlockExecution&#34;)))}">
+      <bpmn2:incoming>SequenceFlow_001ursg</bpmn2:incoming>
+      <bpmn2:outgoing>SequenceFlow_06ei0em</bpmn2:outgoing>
     </bpmn2:serviceTask>
     <bpmn2:endEvent id="UpdateNetworkBB_End" name="End">
-      <bpmn2:incoming>SequenceFlow_0fhfitm</bpmn2:incoming>
+      <bpmn2:incoming>SequenceFlow_06ei0em</bpmn2:incoming>
     </bpmn2:endEvent>
-    <bpmn2:sequenceFlow id="SequenceFlow_0fhfitm" sourceRef="UpdateNetworkAAI" targetRef="UpdateNetworkBB_End" />
+    <bpmn2:callActivity id="CallActivity_NetworkAdapterRestV1" name="Call NetworkAdapterRestV1" calledElement="NetworkAdapterRestV1">
+      <bpmn2:extensionElements>
+        <camunda:in source="networkAdapterRequest" target="networkAdapterRequest" />
+        <camunda:out source="WorkflowException" target="WorkflowException" />
+        <camunda:out source="updateNetworkResponse" target="updateNetworkResponse" />
+      </bpmn2:extensionElements>
+      <bpmn2:incoming>SequenceFlow_07hq1eg</bpmn2:incoming>
+      <bpmn2:outgoing>SequenceFlow_183ph5i</bpmn2:outgoing>
+    </bpmn2:callActivity>
+    <bpmn2:serviceTask id="ServiceTask_ProcessResponse" name="Process Response From Openstack" camunda:expression="${NetworkAdapterUpdateTasks.processResponseFromOpenstack(InjectExecution.execute(execution, execution.getVariable(&#34;gBuildingBlockExecution&#34;)))}">
+      <bpmn2:incoming>SequenceFlow_183ph5i</bpmn2:incoming>
+      <bpmn2:outgoing>SequenceFlow_001ursg</bpmn2:outgoing>
+    </bpmn2:serviceTask>
+    <bpmn2:serviceTask id="Create_Network_ServiceTask" name="&#10;AIC&#10;Update&#10;(network)&#10;" camunda:expression="${NetworkAdapterUpdateTasks.updateNetwork(InjectExecution.execute(execution, execution.getVariable(&#34;gBuildingBlockExecution&#34;)))}">
+      <bpmn2:incoming>SequenceFlow_0qrtpcy</bpmn2:incoming>
+      <bpmn2:outgoing>SequenceFlow_07hq1eg</bpmn2:outgoing>
+    </bpmn2:serviceTask>
+    <bpmn2:sequenceFlow id="SequenceFlow_0qrtpcy" sourceRef="IntermediateCatchEvent_0y5f10a" targetRef="Create_Network_ServiceTask" />
+    <bpmn2:sequenceFlow id="SequenceFlow_001ursg" sourceRef="ServiceTask_ProcessResponse" targetRef="Update_Network_AAI_ServiceTask" />
+    <bpmn2:sequenceFlow id="SequenceFlow_06ei0em" sourceRef="Update_Network_AAI_ServiceTask" targetRef="UpdateNetworkBB_End" />
+    <bpmn2:sequenceFlow id="SequenceFlow_07hq1eg" sourceRef="Create_Network_ServiceTask" targetRef="CallActivity_NetworkAdapterRestV1" />
+    <bpmn2:sequenceFlow id="SequenceFlow_183ph5i" sourceRef="CallActivity_NetworkAdapterRestV1" targetRef="ServiceTask_ProcessResponse" />
   </bpmn2:process>
   <bpmn2:error id="Error_2" name="MSOWorkflowException" errorCode="MSOWorkflowException" />
   <bpmn2:error id="Error_1" name="java.lang.Exception" errorCode="java.lang.Exception" />
           <dc:Bounds x="755" y="212" width="0" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="IntermediateCatchEvent_0sx0nb6_di" bpmnElement="AIC_Start">
-        <dc:Bounds x="144" y="332" width="36" height="36" />
+      <bpmndi:BPMNShape id="IntermediateCatchEvent_0y5f10a_di" bpmnElement="IntermediateCatchEvent_0y5f10a">
+        <dc:Bounds x="144" y="384" width="36" height="36" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="146" y="372" width="34" height="12" />
+          <dc:Bounds x="147" y="424" width="33" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_196cgux_di" bpmnElement="SequenceFlow_196cgux">
-        <di:waypoint xsi:type="dc:Point" x="180" y="350" />
-        <di:waypoint xsi:type="dc:Point" x="248" y="350" />
+      <bpmndi:BPMNShape id="ServiceTask_1ltcf7v_di" bpmnElement="Update_Network_AAI_ServiceTask">
+        <dc:Bounds x="806" y="362" width="100" height="80" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape id="EndEvent_1nhzcte_di" bpmnElement="UpdateNetworkBB_End">
+        <dc:Bounds x="983" y="384" width="36" height="36" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="169" y="329" width="90" height="12" />
+          <dc:Bounds x="992" y="424" width="19" height="12" />
         </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="ServiceTask_0i66n9g_di" bpmnElement="UpdateNetworkAdapter">
-        <dc:Bounds x="248" y="310" width="100" height="80" />
       </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_0hsvgje_di" bpmnElement="SequenceFlow_0hsvgje">
-        <di:waypoint xsi:type="dc:Point" x="348" y="350" />
-        <di:waypoint xsi:type="dc:Point" x="422" y="350" />
+      <bpmndi:BPMNShape id="CallActivity_1jpfzuh_di" bpmnElement="CallActivity_NetworkAdapterRestV1">
+        <dc:Bounds x="445" y="362" width="100" height="80" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape id="ServiceTask_1kgckv9_di" bpmnElement="ServiceTask_ProcessResponse">
+        <dc:Bounds x="625" y="362" width="100" height="80" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape id="ServiceTask_03ywm5v_di" bpmnElement="Create_Network_ServiceTask">
+        <dc:Bounds x="278" y="362" width="100" height="80" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge id="SequenceFlow_0qrtpcy_di" bpmnElement="SequenceFlow_0qrtpcy">
+        <di:waypoint xsi:type="dc:Point" x="180" y="402" />
+        <di:waypoint xsi:type="dc:Point" x="229" y="402" />
+        <di:waypoint xsi:type="dc:Point" x="229" y="402" />
+        <di:waypoint xsi:type="dc:Point" x="278" y="402" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="340" y="329" width="90" height="12" />
+          <dc:Bounds x="199" y="396" width="0" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="ServiceTask_1ydm5u9_di" bpmnElement="UpdateNetworkAAI">
-        <dc:Bounds x="422" y="310" width="100" height="80" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="EndEvent_0fsts2w_di" bpmnElement="UpdateNetworkBB_End">
-        <dc:Bounds x="637" y="332" width="36" height="36" />
+      <bpmndi:BPMNEdge id="SequenceFlow_001ursg_di" bpmnElement="SequenceFlow_001ursg">
+        <di:waypoint xsi:type="dc:Point" x="725" y="402" />
+        <di:waypoint xsi:type="dc:Point" x="806" y="402" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="646" y="372" width="19" height="12" />
+          <dc:Bounds x="720.5" y="381" width="0" height="12" />
         </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_0fhfitm_di" bpmnElement="SequenceFlow_0fhfitm">
-        <di:waypoint xsi:type="dc:Point" x="522" y="350" />
-        <di:waypoint xsi:type="dc:Point" x="637" y="350" />
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge id="SequenceFlow_06ei0em_di" bpmnElement="SequenceFlow_06ei0em">
+        <di:waypoint xsi:type="dc:Point" x="906" y="402" />
+        <di:waypoint xsi:type="dc:Point" x="983" y="402" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="899.5" y="381" width="0" height="12" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge id="SequenceFlow_07hq1eg_di" bpmnElement="SequenceFlow_07hq1eg">
+        <di:waypoint xsi:type="dc:Point" x="378" y="402" />
+        <di:waypoint xsi:type="dc:Point" x="445" y="402" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="411.5" y="381" width="0" height="12" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge id="SequenceFlow_183ph5i_di" bpmnElement="SequenceFlow_183ph5i">
+        <di:waypoint xsi:type="dc:Point" x="545" y="402" />
+        <di:waypoint xsi:type="dc:Point" x="625" y="402" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="535" y="329" width="90" height="12" />
+          <dc:Bounds x="585" y="381" width="0" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
     </bpmndi:BPMNPlane>
index 98e049f..5ba38a7 100644 (file)
@@ -38,7 +38,7 @@ public class UpdateNetworkBBTest extends BaseBPMNTest {
        assertThat(processInstance).isStarted().hasPassedInOrder(
                        "UpdateNetworkBB_Start", "SDNCChangeAssignNetwork", 
                        "QueryVpnBindingAAI", "QueryNetworkPolicyAAI", "QueryNetworkTableRefAAI", 
-                       "UpdateNetworkAdapter", "UpdateNetworkAAI", "UpdateNetworkBB_End");
+                       "Create_Network_ServiceTask", "CallActivity_NetworkAdapterRestV1", "ServiceTask_ProcessResponse", "Update_Network_AAI_ServiceTask", "UpdateNetworkBB_End");
        assertThat(processInstance).isEnded();
     }
 
index 37e1a93..34598ef 100644 (file)
@@ -26,6 +26,7 @@ import java.util.List;
 import java.util.Map;
 
 import org.onap.so.adapters.nwrest.CreateNetworkResponse;
+import org.onap.so.adapters.nwrest.UpdateNetworkResponse;
 import org.onap.so.bpmn.common.BuildingBlockExecution;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.CloudRegion;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.Collection;
@@ -338,7 +339,7 @@ public class AAIUpdateTasks {
        }
        
        /**
-        * BPMN access method to update L3Network after it was created in AIC
+        * BPMN access method to update L3Network after it was created in cloud
         * @param execution
         * @throws Exception
         */
@@ -379,6 +380,34 @@ public class AAIUpdateTasks {
                }
        }
        
+       /**
+        * BPMN access method to update L3Network after it was updated in cloud
+        * @param execution
+        * @throws Exception
+        */
+       public void updateNetworkUpdated(BuildingBlockExecution execution) throws Exception {
+               L3Network l3network =  extractPojosForBB.extractByKey(execution, ResourceKey.NETWORK_ID, execution.getLookupMap().get(ResourceKey.NETWORK_ID));
+               L3Network copiedl3network = l3network.shallowCopyId();
+               UpdateNetworkResponse response = execution.getVariable("updateNetworkResponse");
+               try {
+                       copiedl3network.setNeutronNetworkId(response.getNeutronNetworkId());
+                       aaiNetworkResources.updateNetwork(copiedl3network);
+                       
+                       Map<String, String> subnetMap = response.getSubnetMap();
+                       List<Subnet> subnets = l3network.getSubnets();
+                       if (subnets != null && subnetMap != null){
+                               for (Subnet subnet: subnets){
+                                       Subnet copiedSubnet = subnet.shallowCopyId();
+                                       copiedSubnet.setNeutronSubnetId(subnetMap.get(copiedSubnet.getSubnetId()));
+                                       copiedSubnet.setOrchestrationStatus(OrchestrationStatus.CREATED);
+                                       aaiNetworkResources.updateSubnet(copiedl3network, copiedSubnet);
+                               }
+                       }
+               } catch (Exception ex) {
+                       exceptionUtil.buildAndThrowWorkflowException(execution, 7000, ex);
+               }
+       }
+       
        public void updateObjectNetwork(BuildingBlockExecution execution) {
                try {
                        L3Network l3network = extractPojosForBB.extractByKey(execution, ResourceKey.NETWORK_ID, execution.getLookupMap().get(ResourceKey.NETWORK_ID));
index ee7f369..6168708 100644 (file)
@@ -22,8 +22,7 @@
 
 package org.onap.so.bpmn.infrastructure.adapter.network.tasks;
 
-import java.util.Optional;
-
+import org.onap.so.adapters.nwrest.UpdateNetworkRequest;
 import org.onap.so.adapters.nwrest.UpdateNetworkResponse;
 import org.onap.so.bpmn.common.BuildingBlockExecution;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.L3Network;
@@ -31,6 +30,7 @@ import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
 import org.onap.so.bpmn.servicedecomposition.entities.GeneralBuildingBlock;
 import org.onap.so.bpmn.servicedecomposition.entities.ResourceKey;
 import org.onap.so.bpmn.servicedecomposition.tasks.ExtractPojosForBB;
+import org.onap.so.client.adapter.network.mapper.NetworkAdapterObjectMapper;
 import org.onap.so.client.exception.ExceptionBuilder;
 import org.onap.so.client.orchestration.NetworkAdapterResources;
 import org.slf4j.Logger;
@@ -45,7 +45,7 @@ public class NetworkAdapterUpdateTasks {
        @Autowired
        private ExtractPojosForBB extractPojosForBB;
        @Autowired
-       private NetworkAdapterResources networkAdapterResources;
+       private NetworkAdapterObjectMapper networkAdapterObjectMapper;
        @Autowired
        private ExceptionBuilder exceptionUtil;
        
@@ -54,14 +54,23 @@ public class NetworkAdapterUpdateTasks {
                        GeneralBuildingBlock gBBInput = execution.getGeneralBuildingBlock();
                        ServiceInstance serviceInstance = extractPojosForBB.extractByKey(execution, ResourceKey.SERVICE_INSTANCE_ID, execution.getLookupMap().get(ResourceKey.SERVICE_INSTANCE_ID));
                        L3Network l3Network = extractPojosForBB.extractByKey(execution, ResourceKey.NETWORK_ID, execution.getLookupMap().get(ResourceKey.NETWORK_ID));
-                       Optional<UpdateNetworkResponse> oUpdateNetworkResponse = networkAdapterResources.updateNetwork(gBBInput.getRequestContext(), gBBInput.getCloudRegion(), gBBInput.getOrchContext(), serviceInstance, l3Network, gBBInput.getUserInput(), gBBInput.getCustomer());
                        
-                       if(oUpdateNetworkResponse.isPresent()) {
-                               UpdateNetworkResponse updateNetworkResponse = oUpdateNetworkResponse.get();
-                               execution.setVariable("NetworkAdapterUpdateNetworkResponse", updateNetworkResponse);
-                       }
+                       UpdateNetworkRequest updateNetworkRequest = networkAdapterObjectMapper.createNetworkUpdateRequestMapper(gBBInput.getRequestContext(), gBBInput.getCloudRegion(),  gBBInput.getOrchContext(), serviceInstance, l3Network, gBBInput.getUserInput(), gBBInput.getCustomer());
+                       execution.setVariable("networkAdapterRequest", updateNetworkRequest);
+                       
                } catch(Exception ex) {
                        exceptionUtil.buildAndThrowWorkflowException(execution, 7000, ex);
                }
        }
+       
+       public void processResponseFromOpenstack(BuildingBlockExecution execution) {
+               try {                   
+                       UpdateNetworkResponse updateNetworkResponse = execution.getVariable("updateNetworkResponse");
+                       if(updateNetworkResponse == null) {
+                               throw new Exception("No response was sent back from NetworkAdapterRestV1 subflow.");
+                       }
+               } catch (Exception ex) {
+                       exceptionUtil.buildAndThrowWorkflowException(execution, 7000, ex);
+               }
+       }
 }
index 73d7257..a8a249f 100644 (file)
@@ -43,6 +43,7 @@ import org.mockito.ArgumentMatchers;
 import org.mockito.InjectMocks;
 import org.mockito.Mockito;
 import org.onap.so.adapters.nwrest.CreateNetworkResponse;
+import org.onap.so.adapters.nwrest.UpdateNetworkResponse;
 import org.onap.so.bpmn.BaseTaskTest;
 import org.onap.so.bpmn.common.BuildingBlockExecution;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.CloudRegion;
@@ -456,6 +457,29 @@ public class AAIUpdateTasksTest extends BaseTaskTest{
                String neutronSubnetId = createNetworkResponse.getSubnetMap().entrySet().iterator().next().getValue();
                assertEquals(neutronSubnetId, network.getSubnets().get(0).getNeutronSubnetId());
        }
+       
+       @Test
+       public void updateNetworkUpdatedTest() throws Exception {
+               UpdateNetworkResponse updateNetworkResponse = new UpdateNetworkResponse();
+               updateNetworkResponse.setNeutronNetworkId("testNeutronNetworkId");
+               HashMap<String, String> subnetMap = new HashMap<>();
+               subnetMap.put("testSubnetId", "testNeutronSubnetId");
+               updateNetworkResponse.setSubnetMap(subnetMap);
+               
+               network.getSubnets().add(subnet);
+               
+               execution.setVariable("updateNetworkResponse", updateNetworkResponse);
+               
+               doNothing().when(aaiNetworkResources).updateNetwork(network);
+               doNothing().when(aaiNetworkResources).updateSubnet(network, subnet);
+
+               aaiUpdateTasks.updateNetworkUpdated(execution);
+               verify(aaiNetworkResources, times(1)).updateNetwork(network);
+               verify(aaiNetworkResources, times(1)).updateSubnet(network, subnet);
+               
+               String neutronSubnetId = updateNetworkResponse.getSubnetMap().entrySet().iterator().next().getValue();
+               assertEquals(neutronSubnetId, network.getSubnets().get(0).getNeutronSubnetId());
+       }
 
        @Test
        public void updateOrchestrationStatusNetworkTest() {
index 9f2f2fb..478c512 100644 (file)
@@ -24,6 +24,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.ArgumentMatchers.isA;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.doThrow;
 import static org.mockito.Mockito.times;
@@ -39,6 +40,8 @@ import org.junit.Before;
 import org.junit.Test;
 import org.mockito.ArgumentMatchers;
 import org.mockito.InjectMocks;
+import org.onap.so.adapters.nwrest.CreateNetworkRequest;
+import org.onap.so.adapters.nwrest.UpdateNetworkRequest;
 import org.onap.so.adapters.nwrest.UpdateNetworkResponse;
 import org.onap.so.bpmn.BaseTaskTest;
 import org.onap.so.bpmn.common.BuildingBlockExecution;
@@ -83,35 +86,15 @@ public class NetworkAdapterUpdateTasksTest extends BaseTaskTest{
        
        @Test
        public void updateNetworkTest() throws Exception {
-               UpdateNetworkResponse updateNetworkResponse = new UpdateNetworkResponse();
-               updateNetworkResponse.setMessageId("messageId");
-               updateNetworkResponse.setNetworkId("networkId");
-               Optional<UpdateNetworkResponse> oUpdateNetworkResponse = Optional.of(updateNetworkResponse);
-               
-               doReturn(oUpdateNetworkResponse).when(networkAdapterResources).updateNetwork(requestContext, cloudRegion, orchestrationContext, serviceInstance, network, userInput, customer);
-               
-               networkAdapterUpdateTasks.updateNetwork(execution);
-               
-               verify(networkAdapterResources, times(1)).updateNetwork(requestContext, cloudRegion, orchestrationContext, serviceInstance, network, userInput, customer);
-               assertEquals(updateNetworkResponse, execution.getVariable("NetworkAdapterUpdateNetworkResponse"));
-       }
-       
-       @Test
-       public void updateNetworkNoResponseTest() throws Exception {
-               doReturn(Optional.empty()).when(networkAdapterResources).updateNetwork(requestContext, cloudRegion, orchestrationContext, serviceInstance, network, userInput, customer);
-               
+               String cloudRegionPo = "cloudRegionPo";
+               UpdateNetworkRequest updateNetworkRequest = new UpdateNetworkRequest();
+               execution.setVariable("cloudRegionPo", cloudRegionPo);
+
+               doReturn(updateNetworkRequest).when(networkAdapterObjectMapper).createNetworkUpdateRequestMapper(isA(RequestContext.class), isA(CloudRegion.class), isA(OrchestrationContext.class), isA(ServiceInstance.class), isA(L3Network.class), isA(Map.class), isA(Customer.class));
                networkAdapterUpdateTasks.updateNetwork(execution);
-               
-               verify(networkAdapterResources, times(1)).updateNetwork(requestContext, cloudRegion, orchestrationContext, serviceInstance, network, userInput, customer);
-               assertNull(execution.getVariable("NetworkAdapterUpdateNetworkResponse"));
+               verify(networkAdapterObjectMapper, times(1)).createNetworkUpdateRequestMapper(requestContext, cloudRegion, orchestrationContext, serviceInstance, network, userInput, customer);
+               assertEquals(updateNetworkRequest, execution.getVariable("networkAdapterRequest"));     
        }
        
-       @Test
-       public void updateNetworkExceptionTest() throws UnsupportedEncodingException, NetworkAdapterClientException {
-               expectedException.expect(BpmnError.class);
-               doThrow(new NetworkAdapterClientException("ERROR")).when(networkAdapterResources).updateNetwork(any(RequestContext.class),any(CloudRegion.class), 
-                               any(OrchestrationContext.class),eq(serviceInstance),eq(network),any(Map.class),any(Customer.class));
-               doThrow(new BpmnError("BPMN Error")).when(exceptionUtil).buildAndThrowWorkflowException(any(BuildingBlockExecution.class), eq(7000), any(Exception.class));
-               networkAdapterUpdateTasks.updateNetwork(execution);
-       }
+
 }