1710 Rebase - Second Attempt
[so.git] / bpmn / MSOInfrastructureBPMN / src / test / java / org / openecomp / mso / bpmn / infrastructure / DoCreateVfModuleTest.java
index fc4816c..565ef02 100644 (file)
@@ -22,8 +22,11 @@ package org.openecomp.mso.bpmn.infrastructure;
 \r
 \r
 import static org.openecomp.mso.bpmn.common.BPMNUtil.getRawVariable;\r
+import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockAAIVfModule;\r
 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfByIdWithDepth;\r
 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfByIdWithPriority;\r
+import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPatchGenericVnf;\r
+import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPatchVfModuleId;\r
 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPutGenericVnf;\r
 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPutNetwork;\r
 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPutVfModuleIdNoResponse;\r
@@ -38,10 +41,8 @@ import java.util.UUID;
 \r
 import org.camunda.bpm.engine.test.Deployment;\r
 import org.junit.Assert;\r
-import org.junit.Ignore;\r
 import org.junit.Test;\r
 import org.openecomp.mso.bpmn.common.WorkflowTest;\r
-import org.openecomp.mso.bpmn.common.WorkflowTest.CallbackSet;\r
 import org.openecomp.mso.bpmn.mock.FileUtil;\r
 \r
 /**\r
@@ -56,6 +57,12 @@ public class DoCreateVfModuleTest extends WorkflowTest {
                        "__files/VfModularity/SDNCTopologyAssignCallback.xml"));\r
                callbacks.put("query", FileUtil.readResourceFile(\r
                        "__files/VfModularity/SDNCTopologyQueryCallback.xml"));\r
+               callbacks.put("queryVnf", FileUtil.readResourceFile(\r
+                               "__files/VfModularity/SDNCTopologyQueryCallbackVnf.xml"));\r
+               callbacks.put("queryModuleNoVnf", FileUtil.readResourceFile(\r
+                               "__files/VfModularity/SDNCTopologyQueryCallbackVfModuleNoVnf.xml"));\r
+               callbacks.put("queryModule", FileUtil.readResourceFile(\r
+                               "__files/VfModularity/SDNCTopologyQueryCallbackVfModule.xml"));\r
                callbacks.put("activate", FileUtil.readResourceFile(\r
                        "__files/VfModularity/SDNCTopologyActivateCallback.xml"));\r
                callbacks.put("vnfCreate", FileUtil.readResourceFile(\r
@@ -66,10 +73,11 @@ public class DoCreateVfModuleTest extends WorkflowTest {
         * Test the sunny day scenario.\r
         */\r
        @Test   \r
-       @Ignore\r
+       \r
        @Deployment(resources = {\r
                        "subprocess/DoCreateVfModule.bpmn",\r
                        "subprocess/SDNCAdapterV1.bpmn",\r
+                       "subprocess/GenericGetVnf.bpmn",\r
                        "subprocess/VnfAdapterRestV1.bpmn",\r
                        "subprocess/ConfirmVolumeGroupTenant.bpmn",\r
                        "subprocess/ConfirmVolumeGroupName.bpmn",\r
@@ -82,6 +90,54 @@ public class DoCreateVfModuleTest extends WorkflowTest {
                \r
                logStart();\r
                \r
+               MockAAIVfModule();\r
+               MockPatchGenericVnf("skask");\r
+               MockPatchVfModuleId("skask", ".*");\r
+               mockSDNCAdapter("VfModularity/StandardSDNCSynchResponse.xml");\r
+               mockVNFPost("", 202, "skask");  \r
+               mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");\r
+               \r
+               String businessKey = UUID.randomUUID().toString();\r
+               //RuntimeService runtimeService = processEngineRule.getRuntimeService();                                \r
+               \r
+               Map<String, Object> variables = setupVariablesSunnyDayBuildingBlocks();\r
+               //runtimeService.startProcessInstanceByKey("DoCreateVfModule", variables);\r
+               invokeSubProcess("DoCreateVfModule", businessKey, variables);\r
+               \r
+               injectSDNCCallbacks(callbacks, "queryVnf");\r
+               injectSDNCCallbacks(callbacks, "assign, queryModuleNoVnf");\r
+               injectVNFRestCallbacks(callbacks, "vnfCreate");\r
+               injectSDNCCallbacks(callbacks, "activate");\r
+\r
+               waitForProcessEnd(businessKey, 10000);\r
+               \r
+               Assert.assertTrue(isProcessEnded(businessKey));\r
+               Assert.assertTrue((boolean) getRawVariable(processEngineRule, "DoCreateVfModule", "DCVFM_SuccessIndicator"));\r
+               \r
+               logEnd();\r
+       }\r
+       \r
+       /**\r
+        * Test the sunny day scenario with 1702 SDNC interaction.\r
+        */\r
+       @Test   \r
+       \r
+       @Deployment(resources = {\r
+                       "subprocess/DoCreateVfModule.bpmn",\r
+                       "subprocess/GenericGetVnf.bpmn",\r
+                       "subprocess/SDNCAdapterV1.bpmn",\r
+                       "subprocess/VnfAdapterRestV1.bpmn",\r
+                       "subprocess/ConfirmVolumeGroupTenant.bpmn",\r
+                       "subprocess/ConfirmVolumeGroupName.bpmn",\r
+                       "subprocess/CreateAAIVfModule.bpmn",\r
+                       "subprocess/UpdateAAIVfModule.bpmn",\r
+                       "subprocess/CreateAAIVfModuleVolumeGroup.bpmn",\r
+                       "subprocess/UpdateAAIGenericVnf.bpmn"\r
+               })\r
+       public void sunnyDay_1702() throws IOException {\r
+               \r
+               logStart();\r
+               \r
                MockGetGenericVnfByIdWithPriority("skask", ".*", 200, "VfModularity/VfModule-new.xml", 5);\r
                MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml");\r
                MockPutVfModuleIdNoResponse("skask", "PCRF", ".*");\r
@@ -91,11 +147,72 @@ public class DoCreateVfModuleTest extends WorkflowTest {
                mockSDNCAdapter("/SDNCAdapter", "SvcAction>query", 200, "VfModularity/StandardSDNCSynchResponse.xml");\r
                mockVNFPost("", 202, "skask");\r
                mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");\r
+               MockPatchGenericVnf("skask");\r
+               MockPatchVfModuleId("skask", ".*");\r
                \r
                String businessKey = UUID.randomUUID().toString();\r
                //RuntimeService runtimeService = processEngineRule.getRuntimeService();                                \r
                \r
                Map<String, Object> variables = setupVariablesSunnyDayBuildingBlocks();\r
+               variables.put("sdncVersion", "1702");\r
+               //runtimeService.startProcessInstanceByKey("DoCreateVfModule", variables);\r
+               invokeSubProcess("DoCreateVfModule", businessKey, variables);\r
+               \r
+               \r
+               injectSDNCCallbacks(callbacks, "assign, queryModule");\r
+               injectVNFRestCallbacks(callbacks, "vnfCreate");\r
+               injectSDNCCallbacks(callbacks, "activate");\r
+\r
+               waitForProcessEnd(businessKey, 10000);\r
+               \r
+               Assert.assertTrue(isProcessEnded(businessKey));\r
+               Assert.assertTrue((boolean) getRawVariable(processEngineRule, "DoCreateVfModule", "DCVFM_SuccessIndicator"));\r
+               \r
+               logEnd();\r
+       }\r
+       \r
+       /**\r
+        * Test the sunny day scenario.\r
+        */\r
+       @Test   \r
+       \r
+       @Deployment(resources = {\r
+                       "subprocess/DoCreateVfModule.bpmn",\r
+                       "subprocess/GenerateVfModuleName.bpmn",\r
+                       "subprocess/GenericGetVnf.bpmn",\r
+                       "subprocess/SDNCAdapterV1.bpmn",\r
+                       "subprocess/VnfAdapterRestV1.bpmn",\r
+                       "subprocess/ConfirmVolumeGroupTenant.bpmn",\r
+                       "subprocess/ConfirmVolumeGroupName.bpmn",\r
+                       "subprocess/CreateAAIVfModule.bpmn",\r
+                       "subprocess/UpdateAAIVfModule.bpmn",\r
+                       "subprocess/CreateAAIVfModuleVolumeGroup.bpmn",\r
+                       "subprocess/UpdateAAIGenericVnf.bpmn"\r
+               })\r
+       public void sunnyDay_withVfModuleNameGeneration() throws IOException {\r
+               \r
+               logStart();\r
+               \r
+               MockGetGenericVnfByIdWithPriority("skask", ".*", 200, "VfModularity/VfModule-new.xml", 5);\r
+               MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml");\r
+               MockPutVfModuleIdNoResponse("skask", "PCRF", ".*");\r
+               MockPutNetwork(".*", "VfModularity/AddNetworkPolicy_AAIResponse_Success.xml", 200);\r
+               MockPutGenericVnf("skask");\r
+               MockAAIVfModule();\r
+               mockSDNCAdapter("/SDNCAdapter", "vnf-type>STMTN", 200, "VfModularity/StandardSDNCSynchResponse.xml");\r
+               mockSDNCAdapter("/SDNCAdapter", "SvcAction>query", 200, "VfModularity/StandardSDNCSynchResponse.xml");\r
+               mockVNFPost("", 202, "skask");\r
+               mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");\r
+               MockPatchGenericVnf("skask");\r
+               MockPatchVfModuleId("skask", ".*");\r
+               \r
+               String businessKey = UUID.randomUUID().toString();\r
+               //RuntimeService runtimeService = processEngineRule.getRuntimeService();                                \r
+               \r
+               Map<String, Object> variables = setupVariablesSunnyDayBuildingBlocks();\r
+               variables.put("vfModuleName", null);\r
+               variables.put("vfModuleLabel", "MODULELABEL");\r
+               variables.put("sdncVersion", "1702");\r
                //runtimeService.startProcessInstanceByKey("DoCreateVfModule", variables);\r
                invokeSubProcess("DoCreateVfModule", businessKey, variables);\r
                \r
@@ -111,11 +228,19 @@ public class DoCreateVfModuleTest extends WorkflowTest {
                logEnd();\r
        }\r
        \r
+       \r
        private Map<String, Object> setupVariablesSunnyDayBuildingBlocks() {\r
                Map<String, Object> variables = new HashMap<String, Object>();\r
+               //try {\r
+               //      variables.put("bpmnRequest", FileUtil.readResourceFile("__files/CreateVfModule_VID_request.json"));\r
+               //}\r
+               //catch (Exception e) {\r
+                       \r
+               //}\r
                \r
                variables.put("mso-request-id", "testRequestId");\r
-               variables.put("requestId", "testRequestId");            \r
+               \r
+               variables.put("msoRequestId", "testRequestId");         \r
                variables.put("isBaseVfModule", false);\r
                variables.put("isDebugLogEnabled", "true");\r
                variables.put("disableRollback", "true");\r
@@ -123,6 +248,7 @@ public class DoCreateVfModuleTest extends WorkflowTest {
                //variables.put("requestAction", "CREATE_VF_MODULE");\r
                variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4");\r
                variables.put("vnfId", "skask");\r
+               variables.put("vnfName", "vnfname");\r
                variables.put("vfModuleName", "PCRF::module-0-2");\r
                variables.put("vnfType", "vSAMP12");\r
                variables.put("vfModuleId", "");\r
@@ -131,20 +257,40 @@ public class DoCreateVfModuleTest extends WorkflowTest {
                variables.put("vfModuleType", "");\r
                variables.put("isVidRequest", "true");\r
                variables.put("asdcServiceModelVersion", "1.0");\r
+               variables.put("usePreload", true);\r
                                        \r
-               String vfModuleModelInfo = "{" + "\"modelInfo\": { "+ "\"modelType\": \"vfModule\"," +\r
-                       "\"modelInvariantId\": \"ff5256d2-5a33-55df-13ab-12abad84e7ff\"," + \r
-                       "\"modelNameVersionId\": \"fe6478e5-ea33-3346-ac12-ab121484a3fe\"," +\r
+               String vfModuleModelInfo = "{ "+ "\"modelType\": \"vfModule\"," +\r
+                       "\"modelInvariantUuid\": \"ff5256d2-5a33-55df-13ab-12abad84e7ff\"," + \r
+                       "\"modelUuid\": \"fe6478e5-ea33-3346-ac12-ab121484a3fe\"," +\r
                        "\"modelName\": \"STMTN5MMSC21-MMSC::model-1-0\"," +\r
                        "\"modelVersion\": \"1\"," + \r
-                       "\"modelCustomizationId\": \"MODEL-123\"" + "}}";\r
+                       "\"modelCustomizationUuid\": \"MODEL-123\"" + "}";\r
                variables.put("vfModuleModelInfo", vfModuleModelInfo);\r
                \r
-               String cloudConfiguration = "{" + "\"cloudConfiguration\": { " + \r
-                               "\"lcpCloudRegionId\": \"MDTWNJ21\"," +         \r
-                               "\"tenantId\": \"fba1bd1e195a404cacb9ce17a9b2b421\"" + "}}";\r
-               variables.put("cloudConfiguration", cloudConfiguration);\r
+               variables.put("sdncVersion", "1707");\r
+               \r
+               variables.put("lcpCloudRegionId", "MDTWNJ21");\r
+               variables.put("tenantId", "fba1bd1e195a404cacb9ce17a9b2b421");          \r
+               \r
+               String serviceModelInfo = "{ "+ "\"modelType\": \"service\"," +\r
+                               "\"modelInvariantUuid\": \"aa5256d2-5a33-55df-13ab-12abad84e7ff\"," + \r
+                               "\"modelUuid\": \"bb6478e5-ea33-3346-ac12-ab121484a3fe\"," +\r
+                               "\"modelName\": \"SVC-STMTN5MMSC21-MMSC::model-1-0\"," +\r
+                               "\"modelVersion\": \"1\"," + \r
+                                "}";\r
+               variables.put("serviceModelInfo", serviceModelInfo);\r
+                       \r
+               String vnfModelInfo = "{ "+ "\"modelType\": \"vnf\"," +\r
+                                       "\"modelInvariantUuid\": \"445256d2-5a33-55df-13ab-12abad84e7ff\"," + \r
+                                       "\"modelUuid\": \"f26478e5-ea33-3346-ac12-ab121484a3fe\"," +\r
+                                       "\"modelName\": \"VNF-STMTN5MMSC21-MMSC::model-1-0\"," +\r
+                                       "\"modelVersion\": \"1\"," + \r
+                                       "\"modelCustomizationUuid\": \"VNF-MODEL-123\"" + "}";\r
+               variables.put("vnfModelInfo", vnfModelInfo);\r
+               \r
+               variables.put("vnfQueryPath", "/restconf/vnfQueryPath");\r
+               \r
                return variables;\r
                \r
        }\r
-}\r
+}
\ No newline at end of file