summaryrefslogtreecommitdiffstats
path: root/bpmn/so-bpmn-tasks
diff options
context:
space:
mode:
authorRob Daugherty <rd472p@att.com>2018-10-17 13:11:41 +0000
committerGerrit Code Review <gerrit@onap.org>2018-10-17 13:11:41 +0000
commit15af810c48631a9dfe24ec6b39186e3797c0143b (patch)
tree4e67c7c655ced32faf293a616db86529cf0b8aa7 /bpmn/so-bpmn-tasks
parent6ad847887d9fafce3305cd7b709154b6618ff6a7 (diff)
parent2ff435b28384a066017b690cf8a876a2cdd52d29 (diff)
Merge "Bug fixes for casablanca"
Diffstat (limited to 'bpmn/so-bpmn-tasks')
-rw-r--r--bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAIUpdateTasks.java77
-rw-r--r--bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/sdnc/tasks/SDNCAssignTasks.java4
-rw-r--r--bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowAction.java1
-rw-r--r--bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasks.java17
-rw-r--r--bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/aai/mapper/AAIObjectMapper.java5
-rw-r--r--bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/adapter/network/mapper/NetworkAdapterObjectMapper.java23
-rw-r--r--bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterObjectMapper.java2
-rw-r--r--bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterVfModuleObjectMapper.java2
-rw-r--r--bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/orchestration/AAINetworkResources.java7
-rw-r--r--bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/common/data/TestDataSetup.java10
-rw-r--r--bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAIUpdateTasksTest.java96
-rw-r--r--bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/appc/tasks/AppcRunTasksTest.java20
-rw-r--r--bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionUnitTest.java20
-rw-r--r--bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/aai/mapper/AAIObjectMapperTest.java17
-rw-r--r--bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/network/mapper/NetworkAdapterObjectMapperTest.java27
-rw-r--r--bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterObjectMapperTest.java4
-rw-r--r--bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterVfModuleObjectMapperPayloadTest.java74
-rw-r--r--bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/orchestration/AAINetworkResourcesTest.java16
-rw-r--r--bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/NetworkMapper/createNetworkRequest.json4
-rw-r--r--bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/VnfAndVfModuleMapper/vnfAdapterCreateVfModuleRequestTrueBackout.json68
20 files changed, 392 insertions, 102 deletions
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAIUpdateTasks.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAIUpdateTasks.java
index 58c51f6223..c84e26911c 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAIUpdateTasks.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAIUpdateTasks.java
@@ -20,6 +20,9 @@
package org.onap.so.bpmn.infrastructure.aai.tasks;
+import java.util.List;
+import java.util.Map;
+
import org.onap.so.adapters.nwrest.CreateNetworkResponse;
import org.onap.so.bpmn.common.BuildingBlockExecution;
import org.onap.so.bpmn.servicedecomposition.bbobjects.CloudRegion;
@@ -28,6 +31,7 @@ import org.onap.so.bpmn.servicedecomposition.bbobjects.Configuration;
import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf;
import org.onap.so.bpmn.servicedecomposition.bbobjects.L3Network;
import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
+import org.onap.so.bpmn.servicedecomposition.bbobjects.Subnet;
import org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule;
import org.onap.so.bpmn.servicedecomposition.bbobjects.VolumeGroup;
import org.onap.so.bpmn.servicedecomposition.entities.GeneralBuildingBlock;
@@ -209,22 +213,7 @@ public class AAIUpdateTasks {
* @throws BBObjectNotFoundException
*/
public void updateOrchestrationStatusAssignedNetwork(BuildingBlockExecution execution) {
- execution.setVariable("aaiNetworkAssignRollback", false);
- try {
- L3Network l3network = extractPojosForBB.extractByKey(execution, ResourceKey.NETWORK_ID, execution.getLookupMap().get(ResourceKey.NETWORK_ID));
- L3Network copiedl3network = l3network.shallowCopyId();
-
-
- l3network.setOrchestrationStatus(OrchestrationStatus.ASSIGNED);
- l3network.setHeatStackId("");
-
- copiedl3network.setOrchestrationStatus(OrchestrationStatus.ASSIGNED);
- copiedl3network.setHeatStackId("");
- aaiNetworkResources.updateNetwork(copiedl3network);
- execution.setVariable("aaiNetworkAssignRollback", true);
- } catch (Exception ex) {
- exceptionUtil.buildAndThrowWorkflowException(execution, 7000, ex);
- }
+ updateNetwork(execution, OrchestrationStatus.ASSIGNED);
}
/**
@@ -233,18 +222,7 @@ public class AAIUpdateTasks {
* @throws BBObjectNotFoundException
*/
public void updateOrchestrationStatusActiveNetwork(BuildingBlockExecution execution) {
- execution.setVariable("aaiNetworkActivateRollback", false);
- try {
- L3Network l3network = extractPojosForBB.extractByKey(execution, ResourceKey.NETWORK_ID, execution.getLookupMap().get(ResourceKey.NETWORK_ID));
- L3Network copiedl3network = l3network.shallowCopyId();
-
- copiedl3network.setOrchestrationStatus(OrchestrationStatus.ACTIVE);
- l3network.setOrchestrationStatus(OrchestrationStatus.ACTIVE);
- aaiNetworkResources.updateNetwork(copiedl3network);
- execution.setVariable("aaiNetworkActivateRollback", true);
- } catch (Exception ex) {
- exceptionUtil.buildAndThrowWorkflowException(execution, 7000, ex);
- }
+ updateNetwork(execution, OrchestrationStatus.ACTIVE);
}
/**
@@ -253,20 +231,35 @@ public class AAIUpdateTasks {
* @throws BBObjectNotFoundException
*/
public void updateOrchestrationStatusCreatedNetwork(BuildingBlockExecution execution) {
- execution.setVariable("aaiNetworkActivateRollback", false);
+ updateNetwork(execution, OrchestrationStatus.CREATED);
+ }
+
+ protected void updateNetwork(BuildingBlockExecution execution, OrchestrationStatus status) {
try {
- L3Network l3network = extractPojosForBB.extractByKey(execution, ResourceKey.NETWORK_ID, execution.getLookupMap().get(ResourceKey.NETWORK_ID));
- L3Network copiedl3network = l3network.shallowCopyId();
-
- copiedl3network.setOrchestrationStatus(OrchestrationStatus.CREATED);
- l3network.setOrchestrationStatus(OrchestrationStatus.CREATED);
- aaiNetworkResources.updateNetwork(copiedl3network);
- execution.setVariable("aaiNetworkActivateRollback", true);
+ L3Network l3Network = extractPojosForBB.extractByKey(execution, ResourceKey.NETWORK_ID, execution.getLookupMap().get(ResourceKey.NETWORK_ID));
+ updateNetworkAAI(l3Network, status);
} catch (Exception ex) {
exceptionUtil.buildAndThrowWorkflowException(execution, 7000, ex);
}
}
+ protected void updateNetworkAAI(L3Network l3Network, OrchestrationStatus status) {
+ L3Network copiedl3Network = l3Network.shallowCopyId();
+
+ copiedl3Network.setOrchestrationStatus(status);
+ l3Network.setOrchestrationStatus(status);
+ aaiNetworkResources.updateNetwork(copiedl3Network);
+
+ List<Subnet> subnets = l3Network.getSubnets();
+ if (subnets != null){
+ for (Subnet subnet : subnets){
+ Subnet copiedSubnet = subnet.shallowCopyId();
+ copiedSubnet.setOrchestrationStatus(status);
+ aaiNetworkResources.updateSubnet(copiedl3Network, copiedSubnet);
+ }
+ }
+ }
+
/**
* BPMN access method to update status of L3Network Collection to Active in AAI
* @param execution
@@ -336,6 +329,18 @@ public class AAIUpdateTasks {
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);
+ }
+ }
+
execution.setVariable("aaiNetworkActivateRollback", true);
} catch (Exception ex) {
exceptionUtil.buildAndThrowWorkflowException(execution, 7000, ex);
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/sdnc/tasks/SDNCAssignTasks.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/sdnc/tasks/SDNCAssignTasks.java
index 5f263e8b4b..ec79b2825a 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/sdnc/tasks/SDNCAssignTasks.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/sdnc/tasks/SDNCAssignTasks.java
@@ -72,8 +72,8 @@ public class SDNCAssignTasks {
}
public void assignVnf(BuildingBlockExecution execution) {
- try {
- GeneralBuildingBlock gBBInput = execution.getVariable("generalBuildingBlock");
+ try {
+ GeneralBuildingBlock gBBInput = execution.getGeneralBuildingBlock();
RequestContext requestContext = gBBInput.getRequestContext();
ServiceInstance serviceInstance = extractPojosForBB.extractByKey(execution, ResourceKey.SERVICE_INSTANCE_ID, execution.getLookupMap().get(ResourceKey.SERVICE_INSTANCE_ID));
GenericVnf vnf = extractPojosForBB.extractByKey(execution, ResourceKey.GENERIC_VNF_ID, execution.getLookupMap().get(ResourceKey.GENERIC_VNF_ID));
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowAction.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowAction.java
index 724dea6cf5..24246273e8 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowAction.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowAction.java
@@ -294,6 +294,7 @@ public class WorkflowAction {
execution.setVariable("retryCount", 0);
execution.setVariable("isRollback", false);
execution.setVariable("flowsToExecute", flowsToExecute);
+ execution.setVariable("isRollbackComplete", false);
} catch (Exception ex) {
buildAndThrowException(execution, "Exception in create execution list " + ex.getMessage(), ex);
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasks.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasks.java
index 8a16b54bf4..4e02ca3f6f 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasks.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasks.java
@@ -290,16 +290,11 @@ public class WorkflowActionBBTasks {
String requestId = (String) execution.getVariable(G_REQUEST_ID);
InfraActiveRequests request = requestDbclient.getInfraActiveRequestbyRequestId(requestId);
String errorMsg = null;
- boolean rollback = false;
+ boolean rollback = (boolean) execution.getVariable("isRollbackComplete");
try {
WorkflowException exception = (WorkflowException) execution.getVariable("WorkflowException");
- if(exception.getErrorMessage()!=null || !exception.getErrorMessage().equals("")){
+ if(exception != null && (exception.getErrorMessage()!=null || !exception.getErrorMessage().equals(""))){
errorMsg = exception.getErrorMessage();
- rollback = (boolean) execution.getVariable("isRollbackComplete");
- if(rollback){
- errorMsg = errorMsg + " + Rollback has been completed successfully.";
- }
- request.setStatusMessage(errorMsg);
}
} catch (Exception ex) {
//log error and attempt to extact WorkflowExceptionMessage
@@ -308,12 +303,16 @@ public class WorkflowActionBBTasks {
if (errorMsg == null){
try {
errorMsg = (String) execution.getVariable("WorkflowExceptionErrorMessage");
- request.setStatusMessage(errorMsg);
} catch (Exception ex) {
logger.error("Failed to extract workflow exception message from WorkflowException",ex);
- request.setStatusMessage("Unexpected Error in BPMN");
+ errorMsg = "Unexpected Error in BPMN.";
}
}
+ if(rollback){
+ errorMsg = errorMsg + " + Rollback has been completed successfully.";
+ }
+ request.setProgress(Long.valueOf(100));
+ request.setStatusMessage(errorMsg);
request.setRequestStatus("FAILED");
request.setLastModifiedBy("CamundaBPMN");
requestDbclient.updateInfraActiveRequests(request);
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/aai/mapper/AAIObjectMapper.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/aai/mapper/AAIObjectMapper.java
index 4a1c3f512c..c895566ca5 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/aai/mapper/AAIObjectMapper.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/aai/mapper/AAIObjectMapper.java
@@ -298,5 +298,8 @@ public class AAIObjectMapper {
aaiVpnBinding.setRouteTargets(routeTargets);
}
}
-
+
+ public org.onap.aai.domain.yang.Subnet mapSubnet (Subnet subnet){
+ return modelMapper.map(subnet,org.onap.aai.domain.yang.Subnet.class);
+ }
}
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/adapter/network/mapper/NetworkAdapterObjectMapper.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/adapter/network/mapper/NetworkAdapterObjectMapper.java
index 056ac3f6e5..57c760b01f 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/adapter/network/mapper/NetworkAdapterObjectMapper.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/adapter/network/mapper/NetworkAdapterObjectMapper.java
@@ -33,6 +33,7 @@ import org.onap.so.adapters.nwrest.ContrailNetwork;
import org.onap.so.adapters.nwrest.CreateNetworkRequest;
import org.onap.so.adapters.nwrest.CreateNetworkResponse;
import org.onap.so.adapters.nwrest.DeleteNetworkRequest;
+import org.onap.so.adapters.nwrest.NetworkTechnology;
import org.onap.so.adapters.nwrest.ProviderVlanNetwork;
import org.onap.so.adapters.nwrest.RollbackNetworkRequest;
import org.onap.so.adapters.nwrest.UpdateNetworkRequest;
@@ -82,6 +83,8 @@ public class NetworkAdapterObjectMapper {
ProviderVlanNetwork providerVlanNetwork = buildProviderVlanNetwork(l3Network);
createNetworkRequest.setProviderVlanNetwork(providerVlanNetwork);
+ createNetworkRequest.setNetworkTechnology(setNetworkTechnology(l3Network.getModelInfoNetwork().getNetworkTechnology()));
+
//build and set Contrail Network
ContrailNetwork contrailNetwork = buildContrailNetwork(l3Network, customer);
createNetworkRequest.setContrailNetwork(contrailNetwork);
@@ -100,6 +103,16 @@ public class NetworkAdapterObjectMapper {
return createNetworkRequest;
}
+
+ protected NetworkTechnology setNetworkTechnology(String networkTechnology) {
+ if(networkTechnology.equalsIgnoreCase("Contrail")) {
+ return NetworkTechnology.CONTRAIL;
+ } else if(networkTechnology.equalsIgnoreCase("Neutron")){
+ return NetworkTechnology.NEUTRON;
+ } else {
+ return NetworkTechnology.VMWARE;
+ }
+ }
public DeleteNetworkRequest deleteNetworkRequestMapper(RequestContext requestContext, CloudRegion cloudRegion, ServiceInstance serviceInstance, L3Network l3Network) throws UnsupportedEncodingException {
DeleteNetworkRequest deleteNetworkRequest = new DeleteNetworkRequest();
@@ -330,9 +343,8 @@ public class NetworkAdapterObjectMapper {
private CreateNetworkRequest setFlowFlags(CreateNetworkRequest createNetworkRequest, OrchestrationContext orchestrationContext){
//TODO confirm flag value
- createNetworkRequest.setSkipAAI(true);
- //revert suppressRollabck=TRUE into backout=FALSE and vice versa
- createNetworkRequest.setBackout(orchestrationContext.getIsRollbackEnabled());
+ createNetworkRequest.setSkipAAI(true);
+ createNetworkRequest.setBackout(Boolean.TRUE.equals(orchestrationContext.getIsRollbackEnabled()));
//TODO confirm value - false by default
createNetworkRequest.setFailIfExists(true);
//NetworkTechnology(NetworkTechnology.NEUTRON); NOOP - default
@@ -340,9 +352,8 @@ public class NetworkAdapterObjectMapper {
}
private void setFlowFlags(UpdateNetworkRequest updateNetworkRequest, OrchestrationContext orchestrationContext){
- updateNetworkRequest.setSkipAAI(true);
- //revert suppressRollabck=TRUE into backout=FALSE and vice versa
- updateNetworkRequest.setBackout(!Boolean.TRUE.equals(orchestrationContext.getIsRollbackEnabled()));
+ updateNetworkRequest.setSkipAAI(true);
+ updateNetworkRequest.setBackout(Boolean.TRUE.equals(orchestrationContext.getIsRollbackEnabled()));
//NetworkTechnology(NetworkTechnology.NEUTRON); NOOP - default
}
}
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterObjectMapper.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterObjectMapper.java
index ec202b8a3f..93e588f2e1 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterObjectMapper.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterObjectMapper.java
@@ -74,7 +74,7 @@ public class VnfAdapterObjectMapper {
createVolumeGroupRequest.setVolumeGroupParams(createVolumeGroupParams(requestContext,genericVnf, volumeGroup, sdncVfModuleQueryResponse));
createVolumeGroupRequest.setSkipAAI(true);
- createVolumeGroupRequest.setSuppressBackout(orchestrationContext.getIsRollbackEnabled());
+ createVolumeGroupRequest.setSuppressBackout(Boolean.TRUE.equals(orchestrationContext.getIsRollbackEnabled()));
createVolumeGroupRequest.setFailIfExists(true);
createVolumeGroupRequest.setMsoRequest(createMsoRequest(requestContext, serviceInstance));
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterVfModuleObjectMapper.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterVfModuleObjectMapper.java
index 81c2107328..a36d18c524 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterVfModuleObjectMapper.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterVfModuleObjectMapper.java
@@ -140,7 +140,7 @@ public class VnfAdapterVfModuleObjectMapper {
createVfModuleRequest.setVfModuleParams(buildVfModuleParamsMap(requestContext, serviceInstance, genericVnf, vfModule, sdncVnfQueryResponse, sdncVfModuleQueryResponse));
createVfModuleRequest.setSkipAAI(true);
- createVfModuleRequest.setBackout(orchestrationContext.getIsRollbackEnabled());
+ createVfModuleRequest.setBackout(Boolean.TRUE.equals(orchestrationContext.getIsRollbackEnabled()));
createVfModuleRequest.setFailIfExists(true);
MsoRequest msoRequest = buildMsoRequest(requestContext, serviceInstance);
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/orchestration/AAINetworkResources.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/orchestration/AAINetworkResources.java
index e4984c921d..dc5ba64d2d 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/orchestration/AAINetworkResources.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/orchestration/AAINetworkResources.java
@@ -31,6 +31,7 @@ import org.onap.so.bpmn.servicedecomposition.bbobjects.Collection;
import org.onap.so.bpmn.servicedecomposition.bbobjects.InstanceGroup;
import org.onap.so.bpmn.servicedecomposition.bbobjects.L3Network;
import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
+import org.onap.so.bpmn.servicedecomposition.bbobjects.Subnet;
import org.onap.so.client.aai.AAIObjectType;
import org.onap.so.client.aai.entities.AAIResultWrapper;
import org.onap.so.client.aai.entities.uri.AAIResourceUri;
@@ -55,6 +56,12 @@ public class AAINetworkResources {
injectionHelper.getAaiClient().update(networkURI, aaiL3Network);
}
+ public void updateSubnet(L3Network network, Subnet subnet) {
+ AAIResourceUri subnetURI = AAIUriFactory.createResourceUri(AAIObjectType.SUBNET, network.getNetworkId(), subnet.getSubnetId());
+ org.onap.aai.domain.yang.Subnet aaiSubnet = aaiObjectMapper.mapSubnet(subnet);
+ injectionHelper.getAaiClient().update(subnetURI, aaiSubnet);
+ }
+
public void createNetworkConnectToServiceInstance(L3Network network, ServiceInstance serviceInstance) {
AAIResourceUri networkURI = AAIUriFactory.createResourceUri(AAIObjectType.L3_NETWORK, network.getNetworkId());
network.setOrchestrationStatus(OrchestrationStatus.INVENTORIED);
diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/common/data/TestDataSetup.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/common/data/TestDataSetup.java
index b5bb0bed94..380a94f951 100644
--- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/common/data/TestDataSetup.java
+++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/common/data/TestDataSetup.java
@@ -52,6 +52,7 @@ import org.onap.so.bpmn.servicedecomposition.bbobjects.Project;
import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceProxy;
import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceSubscription;
+import org.onap.so.bpmn.servicedecomposition.bbobjects.Subnet;
import org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule;
import org.onap.so.bpmn.servicedecomposition.bbobjects.VolumeGroup;
import org.onap.so.bpmn.servicedecomposition.bbobjects.VpnBinding;
@@ -71,6 +72,7 @@ import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoServiceProxy;
import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoVfModule;
import org.onap.so.bpmn.servicedecomposition.tasks.ExtractPojosForBB;
import org.onap.so.client.exception.BBObjectNotFoundException;
+import org.onap.so.db.catalog.beans.OrchestrationStatus;
public class TestDataSetup{
private int collectionCounter;
@@ -686,4 +688,12 @@ public class TestDataSetup{
serviceInstance.setConfigurations(configurations);
return config;
}
+
+ public Subnet buildSubnet() {
+ Subnet subnet = new Subnet();
+ subnet.setSubnetId("testSubnetId");
+ subnet.setOrchestrationStatus(OrchestrationStatus.PENDING);
+ subnet.setNeutronSubnetId("testNeutronSubnetId");
+ return subnet;
+ }
} \ No newline at end of file
diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAIUpdateTasksTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAIUpdateTasksTest.java
index d800ae9618..55958946a3 100644
--- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAIUpdateTasksTest.java
+++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAIUpdateTasksTest.java
@@ -21,14 +21,24 @@
package org.onap.so.bpmn.infrastructure.aai.tasks;
import static org.junit.Assert.assertEquals;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.doThrow;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import java.util.HashMap;
import org.camunda.bpm.engine.delegate.BpmnError;
+import org.hamcrest.Matchers;
import org.junit.Before;
import org.junit.Test;
+import org.mockito.Mockito;
import org.onap.so.adapters.nwrest.CreateNetworkResponse;
import org.onap.so.bpmn.BaseTaskTest;
import org.onap.so.bpmn.servicedecomposition.bbobjects.CloudRegion;
@@ -36,6 +46,7 @@ import org.onap.so.bpmn.servicedecomposition.bbobjects.Configuration;
import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf;
import org.onap.so.bpmn.servicedecomposition.bbobjects.L3Network;
import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
+import org.onap.so.bpmn.servicedecomposition.bbobjects.Subnet;
import org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule;
import org.onap.so.bpmn.servicedecomposition.bbobjects.VolumeGroup;
import org.onap.so.db.catalog.beans.OrchestrationStatus;
@@ -52,6 +63,7 @@ public class AAIUpdateTasksTest extends BaseTaskTest{
private VolumeGroup volumeGroup;
private CloudRegion cloudRegion;
private Configuration configuration;
+ private Subnet subnet;
@Before
public void before() {
@@ -62,6 +74,7 @@ public class AAIUpdateTasksTest extends BaseTaskTest{
cloudRegion = setCloudRegion();
network = setL3Network();
configuration = setConfiguration();
+ subnet = buildSubnet();
}
@Test
@@ -290,51 +303,14 @@ public class AAIUpdateTasksTest extends BaseTaskTest{
doThrow(Exception.class).when(aaiVolumeGroupResources).updateHeatStackIdVolumeGroup(volumeGroup, cloudRegion);
aaiUpdateTasks.updateHeatStackIdVolumeGroup(execution);
}
-
- @Test
- public void updateOstatusAssignedNetworkTest() throws Exception {
- doNothing().when(aaiNetworkResources).updateNetwork(network);
-
- aaiUpdateTasks.updateOrchestrationStatusAssignedNetwork(execution);
-
- verify(aaiNetworkResources, times(1)).updateNetwork(network);
- assertEquals("", network.getHeatStackId());
- }
@Test
- public void updateOstatusAssignedNetworkExceptionTest() throws Exception {
- expectedException.expect(BpmnError.class);
-
- doThrow(Exception.class).when(aaiNetworkResources).updateNetwork(network);
-
- aaiUpdateTasks.updateOrchestrationStatusAssignedNetwork(execution);
- }
-
- @Test
- public void updateOstatusActivedNetworkTest() throws Exception {
- doNothing().when(aaiNetworkResources).updateNetwork(network);
-
- aaiUpdateTasks.updateOrchestrationStatusActiveNetwork(execution);
-
- verify(aaiNetworkResources, times(1)).updateNetwork(network);
- }
-
- @Test
- public void updateOstatusCreatedNetworkTest() throws Exception {
- doNothing().when(aaiNetworkResources).updateNetwork(network);
-
- aaiUpdateTasks.updateOrchestrationStatusActiveNetwork(execution);
-
- verify(aaiNetworkResources, times(1)).updateNetwork(network);
- }
-
- @Test
- public void updateOstatusActiveNetworkExceptionTest() throws Exception {
+ public void updateNetworkExceptionTest() throws Exception {
expectedException.expect(BpmnError.class);
doThrow(Exception.class).when(aaiNetworkResources).updateNetwork(network);
- aaiUpdateTasks.updateOrchestrationStatusActiveNetwork(execution);
+ aaiUpdateTasks.updateNetwork(execution, OrchestrationStatus.ACTIVE);
}
@Test
@@ -374,20 +350,62 @@ public class AAIUpdateTasksTest extends BaseTaskTest{
CreateNetworkResponse createNetworkResponse = new CreateNetworkResponse();
createNetworkResponse.setNetworkFqdn("testNetworkFqdn");
createNetworkResponse.setNetworkStackId("testNetworkStackId");
+ HashMap<String, String> subnetMap = new HashMap<String, String>();
+ subnetMap.put("testSubnetId", "testNeutronSubnetId");
+ createNetworkResponse.setSubnetMap(subnetMap);
+
+ network.getSubnets().add(subnet);
execution.setVariable("createNetworkResponse", createNetworkResponse);
doNothing().when(aaiNetworkResources).updateNetwork(network);
+ doNothing().when(aaiNetworkResources).updateSubnet(network, subnet);
+
aaiUpdateTasks.updateNetworkCreated(execution);
verify(aaiNetworkResources, times(1)).updateNetwork(network);
+ verify(aaiNetworkResources, times(1)).updateSubnet(network, subnet);
assertEquals(createNetworkResponse.getNetworkFqdn(), network.getContrailNetworkFqdn());
assertEquals(OrchestrationStatus.CREATED, network.getOrchestrationStatus());
assertEquals(createNetworkResponse.getNetworkStackId(), network.getHeatStackId());
assertEquals(createNetworkResponse.getNeutronNetworkId(), network.getNeutronNetworkId());
+ String neutronSubnetId = createNetworkResponse.getSubnetMap().entrySet().iterator().next().getValue();
+ assertEquals(neutronSubnetId, network.getSubnets().get(0).getNeutronSubnetId());
}
@Test
+ public void updateOrchestrationStatusNetworkTest() {
+ AAIUpdateTasks spy = Mockito.spy(new AAIUpdateTasks());
+ doNothing().when(spy).updateNetwork(eq(execution), any());
+ spy.updateOrchestrationStatusActiveNetwork(execution);
+ verify(spy, times(1)).updateNetwork(execution, OrchestrationStatus.ACTIVE);
+ spy.updateOrchestrationStatusAssignedNetwork(execution);
+ verify(spy, times(1)).updateNetwork(execution, OrchestrationStatus.ASSIGNED);
+ spy.updateOrchestrationStatusCreatedNetwork(execution);
+ verify(spy, times(1)).updateNetwork(execution, OrchestrationStatus.CREATED);
+ }
+
+ @Test
+ public void updateNetworkAAITest() {
+
+ L3Network spy = spy(new L3Network());
+ L3Network shallowCopy = mock(L3Network.class);
+ Subnet mockSubnet = mock(Subnet.class);
+ Subnet shallowCopySubnet = mock(Subnet.class);
+ when(mockSubnet.shallowCopyId()).thenReturn(shallowCopySubnet);
+ doReturn(shallowCopy).when(spy).shallowCopyId();
+
+ doNothing().when(aaiNetworkResources).updateNetwork(network);
+ doNothing().when(aaiNetworkResources).updateSubnet(network, subnet);
+
+ spy.getSubnets().add(mockSubnet);
+ aaiUpdateTasks.updateNetworkAAI(spy, OrchestrationStatus.CREATED);
+
+ verify(shallowCopy, times(1)).setOrchestrationStatus(OrchestrationStatus.CREATED);
+ verify(spy, times(1)).setOrchestrationStatus(OrchestrationStatus.CREATED);
+ verify(shallowCopySubnet, times(1)).setOrchestrationStatus(OrchestrationStatus.CREATED);
+ }
+ @Test
public void updateNetworkCreatedkExceptionTest() throws Exception {
expectedException.expect(BpmnError.class);
doThrow(Exception.class).when(aaiNetworkResources).updateNetwork(network);
diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/appc/tasks/AppcRunTasksTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/appc/tasks/AppcRunTasksTest.java
index 7cade7703a..dcc95affce 100644
--- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/appc/tasks/AppcRunTasksTest.java
+++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/appc/tasks/AppcRunTasksTest.java
@@ -1,3 +1,23 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2018 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.appc.tasks;
import static org.mockito.Mockito.times;
diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionUnitTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionUnitTest.java
index b818b07c1f..b4ec68050e 100644
--- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionUnitTest.java
+++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionUnitTest.java
@@ -1,3 +1,23 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2018 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.workflow.tasks;
import static org.hamcrest.CoreMatchers.is;
diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/aai/mapper/AAIObjectMapperTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/aai/mapper/AAIObjectMapperTest.java
index 99f1b188c9..d86453b87c 100644
--- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/aai/mapper/AAIObjectMapperTest.java
+++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/aai/mapper/AAIObjectMapperTest.java
@@ -654,4 +654,21 @@ public class AAIObjectMapperTest {
assertThat(actualRouteTarget, sameBeanAs(expectedRouteTarget));
}
+
+ @Test
+ public void mapSubnetTest() {
+ Subnet subnet = new Subnet();
+ subnet.setSubnetId("testSubnetId");
+ subnet.setOrchestrationStatus(OrchestrationStatus.PENDING);
+ subnet.setNeutronSubnetId("testNeutronSubnetId");
+
+ org.onap.aai.domain.yang.Subnet expectedSubnet = new org.onap.aai.domain.yang.Subnet();
+ expectedSubnet.setSubnetId("testSubnetId");
+ expectedSubnet.setOrchestrationStatus("Pending");
+ expectedSubnet.setNeutronSubnetId("testNeutronSubnetId");
+
+ org.onap.aai.domain.yang.Subnet actualSubnet = aaiObjectMapper.mapSubnet(subnet);
+
+ assertThat(actualSubnet, sameBeanAs(expectedSubnet));
+ }
}
diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/network/mapper/NetworkAdapterObjectMapperTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/network/mapper/NetworkAdapterObjectMapperTest.java
index fddba98f4c..8f0d00ff86 100644
--- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/network/mapper/NetworkAdapterObjectMapperTest.java
+++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/network/mapper/NetworkAdapterObjectMapperTest.java
@@ -21,6 +21,7 @@ package org.onap.so.client.adapter.network.mapper;
import static com.shazam.shazamcrest.MatcherAssert.assertThat;
import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs;
+import static org.junit.Assert.*;
import static org.mockito.Mockito.doReturn;
import java.io.UnsupportedEncodingException;
@@ -38,6 +39,7 @@ import org.onap.so.adapters.nwrest.ContrailNetwork;
import org.onap.so.adapters.nwrest.CreateNetworkRequest;
import org.onap.so.adapters.nwrest.CreateNetworkResponse;
import org.onap.so.adapters.nwrest.DeleteNetworkRequest;
+import org.onap.so.adapters.nwrest.NetworkTechnology;
import org.onap.so.adapters.nwrest.ProviderVlanNetwork;
import org.onap.so.adapters.nwrest.RollbackNetworkRequest;
import org.onap.so.adapters.nwrest.UpdateNetworkRequest;
@@ -96,6 +98,24 @@ public class NetworkAdapterObjectMapperTest extends TestDataSetup{
}
@Test
+ public void testSetNetworkTechnology() {
+ String networkTechnology = "Contrail";
+ NetworkTechnology expectedNetworkTechnology = NetworkTechnology.CONTRAIL;
+ NetworkTechnology actualNetworkTechnology = SPY_networkAdapterObjectMapper.setNetworkTechnology(networkTechnology);
+ assertEquals("NetworkTechnology matches", expectedNetworkTechnology, actualNetworkTechnology);
+
+ networkTechnology = "Neutron";
+ expectedNetworkTechnology = NetworkTechnology.NEUTRON;
+ actualNetworkTechnology = SPY_networkAdapterObjectMapper.setNetworkTechnology(networkTechnology);
+ assertEquals("NetworkTechnology matches", expectedNetworkTechnology, actualNetworkTechnology);
+
+ networkTechnology = "Vmware";
+ expectedNetworkTechnology = NetworkTechnology.VMWARE;
+ actualNetworkTechnology = SPY_networkAdapterObjectMapper.setNetworkTechnology(networkTechnology);
+ assertEquals("NetworkTechnology matches", expectedNetworkTechnology, actualNetworkTechnology);
+
+ }
+ @Test
public void buildCreateNetworkRequestFromBbobjectTest() throws Exception {
String cloudRegionPo = "cloudRegionPo";
@@ -108,7 +128,7 @@ public class NetworkAdapterObjectMapperTest extends TestDataSetup{
expectedCreateNetworkRequest.setNetworkType(l3Network.getNetworkType());
expectedCreateNetworkRequest.setBackout(false);
expectedCreateNetworkRequest.setFailIfExists(true);
-
+ expectedCreateNetworkRequest.setNetworkTechnology(NetworkTechnology.CONTRAIL);
MsoRequest msoRequest = new MsoRequest();
msoRequest.setRequestId(requestContext.getMsoRequestId());
msoRequest.setServiceInstanceId(serviceInstance.getServiceInstanceId());
@@ -124,10 +144,11 @@ public class NetworkAdapterObjectMapperTest extends TestDataSetup{
List<Subnet> subnetList = new ArrayList<Subnet>();
subnetList.add(openstackSubnet);
l3Network.getSubnets().add(openstackSubnet);
+ l3Network.getModelInfoNetwork().setNetworkTechnology("Contrail");
CreateNetworkRequest createNetworkRequest = SPY_networkAdapterObjectMapper.createNetworkRequestMapper(requestContext, cloudRegion, orchestrationContext, serviceInstance, l3Network, userInput, cloudRegionPo, customer);
- assertThat(createNetworkRequest, sameBeanAs(expectedCreateNetworkRequest).ignoring("contrailNetwork").ignoring("providerVlanNetwork").ignoring("subnets").ignoring("networkParams").ignoring("messageId"));
+ assertThat(createNetworkRequest, sameBeanAs(expectedCreateNetworkRequest).ignoring("contrailRequest").ignoring("contrailNetwork").ignoring("providerVlanNetwork").ignoring("subnets").ignoring("networkParams").ignoring("messageId"));
}
@Test
@@ -232,7 +253,7 @@ public class NetworkAdapterObjectMapperTest extends TestDataSetup{
expectedUpdateNetworkRequest.setNetworkParams(userInput);
expectedUpdateNetworkRequest.setMsoRequest(msoRequest);
expectedUpdateNetworkRequest.setSkipAAI(true);
- expectedUpdateNetworkRequest.setBackout(!Boolean.TRUE.equals(orchestrationContext.getIsRollbackEnabled()));
+ expectedUpdateNetworkRequest.setBackout(Boolean.TRUE.equals(orchestrationContext.getIsRollbackEnabled()));
expectedUpdateNetworkRequest.setMessageId("messageId");
expectedUpdateNetworkRequest.setNotificationUrl("http://localhost:28080/mso/WorkflowMesssage/NetworkAResponse/messageId");
diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterObjectMapperTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterObjectMapperTest.java
index b2f01f007f..8f5c8dfb5e 100644
--- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterObjectMapperTest.java
+++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterObjectMapperTest.java
@@ -134,7 +134,7 @@ public class VnfAdapterObjectMapperTest {
expectedCreateVolumeGroupRequest.setVolumeGroupParams(volumeGroupParams);
expectedCreateVolumeGroupRequest.setSkipAAI(true);
- expectedCreateVolumeGroupRequest.setSuppressBackout(orchestrationContext.getIsRollbackEnabled());
+ expectedCreateVolumeGroupRequest.setSuppressBackout(Boolean.TRUE.equals(orchestrationContext.getIsRollbackEnabled()));
expectedCreateVolumeGroupRequest.setFailIfExists(true);
MsoRequest msoRequest = new MsoRequest();
@@ -210,7 +210,7 @@ public class VnfAdapterObjectMapperTest {
expectedCreateVolumeGroupRequest.setVolumeGroupParams(volumeGroupParams);
expectedCreateVolumeGroupRequest.setSkipAAI(true);
- expectedCreateVolumeGroupRequest.setSuppressBackout(orchestrationContext.getIsRollbackEnabled());
+ expectedCreateVolumeGroupRequest.setSuppressBackout(Boolean.TRUE.equals(orchestrationContext.getIsRollbackEnabled()));
expectedCreateVolumeGroupRequest.setFailIfExists(true);
MsoRequest msoRequest = new MsoRequest();
diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterVfModuleObjectMapperPayloadTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterVfModuleObjectMapperPayloadTest.java
index a68afd811a..32a495e094 100644
--- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterVfModuleObjectMapperPayloadTest.java
+++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterVfModuleObjectMapperPayloadTest.java
@@ -135,6 +135,80 @@ public class VnfAdapterVfModuleObjectMapperPayloadTest {
}
@Test
+ public void createVfModuleWithFalseRollbackRequestMapperTest() throws Exception {
+
+ // prepare and set service instance
+ ServiceInstance serviceInstance = new ServiceInstance();
+ serviceInstance.setServiceInstanceId("serviceInstanceId");
+ ModelInfoServiceInstance modelInfoServiceInstance = new ModelInfoServiceInstance();
+ modelInfoServiceInstance.setModelInvariantUuid("serviceModelInvariantUuid");
+ modelInfoServiceInstance.setModelName("serviceModelName");
+ modelInfoServiceInstance.setModelUuid("serviceModelUuid");
+ modelInfoServiceInstance.setModelVersion("serviceModelVersion");
+ modelInfoServiceInstance.setEnvironmentContext("environmentContext");
+ modelInfoServiceInstance.setWorkloadContext("workloadContext");
+ serviceInstance.setModelInfoServiceInstance(modelInfoServiceInstance);
+
+ RequestContext requestContext = new RequestContext();
+ HashMap<String, String> userParams = new HashMap<String, String>();
+ userParams.put("key1", "value2");
+ requestContext.setMsoRequestId("requestId");
+ requestContext.setUserParams(userParams);
+ requestContext.setProductFamilyId("productFamilyId");
+
+ GenericVnf vnf = new GenericVnf();
+ vnf.setVnfId("vnfId");
+ vnf.setVnfType("vnfType");
+ vnf.setVnfName("vnfName");
+ ModelInfoGenericVnf modelInfoGenericVnf = new ModelInfoGenericVnf();
+ modelInfoGenericVnf.setModelInvariantUuid("vnfModelInvariantUuid");
+ modelInfoGenericVnf.setModelName("vnfModelName");
+ modelInfoGenericVnf.setModelVersion("vnfModelVersion");
+ modelInfoGenericVnf.setModelUuid("vnfModelUuid");
+ modelInfoGenericVnf.setModelCustomizationUuid("vnfModelCustomizationUuid");
+ vnf.setModelInfoGenericVnf(modelInfoGenericVnf);
+
+ Integer vfModuleIndex = 1;
+ VfModule vfModule = new VfModule();
+ vfModule.setVfModuleId("vfModuleId");
+ vfModule.setVfModuleName("vfModuleName");
+ vfModule.setModuleIndex(vfModuleIndex);
+ ModelInfoVfModule modelInfoVfModule = new ModelInfoVfModule();
+ modelInfoVfModule.setModelInvariantUUID("vfModuleModelInvariantUuid");
+ modelInfoVfModule.setModelName("vfModuleModelName");
+ modelInfoVfModule.setModelVersion("vfModuleModelVersion");
+ modelInfoVfModule.setModelUUID("vfModuleModelUuid");
+ modelInfoVfModule.setModelCustomizationUUID("vfModuleModelCustomizationUuid");
+ vfModule.setModelInfoVfModule(modelInfoVfModule);
+ HashMap<String, String> cloudParams = new HashMap<String, String>();
+ cloudParams.put("key3", "value3");
+ vfModule.setCloudParams(cloudParams);
+
+ CloudRegion cloudRegion = new CloudRegion();
+ cloudRegion.setLcpCloudRegionId("cloudRegionId");
+ cloudRegion.setTenantId("tenantId");
+
+ OrchestrationContext orchestrationContext = new OrchestrationContext();
+ orchestrationContext.setIsRollbackEnabled(true);
+
+ String sdncVnfQueryResponse = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "genericResourceApiVfModuleSdncVnfTopology.json")));
+ String sdncVfModuleQueryResponse = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "genericResourceApiVfModuleSdncVfModuleTopology.json")));
+
+ CreateVfModuleRequest vfModuleVNFAdapterRequest = vfModuleObjectMapper.createVfModuleRequestMapper(
+ requestContext, cloudRegion, orchestrationContext, serviceInstance,
+ vnf, vfModule, null, sdncVnfQueryResponse, sdncVfModuleQueryResponse);
+
+
+ String jsonToCompare = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "vnfAdapterCreateVfModuleRequestTrueBackout.json")));
+
+ CreateVfModuleRequest reqMapper1 = omapper.readValue(
+ jsonToCompare,
+ CreateVfModuleRequest.class);
+
+ assertThat(vfModuleVNFAdapterRequest, sameBeanAs(reqMapper1).ignoring("messageId").ignoring("notificationUrl"));
+ }
+
+ @Test
public void createVfModuleRequestWithNoEnvironmentAndWorkloadContextMapperTest() throws Exception {
// prepare and set service instance
diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/orchestration/AAINetworkResourcesTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/orchestration/AAINetworkResourcesTest.java
index fa3324840c..cf270c21a7 100644
--- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/orchestration/AAINetworkResourcesTest.java
+++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/orchestration/AAINetworkResourcesTest.java
@@ -55,6 +55,7 @@ import org.onap.so.bpmn.servicedecomposition.bbobjects.Collection;
import org.onap.so.bpmn.servicedecomposition.bbobjects.InstanceGroup;
import org.onap.so.bpmn.servicedecomposition.bbobjects.L3Network;
import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
+import org.onap.so.bpmn.servicedecomposition.bbobjects.Subnet;
import org.onap.so.client.aai.AAIObjectType;
import org.onap.so.client.aai.AAIResourcesClient;
import org.onap.so.client.aai.entities.AAIResultWrapper;
@@ -74,6 +75,7 @@ public class AAINetworkResourcesTest extends TestDataSetup{
private InstanceGroup instanceGroup;
private ServiceInstance serviceInstance;
private CloudRegion cloudRegion;
+ private Subnet subnet;
@Mock
protected AAIResourcesClient MOCK_aaiResourcesClient;
@@ -101,6 +103,9 @@ public class AAINetworkResourcesTest extends TestDataSetup{
serviceInstance = buildServiceInstance();
cloudRegion = buildCloudRegion();
+
+ subnet = buildSubnet();
+
doReturn(MOCK_aaiResourcesClient).when(MOCK_injectionHelper).getAaiClient();
}
@@ -314,4 +319,15 @@ public class AAINetworkResourcesTest extends TestDataSetup{
aaiNetworkResources.deleteNetworkInstanceGroup(instanceGroup);
verify(MOCK_aaiResourcesClient, times(1)).delete(any(AAIResourceUri.class));
}
+
+ @Test
+ public void updateSubnetTest() throws Exception {
+
+ doReturn(new org.onap.aai.domain.yang.Subnet()).when(MOCK_aaiObjectMapper).mapSubnet(subnet);
+ doNothing().when(MOCK_aaiResourcesClient).update(isA(AAIResourceUri.class), isA(org.onap.aai.domain.yang.Subnet.class));
+
+ aaiNetworkResources.updateSubnet(network, subnet);
+
+ verify(MOCK_aaiResourcesClient, times(1)).update(any(AAIResourceUri.class), isA(org.onap.aai.domain.yang.Subnet.class));
+ }
}
diff --git a/bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/NetworkMapper/createNetworkRequest.json b/bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/NetworkMapper/createNetworkRequest.json
index 087f8a3971..a9cef565df 100644
--- a/bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/NetworkMapper/createNetworkRequest.json
+++ b/bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/NetworkMapper/createNetworkRequest.json
@@ -5,7 +5,7 @@
"networkName": "APP-C-24595-T-IST-04AShared_data_vDB_net_1",
"networkType": "CONTRAIL30_BASIC",
"modelCustomizationUuid": "8edf06ef-fd40-42cf-a054-0fc09108d3f0",
- "networkTechnology": "NEUTRON",
+ "networkTechnology": "CONTRAIL",
"subnets": [
{
"subnetName": "APP-C-24595-T-IST-04AShared_data_vDB_net_1_subnet_1",
@@ -35,7 +35,7 @@
"requestId": "6cfde724-76c7-4747-bcb3-67a59a46ca95",
"serviceInstanceId": "testServiceInstanceId1"
},
- "contrailRequest": false,
+ "contrailRequest": true,
"skipAAI": true,
"messageId": "175264dc-fb6b-4aae-ba42-8c77a63fec12",
"synchronous": true
diff --git a/bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/VnfAndVfModuleMapper/vnfAdapterCreateVfModuleRequestTrueBackout.json b/bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/VnfAndVfModuleMapper/vnfAdapterCreateVfModuleRequestTrueBackout.json
new file mode 100644
index 0000000000..bd06f5f86f
--- /dev/null
+++ b/bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/VnfAndVfModuleMapper/vnfAdapterCreateVfModuleRequestTrueBackout.json
@@ -0,0 +1,68 @@
+{
+ "cloudSiteId": "cloudRegionId",
+ "tenantId": "tenantId",
+ "vnfId": "vnfId",
+ "vnfType": "vnfType",
+ "vfModuleId": "vfModuleId",
+ "vfModuleName": "vfModuleName",
+ "vfModuleType": "vfModuleModelName",
+ "vnfVersion": "serviceModelVersion",
+ "modelCustomizationUuid": "vfModuleModelCustomizationUuid",
+ "skipAAI": true,
+ "backout": true,
+ "failIfExists": true,
+ "msoRequest":
+ {
+ "requestId": "requestId",
+ "serviceInstanceId": "serviceInstanceId"
+ },
+
+ "vfModuleParams":
+ {
+ "vnf_id": "vnfId",
+ "vnf_name": "vnfName",
+ "vf_module_id": "vfModuleId",
+ "vf_module_index": "1",
+ "vf_module_name": "vfModuleName",
+ "environment_context": "environmentContext",
+ "fw_0_subint_ctrl_port_0_ip": "ip0,ip1",
+ "fw_0_subint_ctrl_port_0_ip_0": "ip0",
+ "fw_0_subint_ctrl_port_0_ip_1": "ip1",
+ "fw_0_subint_ctrl_port_0_net_ids": "networkId0",
+ "fw_0_subint_ctrl_port_0_net_names": "1",
+ "fw_subint_ctrl_port_0_subintcount": "1",
+ "fw_0_subint_ctrl_port_0_v6_ip": "ip0,ip1",
+ "fw_0_subint_ctrl_port_0_v6_ip_0": "ip0",
+ "fw_0_subint_ctrl_port_0_v6_ip_1": "ip1",
+ "fw_0_subint_ctrl_port_0_vlan_ids": "1",
+ "fw_subint_ctrl_port_0_floating_ip": "floatingIpV40",
+ "fw_subint_ctrl_port_0_floating_v6_ip": "floatingIpV60",
+ "workload_context": "workloadContext",
+ "key1": "value2",
+ "key3": "value3",
+ "availability_zone_0": "zone0",
+ "availability_zone_1": "zone1",
+ "availability_zone_2": "zone2",
+ "vnfNetworkRole0_net_fqdn": "netFqdnValue0",
+ "vnfNetworkRole0_net_id": "neutronId0",
+ "vnfNetworkRole0_net_name": "netName0",
+ "vnfNetworkRole0_subnet_id": "subnetId0",
+ "vnfNetworkRole0_v6_subnet_id": "subnetId1",
+ "vmType0_name_0": "vmName0",
+ "vmType0_name_1": "vmName1",
+ "vmType0_names": "vmName0,vmName1",
+ "vmType0_vmNetworkRole0_floating_ip": "floatingIpV40",
+ "vmType0_vmNetworkRole0_floating_v6_ip": "floatingIpV60",
+ "vmType0_vmNetworkRole0_route_prefixes": "[{\"interface_route_table_routes_route_prefix\": \"interfaceRoutePrefix0\"},{\"interface_route_table_routes_route_prefix\": \"interfaceRoutePrefix1\"}]",
+ "vmNetworkRole0_ATT_VF_VLAN_FILTER": "heatVlanFilter0,heatVlanFilter1",
+ "vmType0_vmNetworkRole0_ip_0": "ip0",
+ "vmType0_vmNetworkRole0_ip_1": "ip1",
+ "vmType0_vmNetworkRole0_ips": "ip0,ip1",
+ "vmType0_vmNetworkRole0_v6_ip_0": "ip2",
+ "vmType0_vmNetworkRole0_v6_ip_1": "ip3",
+ "vmType0_vmNetworkRole0_v6_ips": "ip2,ip3",
+ "paramOne": "paramOneValue",
+ "paramTwo": "paramTwoValue",
+ "paramThree": "paramThreeValue"
+ }
+}