\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
\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
"__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
* 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
\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
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
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
//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
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