Merge "Reorder modifiers"
[so.git] / bpmn / MSOInfrastructureBPMN / src / test / java / org / openecomp / mso / bpmn / infrastructure / DoCreateVfModuleTest.java
index d62c759..490d310 100644 (file)
@@ -25,11 +25,14 @@ import static org.openecomp.mso.bpmn.common.BPMNUtil.getRawVariable;
 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.MockGetVfModuleByName;\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
+import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.MockGetServiceResourcesCatalogData;\r
+import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.MockGetVnfCatalogDataCustomizationUuid;\r
 import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.mockUpdateRequestDB;\r
 import static org.openecomp.mso.bpmn.mock.StubResponseSDNCAdapter.mockSDNCAdapter;\r
 import static org.openecomp.mso.bpmn.mock.StubResponseVNFAdapter.mockVNFPost;\r
@@ -96,6 +99,8 @@ public class DoCreateVfModuleTest extends WorkflowTest {
                mockSDNCAdapter("VfModularity/StandardSDNCSynchResponse.xml");\r
                mockVNFPost("", 202, "skask");  \r
                mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");\r
+               //Catalog DB\r
+               MockGetServiceResourcesCatalogData("aa5256d2-5a33-55df-13ab-12abad84e7ff","InfrastructureFlows/DoCreateServiceInstance_request.json");\r
                \r
                String businessKey = UUID.randomUUID().toString();\r
                //RuntimeService runtimeService = processEngineRule.getRuntimeService();                                \r
@@ -149,6 +154,9 @@ public class DoCreateVfModuleTest extends WorkflowTest {
                mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");\r
                MockPatchGenericVnf("skask");\r
                MockPatchVfModuleId("skask", ".*");\r
+               //Catalog DB\r
+               MockGetServiceResourcesCatalogData("aa5256d2-5a33-55df-13ab-12abad84e7ff","InfrastructureFlows/DoCreateServiceInstance_request.json");\r
+                               \r
                \r
                String businessKey = UUID.randomUUID().toString();\r
                //RuntimeService runtimeService = processEngineRule.getRuntimeService();                                \r
@@ -205,6 +213,8 @@ public class DoCreateVfModuleTest extends WorkflowTest {
                mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");\r
                MockPatchGenericVnf("skask");\r
                MockPatchVfModuleId("skask", ".*");\r
+               //Catalog DB\r
+               MockGetServiceResourcesCatalogData("aa5256d2-5a33-55df-13ab-12abad84e7ff","InfrastructureFlows/DoCreateServiceInstance_request.json");\r
                \r
                String businessKey = UUID.randomUUID().toString();\r
                //RuntimeService runtimeService = processEngineRule.getRuntimeService();                                \r
@@ -228,6 +238,177 @@ public class DoCreateVfModuleTest extends WorkflowTest {
                logEnd();\r
        }\r
        \r
+       /**\r
+        * Test the sunny day scenario for the aLaCarte request with no multiStageDesign\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_aLaCarte_noMultistage() 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
+               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
+               //Catalog DB\r
+               MockGetServiceResourcesCatalogData("aa5256d2-5a33-55df-13ab-12abad84e7ff","InfrastructureFlows/DoCreateServiceInstance_request.json");\r
+               MockGetVnfCatalogDataCustomizationUuid("VNF-MODEL-123", "VIPR/getCatalogVnfNoTwoPhasedForVfModule.json");               \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
+               variables.put("aLaCarte", true);\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 for the first stage of multistage design.\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_1st_of_multistage() 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
+               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
+               //Catalog DB\r
+               MockGetServiceResourcesCatalogData("aa5256d2-5a33-55df-13ab-12abad84e7ff","InfrastructureFlows/DoCreateServiceInstance_request.json");\r
+               MockGetVnfCatalogDataCustomizationUuid("VNF-MODEL-123", "VIPR/getCatalogVnfYesTwoPhasedForVfModule.json");              \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
+               variables.put("aLaCarte", true);\r
+               //runtimeService.startProcessInstanceByKey("DoCreateVfModule", variables);\r
+               invokeSubProcess("DoCreateVfModule", businessKey, variables);\r
+               \r
+               injectSDNCCallbacks(callbacks, "assign");\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 for the second stage of multiStageDesign\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_2nd_of_multistage() throws IOException {\r
+               \r
+               logStart();\r
+               \r
+               MockGetGenericVnfByIdWithPriority("skask", ".*", 200, "VfModularity/VfModule-new.xml", 5);\r
+               MockGetVfModuleByName("skask", "PCRF%3A%3Amodule-0-2","VfModularity/VfModule-new-PendingActivation.xml", 200);\r
+               MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml");              \r
+               MockPutVfModuleIdNoResponse("skask", "PCRF", ".*");\r
+               MockPutNetwork(".*", "VfModularity/AddNetworkPolicy_AAIResponse_Success.xml", 200);\r
+               MockPutGenericVnf("skask");\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
+               //Catalog DB\r
+               MockGetServiceResourcesCatalogData("aa5256d2-5a33-55df-13ab-12abad84e7ff","InfrastructureFlows/DoCreateServiceInstance_request.json");\r
+               \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
+               variables.put("aLaCarte", true);\r
+               //runtimeService.startProcessInstanceByKey("DoCreateVfModule", variables);\r
+               invokeSubProcess("DoCreateVfModule", businessKey, variables);           \r
+               \r
+               injectSDNCCallbacks(callbacks, "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
        private Map<String, Object> setupVariablesSunnyDayBuildingBlocks() {\r
                Map<String, Object> variables = new HashMap<>();\r
@@ -293,4 +474,4 @@ public class DoCreateVfModuleTest extends WorkflowTest {
                return variables;\r
                \r
        }\r
-}
\ No newline at end of file
+}\r