aboutsummaryrefslogtreecommitdiffstats
path: root/bpmn/so-bpmn-infrastructure-common/src/test
diff options
context:
space:
mode:
authorRob Daugherty <rd472p@att.com>2018-11-15 15:09:30 -0500
committerRob Daugherty <rd472p@att.com>2018-11-15 15:20:04 -0500
commitf891e734e3bc0d4b367f893e57b7efb5079d133c (patch)
treedaac233c527cad9d04362bc34b10f5acca0b012c /bpmn/so-bpmn-infrastructure-common/src/test
parent1c47acb0e6f8b9624fd8e71ed09491f57dd1a3e0 (diff)
Accept vCPE vfModuleNames in NB API
This affects the vCPE custom flow. You can specify zero or more VF Module names (correlated with the model invariant UUID) in the user parameters, like this: "userParams": [ . . . { "name": "VfModuleNames", "value": [ { "VfModuleModelInvariantUuId": "5366deab-be06-44c7-b4f7-77e657b78b25", "VfModuleName": "VGW:e2:25:25:25:%" } ] } ] Change-Id: I673c04775bf5796079dc0ed19890e73e76820ac0 Issue-ID: SO-1213 Signed-off-by: Rob Daugherty <rd472p@att.com>
Diffstat (limited to 'bpmn/so-bpmn-infrastructure-common/src/test')
-rw-r--r--bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateVnfAndModulesTest.groovy452
-rw-r--r--bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/vcpe/scripts/CreateVcpeResCustServiceTest.groovy12
-rw-r--r--bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/VCPE/CreateVcpeResCustService/request.json33
3 files changed, 487 insertions, 10 deletions
diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateVnfAndModulesTest.groovy b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateVnfAndModulesTest.groovy
new file mode 100644
index 0000000000..47db6b3b7b
--- /dev/null
+++ b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateVnfAndModulesTest.groovy
@@ -0,0 +1,452 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 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.scripts
+
+import com.github.tomakehurst.wiremock.junit.WireMockRule
+import org.camunda.bpm.engine.ProcessEngineServices
+import org.camunda.bpm.engine.RepositoryService
+import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity
+import org.camunda.bpm.engine.repository.ProcessDefinition
+import org.junit.Assert
+import org.junit.Before
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.ArgumentCaptor
+import org.mockito.Captor
+import org.mockito.Mockito
+import org.mockito.MockitoAnnotations
+import org.mockito.runners.MockitoJUnitRunner
+import org.onap.so.bpmn.core.WorkflowException
+import org.onap.so.bpmn.core.domain.AllottedResource
+import org.onap.so.bpmn.core.domain.HomingSolution
+import org.onap.so.bpmn.core.domain.InventoryType
+import org.onap.so.bpmn.core.domain.License
+import org.onap.so.bpmn.core.domain.ModelInfo
+import org.onap.so.bpmn.core.domain.ModuleResource
+import org.onap.so.bpmn.core.domain.NetworkResource
+import org.onap.so.bpmn.core.domain.ResourceInstance
+import org.onap.so.bpmn.core.domain.ResourceType
+import org.onap.so.bpmn.core.domain.ServiceDecomposition
+import org.onap.so.bpmn.core.domain.ServiceInstance
+import org.onap.so.bpmn.core.domain.VnfResource
+
+import static org.mockito.Mockito.*
+
+@RunWith(MockitoJUnitRunner.class)
+class DoCreateVnfAndModulesTest {
+
+ @Rule
+ public WireMockRule wireMockRule = new WireMockRule(28090)
+
+ @Captor
+ static ArgumentCaptor<ExecutionEntity> captor = ArgumentCaptor.forClass(ExecutionEntity.class)
+
+ @Before
+ void init() throws IOException {
+ MockitoAnnotations.initMocks(this);
+ }
+
+ @Test
+ void testPreProcessRequest() {
+ ExecutionEntity mockExecution = setupMock()
+ setupBasicProcessInputs(mockExecution)
+
+ ServiceDecomposition serviceDecomposition = createServiceDecomposition()
+ when(mockExecution.getVariable("serviceDecomposition")).thenReturn(serviceDecomposition)
+
+ Map<String,String> vfModuleNames = new HashMap<String,String>()
+ vfModuleNames.put("3ec98c7a-ac20-49a1-9e0d-09fea7e8db45", "VGWA:e2:25:25:25:%")
+ vfModuleNames.put("cc250e7e-746b-4d84-8064-df20c74213a6", "VGWB:f9:32:32:32:%")
+ when(mockExecution.getVariable("vfModuleNames")).thenReturn(vfModuleNames)
+
+ DoCreateVnfAndModules obj = new DoCreateVnfAndModules()
+ obj.preProcessRequest(mockExecution)
+
+ Mockito.verify(mockExecution, times(11)).setVariable(captor.capture(), captor.capture())
+
+ List list = captor.getAllValues()
+ for (int i = 0; i < list.size(); i+=2) {
+ System.out.println("captor[" + i/2 + "]: " + list.get(i)
+ + (i+1 < list.size() ? ("=" + list.get(i+1)) : ""))
+ }
+
+ String someKey = list.get(18)
+ Assert.assertEquals("numOfCreatedAddOnModules", someKey)
+ Integer someValue = list.get(19)
+ Assert.assertEquals(0, someValue)
+
+ String lastKey = list.get(20)
+ Assert.assertEquals("rollbackData", lastKey)
+ }
+
+ @Test
+ void testQueryCatalogDB() {
+ ExecutionEntity mockExecution = setupMock()
+ setupBasicProcessInputs(mockExecution)
+
+ ServiceDecomposition serviceDecomposition = createServiceDecomposition()
+ when(mockExecution.getVariable("serviceDecomposition")).thenReturn(serviceDecomposition)
+
+ DoCreateVnfAndModules obj = new DoCreateVnfAndModules()
+ obj.queryCatalogDB(mockExecution)
+
+ Mockito.verify(mockExecution, times(11)).setVariable(captor.capture(), captor.capture())
+
+ List list = captor.getAllValues()
+ for (int i = 0; i < list.size(); i+=2) {
+ System.out.println("captor[" + i/2 + "]: " + list.get(i)
+ + (i+1 < list.size() ? ("=" + list.get(i+1)) : ""))
+ }
+
+ String vfModuleNameKey = list.get(12)
+ Assert.assertEquals("baseVfModuleName", vfModuleNameKey)
+ String vfModuleNameValue = list.get(13)
+ Assert.assertEquals(null, vfModuleNameValue)
+
+ String lastKey = list.get(20)
+ Assert.assertEquals("baseVfModuleId", lastKey)
+ }
+
+ @Test
+ void testQueryCatalogDBWithVfModuleNames() {
+ ExecutionEntity mockExecution = setupMock()
+ setupBasicProcessInputs(mockExecution)
+
+ ServiceDecomposition serviceDecomposition = createServiceDecomposition()
+ when(mockExecution.getVariable("serviceDecomposition")).thenReturn(serviceDecomposition)
+
+ Map<String,String> vfModuleNames = new HashMap<String,String>()
+ vfModuleNames.put("3ec98c7a-ac20-49a1-9e0d-09fea7e8db45", "VGWA:e2:25:25:25:%")
+ vfModuleNames.put("cc250e7e-746b-4d84-8064-df20c74213a6", "VGWB:f9:32:32:32:%")
+ when(mockExecution.getVariable("vfModuleNames")).thenReturn(vfModuleNames)
+
+ DoCreateVnfAndModules obj = new DoCreateVnfAndModules()
+ obj.queryCatalogDB(mockExecution)
+
+ Mockito.verify(mockExecution, times(11)).setVariable(captor.capture(), captor.capture())
+
+ List list = captor.getAllValues()
+ for (int i = 0; i < list.size(); i+=2) {
+ System.out.println("captor[" + i/2 + "]: " + list.get(i)
+ + (i+1 < list.size() ? ("=" + list.get(i+1)) : ""))
+ }
+
+ String vfModuleNameKey = list.get(12)
+ Assert.assertEquals("baseVfModuleName", vfModuleNameKey)
+ String vfModuleNameValue = list.get(13)
+ Assert.assertEquals("VGWA:e2:25:25:25:%", vfModuleNameValue)
+
+ String lastKey = list.get(20)
+ Assert.assertEquals("baseVfModuleId", lastKey)
+ }
+
+ @Test
+ void testPreProcessAddonModule() {
+ ExecutionEntity mockExecution = setupMock()
+ setupBasicProcessInputs(mockExecution)
+
+ ServiceDecomposition serviceDecomposition = createServiceDecomposition()
+ when(mockExecution.getVariable("serviceDecomposition")).thenReturn(serviceDecomposition)
+
+ VnfResource vnf = serviceDecomposition.getVnfResources().get(0);
+ List<ModuleResource> vfModules = vnf.getAllVfModuleObjects()
+
+ for (int i = vfModules.size()-1; i >= 0; i--) {
+ if (vfModules.get(i).getIsBase()) {
+ vfModules.remove(i);
+ }
+ }
+
+ when(mockExecution.getVariable("addOnModules")).thenReturn(vfModules)
+ when(mockExecution.getVariable("addOnModulesDeployed")).thenReturn(0)
+
+ DoCreateVnfAndModules obj = new DoCreateVnfAndModules()
+ obj.preProcessAddOnModule(mockExecution)
+
+ Mockito.verify(mockExecution, times(9)).setVariable(captor.capture(), captor.capture())
+
+ List list = captor.getAllValues()
+ for (int i = 0; i < list.size(); i+=2) {
+ System.out.println("captor[" + i/2 + "]: " + list.get(i)
+ + (i+1 < list.size() ? ("=" + list.get(i+1)) : ""))
+ }
+
+ String vfModuleNameKey = list.get(14)
+ Assert.assertEquals("addOnVfModuleName", vfModuleNameKey)
+ String vfModuleNameValue = list.get(15)
+ Assert.assertEquals(null, vfModuleNameValue)
+
+ String lastKey = list.get(16)
+ Assert.assertEquals("initialCount", lastKey)
+ }
+
+ @Test
+ void testPreProcessAddonModuleWithVfModuleNames() {
+ ExecutionEntity mockExecution = setupMock()
+ setupBasicProcessInputs(mockExecution)
+
+ ServiceDecomposition serviceDecomposition = createServiceDecomposition()
+ when(mockExecution.getVariable("serviceDecomposition")).thenReturn(serviceDecomposition)
+
+ Map<String,String> vfModuleNames = new HashMap<String,String>()
+ vfModuleNames.put("3ec98c7a-ac20-49a1-9e0d-09fea7e8db45", "VGWA:e2:25:25:25:%")
+ vfModuleNames.put("cc250e7e-746b-4d84-8064-df20c74213a6", "VGWB:f9:32:32:32:%")
+ when(mockExecution.getVariable("vfModuleNames")).thenReturn(vfModuleNames)
+
+ VnfResource vnf = serviceDecomposition.getVnfResources().get(0);
+ List<ModuleResource> vfModules = vnf.getAllVfModuleObjects()
+
+ for (int i = vfModules.size()-1; i >= 0; i--) {
+ if (vfModules.get(i).getIsBase()) {
+ vfModules.remove(i);
+ }
+ }
+
+ when(mockExecution.getVariable("addOnModules")).thenReturn(vfModules)
+ when(mockExecution.getVariable("addOnModulesDeployed")).thenReturn(0)
+
+ DoCreateVnfAndModules obj = new DoCreateVnfAndModules()
+ obj.preProcessAddOnModule(mockExecution)
+
+ Mockito.verify(mockExecution, times(9)).setVariable(captor.capture(), captor.capture())
+
+ List list = captor.getAllValues()
+ for (int i = 0; i < list.size(); i+=2) {
+ System.out.println("captor[" + i/2 + "]: " + list.get(i)
+ + (i+1 < list.size() ? ("=" + list.get(i+1)) : ""))
+ }
+
+ String vfModuleNameKey = list.get(14)
+ Assert.assertEquals("addOnVfModuleName", vfModuleNameKey)
+ String vfModuleNameValue = list.get(15)
+ Assert.assertEquals("VGWB:f9:32:32:32:%", vfModuleNameValue)
+
+ String lastKey = list.get(16)
+ Assert.assertEquals("initialCount", lastKey)
+ }
+
+ private static setupBasicProcessInputs(ExecutionEntity mockExecution) {
+ when(mockExecution.getVariable("prefix")).thenReturn("DCVAM_")
+ when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
+ when(mockExecution.getVariable("msoRequestId")).thenReturn("28a7f01e-a6aa-44fd-b25e-e06e14873cd7")
+ when(mockExecution.getVariable("serviceInstanceId")).thenReturn("7d34a7df-d6c3-4f1c-8710-576412134a5a")
+ when(mockExecution.getVariable("productFamilyId")).thenReturn("a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb")
+ when(mockExecution.getVariable("lcpCloudRegionId")).thenReturn("RegionOne")
+ when(mockExecution.getVariable("tenantId")).thenReturn("b8ad3842ab3642f7bf3fbe4e4d3b9f86")
+ when(mockExecution.getVariable("disableRollback")).thenReturn("true")
+ when(mockExecution.getVariable("delayMS")).thenReturn("0")
+
+ }
+
+ private static ExecutionEntity setupMock() {
+ ProcessDefinition mockProcessDefinition = mock(ProcessDefinition.class)
+ when(mockProcessDefinition.getKey()).thenReturn("DoCreateVnfAndModules")
+ RepositoryService mockRepositoryService = mock(RepositoryService.class)
+ when(mockRepositoryService.getProcessDefinition()).thenReturn(mockProcessDefinition)
+ when(mockRepositoryService.getProcessDefinition().getKey()).thenReturn("DoCreateVnfAndModules")
+ when(mockRepositoryService.getProcessDefinition().getId()).thenReturn("100")
+ ProcessEngineServices mockProcessEngineServices = mock(ProcessEngineServices.class)
+ when(mockProcessEngineServices.getRepositoryService()).thenReturn(mockRepositoryService)
+
+ ExecutionEntity mockExecution = mock(ExecutionEntity.class)
+ // Initialize prerequisite variables
+ when(mockExecution.getId()).thenReturn("100")
+ when(mockExecution.getProcessDefinitionId()).thenReturn("DoCreateVnfAndModules")
+ when(mockExecution.getProcessInstanceId()).thenReturn("DoCreateVnfAndModules")
+ when(mockExecution.getProcessEngineServices()).thenReturn(mockProcessEngineServices)
+ when(mockExecution.getProcessEngineServices().getRepositoryService().getProcessDefinition(mockExecution.getProcessDefinitionId())).thenReturn(mockProcessDefinition)
+
+ return mockExecution
+ }
+
+ public static ServiceDecomposition createServiceDecomposition() {
+ ServiceDecomposition serviceDecomposition = new ServiceDecomposition()
+
+ ServiceInstance serviceInstance = new ServiceInstance()
+ serviceInstance.setInstanceId("7d34a7df-d6c3-4f1c-8710-576412134a5a")
+ serviceDecomposition.setServiceInstance(serviceInstance)
+ serviceDecomposition.setServiceType("")
+ serviceDecomposition.setServiceRole("")
+
+ ModelInfo serviceModelInfo = new ModelInfo()
+ serviceDecomposition.setModelInfo(serviceModelInfo)
+ serviceModelInfo.setModelName("vcpesvc_rescust_1111")
+ serviceModelInfo.setModelUuid("1dffd5f9-bb29-4a47-8073-9b9b07f4943a")
+ serviceModelInfo.setModelVersion("1.0")
+ serviceModelInfo.setModelCustomizationUuid("")
+ serviceModelInfo.setModelCustomizationName("")
+ serviceModelInfo.setModelInstanceName("")
+ serviceModelInfo.setModelType("")
+
+ List<VnfResource> vnfResources = new ArrayList<VnfResource>()
+ serviceDecomposition.setVnfResources(vnfResources)
+
+ VnfResource vnfResource = new VnfResource()
+ vnfResources.add(vnfResource)
+ vnfResource.setResourceId("9504b6b3-d346-4387-952c-8f9b7570b055")
+ vnfResource.setResourceType(ResourceType.VNF)
+ ModelInfo vnfModelInfo = new ModelInfo()
+ vnfResource.setModelInfo(vnfModelInfo)
+ vnfModelInfo.setModelName("vcpevsp_vgw_1111")
+ vnfModelInfo.setModelUuid("289e96fd-a679-4286-a8a2-d76f930d650b")
+ vnfModelInfo.setModelInvariantUuid("0327af89-f836-4086-aadb-17d5c9bd8a83");
+ vnfModelInfo.setModelVersion("1.0");
+ vnfModelInfo.setModelCustomizationUuid("cf151beb-9510-44a1-a165-c783e673baa1");
+ vnfModelInfo.setModelCustomizationName("");
+ vnfModelInfo.setModelInstanceName("vcpevsp_vgw_1111 0")
+ vnfModelInfo.setModelType("")
+ vnfResource.setResourceInstance(new ResourceInstance())
+ vnfResource.setHomingSolution(new HomingSolution())
+ vnfResource.setToscaNodeType("org.openecomp.resource.vf.VcpevspVgw1111")
+ vnfResource.setMultiStageDesign("false")
+ vnfResource.setMultiStageDesign("false")
+
+ List<ModuleResource> moduleResources = new ArrayList<ModuleResource>()
+ vnfResource.setModules(moduleResources)
+
+ ModuleResource moduleResource = new ModuleResource()
+ moduleResources.add(moduleResource)
+ moduleResource.setResourceType(ResourceType.MODULE)
+ ModelInfo moduleModelInfo = new ModelInfo()
+ moduleResource.setModelInfo(moduleModelInfo);
+ moduleModelInfo.setModelName("VcpevspVgw1111..base_vcpe_vgw..module-0")
+ moduleModelInfo.setModelUuid("cf35b6b8-1f31-4efc-87a7-d53f840b8fdf")
+ moduleModelInfo.setModelInvariantUuid("3ec98c7a-ac20-49a1-9e0d-09fea7e8db45")
+ moduleModelInfo.setModelVersion("1")
+ moduleModelInfo.setModelCustomizationUuid("281085b3-4598-4c94-811d-58cc685763e7")
+ moduleModelInfo.setModelCustomizationName("")
+ moduleModelInfo.setModelInstanceName("")
+ moduleModelInfo.setModelType("")
+ moduleResource.setResourceInstance(new ResourceInstance())
+ moduleResource.setHomingSolution(new HomingSolution())
+ moduleResource.setHasVolumeGroup(false)
+ moduleResource.setIsBase(true)
+ moduleResource.setVfModuleLabel("base_vcpe_vgw")
+ moduleResource.setInitialCount(1)
+
+ // For testing an add-on module; not in the actual vCPE model
+ moduleResource = new ModuleResource()
+ moduleResources.add(moduleResource)
+ moduleResource.setResourceType(ResourceType.MODULE)
+ moduleModelInfo = new ModelInfo()
+ moduleResource.setModelInfo(moduleModelInfo);
+ moduleModelInfo.setModelName("VcpevspVgw1111..addon_vcpe_vgw..module-1")
+ moduleModelInfo.setModelUuid("8c8b41b2-8466-41b4-ae8d-5924830c40e8")
+ moduleModelInfo.setModelInvariantUuid("cc250e7e-746b-4d84-8064-df20c74213a6")
+ moduleModelInfo.setModelVersion("1")
+ moduleModelInfo.setModelCustomizationUuid("99424afc-1fb4-4598-a99b-3e0690b4cb03")
+ moduleModelInfo.setModelCustomizationName("")
+ moduleModelInfo.setModelInstanceName("")
+ moduleModelInfo.setModelType("")
+ moduleResource.setResourceInstance(new ResourceInstance())
+ moduleResource.setHomingSolution(new HomingSolution())
+ moduleResource.setHasVolumeGroup(false)
+ moduleResource.setIsBase(false)
+ moduleResource.setVfModuleLabel("addon_vcpe_vgw")
+ moduleResource.setInitialCount(1)
+
+ serviceDecomposition.setNetworkResources(new ArrayList<NetworkResource>())
+
+ List<AllottedResource> allottedResources = new ArrayList<AllottedResource>()
+ serviceDecomposition.setAllottedResources(allottedResources)
+
+ AllottedResource ar = new AllottedResource()
+ allottedResources.add(ar)
+ ar.setResourceId("ed4a3a9a-1411-4924-a9ee-61a41871a040")
+ ar.setResourceType(ResourceType.ALLOTTED_RESOURCE)
+ ModelInfo arModelInfo = new ModelInfo()
+ ar.setModelInfo(arModelInfo)
+ arModelInfo.setModelName("vcpear_tunnelxconn_1111")
+ arModelInfo.setModelUuid("d99e5442-c5e4-4197-ad8d-54f7ad43dd83")
+ arModelInfo.setModelInvariantUuid("61c17371-e824-4587-a9bb-21782aa28391")
+ arModelInfo.setModelVersion("1.0")
+ arModelInfo.setModelCustomizationUuid("506bb474-b8c2-41fd-aeec-4371c3ef58a4")
+ arModelInfo.setModelCustomizationName("")
+ arModelInfo.setModelInstanceName("vcpear_tunnelxconn_1111 0")
+ arModelInfo.setModelType("")
+ ar.setResourceInstance(new ResourceInstance())
+ HomingSolution homingSolution = new HomingSolution()
+ ar.setHomingSolution(homingSolution)
+ homingSolution.setInventoryType(InventoryType.service)
+ homingSolution.setServiceInstanceId("d600c1c0-ff45-40e4-bf29-45a95fa64556")
+ homingSolution.setCloudOwner("CloudOwner")
+ homingSolution.setCloudRegionId("RegionOne")
+ VnfResource vnf = new VnfResource()
+ homingSolution.setVnf(vnf)
+ vnf.setResourceId("cea5e96e-9c67-437c-bf94-2329d277be09")
+ vnf.setResourceType(ResourceType.VNF)
+ vnf.setResourceInstance(new ResourceInstance())
+ vnf.setHomingSolution(new HomingSolution())
+ vnf.setVnfHostname("vnfHostName")
+ homingSolution.setLicense(new License())
+ homingSolution.setRehome(false)
+ ar.setToscaNodeType("org.openecomp.resource.vf.VcpearTunnelxconn1111")
+ ar.setAllottedResourceType("TunnelXConnect")
+ ar.setAllottedResourceRole("TunnelXConn")
+ ar.setProvidingServiceModelName("org.openecomp.service.VcpesvcVgmux1111")
+ ar.setProvidingServiceModelInvariantUuid("d5751cb3-b9e9-470b-9c29-76a5e3ea12d0")
+ ar.setProvidingServiceModelUuid("61b6e96a-f0c6-4f34-a91c-dab3574dd025")
+ ar.setNfType("TunnelXConn")
+ ar.setNfRole("TunnelXConn")
+
+ ar = new AllottedResource()
+ allottedResources.add(ar)
+ ar.setResourceId("3b1b3686-ccfe-4e7c-9d6b-76419db398f9")
+ ar.setResourceType(ResourceType.ALLOTTED_RESOURCE)
+ arModelInfo = new ModelInfo()
+ ar.setModelInfo(arModelInfo)
+ arModelInfo.setModelName("vcpear_brg_1111")
+ arModelInfo.setModelUuid("6b0a5aa5-98d8-455c-8cd1-618a3f1ac859")
+ arModelInfo.setModelInvariantUuid("531f9aa5-dea4-4958-89ad-ef03f77cbf07")
+ arModelInfo.setModelVersion("1.0")
+ arModelInfo.setModelCustomizationUuid("d23ac3fe-ea54-4060-a7c1-ec9178c79620")
+ arModelInfo.setModelCustomizationName("")
+ arModelInfo.setModelInstanceName("vcpear_brg_1111 0")
+ arModelInfo.setModelType("")
+ ar.setResourceInstance(new ResourceInstance())
+ homingSolution = new HomingSolution()
+ ar.setHomingSolution(homingSolution)
+ homingSolution.setInventoryType(InventoryType.service)
+ homingSolution.setServiceInstanceId("bc28ebca-0cc3-4bf8-9ce9-d1524e4bec79")
+ homingSolution.setCloudOwner("CloudOwner")
+ homingSolution.setCloudRegionId("RegionOne")
+ vnf = new VnfResource()
+ homingSolution.setVnf(vnf)
+ vnf.setResourceId("65183e95-e6f1-46cb-9315-2da27a24c2b9")
+ vnf.setResourceType(ResourceType.VNF)
+ vnf.setResourceInstance(new ResourceInstance())
+ vnf.setHomingSolution(new HomingSolution())
+ vnf.setVnfHostname("vnfHostName")
+ homingSolution.setLicense(new License())
+ homingSolution.setRehome(false)
+ ar.setToscaNodeType("org.openecomp.resource.vf.VcpearBrg1111")
+ ar.setAllottedResourceType("BRG")
+ ar.setAllottedResourceRole("BRG")
+ ar.setProvidingServiceModelName("org.openecomp.service.VcpesvcVbrg1111")
+ ar.setProvidingServiceModelInvariantUuid("6eff53bf-0045-41b0-bd48-b4e1284e5b7a")
+ ar.setProvidingServiceModelUuid("0e500bca-15ac-42eb-a2f1-4bfd3b2828ff")
+ ar.setNfType("BRG")
+ ar.setNfRole("BRG")
+
+ return serviceDecomposition
+ }
+}
diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/vcpe/scripts/CreateVcpeResCustServiceTest.groovy b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/vcpe/scripts/CreateVcpeResCustServiceTest.groovy
index d0ded39146..160eee2337 100644
--- a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/vcpe/scripts/CreateVcpeResCustServiceTest.groovy
+++ b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/vcpe/scripts/CreateVcpeResCustServiceTest.groovy
@@ -85,10 +85,10 @@ class CreateVcpeResCustServiceTest extends GroovyTestBase {
// ***** preProcessRequest *****
@Test
- @Ignore // 1802 merge
public void preProcessRequest() {
ExecutionEntity mex = setupMock()
def map = setupMap(mex)
+
initPreProcess(mex)
CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
@@ -96,7 +96,6 @@ class CreateVcpeResCustServiceTest extends GroovyTestBase {
verify(mex).getVariable(DBGFLAG)
verify(mex).setVariable("prefix", Prefix)
- verify(mex).setVariable("aaiDistDelay", "aaidelay")
verify(mex).setVariable("createVcpeServiceRequest", request)
verify(mex).setVariable("msoRequestId", "mri")
assertEquals("sii", map.get("serviceInstanceId"))
@@ -118,6 +117,8 @@ class CreateVcpeResCustServiceTest extends GroovyTestBase {
def reqinfo = map.get(Prefix+"requestInfo")
assertTrue(reqinfo.indexOf("<request-id>mri</") >= 0)
assertTrue(reqinfo.indexOf("<source>VID</") >= 0)
+
+ assertTrue(map.containsKey("vfModuleNames"))
}
@Test
@@ -127,7 +128,7 @@ class CreateVcpeResCustServiceTest extends GroovyTestBase {
def map = setupMap(mex)
initPreProcess(mex)
- when(mex.getVariable("URN_mso_workflow_aai_distribution_delay")).thenReturn(null)
+ when(mex.getVariable("aai.workflowAaiDistributionDelay")).thenReturn(null)
CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
@@ -209,7 +210,6 @@ class CreateVcpeResCustServiceTest extends GroovyTestBase {
.replace('"mdt1"', '"CloudOwner_CloudRegion1"')
when(mex.getVariable("bpmnRequest")).thenReturn(req)
- when(mex.getVariable("URN_mso_workflow_aai_distribution_delay")).thenReturn("PT5S")
when(mex.getVariable("aai.workflowAaiDistributionDelay")).thenReturn("PT5S")
CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
@@ -230,8 +230,6 @@ class CreateVcpeResCustServiceTest extends GroovyTestBase {
.replace('"mdt1"', '"CloudRegion1_"')
when(mex.getVariable("bpmnRequest")).thenReturn(req)
- when(mex.getVariable("URN_mso_workflow_aai_distribution_delay")).thenReturn(60)
- when(mex.getVariable("URN_mso_workflow_aai_distribution_delay")).thenReturn("PT5S")
when(mex.getVariable("aai.workflowAaiDistributionDelay")).thenReturn("PT5S")
CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
@@ -1122,7 +1120,7 @@ class CreateVcpeResCustServiceTest extends GroovyTestBase {
private void initPreProcess(ExecutionEntity mex) {
when(mex.getVariable(DBGFLAG)).thenReturn("true")
when(mex.getVariable("bpmnRequest")).thenReturn(request)
- when(mex.getVariable("URN_mso_workflow_aai_distribution_delay")).thenReturn("aaidelay")
+ when(mex.getVariable("aai.workflowAaiDistributionDelay")).thenReturn("PT5S")
when(mex.getVariable("mso-request-id")).thenReturn("mri")
when(mex.getVariable("serviceInstanceId")).thenReturn("sii")
when(mex.getVariable("requestAction")).thenReturn("ra")
diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/VCPE/CreateVcpeResCustService/request.json b/bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/VCPE/CreateVcpeResCustService/request.json
index dc4669e8d9..766d27a26d 100644
--- a/bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/VCPE/CreateVcpeResCustService/request.json
+++ b/bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/VCPE/CreateVcpeResCustService/request.json
@@ -23,6 +23,7 @@
},
"cloudConfiguration":
{
+ "cloudOwner":"CloudOwner",
"lcpCloudRegionId":"mdt1",
"tenantId":"8b1df54faa3b49078e3416e21370a3ba"
},
@@ -30,11 +31,37 @@
{
"subscriptionServiceType":"123456789",
"aLaCarte":"false",
- "userParams":
+ "userParams":[
{
- "BRG_WAN_MAC_Address" : "brgmac"
+ "name":"BRG_WAN_MAC_Address",
+ "value":"brgmac"
+ },
+ {
+ "name":"Customer_Location",
+ "value":{
+ "customerLatitude":"32.897480",
+ "customerLongitude":"-97.040443",
+ "customerName":"some_company"
+ }
+ },
+ {
+ "name":"Homing_Solution",
+ "value":"sniro"
+ },
+ {
+ "name":"VfModuleNames",
+ "value":[
+ {
+ "VfModuleModelInvariantUuid":"c0e70c86-9813-4441-93c7-ad356a9a8d3b",
+ "VfModuleName":"VGWA:f4:56:56:56:%"
+ },
+ {
+ "VfModuleModelInvariantUuid":"5366deab-be06-44c7-b4f7-77e657b78b25",
+ "VfModuleName":"VGWB:a9:18:18:18:%"
+ }
+ ]
}
+ ]
}
-
}
}