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
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
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
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
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
return variables;\r
\r
}\r
-}
\ No newline at end of file
+}\r