From 8ee912c7946410144b5ec79758f5d87ef656981b Mon Sep 17 00:00:00 2001 From: mharazin Date: Wed, 9 Sep 2020 08:24:33 +0200 Subject: Add userParams as inputs Issue-ID: SO-2646 Signed-off-by: Mateusz Harazin Change-Id: I16fce63cc123e63b6b8951eaebb7b0aa2947d564 --- .../GenericPnfCDSControllerRunnableBBTest.java | 77 +++++++++++++++++++++- 1 file changed, 75 insertions(+), 2 deletions(-) (limited to 'bpmn/so-bpmn-tasks/src/test') diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/GenericPnfCDSControllerRunnableBBTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/GenericPnfCDSControllerRunnableBBTest.java index d6a28cba25..1cba35dc74 100644 --- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/GenericPnfCDSControllerRunnableBBTest.java +++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/GenericPnfCDSControllerRunnableBBTest.java @@ -29,16 +29,31 @@ import org.onap.so.bpmn.servicedecomposition.bbobjects.Pnf; import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance; import org.onap.so.bpmn.servicedecomposition.entities.BuildingBlock; import org.onap.so.bpmn.servicedecomposition.entities.ExecuteBuildingBlock; +import org.onap.so.bpmn.servicedecomposition.entities.GeneralBuildingBlock; import org.onap.so.bpmn.servicedecomposition.entities.ResourceKey; +import org.onap.so.bpmn.servicedecomposition.generalobjects.RequestContext; +import org.onap.so.bpmn.servicedecomposition.generalobjects.RequestParameters; import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoPnf; import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoServiceInstance; import org.onap.so.bpmn.servicedecomposition.tasks.ExtractPojosForBB; +import org.onap.so.client.cds.ConfigureInstanceParamsForPnf; import org.onap.so.client.cds.beans.AbstractCDSPropertiesBean; import org.onap.so.client.exception.BBObjectNotFoundException; +import org.onap.so.client.exception.PayloadGenerationException; +import org.onap.so.serviceinstancebeans.Service; +import org.onap.so.serviceinstancebeans.Pnfs; +import org.onap.so.serviceinstancebeans.Resources; +import org.onap.so.serviceinstancebeans.ModelInfo; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.when; import static org.onap.so.bpmn.infrastructure.pnf.delegate.ExecutionVariableNames.EXECUTION_OBJECT; import static org.onap.so.bpmn.infrastructure.pnf.delegate.ExecutionVariableNames.MSO_REQUEST_ID; @@ -51,6 +66,8 @@ public class GenericPnfCDSControllerRunnableBBTest { @Mock private ExtractPojosForBB extractPojosForBB; + @Mock + private ConfigureInstanceParamsForPnf configureInstanceParamsForPnf; @InjectMocks private GenericPnfCDSControllerRunnableBB genericPnfCDSControllerRunnableBB; @@ -67,6 +84,7 @@ public class GenericPnfCDSControllerRunnableBBTest { private final static String serviceModelUUID = "6bc0b04d-1873-4721-b53d-6615225b2a28"; private final static String pnfCustomizationUUID = "9acb3a83-8a52-412c-9a45-901764938144"; private final static String action = "action"; + private static final String GENERAL_BLOCK_EXECUTION_MAP_KEY = "gBBInput"; @Before public void setUp() { @@ -104,7 +122,7 @@ public class GenericPnfCDSControllerRunnableBBTest { } @Test - public void prepareTest() throws BBObjectNotFoundException { + public void prepareTest() throws BBObjectNotFoundException, PayloadGenerationException { // given prepareData(); @@ -119,6 +137,7 @@ public class GenericPnfCDSControllerRunnableBBTest { assertThat(abstractCDSPropertiesBean).isNotNull(); assertThat(abstractCDSPropertiesBean.getRequestObject()).isNotNull(); assertThat(abstractCDSPropertiesBean.getRequestObject()).isInstanceOf(String.class); + assertThat(execution.getGeneralBuildingBlock()).isNotNull(); assertEquals(blueprintName, abstractCDSPropertiesBean.getBlueprintName()); assertEquals(blueprintVersion, abstractCDSPropertiesBean.getBlueprintVersion()); @@ -134,7 +153,7 @@ public class GenericPnfCDSControllerRunnableBBTest { assertEquals(pnfCustomizationUUID, actionProperties.get("pnf-customization-uuid")); } - private void prepareData() throws BBObjectNotFoundException { + private void prepareData() throws BBObjectNotFoundException, PayloadGenerationException { Pnf pnf = new Pnf(); ServiceInstance serviceInstance = new ServiceInstance(); @@ -149,8 +168,62 @@ public class GenericPnfCDSControllerRunnableBBTest { modelInfoServiceInstance.setModelUuid(serviceModelUUID); serviceInstance.setModelInfoServiceInstance(modelInfoServiceInstance); + execution.setVariable(GENERAL_BLOCK_EXECUTION_MAP_KEY, + createGeneralBuildingBlock(createService(createPnfsList()))); when(extractPojosForBB.extractByKey(eq(execution), eq(ResourceKey.PNF))).thenReturn(pnf); when(extractPojosForBB.extractByKey(eq(execution), eq(ResourceKey.SERVICE_INSTANCE_ID))) .thenReturn(serviceInstance); + doNothing().when(configureInstanceParamsForPnf).populateInstanceParams(any(), any(), any()); + } + + private Service createService(List pnfList) { + Service service = new Service(); + Resources resources = new Resources(); + resources.setPnfs(pnfList); + service.setResources(resources); + return service; + } + + private GeneralBuildingBlock createGeneralBuildingBlock(Object serviceJson) { + GeneralBuildingBlock generalBuildingBlock = new GeneralBuildingBlock(); + RequestContext requestContext = new RequestContext(); + RequestParameters requestParameters = new RequestParameters(); + requestParameters.setUserParams(createRequestUserParams(serviceJson)); + requestContext.setRequestParameters(requestParameters); + generalBuildingBlock.setRequestContext(requestContext); + return generalBuildingBlock; + } + + private List> createRequestUserParams(Object serviceJson) { + List> userParams = new ArrayList<>(); + Map userParamMap = new HashMap<>(); + userParamMap.put("service", serviceJson); + userParams.add(userParamMap); + return userParams; + } + + private List createPnfsList() { + List> instanceParamsListSearchedPnf = new ArrayList<>(); + Map instanceParam = new HashMap<>(); + instanceParam.put("INSTANCE_PARAM1_NAME", "INSTANCE_PARAM1_VALUE"); + instanceParam.put("INSTANCE_PARAM2_NAME", "INSTANCE_PARAM2_VALUE"); + Map instanceParam2 = new HashMap<>(); + instanceParam2.put("INSTANCE_PARAM3_NAME", "INSTANCE_PARAM3_VALUE"); + instanceParamsListSearchedPnf.add(instanceParam); + instanceParamsListSearchedPnf.add(instanceParam2); + Pnfs searchedPnf = createPnfs("0c1ac643-377e-475b-be50-6be65f91a7ad", instanceParamsListSearchedPnf); + + List pnfList = new ArrayList<>(); + pnfList.add(searchedPnf); + return pnfList; + } + + private Pnfs createPnfs(String pnfModelCustomizationId, List> instanceParamsList) { + Pnfs pnfs = new Pnfs(); + ModelInfo modelInfo = new ModelInfo(); + modelInfo.setModelCustomizationUuid(pnfModelCustomizationId); + pnfs.setModelInfo(modelInfo); + pnfs.setInstanceParams(instanceParamsList); + return pnfs; } } -- cgit 1.2.3-korg