aboutsummaryrefslogtreecommitdiffstats
path: root/bpmn/so-bpmn-tasks/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'bpmn/so-bpmn-tasks/src/test')
-rw-r--r--bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/appc/tasks/AppcOrchestratorPreProcessorTest.java166
-rw-r--r--bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasksTest.java107
-rw-r--r--bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/VnfAndVfModuleMapper/vnfAdapterDeleteVfModuleRequest.json7
-rw-r--r--bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/appcTaskRequest.json12
4 files changed, 288 insertions, 4 deletions
diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/appc/tasks/AppcOrchestratorPreProcessorTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/appc/tasks/AppcOrchestratorPreProcessorTest.java
new file mode 100644
index 0000000000..c78b652bd0
--- /dev/null
+++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/appc/tasks/AppcOrchestratorPreProcessorTest.java
@@ -0,0 +1,166 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2018 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Modifications Copyright (c) 2019 Samsung
+ * ================================================================================
+ * 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 com.shazam.shazamcrest.MatcherAssert.assertThat;
+import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.junit.Assert.assertEquals;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.when;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+import java.util.ArrayList;
+import java.util.Optional;
+import org.junit.Test;
+import org.mockito.ArgumentMatchers;
+import org.mockito.InjectMocks;
+import org.onap.aai.domain.yang.Vserver;
+import org.onap.appc.client.lcm.model.Action;
+import org.onap.so.appc.orchestrator.service.beans.ApplicationControllerTaskRequest;
+import org.onap.so.appc.orchestrator.service.beans.ApplicationControllerVnf;
+import org.onap.so.bpmn.BaseTaskTest;
+import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf;
+import org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule;
+import org.onap.so.bpmn.servicedecomposition.entities.ResourceKey;
+import org.onap.so.bpmn.servicedecomposition.generalobjects.RequestContext;
+import org.onap.so.client.aai.entities.AAIResultWrapper;
+import org.onap.so.client.aai.entities.uri.AAIResourceUri;
+import org.onap.so.client.policy.JettisonStyleMapperProvider;
+import org.onap.so.db.catalog.beans.ControllerSelectionReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+public class AppcOrchestratorPreProcessorTest extends BaseTaskTest {
+
+ private final static String JSON_FILE_LOCATION = "src/test/resources/__files/BuildingBlocks/";
+
+ @InjectMocks
+ private AppcOrchestratorPreProcessor appcOrchestratorPreProcessor = new AppcOrchestratorPreProcessor();
+
+ private ObjectMapper mapper = new JettisonStyleMapperProvider().getMapper();
+
+ @Test
+ public void buildAppcTaskRequestTest() throws Exception {
+ final String expectedRequestJson =
+ new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "appcTaskRequest.json")));
+ ApplicationControllerTaskRequest expectedTaskRequest =
+ mapper.readValue(expectedRequestJson, ApplicationControllerTaskRequest.class);
+ execution.getLookupMap().put(ResourceKey.GENERIC_VNF_ID, "-TEST");
+ fillRequiredAppcExecutionFields();
+ GenericVnf genericVnf = getTestGenericVnf();
+ when(extractPojosForBB.extractByKey(eq(execution), eq(ResourceKey.GENERIC_VNF_ID))).thenReturn(genericVnf);
+ mockReferenceResponse();
+ execution.getLookupMap().put(ResourceKey.VF_MODULE_ID, "VF-MODULE-ID-TEST");
+ VfModule vfModule = new VfModule();
+ vfModule.setVfModuleId("VF-MODULE-ID");
+ when(extractPojosForBB.extractByKey(eq(execution), eq(ResourceKey.VF_MODULE_ID))).thenReturn(vfModule);
+ appcOrchestratorPreProcessor.buildAppcTaskRequest(execution, "Lock");
+ ApplicationControllerTaskRequest actualTaskRequest = execution.getVariable("appcOrchestratorRequest");
+ assertThat(actualTaskRequest, sameBeanAs(expectedTaskRequest));
+ }
+
+ @Test
+ public void getVserversForAppcTest() throws Exception {
+
+ GenericVnf genericVnf = getTestGenericVnf();
+
+ final String aaiVnfJson =
+ new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "aaiGenericVnfWithVservers.json")));
+ final String aaiVserverJson =
+ new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "aaiVserverQueryResponse.json")));
+ AAIResultWrapper aaiResultWrapper = new AAIResultWrapper(aaiVnfJson);
+ ObjectMapper mapper = new ObjectMapper();
+ Vserver vserver = mapper.readValue(aaiVserverJson, Vserver.class);
+ doReturn(aaiResultWrapper).when(aaiVnfResources).queryVnfWrapperById(genericVnf);
+ doReturn(Optional.of(vserver)).when(aaiVnfResources).getVserver(ArgumentMatchers.any(AAIResourceUri.class));
+ appcOrchestratorPreProcessor.getVserversForAppc(execution, genericVnf);
+ ArrayList<String> vserverIdList = execution.getVariable("vserverIdList");
+ ArrayList<String> expectedVserverIdList = new ArrayList<String>();
+ expectedVserverIdList.add("1b3f44e5-d96d-4aac-bd9a-310e8cfb0af5");
+ expectedVserverIdList.add("14551849-1e70-45cd-bc5d-a256d49548a2");
+ expectedVserverIdList.add("48bd7f11-408f-417c-b834-b41c1b98f7d7");
+ ArrayList<String> vmIdList = execution.getVariable("vmIdList");
+ ArrayList<String> expectedVmIdList = new ArrayList<String>();
+ expectedVmIdList.add("http://VSERVER-link.com");
+ expectedVmIdList.add("http://VSERVER-link.com");
+ expectedVmIdList.add("http://VSERVER-link.com");
+ assertEquals(vserverIdList, expectedVserverIdList);
+ assertEquals(vmIdList, expectedVmIdList);
+ }
+
+ @Test
+ public void addVmInfoToAppcTaskRequestTest() throws Exception {
+ ApplicationControllerTaskRequest appcTaskRequest = new ApplicationControllerTaskRequest();
+ ApplicationControllerVnf applicationControllerVnf = new ApplicationControllerVnf();
+ appcTaskRequest.setApplicationControllerVnf(applicationControllerVnf);
+ execution.setVariable("appcOrchestratorRequest", appcTaskRequest);
+ ArrayList<String> vmIdList = new ArrayList<String>();
+ vmIdList.add("http://VSERVER-link.com");
+ vmIdList.add("http://VSERVER-link.com");
+ vmIdList.add("http://VSERVER-link.com");
+ execution.setVariable("vmIdList", vmIdList);
+ ArrayList<String> vserverIdList = new ArrayList<String>();
+ vserverIdList.add("1b3f44e5-d96d-4aac-bd9a-310e8cfb0af5");
+ vserverIdList.add("14551849-1e70-45cd-bc5d-a256d49548a2");
+ vserverIdList.add("48bd7f11-408f-417c-b834-b41c1b98f7d7");
+ execution.setVariable("vserverIdList", vserverIdList);
+ execution.setVariable("vmIndex", 1);
+ appcOrchestratorPreProcessor.addVmInfoToAppcTaskRequest(execution);
+ Integer nextVmIndex = execution.getVariable("vmIndex");
+ assertThat(nextVmIndex == 2);
+ Integer vmIdListSize = execution.getVariable("vmIdListSize");
+ assertThat(vmIdListSize == 3);
+ appcTaskRequest = execution.getVariable("appcOrchestratorRequest");
+ assertEquals(appcTaskRequest.getApplicationControllerVnf().getApplicationControllerVm().getVserverId(),
+ "14551849-1e70-45cd-bc5d-a256d49548a2");
+ assertEquals(appcTaskRequest.getApplicationControllerVnf().getApplicationControllerVm().getVmId(),
+ "http://VSERVER-link.com");
+ }
+
+ private void mockReferenceResponse() {
+ ControllerSelectionReference reference = new ControllerSelectionReference();
+ reference.setControllerName("TEST-CONTROLLER-NAME");
+ when(catalogDbClient.getControllerSelectionReferenceByVnfTypeAndActionCategory(eq("TEST-VNF-TYPE"),
+ eq(Action.Lock.toString()))).thenReturn(reference);
+ }
+
+ private void fillRequiredAppcExecutionFields() {
+ RequestContext context = new RequestContext();
+ context.setMsoRequestId("TEST-MSO-ID");
+ execution.setVariable("aicIdentity", "AIC-TEST");
+ execution.setVariable("vmIdList", "VM-ID-LIST-TEST");
+ execution.setVariable("vserverIdList", "VSERVER-ID-LIST");
+ execution.setVariable("identityUrl", "IDENTITY-URL-TEST");
+ execution.getGeneralBuildingBlock().setRequestContext(context);
+ }
+
+ private GenericVnf getTestGenericVnf() {
+ GenericVnf genericVnf = new GenericVnf();
+ genericVnf.setVnfId("TEST-VNF-ID");
+ genericVnf.setVnfType("TEST-VNF-TYPE");
+ genericVnf.setVnfName("TEST-VNF-NAME");
+ genericVnf.setIpv4OamAddress("127.0.0.1");
+ return genericVnf;
+ }
+}
diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasksTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasksTest.java
index ac7d82cd51..4991fa59ee 100644
--- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasksTest.java
+++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasksTest.java
@@ -21,14 +21,18 @@
package org.onap.so.bpmn.infrastructure.workflow.tasks;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertThat;
+import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs;
import static org.mockito.ArgumentMatchers.anyObject;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.ArgumentMatchers.isA;
import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.when;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
+import java.util.Optional;
import org.camunda.bpm.engine.delegate.BpmnError;
import org.camunda.bpm.engine.delegate.DelegateExecution;
import org.camunda.bpm.extension.mockito.delegate.DelegateExecutionFake;
@@ -40,17 +44,25 @@ import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.Spy;
+import org.onap.aai.domain.yang.Configuration;
import org.onap.aai.domain.yang.GenericVnf;
+import org.onap.aai.domain.yang.InstanceGroup;
+import org.onap.aai.domain.yang.L3Network;
+import org.onap.aai.domain.yang.ServiceInstance;
+import org.onap.aai.domain.yang.VfModule;
+import org.onap.aai.domain.yang.VolumeGroup;
import org.onap.so.bpmn.BaseTaskTest;
import org.onap.so.bpmn.common.listener.flowmanipulator.FlowManipulatorListenerRunner;
import org.onap.so.bpmn.core.WorkflowException;
import org.onap.so.bpmn.servicedecomposition.entities.BuildingBlock;
import org.onap.so.bpmn.servicedecomposition.entities.ExecuteBuildingBlock;
-import org.onap.so.bpmn.servicedecomposition.entities.WorkflowResourceIds;
import org.onap.so.db.catalog.beans.VnfResourceCustomization;
import org.onap.so.db.request.beans.InfraActiveRequests;
+import org.onap.so.serviceinstancebeans.CloudConfiguration;
import org.onap.so.serviceinstancebeans.ModelInfo;
+import org.onap.so.serviceinstancebeans.ModelType;
import org.onap.so.serviceinstancebeans.RequestDetails;
+import org.onap.so.serviceinstancebeans.RequestInfo;
import org.springframework.core.env.Environment;
public class WorkflowActionBBTasksTest extends BaseTaskTest {
@@ -479,5 +491,98 @@ public class WorkflowActionBBTasksTest extends BaseTaskTest {
assertEquals(workflowActionBBTasks.getConfigurationId(vnfc), "configurationId");
}
+ @Test
+ public void setServiceInstanceNameTest() {
+ String resourceId = "40bc4ebd-11df-4610-8055-059f7441ec1c";
+ WorkflowType resourceType = WorkflowType.SERVICE;
+ InfraActiveRequests request = new InfraActiveRequests();
+ ServiceInstance service = new ServiceInstance();
+ service.setServiceInstanceName("serviceInstanceName");
+ doReturn(service).when(bbSetupUtils).getAAIServiceInstanceById(resourceId);
+
+ workflowActionBBTasks.setInstanceName(resourceId, resourceType, request);
+ assertEquals("serviceInstanceName", request.getServiceInstanceName());
+ }
+
+ @Test
+ public void setVnfNameTest() {
+ String resourceId = "40bc4ebd-11df-4610-8055-059f7441ec1c";
+ WorkflowType resourceType = WorkflowType.VNF;
+ InfraActiveRequests request = new InfraActiveRequests();
+ GenericVnf vnf = new GenericVnf();
+ vnf.setVnfName("vnfName");
+ doReturn(vnf).when(bbSetupUtils).getAAIGenericVnf(resourceId);
+
+ workflowActionBBTasks.setInstanceName(resourceId, resourceType, request);
+ assertEquals("vnfName", request.getVnfName());
+ }
+ @Test
+ public void setVfModuleNameTest() {
+ String resourceId = "40bc4ebd-11df-4610-8055-059f7441ec1c";
+ WorkflowType resourceType = WorkflowType.VFMODULE;
+ InfraActiveRequests request = new InfraActiveRequests();
+ request.setVnfId("ae5cc3e8-c13c-4d88-aaf6-694ab4977b0e");
+ VfModule vfModule = new VfModule();
+ vfModule.setVfModuleName("vfModuleName");
+ doReturn(vfModule).when(bbSetupUtils).getAAIVfModule("ae5cc3e8-c13c-4d88-aaf6-694ab4977b0e", resourceId);
+
+ workflowActionBBTasks.setInstanceName(resourceId, resourceType, request);
+ assertEquals("vfModuleName", request.getVfModuleName());
+ }
+
+ @Test
+ public void setNetworkNameTest() {
+ String resourceId = "40bc4ebd-11df-4610-8055-059f7441ec1c";
+ WorkflowType resourceType = WorkflowType.NETWORK;
+ InfraActiveRequests request = new InfraActiveRequests();
+ L3Network network = new L3Network();
+ network.setNetworkName("networkName");
+ doReturn(network).when(bbSetupUtils).getAAIL3Network(resourceId);
+
+ workflowActionBBTasks.setInstanceName(resourceId, resourceType, request);
+ assertEquals("networkName", request.getNetworkName());
+ }
+
+ @Test
+ public void setConfigurationNameTest() {
+ String resourceId = "40bc4ebd-11df-4610-8055-059f7441ec1c";
+ WorkflowType resourceType = WorkflowType.CONFIGURATION;
+ InfraActiveRequests request = new InfraActiveRequests();
+ Configuration configuration = new Configuration();
+ configuration.setConfigurationName("configurationName");
+ doReturn(configuration).when(bbSetupUtils).getAAIConfiguration(resourceId);
+
+ workflowActionBBTasks.setInstanceName(resourceId, resourceType, request);
+ assertEquals("configurationName", request.getConfigurationName());
+ }
+
+ @Test
+ public void setInstanceGroupNameTest() {
+ String resourceId = "40bc4ebd-11df-4610-8055-059f7441ec1c";
+ WorkflowType resourceType = WorkflowType.INSTANCE_GROUP;
+ InfraActiveRequests request = new InfraActiveRequests();
+ InstanceGroup instanceGroup = new InstanceGroup();
+ instanceGroup.setInstanceGroupName("instanceGroupName");
+ doReturn(instanceGroup).when(bbSetupUtils).getAAIInstanceGroup(resourceId);
+
+ workflowActionBBTasks.setInstanceName(resourceId, resourceType, request);
+ assertEquals("instanceGroupName", request.getInstanceGroupName());
+ }
+
+ @Test
+ public void setVolumeGroupNameTest() {
+ String resourceId = "40bc4ebd-11df-4610-8055-059f7441ec1c";
+ WorkflowType resourceType = WorkflowType.VOLUMEGROUP;
+ InfraActiveRequests request = new InfraActiveRequests();
+ request.setVnfId("4aa72c90-21eb-4465-8847-997e27af6c3e");
+ VolumeGroup volumeGroup = new VolumeGroup();
+ volumeGroup.setVolumeGroupName("volumeGroupName");
+ Optional<VolumeGroup> returnVolumeGroup = Optional.of(volumeGroup);
+
+ doReturn(returnVolumeGroup).when(bbSetupUtils).getRelatedVolumeGroupByIdFromVnf(request.getVnfId(), resourceId);
+ workflowActionBBTasks.setInstanceName(resourceId, resourceType, request);
+
+ assertEquals("volumeGroupName", request.getVolumeGroupName());
+ }
}
diff --git a/bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/VnfAndVfModuleMapper/vnfAdapterDeleteVfModuleRequest.json b/bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/VnfAndVfModuleMapper/vnfAdapterDeleteVfModuleRequest.json
index 1d2e7d090f..9a3922650f 100644
--- a/bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/VnfAndVfModuleMapper/vnfAdapterDeleteVfModuleRequest.json
+++ b/bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/VnfAndVfModuleMapper/vnfAdapterDeleteVfModuleRequest.json
@@ -1,12 +1,13 @@
-{
+{
"cloudSiteId" : "cloudRegionId",
- "tenantId" : "tenantId",
+ "tenantId" : "tenantId",
"vnfId" : "vnfId",
"vfModuleId" : "vfModuleId",
"vfModuleStackId" : "vfModuleName",
"skipAAI" : true,
+ "modelCustomizationUuid": "vfModuleModelCustomizationUuid",
"msoRequest" : {
"requestId" : "requestId",
- "serviceInstanceId" : "serviceInstanceId"
+ "serviceInstanceId" : "serviceInstanceId"
}
} \ No newline at end of file
diff --git a/bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/appcTaskRequest.json b/bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/appcTaskRequest.json
new file mode 100644
index 0000000000..957c603dc9
--- /dev/null
+++ b/bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/appcTaskRequest.json
@@ -0,0 +1,12 @@
+{
+ "ApplicationControllerTaskRequest": {
+ "controllerType": "TEST-CONTROLLER-NAME",
+ "action": "Lock",
+ "identityUrl": "IDENTITY-URL-TEST",
+ "applicationControllerVnf": {
+ "vnfId": "TEST-VNF-ID",
+ "vnfName": "TEST-VNF-NAME",
+ "vnfHostIpAddress": "127.0.0.1"
+ }
+ }
+} \ No newline at end of file