From 38f720752af4d4aad8c4e467a288d9048659f688 Mon Sep 17 00:00:00 2001 From: Rob Daugherty Date: Wed, 14 Mar 2018 02:07:32 -0400 Subject: AT&T 1712 and 1802 release code This is code from AT&T's 1712 and 1802 releases. Change-Id: Ie1e85851e94bc66c4d9514a0226c221939531a04 Issue-ID: SO-425 Signed-off-by: Rob Daugherty --- .../CreateGenericALaCarteServiceInstanceTest.java | 10 +- .../infrastructure/CreateNetworkInstanceTest.java | 12 +- .../infrastructure/CreateVfModuleInfraTest.java | 57 +++++++ .../bpmn/infrastructure/CreateVnfInfraTest.java | 2 + .../infrastructure/DeleteNetworkInstanceTest.java | 6 +- .../infrastructure/DeleteVfModuleInfraTest.java | 76 ++++++--- .../infrastructure/DoCreateSIRollbackTest.java | 8 +- .../DoCreateServiceInstanceTest.java | 18 +- .../DoCreateServiceInstanceV2Test.java | 109 ++++++++++++ .../DoCreateServiceInstanceV3Test.java | 70 ++++++++ .../bpmn/infrastructure/DoCreateVfModuleTest.java | 183 ++++++++++++++++++++- .../infrastructure/DoCreateVnfAndModulesTest.java | 4 +- .../mso/bpmn/infrastructure/DoCreateVnfTest.java | 3 + .../bpmn/infrastructure/DoDeleteVfModuleTest.java | 79 ++++++++- .../infrastructure/DoDeleteVnfAndModulesTest.java | 144 +++++++++++++++- .../bpmn/infrastructure/DoUpdateVfModuleTest.java | 13 ++ .../infrastructure/DoUpdateVnfAndModulesTest.java | 2 +- .../bpmn/infrastructure/ReplaceVnfInfraTest.java | 27 +-- .../mso/bpmn/infrastructure/RollbackVnfTest.java | 134 +++++++++++++++ .../infrastructure/SetupServiceDecompTest.java | 65 ++++++++ .../infrastructure/UpdateNetworkInstanceTest.java | 13 +- .../bpmn/infrastructure/UpdateVnfInfraTest.java | 21 ++- .../bpmn/infrastructure/VnfConfigUpdateTest.java | 146 ++++++++++++++++ .../bpmn/infrastructure/VnfInPlaceUpdateTest.java | 159 ++++++++++++++++++ .../bpmn/vcpe/CreateVcpeResCustServiceTest.java | 5 + 25 files changed, 1285 insertions(+), 81 deletions(-) create mode 100644 bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstanceV2Test.java create mode 100644 bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstanceV3Test.java create mode 100644 bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/RollbackVnfTest.java create mode 100644 bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/SetupServiceDecompTest.java create mode 100644 bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/VnfConfigUpdateTest.java create mode 100644 bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/VnfInPlaceUpdateTest.java (limited to 'bpmn/MSOInfrastructureBPMN/src/test/java') diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateGenericALaCarteServiceInstanceTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateGenericALaCarteServiceInstanceTest.java index 549664588e..07fa4eb53a 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateGenericALaCarteServiceInstanceTest.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateGenericALaCarteServiceInstanceTest.java @@ -29,6 +29,7 @@ import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetServiceInstance import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockNodeQueryServiceInstanceById; import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockNodeQueryServiceInstanceByName; import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPutServiceInstance; +import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.MockGetServiceResourcesCatalogData; import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.mockUpdateRequestDB; import static org.openecomp.mso.bpmn.mock.StubResponseSDNCAdapter.mockSDNCAdapter; @@ -38,6 +39,7 @@ import java.util.Map; import java.util.UUID; import org.camunda.bpm.engine.test.Deployment; +import org.junit.Ignore; import org.junit.Test; import org.openecomp.mso.bpmn.common.BPMNUtil; import org.openecomp.mso.bpmn.common.WorkflowTest; @@ -62,8 +64,10 @@ public class CreateGenericALaCarteServiceInstanceTest extends WorkflowTest { */ //@Ignore // File not found - unable to run the test. Also, Stubs need updating.. @Test + @Ignore // 1802 merge @Deployment(resources = { "process/CreateGenericALaCarteServiceInstance.bpmn", + "subprocess/BuildingBlock/DecomposeService.bpmn", "subprocess/DoCreateServiceInstance.bpmn", "subprocess/DoCreateServiceInstanceRollback.bpmn", "subprocess/SDNCAdapterV1.bpmn", @@ -84,7 +88,9 @@ public class CreateGenericALaCarteServiceInstanceTest extends WorkflowTest { //SDNC mockSDNCAdapter(200); //DB + MockGetServiceResourcesCatalogData("uuid-miu-svc-011-abcdef","2","/VIPR/getCatalogServiceResourcesData.json"); mockUpdateRequestDB(200, "DBUpdateResponse.xml"); + MockGetServiceResourcesCatalogData("uuid-miu-svc-011-abcdef","InfrastructureFlows/DoCreateServiceInstance_request.json"); String businessKey = UUID.randomUUID().toString(); @@ -118,11 +124,13 @@ public class CreateGenericALaCarteServiceInstanceTest extends WorkflowTest { variables.put("bpmnRequest", getRequest()); variables.put("mso-request-id", "RaaCSIRequestId-1"); variables.put("serviceInstanceId","RaaTest-1-id"); + variables.put("sdncVersion", "1802"); + variables.put("serviceInstanceName", "some-junk-name"); return variables; } public String getRequest() { - String request = "{\"requestDetails\":{\"modelInfo\":{\"modelType\":\"service\",\"modelInvariantUuid\":\"uuid-miu-svc-011-abcdef\",\"modelVersionUuid\":\"ASDC_TOSCA_UUID\",\"modelName\":\"SIModelName1\",\"modelVersion\":\"2\"},\"subscriberInfo\":{\"globalSubscriberId\":\"MCBH-1610\",\"subscriberName\":\"Kaneohe\"},\"requestInfo\":{\"instanceName\":\"RAATest-1\",\"source\":\"VID\",\"suppressRollback\":\"true\",\"productFamilyId\":\"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\"},\"cloudConfiguration\":{\"lcpCloudRegionId\":\"mdt1\",\"tenantId\":\"8b1df54faa3b49078e3416e21370a3ba\"},\"requestParameters\":{\"subscriptionServiceType\":\"viprsvc\",\"aLaCarte\":\"false\",\"userParams\":[]}}}"; + String request = "{\"requestDetails\":{\"project\": {\"projectName\": \"projectName\"},\"owningEntity\": {\"owningEntityId\": \"randomStrings\",\"owningEntityName\": \"randomStrings\"},\"modelInfo\":{\"modelType\":\"service\",\"modelInvariantUuid\":\"uuid-miu-svc-011-abcdef\",\"modelVersionUuid\":\"ASDC_TOSCA_UUID\",\"modelName\":\"SIModelName1\",\"modelVersion\":\"2\"},\"subscriberInfo\":{\"globalSubscriberId\":\"MCBH-1610\",\"subscriberName\":\"Kaneohe\"},\"requestInfo\":{\"instanceName\":\"RAATest-1\",\"source\":\"VID\",\"suppressRollback\":\"true\",\"productFamilyId\":\"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\"},\"cloudConfiguration\":{\"lcpCloudRegionId\":\"mdt1\",\"tenantId\":\"8b1df54faa3b49078e3416e21370a3ba\"},\"requestParameters\":{\"subscriptionServiceType\":\"viprsvc\",\"aLaCarte\":\"false\",\"userParams\":[]}}}"; return request; } diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateNetworkInstanceTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateNetworkInstanceTest.java index b95ebb5fc7..d31f6e7b96 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateNetworkInstanceTest.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateNetworkInstanceTest.java @@ -88,13 +88,13 @@ public class CreateNetworkInstanceTest extends WorkflowTest { MockNetworkAdapterPost("CreateNetworkV2/createNetworkResponse_Success.xml", "createNetworkRequest"); MockGetNetworkByName("MNS-25180-L-01-dmz_direct_net_1", "CreateNetworkV2/createNetwork_queryName_AAIResponse_Success.xml"); MockGetNetworkCloudRegion("CreateNetworkV2/cloudRegion25_AAIResponse_Success.xml", "RDM2WAGPLCP"); - MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "CreateNetworkV2/createNetwork_queryNetworkId_AAIResponse_Success.xml", "1"); + MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "CreateNetworkV2/createNetwork_queryNetworkId_AAIResponse_Success.xml", "all"); MockGetNetworkVpnBinding("CreateNetworkV2/createNetwork_queryVpnBinding_AAIResponse_Success.xml", "85f015d0-2e32-4c30-96d2-87a1a27f8017"); MockGetNetworkVpnBinding("CreateNetworkV2/createNetwork_queryVpnBinding_AAIResponse_Success.xml", "c980a6ef-3b88-49f0-9751-dbad8608d0a6"); MockGetNetworkPolicy("CreateNetworkV2/createNetwork_queryNetworkPolicy_AAIResponse_Success.xml", "cee6d136-e378-4678-a024-2cd15f0ee0cg"); MockGetNetworkTableReference("CreateNetworkV2/createNetwork_queryNetworkTableRef1_AAIResponse_Success.xml", "refFQDN1"); MockGetNetworkTableReference("CreateNetworkV2/createNetwork_queryNetworkTableRef2_AAIResponse_Success.xml", "refFQDN2"); - MockPutNetworkIdWithDepth("CreateNetworkV2/createNetwork_updateContrail_AAIResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4", "1"); + MockPutNetworkIdWithDepth("CreateNetworkV2/createNetwork_updateContrail_AAIResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4", "all"); MockUpdateRequestDB("DBUpdateResponse.xml"); //MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "CreateNetworkV2/createNetwork_queryInstance_Success.xml", "v8"); MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "CreateNetworkV2/createNetwork_queryInstance_Success.xml"); @@ -142,13 +142,13 @@ public class CreateNetworkInstanceTest extends WorkflowTest { MockNetworkAdapterPost("CreateNetworkV2/createNetworkResponse_Success.xml", "createNetworkRequest"); MockGetNetworkByName_404("CreateNetworkV2/createNetwork_queryName_AAIResponse_Success.xml", "myOwn_Network"); MockGetNetworkCloudRegion("CreateNetworkV2/cloudRegion25_AAIResponse_Success.xml", "RDM2WAGPLCP"); - MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "CreateNetworkV2/createNetwork_queryNetworkId_AAIResponse_Success.xml", "1"); + MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "CreateNetworkV2/createNetwork_queryNetworkId_AAIResponse_Success.xml", "all"); MockGetNetworkVpnBinding("CreateNetworkV2/createNetwork_queryVpnBinding_AAIResponse_Success.xml", "85f015d0-2e32-4c30-96d2-87a1a27f8017"); MockGetNetworkVpnBinding("CreateNetworkV2/createNetwork_queryVpnBinding_AAIResponse_Success.xml", "c980a6ef-3b88-49f0-9751-dbad8608d0a6"); MockGetNetworkPolicy("CreateNetworkV2/createNetwork_queryNetworkPolicy_AAIResponse_Success.xml", "cee6d136-e378-4678-a024-2cd15f0ee0cg"); MockGetNetworkTableReference("CreateNetworkV2/createNetwork_queryNetworkTableRef1_AAIResponse_Success.xml", "refFQDN1"); MockGetNetworkTableReference("CreateNetworkV2/createNetwork_queryNetworkTableRef2_AAIResponse_Success.xml", "refFQDN2"); - MockPutNetworkIdWithDepth("CreateNetworkV2/createNetwork_updateContrail_AAIResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4", "1"); + MockPutNetworkIdWithDepth("CreateNetworkV2/createNetwork_updateContrail_AAIResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4", "all"); MockUpdateRequestDB("DBUpdateResponse.xml"); //MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "CreateNetworkV2/createNetwork_queryInstance_Success.xml", "v8"); MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "CreateNetworkV2/createNetwork_queryInstance_Success.xml"); @@ -378,13 +378,13 @@ public class CreateNetworkInstanceTest extends WorkflowTest { MockNetworkAdapterPost("CreateNetworkV2/createNetworkResponse_Success.xml", "createNetworkRequest"); MockGetNetworkByName("MNS-25180-L-01-dmz_direct_net_1", "CreateNetworkV2/createNetwork_queryName_AAIResponse_Success.xml"); MockGetNetworkCloudRegion("CreateNetworkV2/cloudRegion25_AAIResponse_Success.xml", "RDM2WAGPLCP"); - MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "CreateNetworkV2/createNetwork_queryNetworkId_AAIResponse_Success.xml", "1"); + MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "CreateNetworkV2/createNetwork_queryNetworkId_AAIResponse_Success.xml", "all"); MockGetNetworkVpnBinding("CreateNetworkV2/createNetwork_queryVpnBinding_AAIResponse_Success.xml", "85f015d0-2e32-4c30-96d2-87a1a27f8017"); MockGetNetworkVpnBinding("CreateNetworkV2/createNetwork_queryVpnBinding_AAIResponse_Success.xml", "c980a6ef-3b88-49f0-9751-dbad8608d0a6"); MockGetNetworkPolicy("CreateNetworkV2/createNetwork_queryNetworkPolicy_AAIResponse_Success.xml", "cee6d136-e378-4678-a024-2cd15f0ee0cg"); MockGetNetworkTableReference("CreateNetworkV2/createNetwork_queryNetworkTableRef1_AAIResponse_Success.xml", "refFQDN1"); MockGetNetworkTableReference("CreateNetworkV2/createNetwork_queryNetworkTableRef2_AAIResponse_Success.xml", "refFQDN2"); - MockPutNetworkIdWithDepth("CreateNetworkV2/createNetwork_updateContrail_AAIResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4", "1"); + MockPutNetworkIdWithDepth("CreateNetworkV2/createNetwork_updateContrail_AAIResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4", "all"); MockUpdateRequestDB("DBUpdateResponse.xml"); //MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "CreateNetworkV2/createNetwork_queryInstance_Success.xml", "v8"); MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "CreateNetworkV2/createNetwork_queryInstance_Success.xml"); diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateVfModuleInfraTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateVfModuleInfraTest.java index a28e95ad0d..390882e660 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateVfModuleInfraTest.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateVfModuleInfraTest.java @@ -286,6 +286,63 @@ public class CreateVfModuleInfraTest extends WorkflowTest { return variables; } + /** + * Sunny day VID scenario with no preloads. + * + * @throws Exception + */ + @Test + @Deployment(resources = { + "process/CreateVfModuleInfra.bpmn", + "subprocess/DoCreateVfModule.bpmn", + "subprocess/GenericGetVnf.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/VnfAdapterRestV1.bpmn", + "subprocess/ConfirmVolumeGroupTenant.bpmn", + "subprocess/GenericNotificationService.bpmn", + "subprocess/ConfirmVolumeGroupName.bpmn", + "subprocess/CreateAAIVfModule.bpmn", + "subprocess/UpdateAAIVfModule.bpmn", + "subprocess/UpdateAAIGenericVnf.bpmn", + "subprocess/CompleteMsoProcess.bpmn", + "subprocess/FalloutHandler.bpmn" + }) + public void sunnyDayVIDMultipleUserParamValues() throws Exception { + + logStart(); + + MockAAIVfModule(); + MockPatchGenericVnf("skask"); + MockPatchVfModuleId("skask", ".*"); + MockSDNCAdapterVfModule(); + MockVNFAdapterRestVfModule(); + MockDBUpdateVfModule(); + + String businessKey = UUID.randomUUID().toString(); + String createVfModuleRequest = + FileUtil.readResourceFile("__files/CreateVfModule_VID_request_userParam.json"); + + Map variables = setupVariablesSunnyDayVID(); + + TestAsyncResponse asyncResponse = invokeAsyncProcess("CreateVfModuleInfra", + "v1", businessKey, createVfModuleRequest, variables); + + WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 10000); + + String responseBody = response.getResponse(); + System.out.println("Workflow (Synch) Response:\n" + responseBody); + + injectSDNCCallbacks(callbacks, "assign, query"); + injectVNFRestCallbacks(callbacks, "vnfCreate"); + injectSDNCCallbacks(callbacks, "activate"); + + // TODO add appropriate assertions + + waitForProcessEnd(businessKey, 10000); + checkVariable(businessKey, "CreateVfModuleSuccessIndicator", true); + + logEnd(); + } } diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateVnfInfraTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateVnfInfraTest.java index d5f94965fe..075ddab80c 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateVnfInfraTest.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateVnfInfraTest.java @@ -35,6 +35,7 @@ import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetServiceInstance import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockNodeQueryServiceInstanceById; import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockNodeQueryServiceInstanceById_404; import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPutGenericVnf; +import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.MockGetVnfCatalogDataCustomizationUuid; import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.mockUpdateRequestDB; import static org.openecomp.mso.bpmn.mock.StubResponseSDNCAdapter.mockSDNCAdapter; @@ -83,6 +84,7 @@ public class CreateVnfInfraTest extends WorkflowTest { MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getServiceInstance.xml"); MockGetGenericVnfByName_404(); MockPutGenericVnf(); + MockGetVnfCatalogDataCustomizationUuid("customizationId123", "VIPR/getCatalogVnfData.json"); mockSDNCAdapter("/SDNCAdapter", "vnf-type>STMTN", 200, "VfModularity/StandardSDNCSynchResponse.xml"); mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DeleteNetworkInstanceTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DeleteNetworkInstanceTest.java index 4317a57405..06eb79cfd1 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DeleteNetworkInstanceTest.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DeleteNetworkInstanceTest.java @@ -83,7 +83,7 @@ public class DeleteNetworkInstanceTest extends WorkflowTest { // setup simulators mockSDNCAdapterTopology("DeleteNetworkV2mock/sdncDeleteNetworkTopologySimResponse.xml", "SvcAction>delete"); MockNetworkAdapter("bdc5efe8-404a-409b-85f6-0dcc9eebae30", 200, "deleteNetworkResponse_Success.xml"); - MockGetNetworkByIdWithDepth("bdc5efe8-404a-409b-85f6-0dcc9eebae30", "DeleteNetworkV2/deleteNetworkAAIResponse_Success.xml", "1"); + MockGetNetworkByIdWithDepth("bdc5efe8-404a-409b-85f6-0dcc9eebae30", "DeleteNetworkV2/deleteNetworkAAIResponse_Success.xml", "all"); mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); MockGetCloudRegion("RDM2WAGPLCP", 200, "DeleteNetworkV2/cloudRegion30_AAIResponse_Success.xml"); @@ -153,7 +153,7 @@ public class DeleteNetworkInstanceTest extends WorkflowTest { mockSDNCAdapterTopology("DeleteNetworkV2mock/sdncDeleteNetworkTopologySimResponse.xml", "SvcAction>unassign"); mockSDNCAdapterTopology("DeleteNetworkV2mock/sdncDeleteNetworkTopologySimResponse.xml", "SvcAction>deactivate"); MockNetworkAdapter("bdc5efe8-404a-409b-85f6-0dcc9eebae30", 200, "deleteNetworkResponse_Success.xml"); - MockGetNetworkByIdWithDepth("bdc5efe8-404a-409b-85f6-0dcc9eebae30", "DeleteNetworkV2/deleteNetworkAAIResponse_Success.xml", "1"); + MockGetNetworkByIdWithDepth("bdc5efe8-404a-409b-85f6-0dcc9eebae30", "DeleteNetworkV2/deleteNetworkAAIResponse_Success.xml", "all"); mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); MockGetCloudRegion("RDM2WAGPLCP", 200, "DeleteNetworkV2/cloudRegion30_AAIResponse_Success.xml"); @@ -229,7 +229,7 @@ public class DeleteNetworkInstanceTest extends WorkflowTest { mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologySimResponse.xml", "SvcAction>activate"); MockNetworkAdapter("bdc5efe8-404a-409b-85f6-0dcc9eebae30", 200, "deleteNetworkResponse_Success.xml"); MockNetworkAdapterContainingRequest("createNetworkRequest", 200, "CreateNetworkV2/createNetworkResponse_Success.xml"); - MockGetNetworkByIdWithDepth ("bdc5efe8-404a-409b-85f6-0dcc9eebae30", "DeleteNetworkV2/deleteNetworkAAIResponse_Success.xml", "1"); + MockGetNetworkByIdWithDepth ("bdc5efe8-404a-409b-85f6-0dcc9eebae30", "DeleteNetworkV2/deleteNetworkAAIResponse_Success.xml", "all"); mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); MockGetCloudRegion("RDM2WAGPLCP", 200, "DeleteNetworkV2/cloudRegion30_AAIResponse_Success.xml"); diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DeleteVfModuleInfraTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DeleteVfModuleInfraTest.java index 4c478e6143..cdc547c47e 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DeleteVfModuleInfraTest.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DeleteVfModuleInfraTest.java @@ -29,6 +29,8 @@ import static com.github.tomakehurst.wiremock.client.WireMock.put; import static com.github.tomakehurst.wiremock.client.WireMock.stubFor; import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo; import static com.github.tomakehurst.wiremock.client.WireMock.urlMatching; +import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPatchVfModuleId; +import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockVNFAdapterRestVfModule; import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.mockUpdateRequestDB; import static org.openecomp.mso.bpmn.mock.StubResponseVNFAdapter.mockVNFDelete; @@ -53,32 +55,40 @@ public class DeleteVfModuleInfraTest extends WorkflowTest { private final CallbackSet callbacks = new CallbackSet(); private static final String EOL = "\n"; - + private final String vnfAdapterDeleteCallback = "" + EOL + " a27ce5a9-29c4-4c22-a017-6615ac73c721" + EOL + " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + " true" + EOL + " {{MESSAGE-ID}}" + EOL + - " " + EOL + - " " + EOL + - " policyKey1_contrail_network_policy_fqdn" + EOL + - " MSOTest:DefaultPolicyFQDN1" + EOL + - "" + EOL + - "" + EOL + - "policyKey2_contrail_network_policy_fqdn" + EOL + - "MSOTest:DefaultPolicyFQDN2" + EOL + - "" + EOL + - " " + EOL + - " oam_management_v4_address" + EOL + - " 1234" + EOL + - "" + EOL + - " " + EOL + - " oam_management_v6_address" + EOL + - " 1234" + EOL + - "" + EOL + - "" + EOL + "" + EOL; + + //private final String vnfAdapterDeleteCallback = + // "" + EOL + + // " a27ce5a9-29c4-4c22-a017-6615ac73c721" + EOL + + // " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + + // " true" + EOL + + // " {{MESSAGE-ID}}" + EOL + + // " " + EOL + + // " " + EOL + + // " policyKey1_contrail_network_policy_fqdn" + EOL + + // " MSOTest:DefaultPolicyFQDN1" + EOL + + // "" + EOL + + // "" + EOL + + // "policyKey2_contrail_network_policy_fqdn" + EOL + + // "MSOTest:DefaultPolicyFQDN2" + EOL + + // "" + EOL + + // " " + EOL + + // " oam_management_v4_address" + EOL + + // " 1234" + EOL + + // "" + EOL + + // " " + EOL + + // " oam_management_v6_address" + EOL + + // " 1234" + EOL + + // "" + EOL + + // "" + EOL + + // "" + EOL; private final String vnfAdapterDeleteCallbackFail = "" + EOL + @@ -97,13 +107,16 @@ public class DeleteVfModuleInfraTest extends WorkflowTest { public DeleteVfModuleInfraTest() throws IOException { callbacks.put("sdncChangeDelete", sdncAdapterDeleteCallback); callbacks.put("sdncDelete", sdncAdapterDeleteCallback); - callbacks.put("vnfDelete", vnfAdapterDeleteCallback); + callbacks.put("vnfDelete", FileUtil.readResourceFile( + "__files/DeleteVfModuleCallbackResponse.xml")); + //callbacks.put("vnfDelete", vnfAdapterDeleteCallback); callbacks.put("vnfDeleteFail", vnfAdapterDeleteCallbackFail); } @Test + @Ignore // 1802 merge @Deployment(resources = { - "process/Infrastructure/DeleteVfModuleInfra.bpmn", + "process/DeleteVfModuleInfra.bpmn", "subprocess/DoDeleteVfModule.bpmn", "subprocess/PrepareUpdateAAIVfModule.bpmn", "subprocess/UpdateAAIVfModule.bpmn", @@ -114,7 +127,7 @@ public class DeleteVfModuleInfraTest extends WorkflowTest { "subprocess/CompleteMsoProcess.bpmn", "subprocess/FalloutHandler.bpmn" }) - @Ignore + public void TestDeleteVfModuleSuccess() throws Exception { // delete the Base Module // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c721, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a73 @@ -155,7 +168,10 @@ public class DeleteVfModuleInfraTest extends WorkflowTest { .withHeader("Content-Type", "text/xml") .withBodyFile("DeleteGenericVNFV1/sdncAdapterResponse.xml"))); - mockVNFDelete(".*", "/.*", 202); + //mockVNFDelete("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73", 202); + MockDoDeleteVfModule_DeleteVNFSuccess(); + MockPatchVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); + // MockVNFAdapterRestVfModule(); // MockAAIGenericVnfSearch(); // MockAAIVfModulePUT(false); // MockAAIDeleteGenericVnf(); @@ -519,7 +535,7 @@ public class DeleteVfModuleInfraTest extends WorkflowTest { String businessKey = UUID.randomUUID().toString(); String deleteVfModuleRequest = FileUtil.readResourceFile("__files/DeleteVfModule_VID_request.json"); - //Map variables = new HashMap(); + //Map variables = new HashMap<>(); //variables.put("isDebugLogEnabled","true"); // variables.put("mso-request-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); @@ -575,5 +591,15 @@ public class DeleteVfModuleInfraTest extends WorkflowTest { } - + public static void MockDoDeleteVfModule_DeleteVNFSuccess() { + stubFor(delete(urlMatching("/vnfs/v1/vnfs/.*/vf-modules/.*")) + .willReturn(aResponse() + .withStatus(202) + .withHeader("Content-Type", "application/xml"))); + stubFor(delete(urlMatching("/vnfs/v1/volume-groups/78987")) + .willReturn(aResponse() + .withStatus(202) + .withHeader("Content-Type", "application/xml"))); + } + } diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateSIRollbackTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateSIRollbackTest.java index 16433caa4c..8a6c61c89c 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateSIRollbackTest.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateSIRollbackTest.java @@ -136,12 +136,12 @@ public class DoCreateSIRollbackTest extends WorkflowTest { "" + EOL + "" + EOL + "123456789" + EOL + - "" + EOL + + "" + EOL + "" + EOL + "" + EOL + "" + EOL + "" + EOL + - "" + EOL + + "" + EOL + "MIS%252F1604%252F0026%252FSW_INTERNET" + EOL + "" + EOL + "SDN-ETHERNET-INTERNET" + EOL + @@ -174,12 +174,12 @@ public class DoCreateSIRollbackTest extends WorkflowTest { "" + EOL + "" + EOL + "123456789" + EOL + - "" + EOL + + "" + EOL + "" + EOL + "" + EOL + "" + EOL + "" + EOL + - "" + EOL + + "" + EOL + "MIS%252F1604%252F0026%252FSW_INTERNET" + EOL + "" + EOL + "SDN-ETHERNET-INTERNET" + EOL + diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstanceTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstanceTest.java index f6c5d904bd..4619d33ac5 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstanceTest.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstanceTest.java @@ -28,6 +28,7 @@ import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockNodeQueryServiceIn import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPutServiceInstance; import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.mockUpdateRequestDB; import static org.openecomp.mso.bpmn.mock.StubResponseSDNCAdapter.mockSDNCAdapter; +import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.MockGetServiceResourcesCatalogData; import java.io.IOException; import java.util.HashMap; @@ -36,9 +37,11 @@ import java.util.UUID; import org.camunda.bpm.engine.test.Deployment; import org.junit.Assert; +import org.junit.Ignore; import org.junit.Test; import org.openecomp.mso.bpmn.common.BPMNUtil; import org.openecomp.mso.bpmn.common.WorkflowTest; +import org.openecomp.mso.bpmn.mock.FileUtil; /** * Unit test cases for DoCreateServiceInstance.bpmn @@ -51,7 +54,9 @@ public class DoCreateServiceInstanceTest extends WorkflowTest { " ((REQUEST-ID))" + EOL + " Y" + EOL + "" + EOL; - + private final String input = FileUtil.readResourceFile("__files/CreateServiceInstance/DoCreateServiceInstanceInput.json"); + + public DoCreateServiceInstanceTest() throws IOException { callbacks.put("assign", sdncAdapterCallback); } @@ -61,8 +66,8 @@ public class DoCreateServiceInstanceTest extends WorkflowTest { * * @throws Exception */ - //@Ignore // File not found - unable to run the test. Also, Stubs need updating.. @Test + @Ignore // 1802 merge @Deployment(resources = { "subprocess/DoCreateServiceInstance.bpmn", "subprocess/SDNCAdapterV1.bpmn", @@ -88,6 +93,9 @@ public class DoCreateServiceInstanceTest extends WorkflowTest { mockSDNCAdapter(200); //DB mockUpdateRequestDB(200, "DBUpdateResponse.xml"); + //Catalog DB + MockGetServiceResourcesCatalogData("uuid-miu-svc-011-abcdef","InfrastructureFlows/DoCreateServiceInstance_request.json"); + String businessKey = UUID.randomUUID().toString(); Map variables = new HashMap<>(); @@ -109,10 +117,14 @@ public class DoCreateServiceInstanceTest extends WorkflowTest { variables.put("isDebugLogEnabled", "true"); variables.put("msoRequestId", "RaaDSITestRequestId-1"); variables.put("serviceInstanceId","RaaTest-si-id"); - variables.put("serviceModelInfo", "{\"modelType\":\"service\",\"modelInvariantUuid\":\"uuid-miu-svc-011-abcdef\",\"modelVersionUuid\":\"ASDC_TOSCA_UUID\",\"modelName\":\"SIModelName1\",\"modelVersion\":\"2\"}"); + variables.put("serviceModelInfo", "{\"modelType\":\"service\",\"modelInvariantUuid\":\"uuid-miu-svc-011-abcdef\",\"modelVersionUuid\":\"ASDC_TOSCA_UUID\",\"modelName\":\"SIModelName1\",\"modelVersion\":\"2\",\"projectName\":\"proj123\",\"owningEntityId\":\"id123\",\"owningEntityName\":\"name123\"}"); variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"); variables.put("globalSubscriberId", "MCBH-1610"); variables.put("subscriptionServiceType", "viprsvc"); variables.put("instanceName", "RAATest-1"); + variables.put("serviceInstanceName", "RAT-123"); + variables.put("sdncVersion", "1611"); + variables.put("serviceType", "PORT-MIRROR"); + variables.put("requestJson", input); } } \ No newline at end of file diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstanceV2Test.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstanceV2Test.java new file mode 100644 index 0000000000..a61c8298bc --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstanceV2Test.java @@ -0,0 +1,109 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.mso.bpmn.infrastructure; + +import static org.junit.Assert.assertEquals; +import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.MockGetServiceResourcesCatalogData; +import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.mockUpdateRequestDB; +import static org.openecomp.mso.bpmn.mock.StubResponseSDNCAdapter.mockSDNCAdapter; + +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; + +import org.camunda.bpm.engine.test.Deployment; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; +import org.openecomp.mso.bpmn.common.BPMNUtil; +import org.openecomp.mso.bpmn.common.WorkflowTest; +import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition; +import org.openecomp.mso.bpmn.mock.FileUtil; +/** + * Unit test cases for DoCreateServiceInstanceV2.bpmn + */ +public class DoCreateServiceInstanceV2Test extends WorkflowTest { + + private final String input = FileUtil.readResourceFile("__files/CreateServiceInstance/DoCreateServiceInstanceInput.json"); + ServiceDecomposition serviceDecomposition = new ServiceDecomposition("{\"serviceResources\":{\"project\": {\"projectName\": \"projectName\"},\"owningEntity\": {\"owningEntityId\": \"id123\",\"owningEntityName\": \"name123\"}}}","abc123"); + + public DoCreateServiceInstanceV2Test() throws IOException { + + + } + + /** + * Sunny day VID scenario. + * + * @throws Exception + */ + @Ignore // 1802 merge + @Test + @Deployment(resources = { + "subprocess/DoCreateServiceInstanceV2.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/CompleteMsoProcess.bpmn", + "subprocess/DoCreateServiceInstanceRollback.bpmn", + "subprocess/DoCreateServiceInstanceRollbackV2.bpmn", + "subprocess/FalloutHandler.bpmn" }) + + public void sunnyDay() throws Exception { + + logStart(); + + //SDNC + mockSDNCAdapter(200); + //DB + mockUpdateRequestDB(200, "DBUpdateResponse.xml"); + //Catalog DB + MockGetServiceResourcesCatalogData("uuid-miu-svc-011-abcdef","InfrastructureFlows/DoCreateServiceInstance_request.json"); + + String businessKey = UUID.randomUUID().toString(); + + Map variables = new HashMap(); + setupVariables(variables); + invokeSubProcess("DoCreateServiceInstanceV2", businessKey, variables); + waitForProcessEnd(businessKey, 10000); + Assert.assertTrue(isProcessEnded(businessKey)); + String workflowException = BPMNUtil.getVariable(processEngineRule, "DoCreateServiceInstanceV2", "WorkflowException"); + System.out.println("workflowException:\n" + workflowException); + assertEquals(null, workflowException); + + logEnd(); + } + + // Success Scenario + private void setupVariables(Map variables) { + variables.put("isDebugLogEnabled", "true"); + variables.put("msoRequestId", "RaaDSITestRequestId-1"); + variables.put("serviceInstanceId","RaaTest-si-id"); + //variables.put("serviceModelInfo", "{\"modelType\":\"service\",\"modelInvariantUuid\":\"uuid-miu-svc-011-abcdef\",\"modelVersionUuid\":\"ASDC_TOSCA_UUID\",\"modelName\":\"SIModelName1\",\"modelVersion\":\"2\",\"projectName\":\"proj123\",\"owningEntityId\":\"id123\",\"owningEntityName\":\"name123\"}"); + variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"); + variables.put("globalSubscriberId", "MCBH-1610"); + variables.put("subscriptionServiceType", "viprsvc"); + variables.put("serviceInstanceName", "RAT-123"); + variables.put("sdncVersion", "1611"); + variables.put("serviceModelInfo", input); + variables.put("serviceDecomposition", serviceDecomposition); + variables.put("serviceType", "12e"); + } +} \ No newline at end of file diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstanceV3Test.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstanceV3Test.java new file mode 100644 index 0000000000..88a329b027 --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstanceV3Test.java @@ -0,0 +1,70 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.mso.bpmn.infrastructure; + +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; + +import org.camunda.bpm.engine.test.Deployment; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; +import org.openecomp.mso.bpmn.common.WorkflowTest; +import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition; +import org.openecomp.mso.bpmn.core.json.JsonDecomposingException; + +/** + * Unit test cases for DoCreateServiceInstanceV3.bpmn + */ +public class DoCreateServiceInstanceV3Test extends WorkflowTest { + + public DoCreateServiceInstanceV3Test() throws IOException { + + } + + @Test + @Deployment(resources = { "subprocess/DoCreateServiceInstanceV3.bpmn", + "subprocess/DoCreateServiceInstanceV3Rollback.bpmn" + }) + @Ignore // 1802 merge + public void sunnyDay() throws Exception { + logStart(); + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap(); + setupVariables(variables); + invokeSubProcess("DoCreateServiceInstanceV3", businessKey, variables); + waitForProcessEnd(businessKey, 10000); + Assert.assertTrue(isProcessEnded(businessKey)); + logEnd(); + } + + // Success Scenario + private void setupVariables(Map variables) throws JsonDecomposingException { + variables.put("abc", "thevalueisabc"); + variables.put("mso-request-id", "213"); + ServiceDecomposition serviceDecomp = new ServiceDecomposition("{\"serviceResources\":{}}", "123"); + serviceDecomp.setServiceType("PORT-MIRRO"); + serviceDecomp.setSdncVersion("1610"); + variables.put("serviceDecomposition", serviceDecomp); + } +} \ No newline at end of file diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateVfModuleTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateVfModuleTest.java index d62c7598cb..490d31023b 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateVfModuleTest.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateVfModuleTest.java @@ -25,11 +25,14 @@ import static org.openecomp.mso.bpmn.common.BPMNUtil.getRawVariable; import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockAAIVfModule; import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfByIdWithDepth; import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfByIdWithPriority; +import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetVfModuleByName; import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPatchGenericVnf; import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPatchVfModuleId; import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPutGenericVnf; import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPutNetwork; import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPutVfModuleIdNoResponse; +import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.MockGetServiceResourcesCatalogData; +import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.MockGetVnfCatalogDataCustomizationUuid; import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.mockUpdateRequestDB; import static org.openecomp.mso.bpmn.mock.StubResponseSDNCAdapter.mockSDNCAdapter; import static org.openecomp.mso.bpmn.mock.StubResponseVNFAdapter.mockVNFPost; @@ -96,6 +99,8 @@ public class DoCreateVfModuleTest extends WorkflowTest { mockSDNCAdapter("VfModularity/StandardSDNCSynchResponse.xml"); mockVNFPost("", 202, "skask"); mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + //Catalog DB + MockGetServiceResourcesCatalogData("aa5256d2-5a33-55df-13ab-12abad84e7ff","InfrastructureFlows/DoCreateServiceInstance_request.json"); String businessKey = UUID.randomUUID().toString(); //RuntimeService runtimeService = processEngineRule.getRuntimeService(); @@ -149,6 +154,9 @@ public class DoCreateVfModuleTest extends WorkflowTest { mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); MockPatchGenericVnf("skask"); MockPatchVfModuleId("skask", ".*"); + //Catalog DB + MockGetServiceResourcesCatalogData("aa5256d2-5a33-55df-13ab-12abad84e7ff","InfrastructureFlows/DoCreateServiceInstance_request.json"); + String businessKey = UUID.randomUUID().toString(); //RuntimeService runtimeService = processEngineRule.getRuntimeService(); @@ -205,6 +213,8 @@ public class DoCreateVfModuleTest extends WorkflowTest { mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); MockPatchGenericVnf("skask"); MockPatchVfModuleId("skask", ".*"); + //Catalog DB + MockGetServiceResourcesCatalogData("aa5256d2-5a33-55df-13ab-12abad84e7ff","InfrastructureFlows/DoCreateServiceInstance_request.json"); String businessKey = UUID.randomUUID().toString(); //RuntimeService runtimeService = processEngineRule.getRuntimeService(); @@ -228,6 +238,177 @@ public class DoCreateVfModuleTest extends WorkflowTest { logEnd(); } + /** + * Test the sunny day scenario for the aLaCarte request with no multiStageDesign + */ + @Test + + @Deployment(resources = { + "subprocess/DoCreateVfModule.bpmn", + "subprocess/GenericGetVnf.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/VnfAdapterRestV1.bpmn", + "subprocess/ConfirmVolumeGroupTenant.bpmn", + "subprocess/ConfirmVolumeGroupName.bpmn", + "subprocess/CreateAAIVfModule.bpmn", + "subprocess/UpdateAAIVfModule.bpmn", + "subprocess/CreateAAIVfModuleVolumeGroup.bpmn", + "subprocess/UpdateAAIGenericVnf.bpmn" + }) + public void sunnyDay_aLaCarte_noMultistage() throws IOException { + + logStart(); + + MockGetGenericVnfByIdWithPriority("skask", ".*", 200, "VfModularity/VfModule-new.xml", 5); + MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml"); + MockPutVfModuleIdNoResponse("skask", "PCRF", ".*"); + MockPutNetwork(".*", "VfModularity/AddNetworkPolicy_AAIResponse_Success.xml", 200); + MockPutGenericVnf("skask"); + mockSDNCAdapter("/SDNCAdapter", "vnf-type>STMTN", 200, "VfModularity/StandardSDNCSynchResponse.xml"); + mockSDNCAdapter("/SDNCAdapter", "SvcAction>query", 200, "VfModularity/StandardSDNCSynchResponse.xml"); + mockVNFPost("", 202, "skask"); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + MockPatchGenericVnf("skask"); + MockPatchVfModuleId("skask", ".*"); + //Catalog DB + MockGetServiceResourcesCatalogData("aa5256d2-5a33-55df-13ab-12abad84e7ff","InfrastructureFlows/DoCreateServiceInstance_request.json"); + MockGetVnfCatalogDataCustomizationUuid("VNF-MODEL-123", "VIPR/getCatalogVnfNoTwoPhasedForVfModule.json"); + + String businessKey = UUID.randomUUID().toString(); + //RuntimeService runtimeService = processEngineRule.getRuntimeService(); + + Map variables = setupVariablesSunnyDayBuildingBlocks(); + variables.put("sdncVersion", "1702"); + variables.put("aLaCarte", true); + //runtimeService.startProcessInstanceByKey("DoCreateVfModule", variables); + invokeSubProcess("DoCreateVfModule", businessKey, variables); + + + injectSDNCCallbacks(callbacks, "assign, queryModule"); + injectVNFRestCallbacks(callbacks, "vnfCreate"); + injectSDNCCallbacks(callbacks, "activate"); + + waitForProcessEnd(businessKey, 10000); + + Assert.assertTrue(isProcessEnded(businessKey)); + Assert.assertTrue((boolean) getRawVariable(processEngineRule, "DoCreateVfModule", "DCVFM_SuccessIndicator")); + + logEnd(); + } + + /** + * Test the sunny day scenario for the first stage of multistage design. + */ + @Test + + @Deployment(resources = { + "subprocess/DoCreateVfModule.bpmn", + "subprocess/GenericGetVnf.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/VnfAdapterRestV1.bpmn", + "subprocess/ConfirmVolumeGroupTenant.bpmn", + "subprocess/ConfirmVolumeGroupName.bpmn", + "subprocess/CreateAAIVfModule.bpmn", + "subprocess/UpdateAAIVfModule.bpmn", + "subprocess/CreateAAIVfModuleVolumeGroup.bpmn", + "subprocess/UpdateAAIGenericVnf.bpmn" + }) + public void sunnyDay_1st_of_multistage() throws IOException { + + logStart(); + + MockGetGenericVnfByIdWithPriority("skask", ".*", 200, "VfModularity/VfModule-new.xml", 5); + MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml"); + MockPutVfModuleIdNoResponse("skask", "PCRF", ".*"); + MockPutNetwork(".*", "VfModularity/AddNetworkPolicy_AAIResponse_Success.xml", 200); + MockPutGenericVnf("skask"); + mockSDNCAdapter("/SDNCAdapter", "vnf-type>STMTN", 200, "VfModularity/StandardSDNCSynchResponse.xml"); + mockSDNCAdapter("/SDNCAdapter", "SvcAction>query", 200, "VfModularity/StandardSDNCSynchResponse.xml"); + mockVNFPost("", 202, "skask"); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + MockPatchGenericVnf("skask"); + MockPatchVfModuleId("skask", ".*"); + //Catalog DB + MockGetServiceResourcesCatalogData("aa5256d2-5a33-55df-13ab-12abad84e7ff","InfrastructureFlows/DoCreateServiceInstance_request.json"); + MockGetVnfCatalogDataCustomizationUuid("VNF-MODEL-123", "VIPR/getCatalogVnfYesTwoPhasedForVfModule.json"); + + String businessKey = UUID.randomUUID().toString(); + //RuntimeService runtimeService = processEngineRule.getRuntimeService(); + + Map variables = setupVariablesSunnyDayBuildingBlocks(); + variables.put("sdncVersion", "1702"); + variables.put("aLaCarte", true); + //runtimeService.startProcessInstanceByKey("DoCreateVfModule", variables); + invokeSubProcess("DoCreateVfModule", businessKey, variables); + + injectSDNCCallbacks(callbacks, "assign"); + + waitForProcessEnd(businessKey, 10000); + + Assert.assertTrue(isProcessEnded(businessKey)); + Assert.assertTrue((boolean) getRawVariable(processEngineRule, "DoCreateVfModule", "DCVFM_SuccessIndicator")); + + logEnd(); + } + + /** + * Test the sunny day scenario for the second stage of multiStageDesign + */ + @Test + + @Deployment(resources = { + "subprocess/DoCreateVfModule.bpmn", + "subprocess/GenericGetVnf.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/VnfAdapterRestV1.bpmn", + "subprocess/ConfirmVolumeGroupTenant.bpmn", + "subprocess/ConfirmVolumeGroupName.bpmn", + "subprocess/CreateAAIVfModule.bpmn", + "subprocess/UpdateAAIVfModule.bpmn", + "subprocess/CreateAAIVfModuleVolumeGroup.bpmn", + "subprocess/UpdateAAIGenericVnf.bpmn" + }) + public void sunnyDay_2nd_of_multistage() throws IOException { + + logStart(); + + MockGetGenericVnfByIdWithPriority("skask", ".*", 200, "VfModularity/VfModule-new.xml", 5); + MockGetVfModuleByName("skask", "PCRF%3A%3Amodule-0-2","VfModularity/VfModule-new-PendingActivation.xml", 200); + MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml"); + MockPutVfModuleIdNoResponse("skask", "PCRF", ".*"); + MockPutNetwork(".*", "VfModularity/AddNetworkPolicy_AAIResponse_Success.xml", 200); + MockPutGenericVnf("skask"); + mockSDNCAdapter("/SDNCAdapter", "vnf-type>STMTN", 200, "VfModularity/StandardSDNCSynchResponse.xml"); + mockSDNCAdapter("/SDNCAdapter", "SvcAction>query", 200, "VfModularity/StandardSDNCSynchResponse.xml"); + mockVNFPost("", 202, "skask"); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + MockPatchGenericVnf("skask"); + MockPatchVfModuleId("skask", ".*"); + //Catalog DB + MockGetServiceResourcesCatalogData("aa5256d2-5a33-55df-13ab-12abad84e7ff","InfrastructureFlows/DoCreateServiceInstance_request.json"); + + + String businessKey = UUID.randomUUID().toString(); + //RuntimeService runtimeService = processEngineRule.getRuntimeService(); + + Map variables = setupVariablesSunnyDayBuildingBlocks(); + variables.put("sdncVersion", "1702"); + variables.put("aLaCarte", true); + //runtimeService.startProcessInstanceByKey("DoCreateVfModule", variables); + invokeSubProcess("DoCreateVfModule", businessKey, variables); + + injectSDNCCallbacks(callbacks, "queryModule"); + injectVNFRestCallbacks(callbacks, "vnfCreate"); + injectSDNCCallbacks(callbacks, "activate"); + + waitForProcessEnd(businessKey, 10000); + + Assert.assertTrue(isProcessEnded(businessKey)); + Assert.assertTrue((boolean) getRawVariable(processEngineRule, "DoCreateVfModule", "DCVFM_SuccessIndicator")); + + logEnd(); + } + private Map setupVariablesSunnyDayBuildingBlocks() { Map variables = new HashMap<>(); @@ -293,4 +474,4 @@ public class DoCreateVfModuleTest extends WorkflowTest { return variables; } -} \ No newline at end of file +} diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateVnfAndModulesTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateVnfAndModulesTest.java index c8f97cac04..dc0af4186e 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateVnfAndModulesTest.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateVnfAndModulesTest.java @@ -78,7 +78,7 @@ public class DoCreateVnfAndModulesTest extends WorkflowTest { } @Test - @Ignore // IGNORED FOR 1710 MERGE TO ONAP + @Deployment(resources = {"subprocess/GenericGetService.bpmn", "subprocess/GenericGetVnf.bpmn", "subprocess/GenericPutVnf.bpmn", @@ -133,7 +133,7 @@ public class DoCreateVnfAndModulesTest extends WorkflowTest { } @Test - @Ignore // IGNORED FOR 1710 MERGE TO ONAP + @Deployment(resources = {"subprocess/GenericGetService.bpmn", "subprocess/GenericGetVnf.bpmn", "subprocess/GenericPutVnf.bpmn", diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateVnfTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateVnfTest.java index 90d562e101..7537ffa4c0 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateVnfTest.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateVnfTest.java @@ -42,6 +42,7 @@ import org.junit.Test; import org.openecomp.mso.bpmn.common.BPMNUtil; import org.openecomp.mso.bpmn.common.WorkflowTest; import org.openecomp.mso.bpmn.common.WorkflowTest.CallbackSet; +import org.openecomp.mso.bpmn.core.domain.VnfResource; import org.openecomp.mso.bpmn.mock.FileUtil; /** @@ -123,6 +124,8 @@ public class DoCreateVnfTest extends WorkflowTest { "}"; variables.put("serviceModelInfo", serviceModelInfo); variables.put("globalSubscriberId", "MSO-1610"); + VnfResource vnfResource = new VnfResource(); + variables.put("vnfResourceDecomposition", vnfResource); } } diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoDeleteVfModuleTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoDeleteVfModuleTest.java index 578fda3910..8f5f63d4c4 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoDeleteVfModuleTest.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoDeleteVfModuleTest.java @@ -128,7 +128,7 @@ public class DoDeleteVfModuleTest extends WorkflowTest { MockPatchVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); + Map variables = new HashMap<>(); variables.put("isDebugLogEnabled","true"); variables.put("mso-request-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); variables.put("mso-service-instance-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); @@ -173,7 +173,7 @@ public class DoDeleteVfModuleTest extends WorkflowTest { MockPatchVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); + Map variables = new HashMap<>(); variables.put("mso-request-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); variables.put("requestId", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); @@ -217,6 +217,73 @@ public class DoDeleteVfModuleTest extends WorkflowTest { } logEnd(); } + + @Test + @Deployment(resources = { + "subprocess/DoDeleteVfModule.bpmn", + "subprocess/PrepareUpdateAAIVfModule.bpmn", + "subprocess/UpdateAAIVfModule.bpmn", + "subprocess/UpdateAAIGenericVnf.bpmn", + "subprocess/DeleteAAIVfModule.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/VnfAdapterRestV1.bpmn" + }) + public void TestDoDeleteVfModule_Building_Block_ModuleInAssignedState() { + logStart(); + MockDoDeleteVfModule_SDNCSuccess(); + MockDoDeleteVfModule_DeleteVNFSuccess(); + MockAAIGenericVnfSearch(); + MockAAIVfModulePUT(false); + MockAAIDeleteGenericVnf(); + MockAAIDeleteVfModule(); + MockPatchVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + + variables.put("mso-request-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); + variables.put("requestId", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); + variables.put("isDebugLogEnabled","true"); + variables.put("vnfId", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); + variables.put("vfModuleId", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); + variables.put("serviceInstanceId", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); + variables.put("vfModuleName", "STMTN5MMSC21-MMSC::module-0-0"); + variables.put("sdncVersion", "1610"); + variables.put("isVidRequest", "true"); + variables.put("retainResources", false); + variables.put("aLaCarte", true); + String vfModuleModelInfo = "{" + "\"modelType\": \"vnf\"," + + "\"modelInvariantUuid\": \"ff5256d2-5a33-55df-13ab-12abad84e7ff\"," + + "\"modelUuid\": \"fe6478e5-ea33-3346-ac12-ab121484a3fe\"," + + "\"modelName\": \"vSAMP12\"," + + "\"modelVersion\": \"1.0\"," + + "\"modelCustomizationUuid\": \"MODEL-ID-1234\"," + + "}"; + variables.put("vfModuleModelInfo", vfModuleModelInfo); + + String cloudConfiguration = "{" + + "\"lcpCloudRegionId\": \"RDM2WAGPLCP\"," + + "\"tenantId\": \"fba1bd1e195a404cacb9ce17a9b2b421\"" + "}"; + variables.put("cloudConfiguration", cloudConfiguration); + + + invokeSubProcess("DoDeleteVfModule", businessKey, variables); + + // "changedelete" operation not required for deleting a Vf Module +// injectSDNCCallbacks(callbacks, "sdncChangeDelete"); + injectVNFRestCallbacks(callbacks, "vnfDelete"); + waitForRunningProcessCount("vnfAdapterDeleteV1", 0, 120000); + injectSDNCCallbacks(callbacks, "sdncDelete"); + + waitForProcessEnd(businessKey, 10000); + WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, wfeString); + checkVariable(businessKey, wfeString, null); + if (wfe != null) { + System.out.println("TestDoDeleteVfModule_Building_Block_Success: ErrorCode=" + wfe.getErrorCode() + + ", ErrorMessage=" + wfe.getErrorMessage()); + } + logEnd(); + } @Test @@ -263,7 +330,7 @@ public class DoDeleteVfModuleTest extends WorkflowTest { MockPatchVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); + Map variables = new HashMap<>(); variables.put("isDebugLogEnabled","true"); variables.put("mso-request-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); variables.put("mso-service-instance-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); @@ -334,7 +401,7 @@ public class DoDeleteVfModuleTest extends WorkflowTest { MockPatchVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); + Map variables = new HashMap<>(); variables.put("isDebugLogEnabled","true"); variables.put("mso-request-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); variables.put("mso-service-instance-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); @@ -405,7 +472,7 @@ public class DoDeleteVfModuleTest extends WorkflowTest { MockPatchVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); + Map variables = new HashMap<>(); variables.put("isDebugLogEnabled","true"); variables.put("mso-request-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); variables.put("mso-service-instance-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); @@ -475,7 +542,7 @@ public class DoDeleteVfModuleTest extends WorkflowTest { MockPatchVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); + Map variables = new HashMap<>(); variables.put("isDebugLogEnabled","true"); variables.put("mso-request-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); variables.put("mso-service-instance-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoDeleteVnfAndModulesTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoDeleteVnfAndModulesTest.java index a9dde90327..c53beb1446 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoDeleteVnfAndModulesTest.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoDeleteVnfAndModulesTest.java @@ -24,14 +24,18 @@ import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; import static com.github.tomakehurst.wiremock.client.WireMock.containing; import static com.github.tomakehurst.wiremock.client.WireMock.delete; import static com.github.tomakehurst.wiremock.client.WireMock.post; +import static com.github.tomakehurst.wiremock.client.WireMock.put; import static com.github.tomakehurst.wiremock.client.WireMock.stubFor; import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo; import static com.github.tomakehurst.wiremock.client.WireMock.urlMatching; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotEquals; +import static org.openecomp.mso.bpmn.common.DeleteAAIVfModuleTest.MockAAIDeleteGenericVnf; import static org.openecomp.mso.bpmn.common.DeleteAAIVfModuleTest.MockAAIDeleteVfModule; import static org.openecomp.mso.bpmn.common.DeleteAAIVfModuleTest.MockAAIGenericVnfSearch; import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockDeleteGenericVnf; import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfById; +import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPatchVfModuleId; import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.mockUpdateRequestDB; import static org.openecomp.mso.bpmn.mock.StubResponseSDNCAdapter.mockSDNCAdapter; @@ -47,6 +51,10 @@ import org.junit.Test; import org.openecomp.mso.bpmn.common.BPMNUtil; import org.openecomp.mso.bpmn.common.WorkflowTest; import org.openecomp.mso.bpmn.mock.FileUtil; +import org.openecomp.mso.bpmn.core.domain.ModelInfo; +import org.openecomp.mso.bpmn.core.domain.ModuleResource; +import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition; +import org.openecomp.mso.bpmn.core.domain.VnfResource; public class DoDeleteVnfAndModulesTest extends WorkflowTest { private final CallbackSet callbacks = new CallbackSet(); @@ -58,6 +66,11 @@ public class DoDeleteVnfAndModulesTest extends WorkflowTest { " true" + EOL + " {{MESSAGE-ID}}" + EOL + "" + EOL; + private final String sdncAdapterDeleteCallback = + "" + EOL + + " {{REQUEST-ID}}" + EOL + + " Y" + EOL + + "" + EOL; public DoDeleteVnfAndModulesTest () throws IOException { callbacks.put("deactivate", FileUtil.readResourceFile( @@ -65,6 +78,7 @@ public class DoDeleteVnfAndModulesTest extends WorkflowTest { callbacks.put("unassign", FileUtil.readResourceFile( "__files/VfModularity/SDNCTopologyActivateCallback.xml")); callbacks.put("vnfDelete", vnfAdapterDeleteCallback); + callbacks.put("sdncDelete", sdncAdapterDeleteCallback); } @@ -178,8 +192,136 @@ public class DoDeleteVnfAndModulesTest extends WorkflowTest { variables.put("sdncVersion", "1707"); + + ServiceDecomposition sd = new ServiceDecomposition(); + ModelInfo serviceModel = new ModelInfo(); + serviceModel.setModelName("servicewithVNFs"); + sd.setModelInfo(serviceModel); + VnfResource vr = new VnfResource(); + ModelInfo mvr = new ModelInfo(); + mvr.setModelName("vSAMP12"); + mvr.setModelInstanceName("v123"); + mvr.setModelInvariantUuid(""); + mvr.setModelVersion("1.0"); + mvr.setModelCustomizationUuid("MODEL-ID-1234"); + vr.setModelInfo(mvr); + vr.constructVnfType("vnf1"); + vr.setNfType("somenftype"); + vr.setNfRole("somenfrole"); + vr.setNfFunction("somenffunction"); + vr.setNfNamingCode("somenamingcode"); + ModuleResource mr = new ModuleResource(); + ModelInfo mvmr = new ModelInfo(); + mvmr.setModelInvariantUuid("ff5256d2-5a33-55df-13ab-12abad84e7ff"); + mvmr.setModelName("STMTN5MMSC21-MMSC::model-1-0"); + mvmr.setModelUuid("1.0"); + mvmr.setModelCustomizationUuid("MODEL-123"); + mr.setModelInfo(mvmr); + mr.setIsBase(true); + mr.setVfModuleLabel("MODULELABEL"); + vr.addVfModule(mr); + sd.addVnfResource(vr); + variables.put("serviceDecomposition", sd); + + } + + @Test + @Deployment(resources = {"subprocess/DoDeleteVnfAndModules.bpmn", "subprocess/SDNCAdapterV1.bpmn", "subprocess/GenericGetVnf.bpmn", "subprocess/GenericDeleteVnf.bpmn", "subprocess/DoDeleteVnf.bpmn", "subprocess/DoDeleteVfModule.bpmn", "subprocess/UpdateAAIVfModule.bpmn", "subprocess/PrepareUpdateAAIVfModule.bpmn", "subprocess/DoDeleteVfModuleFromVnf.bpmn", "subprocess/VnfAdapterRestV1.bpmn", "subprocess/DeleteAAIVfModule.bpmn"}) + public void testDoDeleteVnfAndModulesDirectDelete_successVnfAndModules() throws Exception{ + MockDoDeleteVfModule_SDNCSuccess(); + MockDoDeleteVfModule_DeleteVNFSuccess(); + mockSDNCAdapter(200); + MockAAIGenericVnfSearch(); + MockAAIVfModulePUT(false); + MockAAIDeleteGenericVnf(); + MockAAIDeleteVfModule(); + MockPatchVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariablesVnfAndModulesDirectDelete(variables); + invokeSubProcess("DoDeleteVnfAndModules", businessKey, variables); + + injectVNFRestCallbacks(callbacks, "vnfDelete"); + injectSDNCCallbacks(callbacks, "sdncDelete"); + MockGetGenericVnfById("a27ce5a9-29c4-4c22-a017-6615ac73c721", "GenericFlows/getGenericVnfByNameResponse.xml"); + + waitForProcessEnd(businessKey, 10000); + + Assert.assertTrue(isProcessEnded(businessKey)); + + String workflowException = BPMNUtil.getVariable(processEngineRule, "DoDeleteVnfAndModules", "WorkflowException"); + + // WorkflowException is expected here, since empty VNF cannot be simulated here + assertNotEquals(null, workflowException); + } + + + private void setVariablesVnfAndModulesDirectDelete(Map variables) { + variables.put("mso-request-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); + variables.put("isDebugLogEnabled", "true"); + variables.put("vnfId","a27ce5a9-29c4-4c22-a017-6615ac73c721"); + variables.put("serviceInstanceId", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); + + variables.put("msoRequestId", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); + //variables.put("testVnfId","testVnfId123"); + + variables.put("lcpCloudRegionId", "RDM2WAGPLCP"); + variables.put("tenantId", "fba1bd1e195a404cacb9ce17a9b2b421"); + + variables.put("sdncVersion", "1702"); + + + ServiceDecomposition sd = new ServiceDecomposition(); + ModelInfo serviceModel = new ModelInfo(); + serviceModel.setModelName("servicewithVNFs"); + sd.setModelInfo(serviceModel); + VnfResource vr = new VnfResource(); + ModelInfo mvr = new ModelInfo(); + mvr.setModelName("vSAMP12"); + mvr.setModelInstanceName("v123"); + mvr.setModelInvariantUuid(""); + mvr.setModelVersion("1.0"); + mvr.setModelCustomizationUuid("MODEL-ID-1234"); + vr.setModelInfo(mvr); + vr.constructVnfType("vnf1"); + vr.setNfType("somenftype"); + vr.setNfRole("somenfrole"); + vr.setNfFunction("somenffunction"); + vr.setNfNamingCode("somenamingcode"); + ModuleResource mr = new ModuleResource(); + ModelInfo mvmr = new ModelInfo(); + mvmr.setModelInvariantUuid("ff5256d2-5a33-55df-13ab-12abad84e7ff"); + mvmr.setModelName("STMTN5MMSC21-MMSC::model-1-0"); + mvmr.setModelUuid("1.0"); + mvmr.setModelCustomizationUuid("MODEL-123"); + mr.setModelInfo(mvmr); + mr.setIsBase(true); + mr.setVfModuleLabel("MODULELABEL"); + vr.addVfModule(mr); + sd.addVnfResource(vr); + variables.put("serviceDecomposition", sd); + } + public static void MockAAIVfModulePUT(boolean isCreate){ + stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/.*/vf-modules/vf-module/.*")) + .withRequestBody(containing("MMSC")) + .willReturn(aResponse() + .withStatus(isCreate ? 201 : 200))); + stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/.*/vf-modules/vf-module/.*")) + .withRequestBody(containing("PCRF")) + .willReturn(aResponse() + .withStatus(500) + .withHeader("Content-Type", "text/xml") + .withBodyFile("aaiFault.xml"))); + stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c721")) + .willReturn(aResponse() + .withStatus(200))); + } + + + public static void MockDoDeleteVfModule_SDNCSuccess() { stubFor(post(urlEqualTo("/SDNCAdapter")) @@ -207,4 +349,4 @@ public class DoDeleteVnfAndModulesTest extends WorkflowTest { .withStatus(202) .withHeader("Content-Type", "application/xml"))); } -} \ No newline at end of file +} diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoUpdateVfModuleTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoUpdateVfModuleTest.java index 9fa93235b7..a955c4eb86 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoUpdateVfModuleTest.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoUpdateVfModuleTest.java @@ -37,6 +37,7 @@ import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPatchGenericVnf; import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPatchVfModuleId; import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPutGenericVnf; import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPutVfModuleIdNoResponse; +import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.MockGetServiceResourcesCatalogData; import static org.openecomp.mso.bpmn.mock.StubResponseSDNCAdapter.mockSDNCAdapter; import static org.openecomp.mso.bpmn.mock.StubResponseVNFAdapter.mockVNFPut; @@ -98,6 +99,8 @@ public class DoUpdateVfModuleTest extends WorkflowTest { mockVNFPut("skask", "/supercool", 202); MockPutGenericVnf("skask"); MockGetGenericVnfByIdWithPriority("skask", "supercool", 200, "VfModularity/VfModule-supercool.xml", 1); + //Catalog DB + MockGetServiceResourcesCatalogData("aa5256d2-5a33-55df-13ab-12abad84e7ff","InfrastructureFlows/DoCreateServiceInstance_request.json"); String businessKey = UUID.randomUUID().toString(); Map variables = new HashMap<>(); @@ -144,6 +147,8 @@ public class DoUpdateVfModuleTest extends WorkflowTest { MockPatchVfModuleId("skask", ".*"); MockSDNCAdapterVfModule(); MockVNFAdapterRestVfModule(); + //Catalog DB + MockGetServiceResourcesCatalogData("aa5256d2-5a33-55df-13ab-12abad84e7ff","InfrastructureFlows/DoCreateServiceInstance_request.json"); String businessKey = UUID.randomUUID().toString(); Map variables = new HashMap<>(); @@ -181,6 +186,14 @@ public class DoUpdateVfModuleTest extends WorkflowTest { "\"modelVersion\": \"1\"," + "\"modelCustomizationUuid\": \"VNF-MODEL-123\"" + "}"; variables.put("vnfModelInfo", vnfModelInfo); + + String serviceModelInfo = "{ "+ "\"modelType\": \"service\"," + + "\"modelInvariantUuid\": \"aa5256d2-5a33-55df-13ab-12abad84e7ff\"," + + "\"modelUuid\": \"bb6478e5-ea33-3346-ac12-ab121484a3fe\"," + + "\"modelName\": \"SVC-STMTN5MMSC21-MMSC::model-1-0\"," + + "\"modelVersion\": \"1\"," + + "}"; + variables.put("serviceModelInfo", serviceModelInfo); invokeSubProcess("DoUpdateVfModule", businessKey, variables); diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoUpdateVnfAndModulesTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoUpdateVnfAndModulesTest.java index 4def56cf6a..2a5a646fb2 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoUpdateVnfAndModulesTest.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoUpdateVnfAndModulesTest.java @@ -153,7 +153,7 @@ public class DoUpdateVnfAndModulesTest extends WorkflowTest { //variables.put("testVnfId","testVnfId123"); variables.put("vnfType", "STMTN"); variables.put("vnfId", "skask"); - variables.put("tenantId", "88a6ca3ee0394ade9403f075db23167e"); + variables.put("tenantId", "fba1bd1e195a404cacb9ce17a9b2b421"); variables.put("lcpCloudRegionId", "mdt1"); String serviceModelInfo = "{ "+ "\"modelType\": \"service\"," + diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/ReplaceVnfInfraTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/ReplaceVnfInfraTest.java index 64852dfb5f..f7cf3f480b 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/ReplaceVnfInfraTest.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/ReplaceVnfInfraTest.java @@ -34,6 +34,7 @@ import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockDBUpdateVfModule; import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockDeleteGenericVnf; import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockDeleteVfModuleId; import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfById; +import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetDefaultCloudRegionByCloudRegionId; import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfByIdWithDepth; import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfByIdWithPriority; import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetServiceInstance; @@ -102,9 +103,10 @@ public class ReplaceVnfInfraTest extends WorkflowTest { * @throws Exception */ @Test - @Ignore + @Ignore // 1802 merge @Deployment(resources = { - "process/ReplaceVnfInfra.bpmn", + "process/ReplaceVnfInfra.bpmn", + "subprocess/RollbackVnf.bpmn", "subprocess/DoDeleteVfModule.bpmn", "subprocess/DoDeleteVnfAndModules.bpmn", "subprocess/DeleteAAIVfModule.bpmn", @@ -133,7 +135,8 @@ public class ReplaceVnfInfraTest extends WorkflowTest { "subprocess/DoCreateVnfAndModulesRollback.bpmn", "subprocess/BuildingBlock/DecomposeService.bpmn", "subprocess/BuildingBlock/RainyDayHandler.bpmn", - "subprocess/BuildingBlock/ManualHandling.bpmn" + "subprocess/BuildingBlock/ManualHandling.bpmn", + "subprocess/BuildingBlock/AppCClient.bpmn" }) public void sunnyDay() throws Exception { @@ -152,19 +155,21 @@ public class ReplaceVnfInfraTest extends WorkflowTest { MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getServiceInstance.xml"); //MockGetGenericVnfById_404("testVnfId"); MockGetServiceResourcesCatalogData("995256d2-5a33-55df-13ab-12abad84e7ff", "1.0", "VIPR/getCatalogServiceResourcesDataForReplaceVnfInfra.json"); + MockGetServiceResourcesCatalogData("995256d2-5a33-55df-13ab-12abad84e7ff", "VIPR/getCatalogServiceResourcesDataForReplaceVnfInfra.json"); //MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml"); //MockPutGenericVnf(".*"); + MockGetDefaultCloudRegionByCloudRegionId("mdt1", "AAI/AAI_defaultCloudRegionByCloudRegionId.json", 200); MockAAIVfModule(); MockPatchGenericVnf("a27ce5a9-29c4-4c22-a017-6615ac73c721"); MockPatchVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", ".*"); - //mockSDNCAdapter("VfModularity/StandardSDNCSynchResponse.xml"); - //mockVNFPut("skask", "/supercool", 202); - //mockVNFPut("skask", "/lukewarm", 202); - //MockVNFAdapterRestVfModule(); - //MockDBUpdateVfModule(); - //MockGetPserverByVnfId("skask", "AAI/AAI_pserverByVnfId.json", 200); - //MockGetGenericVnfsByVnfId("skask", "AAI/AAI_genericVnfsByVnfId.json", 200); - MockSetInMaintFlagByVnfId("skask", 200); + mockSDNCAdapter("VfModularity/StandardSDNCSynchResponse.xml"); + mockVNFPut("skask", "/supercool", 202); + mockVNFPut("skask", "/lukewarm", 202); + MockVNFAdapterRestVfModule(); + MockDBUpdateVfModule(); + MockGetPserverByVnfId("skask", "AAI/AAI_pserverByVnfId.json", 200); + MockGetGenericVnfsByVnfId("skask", "AAI/AAI_genericVnfsByVnfId.json", 200); + MockSetInMaintFlagByVnfId("skask", "AAI/AAI_genericVnfsByVnfId.json", 200); MockPolicySkip(); //mockSDNCAdapter("VfModularity/StandardSDNCSynchResponse.xml"); diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/RollbackVnfTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/RollbackVnfTest.java new file mode 100644 index 0000000000..598e783c52 --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/RollbackVnfTest.java @@ -0,0 +1,134 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.mso.bpmn.infrastructure; + +import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; +import static com.github.tomakehurst.wiremock.client.WireMock.get; +import static com.github.tomakehurst.wiremock.client.WireMock.put; +import static com.github.tomakehurst.wiremock.client.WireMock.stubFor; +import static com.github.tomakehurst.wiremock.client.WireMock.urlMatching; +import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo; +import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockAAIVfModule; +import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockDBUpdateVfModule; +import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfByIdWithDepth; +import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfByIdWithPriority; +import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetServiceInstance; +import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockNodeQueryServiceInstanceById; +import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetPserverByVnfId; +import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfsByVnfId; +import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockSetInMaintFlagByVnfId; +import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.MockGetServiceResourcesCatalogData; +import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.mockUpdateRequestDB; +import static org.openecomp.mso.bpmn.mock.StubResponsePolicy.MockPolicySkip; +import static org.openecomp.mso.bpmn.mock.StubResponseAPPC.MockAppcError; + +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; + +import org.camunda.bpm.engine.test.Deployment; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; +import org.openecomp.mso.bpmn.common.WorkflowTest; +import org.openecomp.mso.bpmn.common.workflow.service.WorkflowResponse; +import org.openecomp.mso.bpmn.mock.FileUtil; +import org.openecomp.mso.client.aai.AAIObjectType; +import org.openecomp.mso.client.aai.entities.uri.AAIResourceUri; +import org.openecomp.mso.client.aai.entities.uri.AAIUriFactory; + +/** + * Unit test cases for RollbackVnf.bpmn + */ +public class RollbackVnfTest extends WorkflowTest { + + public RollbackVnfTest() throws IOException { + + } + + /** + * Sunny day scenario. + * + * @throws Exception + */ + @Test + + + @Deployment(resources = { + "subprocess/RollbackVnf.bpmn", + "subprocess/BuildingBlock/AppCClient.bpmn" + + }) + public void sunnyDay() throws Exception { + + //logStart(); + System.setProperty("mso.config.path", "src/test/resources"); + AAIResourceUri path = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, "skask"); + wireMockRule.stubFor(get( + urlPathEqualTo("/aai/v11" + path.build())) + .willReturn( + aResponse() + .withHeader("Content-Type", "application/json") + .withBodyFile("AAI/mockObject.json") + .withStatus(200))); + + + MockNodeQueryServiceInstanceById("MIS%2F1604%2F0026%2FSW_INTERNET", "GenericFlows/getSIUrlByIdVipr.xml"); + MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml"); + MockAAIVfModule(); + MockGetGenericVnfsByVnfId("skask", "AAI/AAI_genericVnfsByVnfId.json", 200); + MockSetInMaintFlagByVnfId("skask", "AAI/AAI_genericVnfsByVnfId.json", 200); + MockAppcError(); + + String businessKey = UUID.randomUUID().toString(); + Map variables = setupVariablesSunnyDayVID(); + + invokeSubProcess("RollbackVnf", businessKey, variables); + + // TODO add appropriate assertions + + waitForProcessEnd(businessKey, 10000); + Assert.assertTrue(isProcessEnded(businessKey)); + // assertVariables("true", "true", "false", "true", "Success", null); + + //logEnd(); + } + + // Active Scenario + private Map setupVariablesSunnyDayVID() { + Map variables = new HashMap(); + + variables.put("msoRequestId", "testRequestId"); + variables.put("isDebugLogEnabled", "true"); + variables.put("vnfId", "skask"); + variables.put("rollbackVnfStop", true); + variables.put("rollbackVnfLock", true); + variables.put("rollbackQuiesceTraffic", false); + variables.put("rollbackSetClosedLoopDisabledFlag", true); + variables.put("rollbackSetVnfInMaintenanceFlag", true); + variables.put("errorCode", "1005"); + + return variables; + + } + +} diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/SetupServiceDecompTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/SetupServiceDecompTest.java new file mode 100644 index 0000000000..264bf6e2be --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/SetupServiceDecompTest.java @@ -0,0 +1,65 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.mso.bpmn.infrastructure; + +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; + +import org.camunda.bpm.engine.test.Deployment; +import org.junit.Test; +import org.openecomp.mso.bpmn.common.WorkflowTest; +import org.openecomp.mso.bpmn.mock.FileUtil; + +public class SetupServiceDecompTest extends WorkflowTest { + + private String input = FileUtil.readResourceFile("__files/CreateServiceInstance/SetupServiceDecompJson.json"); + + public SetupServiceDecompTest() throws IOException { + } + + @Test + @Deployment(resources = { + "subprocess/CreateServiceInstanceV3.bpmn", + "subprocess/CreateServiceInstanceV3Rollback.bpmn", + "subprocess/SetRefactorServiceDecomp.bpmn" + }) + public void sunnyDay() throws Exception { + + logStart(); + + String businessKey = UUID.randomUUID().toString(); + + Map variables = new HashMap(); + setupVariables(variables); + invokeSubProcess("SetRefactorServiceDecomp", businessKey, variables); + waitForProcessEnd(businessKey, 10000); + logEnd(); + } + + // Success Scenario + private void setupVariables(Map variables) { + variables.put("bpmnRequest", input); + variables.put("msoRequestId", "RaaDSITestRequestId-1"); + variables.put("isDebugLogEnabled", "true"); + } +} \ No newline at end of file diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/UpdateNetworkInstanceTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/UpdateNetworkInstanceTest.java index 5b5e4e59d3..7a43bbd771 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/UpdateNetworkInstanceTest.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/UpdateNetworkInstanceTest.java @@ -33,6 +33,7 @@ import java.util.Map; import org.camunda.bpm.engine.test.Deployment; import org.junit.Assert; +import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; @@ -63,7 +64,7 @@ public class UpdateNetworkInstanceTest extends WorkflowTest { */ @Test - //@Ignore + @Ignore // 1802 merge @Deployment(resources = {"process/UpdateNetworkInstance.bpmn", "subprocess/DoUpdateNetworkInstance.bpmn", "subprocess/FalloutHandler.bpmn", @@ -81,8 +82,8 @@ public class UpdateNetworkInstanceTest extends WorkflowTest { mockSDNCAdapterTopology("UpdateNetworkV2mock/sdncUpdateNetworkTopologySimResponse.xml", "SvcAction>changeassign"); MockNetworkAdapterRestPut("UpdateNetworkV2/updateNetworkResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4"); MockGetNetworkCloudRegion("CreateNetworkV2/cloudRegion25_AAIResponse_Success.xml", "RDM2WAGPLCP"); - MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "UpdateNetworkV2/updateNetwork_queryNetworkId_AAIResponse_Success.xml", "1"); - MockPutNetworkIdWithDepth("UpdateNetworkV2/updateNetwork_updateContrail_AAIResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4", "1"); + MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "UpdateNetworkV2/updateNetwork_queryNetworkId_AAIResponse_Success.xml", "all"); + MockPutNetworkIdWithDepth("UpdateNetworkV2/updateNetwork_updateContrail_AAIResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4", "all"); MockGetNetworkVpnBinding("UpdateNetworkV2/updateNetwork_queryVpnBinding_AAIResponse_Success.xml", "85f015d0-2e32-4c30-96d2-87a1a27f8017"); MockGetNetworkVpnBinding("UpdateNetworkV2/updateNetwork_queryVpnBinding_AAIResponse_Success.xml", "c980a6ef-3b88-49f0-9751-dbad8608d0a6"); MockGetNetworkPolicy("UpdateNetworkV2/updateNetwork_queryNetworkPolicy_AAIResponse_Success.xml", "cee6d136-e378-4678-a024-2cd15f0ee0cg"); @@ -113,7 +114,7 @@ public class UpdateNetworkInstanceTest extends WorkflowTest { } @Test - //@Ignore + @Ignore // 1802 merge @Deployment(resources = {"process/UpdateNetworkInstance.bpmn", "subprocess/DoUpdateNetworkInstance.bpmn", "subprocess/FalloutHandler.bpmn", @@ -131,8 +132,8 @@ public class UpdateNetworkInstanceTest extends WorkflowTest { mockSDNCAdapterTopology("UpdateNetworkV2mock/sdncUpdateNetworkTopologySimResponse.xml", "SvcAction>changeassign"); MockNetworkAdapterRestPut("UpdateNetworkV2/updateNetworkResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4"); MockGetNetworkCloudRegion("CreateNetworkV2/cloudRegion25_AAIResponse_Success.xml", "RDM2WAGPLCP"); - MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "UpdateNetworkV2/updateNetwork_queryNetworkId_AAIResponse_Success.xml", "1"); - MockPutNetworkIdWithDepth("UpdateNetworkV2/updateNetwork_updateContrail_AAIResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4", "1"); + MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "UpdateNetworkV2/updateNetwork_queryNetworkId_AAIResponse_Success.xml", "all"); + MockPutNetworkIdWithDepth("UpdateNetworkV2/updateNetwork_updateContrail_AAIResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4", "all"); MockGetNetworkVpnBinding("UpdateNetworkV2/updateNetwork_queryVpnBinding_AAIResponse_Success.xml", "85f015d0-2e32-4c30-96d2-87a1a27f8017"); MockGetNetworkVpnBinding("UpdateNetworkV2/updateNetwork_queryVpnBinding_AAIResponse_Success.xml", "c980a6ef-3b88-49f0-9751-dbad8608d0a6"); MockGetNetworkPolicy("UpdateNetworkV2/updateNetwork_queryNetworkPolicy_AAIResponse_Success.xml", "cee6d136-e378-4678-a024-2cd15f0ee0cg"); diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/UpdateVnfInfraTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/UpdateVnfInfraTest.java index 391fc2308b..36e9f2bfac 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/UpdateVnfInfraTest.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/UpdateVnfInfraTest.java @@ -26,6 +26,7 @@ import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfByIdW import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfByIdWithPriority; import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetServiceInstance; import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockNodeQueryServiceInstanceById; +import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetDefaultCloudRegionByCloudRegionId; import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetPserverByVnfId; import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfsByVnfId; import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPatchGenericVnf; @@ -76,9 +77,10 @@ public class UpdateVnfInfraTest extends WorkflowTest { * @throws Exception */ @Test - @Ignore // IGNORED FOR 1710 MERGE TO ONAP + @Ignore // 1802 merge @Deployment(resources = { - "process/UpdateVnfInfra.bpmn", + "process/UpdateVnfInfra.bpmn", + "subprocess/RollbackVnf.bpmn", "subprocess/DoUpdateVfModule.bpmn", "subprocess/DoUpdateVnfAndModules.bpmn", "subprocess/PrepareUpdateAAIVfModule.bpmn", @@ -91,7 +93,8 @@ public class UpdateVnfInfraTest extends WorkflowTest { "subprocess/FalloutHandler.bpmn", "subprocess/BuildingBlock/DecomposeService.bpmn", "subprocess/BuildingBlock/RainyDayHandler.bpmn", - "subprocess/BuildingBlock/ManualHandling.bpmn" + "subprocess/BuildingBlock/ManualHandling.bpmn", + "subprocess/BuildingBlock/AppCClient.bpmn" }) public void sunnyDay() throws Exception { @@ -102,7 +105,9 @@ public class UpdateVnfInfraTest extends WorkflowTest { MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getServiceInstance.xml"); //MockGetGenericVnfById_404("testVnfId"); MockGetServiceResourcesCatalogData("995256d2-5a33-55df-13ab-12abad84e7ff", "1.0", "VIPR/getCatalogServiceResourcesDataForUpdateVnfInfra.json"); + MockGetServiceResourcesCatalogData("995256d2-5a33-55df-13ab-12abad84e7ff", "VIPR/getCatalogServiceResourcesDataForUpdateVnfInfra.json"); MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml"); + MockGetDefaultCloudRegionByCloudRegionId("mdt1", "AAI/AAI_defaultCloudRegionByCloudRegionId.json", 200); MockPutGenericVnf(".*"); MockAAIVfModule(); MockPatchGenericVnf("skask"); @@ -114,7 +119,7 @@ public class UpdateVnfInfraTest extends WorkflowTest { MockDBUpdateVfModule(); MockGetPserverByVnfId("skask", "AAI/AAI_pserverByVnfId.json", 200); MockGetGenericVnfsByVnfId("skask", "AAI/AAI_genericVnfsByVnfId.json", 200); - MockSetInMaintFlagByVnfId("skask", 200); + MockSetInMaintFlagByVnfId("skask", "AAI/AAI_genericVnfsByVnfId.json", 200); MockPolicySkip(); mockSDNCAdapter("VfModularity/StandardSDNCSynchResponse.xml"); @@ -153,13 +158,7 @@ public class UpdateVnfInfraTest extends WorkflowTest { // Active Scenario private Map setupVariablesSunnyDayVID() { Map variables = new HashMap<>(); - //try { - // variables.put("bpmnRequest", FileUtil.readResourceFile("__files/CreateVfModule_VID_request.json")); - //} - //catch (Exception e) { - - //} - //variables.put("mso-request-id", "testRequestId"); + variables.put("requestId", "testRequestId"); variables.put("isDebugLogEnabled", "true"); variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4"); diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/VnfConfigUpdateTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/VnfConfigUpdateTest.java new file mode 100644 index 0000000000..1a1e37714a --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/VnfConfigUpdateTest.java @@ -0,0 +1,146 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.mso.bpmn.infrastructure; + +import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; +import static com.github.tomakehurst.wiremock.client.WireMock.get; +import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo; +import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockAAIVfModule; +import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockDBUpdateVfModule; +import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfByIdWithDepth; +import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetServiceInstance; +import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockNodeQueryServiceInstanceById; +import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetPserverByVnfId; +import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfsByVnfId; +import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockSetInMaintFlagByVnfId; +import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.MockGetServiceResourcesCatalogData; +import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.mockUpdateRequestDB; +import static org.openecomp.mso.bpmn.mock.StubResponsePolicy.MockPolicySkip; +import static org.openecomp.mso.bpmn.mock.StubResponseAPPC.MockAppcError; + +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; + +import org.camunda.bpm.engine.test.Deployment; +import org.junit.Ignore; +import org.junit.Test; +import org.openecomp.mso.bpmn.common.WorkflowTest; +import org.openecomp.mso.bpmn.common.workflow.service.WorkflowResponse; +import org.openecomp.mso.bpmn.mock.FileUtil; +import org.openecomp.mso.client.aai.AAIObjectType; +import org.openecomp.mso.client.aai.entities.uri.AAIResourceUri; +import org.openecomp.mso.client.aai.entities.uri.AAIUriFactory; + +/** + * Unit test cases for VnfConfigUpdate.bpmn + */ +public class VnfConfigUpdateTest extends WorkflowTest { + + public VnfConfigUpdateTest() throws IOException { + + } + + /** + * Sunny day scenario. + * + * @throws Exception + */ + @Test + @Ignore // 1802 merge + @Deployment(resources = { + "process/VnfConfigUpdate.bpmn", + "subprocess/RollbackVnf.bpmn", + "subprocess/CompleteMsoProcess.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/BuildingBlock/RainyDayHandler.bpmn", + "subprocess/BuildingBlock/ManualHandling.bpmn", + "subprocess/BuildingBlock/AppCClient.bpmn" + + }) + public void sunnyDay() throws Exception { + + logStart(); + + System.setProperty("mso.config.path", "src/test/resources"); + AAIResourceUri path = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, "comx9906v"); + wireMockRule.stubFor(get( + urlPathEqualTo("/aai/v11" + path.build())) + .willReturn( + aResponse() + .withHeader("Content-Type", "application/json") + .withBodyFile("AAI/mockObject.json") + .withStatus(200))); + + + MockNodeQueryServiceInstanceById("MIS%2F1604%2F0026%2FSW_INTERNET", "GenericFlows/getSIUrlByIdVipr.xml"); + MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getServiceInstance.xml"); + //MockGetGenericVnfById_404("testVnfId"); + MockGetGenericVnfByIdWithDepth("comx9906v", 1, "AAI/AAI_genericVnfsByVnfIdVnfConfig.json"); + MockAAIVfModule(); + MockDBUpdateVfModule(); + MockGetPserverByVnfId("comx9906v", "AAI/AAI_pserverByVnfId.json", 200); + MockGetGenericVnfsByVnfId("comx9906v", "AAI/AAI_genericVnfsByVnfIdVnfConfig.json", 200); + MockSetInMaintFlagByVnfId("comx9906v", "AAI/AAI_genericVnfsByVnfIdVnfConfig.json", 200); + MockPolicySkip(); + MockAppcError(); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + String updaetVnfRequest = + FileUtil.readResourceFile("__files/InfrastructureFlows/ConfigVnf_VID_request.json"); + + Map variables = setupVariablesSunnyDayVID(); + + + TestAsyncResponse asyncResponse = invokeAsyncProcess("VnfConfigUpdate", + "v1", businessKey, updaetVnfRequest, variables); + + WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 10000); + + String responseBody = response.getResponse(); + System.out.println("Workflow (Synch) Response:\n" + responseBody); + + // TODO add appropriate assertions + + waitForProcessEnd(businessKey, 1000000); + checkVariable(businessKey, "VnfConfigUpdateSuccessIndicator", true); + + logEnd(); + } + + // Active Scenario + private Map setupVariablesSunnyDayVID() { + Map variables = new HashMap(); + + variables.put("requestId", "testRequestId"); + variables.put("isDebugLogEnabled", "true"); + variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4"); + variables.put("vnfId", "comx9906v"); + variables.put("vnfType", "vSAMP12"); + variables.put("serviceType", "MOG"); + + return variables; + + } + +} diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/VnfInPlaceUpdateTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/VnfInPlaceUpdateTest.java new file mode 100644 index 0000000000..17c48191c3 --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/VnfInPlaceUpdateTest.java @@ -0,0 +1,159 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.mso.bpmn.infrastructure; + +import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; +import static com.github.tomakehurst.wiremock.client.WireMock.get; +import static com.github.tomakehurst.wiremock.client.WireMock.put; +import static com.github.tomakehurst.wiremock.client.WireMock.stubFor; +import static com.github.tomakehurst.wiremock.client.WireMock.urlMatching; +import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo; +import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockAAIVfModule; +import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockDBUpdateVfModule; +import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfByIdWithDepth; +import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfByIdWithPriority; +import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetServiceInstance; +import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockNodeQueryServiceInstanceById; +import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetPserverByVnfId; +import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfsByVnfId; +import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockSetInMaintFlagByVnfId; +import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetDefaultCloudRegionByCloudRegionId; +import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.MockGetServiceResourcesCatalogData; +import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.mockUpdateRequestDB; +import static org.openecomp.mso.bpmn.mock.StubResponsePolicy.MockPolicySkip; +import static org.openecomp.mso.bpmn.mock.StubResponseAPPC.MockAppcError; + +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; + +import org.camunda.bpm.engine.test.Deployment; +import org.junit.Ignore; +import org.junit.Test; +import org.openecomp.mso.bpmn.common.WorkflowTest; +import org.openecomp.mso.bpmn.common.workflow.service.WorkflowResponse; +import org.openecomp.mso.bpmn.mock.FileUtil; +import org.openecomp.mso.client.aai.AAIObjectType; +import org.openecomp.mso.client.aai.entities.uri.AAIResourceUri; +import org.openecomp.mso.client.aai.entities.uri.AAIUriFactory; + +/** + * Unit test cases for VnfInPlaceUpdate.bpmn + */ +public class VnfInPlaceUpdateTest extends WorkflowTest { + + public VnfInPlaceUpdateTest() throws IOException { + + } + + /** + * Sunny day scenario. + * + * @throws Exception + */ + @Test + + + @Deployment(resources = { + "process/VnfInPlaceUpdate.bpmn", + "subprocess/CompleteMsoProcess.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/BuildingBlock/RainyDayHandler.bpmn", + "subprocess/BuildingBlock/ManualHandling.bpmn", + "subprocess/BuildingBlock/AppCClient.bpmn" + + }) + public void sunnyDay() throws Exception { + + logStart(); + System.setProperty("mso.config.path", "src/test/resources"); + AAIResourceUri path = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, "skask"); + wireMockRule.stubFor(get( + urlPathEqualTo("/aai/v11" + path.build())) + .willReturn( + aResponse() + .withHeader("Content-Type", "application/json") + .withBodyFile("AAI/mockObject.json") + .withStatus(200))); + + // + + //AAIResourceUri path1 = AAIUriFactory.createResourceUri(AAIObjectType.CUSTOM_QUERY).queryParam("format", "RESOURCE"); + //wireMockRule.stubFor(put( + // urlMatching("/aai/v10/query/pservers-fromVnf")) + // .willReturn( + // aResponse() + // .withHeader("Content-Type", "application/json") + // .withBodyFile("AAI/AAI_pserversByVnfId.json") + // .withStatus(200))); + + MockNodeQueryServiceInstanceById("MIS%2F1604%2F0026%2FSW_INTERNET", "GenericFlows/getSIUrlByIdVipr.xml"); + MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getServiceInstance.xml"); + //MockGetGenericVnfById_404("testVnfId"); + MockGetGenericVnfByIdWithDepth("skask", 1, "AAI/AAI_genericVnfsByVnfId.json"); + MockAAIVfModule(); + MockDBUpdateVfModule(); + MockGetPserverByVnfId("skask", "AAI/AAI_pserverByVnfId.json", 200); + MockSetInMaintFlagByVnfId("skask", "AAI/AAI_genericVnfsByVnfId.json", 200); + MockGetGenericVnfsByVnfId("skask", "AAI/AAI_genericVnfsByVnfId.json", 200); + MockGetDefaultCloudRegionByCloudRegionId("mdt1", "AAI/AAI_defaultCloudRegionByCloudRegionId.json", 200); + MockPolicySkip(); + MockAppcError(); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + String updaetVnfRequest = + FileUtil.readResourceFile("__files/InfrastructureFlows/VnfInPlaceUpdate_VID_request.json"); + + Map variables = setupVariablesSunnyDayVID(); + + + TestAsyncResponse asyncResponse = invokeAsyncProcess("VnfInPlaceUpdate", + "v1", businessKey, updaetVnfRequest, variables); + + WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 100000); + + String responseBody = response.getResponse(); + System.out.println("Workflow (Synch) Response:\n" + responseBody); + + // TODO add appropriate assertions + + waitForProcessEnd(businessKey, 100000); + checkVariable(businessKey, "VnfInPlaceUpdateSuccessIndicator", true); + + logEnd(); + } + + // Active Scenario + private Map setupVariablesSunnyDayVID() { + Map variables = new HashMap(); + + variables.put("requestId", "testRequestId"); + variables.put("isDebugLogEnabled", "true"); + variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4"); + variables.put("vnfId", "skask"); + + return variables; + + } + +} diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/vcpe/CreateVcpeResCustServiceTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/vcpe/CreateVcpeResCustServiceTest.java index 1b3bfa8c76..d9534f325f 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/vcpe/CreateVcpeResCustServiceTest.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/vcpe/CreateVcpeResCustServiceTest.java @@ -40,6 +40,7 @@ import java.util.Map; import java.util.UUID; import org.camunda.bpm.engine.test.Deployment; +import org.junit.Ignore; import org.junit.Test; import org.openecomp.mso.bpmn.common.BPMNUtil; import org.openecomp.mso.bpmn.mock.FileUtil; @@ -66,6 +67,7 @@ public class CreateVcpeResCustServiceTest extends AbstractTestBase { } @Test + @Ignore // 1802 merge @Deployment(resources = { "process/CreateVcpeResCustService.bpmn", "subprocess/SDNCAdapterV1.bpmn", @@ -142,6 +144,7 @@ public class CreateVcpeResCustServiceTest extends AbstractTestBase { } @Test + @Ignore // 1802 merge @Deployment(resources = { "process/CreateVcpeResCustService.bpmn", "subprocess/SDNCAdapterV1.bpmn", @@ -208,6 +211,7 @@ public class CreateVcpeResCustServiceTest extends AbstractTestBase { } @Test + @Ignore // 1802 merge @Deployment(resources = { "process/CreateVcpeResCustService.bpmn", "subprocess/SDNCAdapterV1.bpmn", @@ -275,6 +279,7 @@ public class CreateVcpeResCustServiceTest extends AbstractTestBase { } @Test + @Ignore // 1802 merge @Deployment(resources = { "process/CreateVcpeResCustService.bpmn", "subprocess/SDNCAdapterV1.bpmn", -- cgit 1.2.3-korg