From 96b5a685d0c3afddb632e4a68ca7483f933b55dc Mon Sep 17 00:00:00 2001 From: Rob Daugherty Date: Fri, 9 Mar 2018 15:02:18 -0500 Subject: Revert Reduce log noise/warnings This reverts commit 327b17ab250b4c17cf3f91f5e4cd9bffd89f3d1e. It is seriously impeding our ability complete the promised merge of AT&T 1802 code. While I'm all for coding standards, if we are serious about using spaces instead of tabs, then I think we need to (1) agree with the community when this will happen, (2) do consistently in all files, and (3) enforce it. Change-Id: Ib9b996f6b6c7d81ac9ac95d58b0c7d8cc39675ff Issue-ID: SO-368 Signed-off-by: Rob Daugherty --- .../org/openecomp/mso/bpmn/common/BPMNUtil.java | 388 +- .../mso/bpmn/common/CompleteMsoProcessTest.java | 353 +- .../bpmn/common/ConfirmVolumeGroupNameTest.java | 193 +- .../bpmn/common/ConfirmVolumeGroupTenantTest.java | 75 +- .../mso/bpmn/common/CreateAAIVfModuleTest.java | 454 +-- .../common/CreateAAIVfModuleVolumeGroupTest.java | 190 +- .../mso/bpmn/common/DecomposeServiceTest.java | 80 +- .../mso/bpmn/common/DeleteAAIVfModuleTest.java | 1203 +++--- .../mso/bpmn/common/FalloutHandlerTest.java | 384 +- .../mso/bpmn/common/GenericDeleteServiceTest.java | 401 +- .../mso/bpmn/common/GenericDeleteVnfTest.java | 237 +- .../mso/bpmn/common/GenericGetServiceTest.java | 920 ++--- .../mso/bpmn/common/GenericGetVnfTest.java | 285 +- .../mso/bpmn/common/GenericPutVnfTest.java | 181 +- .../org/openecomp/mso/bpmn/common/HomingTest.java | 797 ++-- .../mso/bpmn/common/ManualHandlingTest.java | 121 +- .../bpmn/common/PrepareUpdateAAIVfModuleTest.java | 336 +- .../mso/bpmn/common/RainyDayHandlerTest.java | 63 +- .../bpmn/common/ReceiveWorkflowMessageTest.java | 194 +- .../mso/bpmn/common/SDNCAdapterCallbackRule.java | 70 +- .../mso/bpmn/common/SDNCAdapterV1Test.java | 826 ++--- .../mso/bpmn/common/UpdateAAIGenericVnfTest.java | 260 +- .../mso/bpmn/common/UpdateAAIVfModuleTest.java | 194 +- .../mso/bpmn/common/VnfAdapterRestV1Test.java | 688 ++-- .../mso/bpmn/common/WorkflowAsyncResourceTest.java | 117 +- .../mso/bpmn/common/WorkflowContextHolderTest.java | 110 +- .../openecomp/mso/bpmn/common/WorkflowTest.java | 3880 ++++++++++---------- .../java/org/openecomp/mso/bpmn/mock/FileUtil.java | 86 +- .../org/openecomp/mso/bpmn/mock/MockResource.java | 278 +- .../mso/bpmn/mock/MockResourceApplication.java | 29 +- .../mso/bpmn/mock/SDNCAdapterMockTransformer.java | 199 +- .../SDNCAdapterNetworkTopologyMockTransformer.java | 192 +- .../openecomp/mso/bpmn/mock/StubResponseAAI.java | 2077 ++++++----- .../mso/bpmn/mock/StubResponseDatabase.java | 150 +- .../mso/bpmn/mock/StubResponseNetworkAdapter.java | 159 +- .../mso/bpmn/mock/StubResponsePolicy.java | 115 +- .../mso/bpmn/mock/StubResponseSDNCAdapter.java | 230 +- .../openecomp/mso/bpmn/mock/StubResponseSNIRO.java | 54 +- .../mso/bpmn/mock/StubResponseVNFAdapter.java | 249 +- .../bpmn/mock/VnfAdapterCreateMockTransformer.java | 216 +- .../bpmn/mock/VnfAdapterDeleteMockTransformer.java | 218 +- .../bpmn/mock/VnfAdapterQueryMockTransformer.java | 240 +- .../mock/VnfAdapterRollbackMockTransformer.java | 218 +- .../bpmn/mock/VnfAdapterUpdateMockTransformer.java | 218 +- .../client/ResponseExceptionMapperImplTest.java | 2 - .../openecomp/mso/client/aai/AAIPServerTest.java | 55 +- .../openecomp/mso/client/aai/AAIValidatorTest.java | 108 +- .../org/openecomp/mso/client/aai/EntitiesTest.java | 14 +- .../appc/ApplicationControllerClientTest.java | 98 +- .../org/openecomp/mso/bpmn/core/JsonUtilsTest.java | 1 - .../mso/bpmn/core/PropertyConfigurationTest.java | 102 +- .../org/openecomp/mso/bpmn/core/TestBaseTask.java | 436 +-- .../core/internal/VariableNameExtractorTest.java | 1 - .../mso/bpmn/core/utils/CamundaDBSetup.java | 136 +- .../CreateGenericALaCarteServiceInstanceTest.java | 152 +- .../infrastructure/CreateNetworkInstanceTest.java | 1220 +++--- .../infrastructure/CreateVfModuleInfraTest.java | 495 ++- .../CreateVfModuleVolumeInfraV1Test.java | 594 +-- .../bpmn/infrastructure/CreateVnfInfraTest.java | 312 +- .../DeleteGenericALaCarteServiceInstanceTest.java | 120 +- .../infrastructure/DeleteNetworkInstanceTest.java | 565 +-- .../infrastructure/DeleteVfModuleInfraTest.java | 1037 +++--- .../DeleteVfModuleVolumeInfraV1Test.java | 226 +- .../bpmn/infrastructure/DeleteVnfInfraTest.java | 291 +- .../infrastructure/DoCreateSIRollbackTest.java | 306 +- .../DoCreateServiceInstanceTest.java | 132 +- .../DoCreateVfModuleRollbackTest.java | 221 +- .../bpmn/infrastructure/DoCreateVfModuleTest.java | 490 +-- .../DoCreateVfModuleVolumeV2Test.java | 336 +- .../DoCreateVnfAndModulesRollbackTest.java | 723 ++-- .../infrastructure/DoCreateVnfAndModulesTest.java | 624 ++-- .../mso/bpmn/infrastructure/DoCreateVnfTest.java | 151 +- .../DoDeleteServiceInstanceTest.java | 114 +- .../DoDeleteVfModuleFromVnfTest.java | 265 +- .../bpmn/infrastructure/DoDeleteVfModuleTest.java | 996 ++--- .../DoDeleteVfModuleVolumeV2Test.java | 310 +- .../infrastructure/DoDeleteVnfAndModulesTest.java | 316 +- .../mso/bpmn/infrastructure/DoDeleteVnfTest.java | 159 +- .../bpmn/infrastructure/DoUpdateVfModuleTest.java | 345 +- .../infrastructure/DoUpdateVnfAndModulesTest.java | 328 +- .../bpmn/infrastructure/ReplaceVnfInfraTest.java | 374 +- .../bpmn/infrastructure/StubResponseAAITest.java | 279 +- .../infrastructure/UpdateNetworkInstanceTest.java | 871 ++--- .../infrastructure/UpdateVfModuleInfraTest.java | 200 +- .../infrastructure/UpdateVfModuleInfraV2Test.java | 128 +- .../UpdateVfModuleVolumeInfraV1Test.java | 201 +- .../bpmn/infrastructure/UpdateVnfInfraTest.java | 232 +- .../openecomp/mso/bpmn/vcpe/AbstractTestBase.java | 28 +- .../bpmn/vcpe/CreateVcpeResCustServiceTest.java | 606 +-- .../bpmn/vcpe/DeleteVcpeResCustServiceTest.java | 392 +- .../DoCreateAllottedResourceBRGRollbackTest.java | 586 +-- .../bpmn/vcpe/DoCreateAllottedResourceBRGTest.java | 450 +-- .../DoCreateAllottedResourceTXCRollbackTest.java | 586 +-- .../bpmn/vcpe/DoCreateAllottedResourceTXCTest.java | 462 +-- .../bpmn/vcpe/DoDeleteAllottedResourceBRGTest.java | 230 +- .../bpmn/vcpe/DoDeleteAllottedResourceTXCTest.java | 230 +- 96 files changed, 17760 insertions(+), 17804 deletions(-) (limited to 'bpmn') diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/BPMNUtil.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/BPMNUtil.java index 6621300210..0bb5186a17 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/BPMNUtil.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/BPMNUtil.java @@ -48,201 +48,201 @@ import org.openecomp.mso.bpmn.common.workflow.service.WorkflowResponse; /** * Set of utility methods used for Unit testing + * */ public class BPMNUtil { - public static String getVariable(ProcessEngineServices processEngineServices, String processDefinitionID, String name) { - String pID = getProcessInstanceId(processEngineServices, - processDefinitionID); - assertProcessInstanceFinished(processEngineServices, pID); - HistoricVariableInstance responseData = processEngineServices.getHistoryService() - .createHistoricVariableInstanceQuery().processInstanceId(pID) - .variableName(name) - .singleResult(); - - if (responseData != null) { - return (responseData.getValue() != null ? responseData.getValue().toString() : null); - } - return null; - } - - @SuppressWarnings("unchecked") - public static T getRawVariable(ProcessEngineServices processEngineServices, String processDefinitionID, String name) { - String pID = getProcessInstanceId(processEngineServices, - processDefinitionID); - assertProcessInstanceFinished(processEngineServices, pID); - Object responseData = processEngineServices.getHistoryService() - .createHistoricVariableInstanceQuery().processInstanceId(pID) - .variableName(name) - .singleResult() - .getValue(); - return (T) responseData; - } - - - public static void assertAnyProcessInstanceFinished(ProcessEngineServices processEngineServices, String processDefinitionID) { - String pID = getProcessInstanceId(processEngineServices, - processDefinitionID); - assertNotNull(pID); - assertTrue(processEngineServices.getHistoryService().createHistoricProcessInstanceQuery().processInstanceId(pID).finished().count() > 0); - } - - public static void assertNoProcessInstance(ProcessEngineServices processEngineServices, String processDefinitionID) { - assertNull(getProcessInstanceId(processEngineServices, processDefinitionID)); - } - - public static void assertProcessInstanceFinished(ProcessEngineServices processEngineServices, String pid) { - assertEquals(1, processEngineServices.getHistoryService().createHistoricProcessInstanceQuery().processInstanceId(pid).finished().count()); - } - - public static void assertProcessInstanceNotFinished(ProcessEngineServices processEngineServices, String processDefinitionID) { - String pID = getProcessInstanceId(processEngineServices, - processDefinitionID); - assertEquals(0, processEngineServices.getHistoryService().createHistoricProcessInstanceQuery().processInstanceId(pID).finished().count()); - } - - private static String getProcessInstanceId( - ProcessEngineServices processEngineServices, String processDefinitionID) { - List historyList = processEngineServices.getHistoryService().createHistoricProcessInstanceQuery().list(); - String pID = null; - for (HistoricProcessInstance hInstance : historyList) { - if (hInstance.getProcessDefinitionKey().equals(processDefinitionID)) { - pID = hInstance.getId(); - break; - } - } - return pID; - } - - public static boolean isProcessInstanceFinished(ProcessEngineServices processEngineServices, String pid) { - return processEngineServices.getHistoryService().createHistoricProcessInstanceQuery().processInstanceId(pid).finished().count() == 1 ? true : false; - } - - - private static void buildVariable(String key, String value, Map variableValueType) { - Map host = new HashMap<>(); - host.put("value", value); - host.put("type", "String"); - variableValueType.put(key, host); - } - - public static WorkflowResponse executeWorkFlow(ProcessEngineServices processEngineServices, String processKey, Map variables) { - WorkflowResource workflowResource = new WorkflowResource(); - VariableMapImpl variableMap = new VariableMapImpl(); - - Map variableValueType = new HashMap<>(); - for (String key : variables.keySet()) { - buildVariable(key, variables.get(key), variableValueType); - } - buildVariable("mso-service-request-timeout", "600", variableValueType); - variableMap.put("variables", variableValueType); - - workflowResource.setProcessEngineServices4junit(processEngineServices); - Response response = workflowResource.startProcessInstanceByKey( - processKey, variableMap); - WorkflowResponse workflowResponse = (WorkflowResponse) response.getEntity(); - return workflowResponse; - } - - //Check the runtime service to see whether the process is completed - public static void waitForWorkflowToFinish(ProcessEngineServices processEngineServices, String pid) throws InterruptedException { - // Don't wait forever - long waitTime = 120000; - long endTime = System.currentTimeMillis() + waitTime; - - while (true) { - if (processEngineServices.getRuntimeService().createProcessInstanceQuery().processInstanceId(pid).singleResult() == null) { - break; - } - - if (System.currentTimeMillis() >= endTime) { - fail("Process " + pid + " did not finish in " + waitTime + "ms"); - } - - Thread.sleep(200); - } - } - - /** - * Executes the Asynchronous workflow in synchronous fashion and returns the WorkflowResponse object - * - * @param processEngineServices - * @param processKey - * @param variables - * @return - * @throws InterruptedException - */ - public static WorkflowResponse executeAsyncWorkflow(ProcessEngineServices processEngineServices, String processKey, Map variables) throws InterruptedException { - ProcessThread pthread = new ProcessThread(processKey, processEngineServices, variables); - pthread.start(); - BPMNUtil.assertProcessInstanceNotFinished(processEngineServices, processKey); - String pid = getProcessInstanceId(processEngineServices, processKey); - //Caution: If there is a problem with workflow, this may wait for ever - while (true) { - pid = getProcessInstanceId(processEngineServices, processKey); - if (!isProcessInstanceFinished(processEngineServices, pid)) { - Thread.sleep(200); - } else { - break; - } - } - //need to retrieve for second time ? - pid = getProcessInstanceId(processEngineServices, processKey); - waitForWorkflowToFinish(processEngineServices, pid); - return pthread.workflowResponse; - } - - /** - * Execute workflow using async resource - * - * @param processEngineServices - * @param processKey - * @param asyncResponse - * @param variables - */ - private static void executeAsyncFlow(ProcessEngineServices processEngineServices, String processKey, AsynchronousResponse asyncResponse, Map variables) { - WorkflowAsyncResource workflowResource = new WorkflowAsyncResource(); - VariableMapImpl variableMap = new VariableMapImpl(); - - Map variableValueType = new HashMap<>(); - for (String key : variables.keySet()) { - buildVariable(key, variables.get(key), variableValueType); - } - buildVariable("mso-service-request-timeout", "600", variableValueType); - variableMap.put("variables", variableValueType); - - workflowResource.setProcessEngineServices4junit(processEngineServices); - workflowResource.startProcessInstanceByKey(asyncResponse, processKey, variableMap); - } - - /** - * Helper class which executes workflow in a thread - */ - static class ProcessThread extends Thread { - - public WorkflowResponse workflowResponse = null; - public String processKey; - public AsynchronousResponse asyncResponse = spy(AsynchronousResponse.class); - public boolean started; - public ProcessEngineServices processEngineServices; - public Map variables; - - public ProcessThread(String processKey, ProcessEngineServices processEngineServices, Map variables) { - this.processKey = processKey; - this.processEngineServices = processEngineServices; - this.variables = variables; - } - - public void run() { - started = true; - doAnswer(new Answer() { - public Void answer(InvocationOnMock invocation) { - Response response = (Response) invocation.getArguments()[0]; - workflowResponse = (WorkflowResponse) response.getEntity(); - return null; - } - }).when(asyncResponse).setResponse(any(Response.class)); - executeAsyncFlow(processEngineServices, processKey, asyncResponse, variables); - } - } + public static String getVariable(ProcessEngineServices processEngineServices, String processDefinitionID, String name) { + String pID = getProcessInstanceId(processEngineServices, + processDefinitionID); + assertProcessInstanceFinished(processEngineServices, pID); + HistoricVariableInstance responseData = processEngineServices.getHistoryService() + .createHistoricVariableInstanceQuery().processInstanceId(pID) + .variableName(name) + .singleResult(); + + if (responseData != null) { + return (responseData.getValue() != null ? responseData.getValue().toString(): null); + } + return null; + } + + @SuppressWarnings("unchecked") + public static T getRawVariable(ProcessEngineServices processEngineServices, String processDefinitionID, String name) { + String pID = getProcessInstanceId(processEngineServices, + processDefinitionID); + assertProcessInstanceFinished(processEngineServices, pID); + Object responseData = processEngineServices.getHistoryService() + .createHistoricVariableInstanceQuery().processInstanceId(pID) + .variableName(name) + .singleResult() + .getValue(); + return (T) responseData; + } + + + public static void assertAnyProcessInstanceFinished(ProcessEngineServices processEngineServices, String processDefinitionID) { + String pID = getProcessInstanceId(processEngineServices, + processDefinitionID); + assertNotNull(pID); + assertTrue(processEngineServices.getHistoryService().createHistoricProcessInstanceQuery().processInstanceId(pID).finished().count() > 0); + } + + public static void assertNoProcessInstance(ProcessEngineServices processEngineServices, String processDefinitionID) { + assertNull(getProcessInstanceId(processEngineServices, processDefinitionID)); + } + + public static void assertProcessInstanceFinished(ProcessEngineServices processEngineServices, String pid) { + assertEquals(1, processEngineServices.getHistoryService().createHistoricProcessInstanceQuery().processInstanceId(pid).finished().count()); + } + + public static void assertProcessInstanceNotFinished(ProcessEngineServices processEngineServices, String processDefinitionID) { + String pID = getProcessInstanceId(processEngineServices, + processDefinitionID); + assertEquals(0, processEngineServices.getHistoryService().createHistoricProcessInstanceQuery().processInstanceId(pID).finished().count()); + } + + private static String getProcessInstanceId( + ProcessEngineServices processEngineServices, String processDefinitionID) { + List historyList = processEngineServices.getHistoryService().createHistoricProcessInstanceQuery().list(); + String pID = null; + for (HistoricProcessInstance hInstance: historyList) { + if (hInstance.getProcessDefinitionKey().equals(processDefinitionID)) { + pID = hInstance.getId(); + break; + } + } + return pID; + } + + public static boolean isProcessInstanceFinished(ProcessEngineServices processEngineServices, String pid) { + return processEngineServices.getHistoryService().createHistoricProcessInstanceQuery().processInstanceId(pid).finished().count() == 1 ? true: false; + } + + + private static void buildVariable(String key, String value, Map variableValueType) { + Map host = new HashMap<>(); + host.put("value", value); + host.put("type", "String"); + variableValueType.put(key, host); + } + + public static WorkflowResponse executeWorkFlow(ProcessEngineServices processEngineServices, String processKey, Map variables) { + WorkflowResource workflowResource = new WorkflowResource(); + VariableMapImpl variableMap = new VariableMapImpl(); + + Map variableValueType = new HashMap<>(); + for (String key : variables.keySet()) { + buildVariable(key, variables.get(key), variableValueType); + } + buildVariable("mso-service-request-timeout","600", variableValueType); + variableMap.put("variables", variableValueType); + + workflowResource.setProcessEngineServices4junit(processEngineServices); + Response response = workflowResource.startProcessInstanceByKey( + processKey, variableMap); + WorkflowResponse workflowResponse = (WorkflowResponse) response.getEntity(); + return workflowResponse; + } + + //Check the runtime service to see whether the process is completed + public static void waitForWorkflowToFinish(ProcessEngineServices processEngineServices, String pid) throws InterruptedException { + // Don't wait forever + long waitTime = 120000; + long endTime = System.currentTimeMillis() + waitTime; + + while (true) { + if (processEngineServices.getRuntimeService().createProcessInstanceQuery().processInstanceId(pid).singleResult() == null) { + break; + } + + if (System.currentTimeMillis() >= endTime) { + fail("Process " + pid + " did not finish in " + waitTime + "ms"); + } + + Thread.sleep(200); + } + } + + /** + * Executes the Asynchronous workflow in synchronous fashion and returns the WorkflowResponse object + * @param processEngineServices + * @param processKey + * @param variables + * @return + * @throws InterruptedException + */ + public static WorkflowResponse executeAsyncWorkflow(ProcessEngineServices processEngineServices, String processKey, Map variables) throws InterruptedException { + ProcessThread pthread = new ProcessThread(processKey, processEngineServices, variables); + pthread.start(); + BPMNUtil.assertProcessInstanceNotFinished(processEngineServices, processKey); + String pid = getProcessInstanceId(processEngineServices, processKey); + //Caution: If there is a problem with workflow, this may wait for ever + while (true) { + pid = getProcessInstanceId(processEngineServices, processKey); + if (!isProcessInstanceFinished(processEngineServices,pid)) { + Thread.sleep(200); + } else{ + break; + } + } + //need to retrieve for second time ? + pid = getProcessInstanceId(processEngineServices, processKey); + waitForWorkflowToFinish(processEngineServices, pid); + return pthread.workflowResponse; + } + + /** + * Execute workflow using async resource + * @param processEngineServices + * @param processKey + * @param asyncResponse + * @param variables + */ + private static void executeAsyncFlow(ProcessEngineServices processEngineServices, String processKey, AsynchronousResponse asyncResponse, Map variables) { + WorkflowAsyncResource workflowResource = new WorkflowAsyncResource(); + VariableMapImpl variableMap = new VariableMapImpl(); + + Map variableValueType = new HashMap<>(); + for (String key : variables.keySet()) { + buildVariable(key, variables.get(key), variableValueType); + } + buildVariable("mso-service-request-timeout","600", variableValueType); + variableMap.put("variables", variableValueType); + + workflowResource.setProcessEngineServices4junit(processEngineServices); + workflowResource.startProcessInstanceByKey(asyncResponse, processKey, variableMap); + } + + /** + * Helper class which executes workflow in a thread + * + */ + static class ProcessThread extends Thread { + + public WorkflowResponse workflowResponse = null; + public String processKey; + public AsynchronousResponse asyncResponse = spy(AsynchronousResponse.class); + public boolean started; + public ProcessEngineServices processEngineServices; + public Map variables; + + public ProcessThread(String processKey, ProcessEngineServices processEngineServices, Map variables) { + this.processKey = processKey; + this.processEngineServices = processEngineServices; + this.variables = variables; + } + + public void run() { + started = true; + doAnswer(new Answer() { + public Void answer(InvocationOnMock invocation) { + Response response = (Response) invocation.getArguments()[0]; + workflowResponse = (WorkflowResponse) response.getEntity(); + return null; + } + }).when(asyncResponse).setResponse(any(Response.class)); + executeAsyncFlow(processEngineServices, processKey, asyncResponse, variables); + } + } } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/CompleteMsoProcessTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/CompleteMsoProcessTest.java index 5438130a97..9d4dac2333 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/CompleteMsoProcessTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/CompleteMsoProcessTest.java @@ -16,7 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.common; @@ -37,180 +37,181 @@ import org.openecomp.mso.bpmn.common.workflow.service.WorkflowResponse; * Unit test for CompleteMsoProcess.bpmn. */ public class CompleteMsoProcessTest extends WorkflowTest { - - private void executeFlow(String inputRequestFile) throws InterruptedException { - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - //String changeFeatureActivateRequest = FileUtil.readResourceFile("__files/SDN-ETHERNET-INTERNET/ChangeFeatureActivateV1/" + inputRequestFile); - Map variables = new HashMap<>(); - variables.put("CompleteMsoProcessRequest", inputRequestFile); - - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "CompleteMsoProcess", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - logEnd(); - } - - @Test - @Deployment(resources = {"subprocess/CompleteMsoProcess.bpmn", - "subprocess/GenericNotificationService.bpmn" - }) - public void msoCompletionRequestWithNotificationurl_200() throws Exception { - logStart(); - - //Execute Flow - executeFlow(gMsoCompletionRequestWithNotificationurl()); - - //Verify Error - String CMSO_ResponseCode = BPMNUtil.getVariable(processEngineRule, "CompleteMsoProcess", "CMSO_ResponseCode"); - Assert.assertEquals("200", CMSO_ResponseCode); - Assert.assertTrue((boolean) BPMNUtil.getRawVariable(processEngineRule, "CompleteMsoProcess", "CMSO_SuccessIndicator")); - logEnd(); - } - - @Test - @Ignore // BROKEN TEST - @Deployment(resources = {"subprocess/CompleteMsoProcess.bpmn", - "subprocess/GenericNotificationService.bpmn" - }) - public void msoCompletionRequestWithNotificationurl_500() throws Exception { - logStart(); - - //Execute Flow - executeFlow(gMsoCompletionRequestWithNotificationurl()); - - //Verify Error - String CMSO_ResponseCode = BPMNUtil.getVariable(processEngineRule, "CompleteMsoProcess", "CMSO_ResponseCode"); - Assert.assertEquals("500", CMSO_ResponseCode); - Assert.assertFalse((boolean) BPMNUtil.getRawVariable(processEngineRule, "CompleteMsoProcess", "CMSO_SuccessIndicator")); - logEnd(); - } - - @Test - @Deployment(resources = {"subprocess/CompleteMsoProcess.bpmn", - "subprocess/GenericNotificationService.bpmn" - }) - public void msoCompletionRequestWithNoNotificationurl() throws Exception { - logStart(); - - //Execute Flow - executeFlow(gMsoCompletionRequestWithNoNotificationurl()); - - //Verify Error - String CMSO_ResponseCode = BPMNUtil.getVariable(processEngineRule, "CompleteMsoProcess", "CMSO_ResponseCode"); - Assert.assertEquals("200", CMSO_ResponseCode); - Assert.assertTrue((boolean) BPMNUtil.getRawVariable(processEngineRule, "CompleteMsoProcess", "CMSO_SuccessIndicator")); - logEnd(); - } - - @Test - @Deployment(resources = {"subprocess/CompleteMsoProcess.bpmn", - "subprocess/GenericNotificationService.bpmn" - }) - public void msoCompletionRequestWithNotificationurlNoRequestId() throws Exception { - logStart(); - - //Execute Flow - executeFlow(gMsoCompletionRequestWithNotificationurlNoRequestId()); - - //Verify Error - String CMSO_ResponseCode = BPMNUtil.getVariable(processEngineRule, "CompleteMsoProcess", "CMSO_ResponseCode"); - Assert.assertEquals("200", CMSO_ResponseCode); - Assert.assertTrue((boolean) BPMNUtil.getRawVariable(processEngineRule, "CompleteMsoProcess", "CMSO_SuccessIndicator")); - logEnd(); - } - - @Test - @Deployment(resources = {"subprocess/CompleteMsoProcess.bpmn", - "subprocess/GenericNotificationService.bpmn" - }) - public void msoCompletionRequestWithNoNotificationurlNoRequestId() throws Exception { - logStart(); - - //Execute Flow - executeFlow(gMsoCompletionRequestWithNoNotificationurlNoRequestId()); - - //Verify Error - String CMSO_ResponseCode = BPMNUtil.getVariable(processEngineRule, "CompleteMsoProcess", "CMSO_ResponseCode"); - Assert.assertEquals("200", CMSO_ResponseCode); - Assert.assertTrue((boolean) BPMNUtil.getRawVariable(processEngineRule, "CompleteMsoProcess", "CMSO_SuccessIndicator")); - logEnd(); - } - - public String gMsoCompletionRequestWithNotificationurl() { - //Generated the below XML from ActiveVOS moduler ... Using the generate sample XML feature in ActiveVOS - String xml = "" - + "" - + " " - + " uCPE1020_STUW105_5002" - + " Layer3ServiceActivateRequest" - + " COMPLETE" - + " OMX" - + " https://t3nap1a1.snt.bst.bls.com:9004/sdncontroller-sdncontroller-inbound-ws-war/sdncontroller-sdncontroller-inbound-ws.wsdl" - + " 10205000" - + " 1" - + " " - + " UCPELayer3ServiceActivateV1" - + ""; - - return xml; - } - - - public String gMsoCompletionRequestWithNoNotificationurl() { - //Generated the below XML from ActiveVOS moduler ... Using the generate sample XML feature in ActiveVOS - String xml = "" - + "" - + " " - + " uCPE1020_STUW105_5002" - + " Layer3ServiceActivateRequest" - + " COMPLETE" - + " OMX" - + " " - + " 10205000" - + " 1" - + " " - + " UCPELayer3ServiceActivateV1" - + ""; - - return xml; - } - - public String gMsoCompletionRequestWithNoNotificationurlNoRequestId() { - //Generated the below XML from ActiveVOS moduler ... Using the generate sample XML feature in ActiveVOS - String xml = "" - + "" - + " " - + " " - + " Layer3ServiceActivateRequest" - + " COMPLETE" - + " OMX" - + " " - + " 10205000" - + " 1" - + " " - + " UCPELayer3ServiceActivateV1" - + ""; - - return xml; - } - - public String gMsoCompletionRequestWithNotificationurlNoRequestId() { - //Generated the below XML from ActiveVOS moduler ... Using the generate sample XML feature in ActiveVOS - String xml = "" - + "" - + " " - + " " - + " Layer3ServiceActivateRequest" - + " COMPLETE" - + " OMX" - + " https://t3nap1a1.snt.bst.bls.com:9004/sdncontroller-sdncontroller-inbound-ws-war/sdncontroller-sdncontroller-inbound-ws.wsdl" - + " 10205000" - + " 1" - + " " - + " UCPELayer3ServiceActivateV1" - + ""; - - return xml; - } + + private void executeFlow(String inputRequestFile) throws InterruptedException { + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + //String changeFeatureActivateRequest = FileUtil.readResourceFile("__files/SDN-ETHERNET-INTERNET/ChangeFeatureActivateV1/" + inputRequestFile); + Map variables = new HashMap<>(); + variables.put("CompleteMsoProcessRequest",inputRequestFile); + + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "CompleteMsoProcess", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + logEnd(); + } + + @Test + @Deployment(resources = {"subprocess/CompleteMsoProcess.bpmn", + "subprocess/GenericNotificationService.bpmn" + }) + public void msoCompletionRequestWithNotificationurl_200() throws Exception { + logStart(); + + //Execute Flow + executeFlow(gMsoCompletionRequestWithNotificationurl()); + + //Verify Error + String CMSO_ResponseCode = BPMNUtil.getVariable(processEngineRule, "CompleteMsoProcess", "CMSO_ResponseCode"); + Assert.assertEquals("200", CMSO_ResponseCode); + Assert.assertTrue((boolean) BPMNUtil.getRawVariable(processEngineRule, "CompleteMsoProcess", "CMSO_SuccessIndicator")); + logEnd(); + } + + @Test + @Ignore // BROKEN TEST + @Deployment(resources = {"subprocess/CompleteMsoProcess.bpmn", + "subprocess/GenericNotificationService.bpmn" + }) + public void msoCompletionRequestWithNotificationurl_500() throws Exception { + logStart(); + + //Execute Flow + executeFlow(gMsoCompletionRequestWithNotificationurl()); + + //Verify Error + String CMSO_ResponseCode = BPMNUtil.getVariable(processEngineRule, "CompleteMsoProcess", "CMSO_ResponseCode"); + Assert.assertEquals("500", CMSO_ResponseCode); + Assert.assertFalse((boolean) BPMNUtil.getRawVariable(processEngineRule, "CompleteMsoProcess", "CMSO_SuccessIndicator")); + logEnd(); + } + + @Test + @Deployment(resources = {"subprocess/CompleteMsoProcess.bpmn", + "subprocess/GenericNotificationService.bpmn" + }) + public void msoCompletionRequestWithNoNotificationurl() throws Exception { + logStart(); + + //Execute Flow + executeFlow(gMsoCompletionRequestWithNoNotificationurl()); + + //Verify Error + String CMSO_ResponseCode = BPMNUtil.getVariable(processEngineRule, "CompleteMsoProcess", "CMSO_ResponseCode"); + Assert.assertEquals("200", CMSO_ResponseCode); + Assert.assertTrue((boolean) BPMNUtil.getRawVariable(processEngineRule, "CompleteMsoProcess", "CMSO_SuccessIndicator")); + logEnd(); + } + + @Test + @Deployment(resources = {"subprocess/CompleteMsoProcess.bpmn", + "subprocess/GenericNotificationService.bpmn" + }) + public void msoCompletionRequestWithNotificationurlNoRequestId() throws Exception { + logStart(); + + //Execute Flow + executeFlow(gMsoCompletionRequestWithNotificationurlNoRequestId()); + + //Verify Error + String CMSO_ResponseCode = BPMNUtil.getVariable(processEngineRule, "CompleteMsoProcess", "CMSO_ResponseCode"); + Assert.assertEquals("200", CMSO_ResponseCode); + Assert.assertTrue((boolean) BPMNUtil.getRawVariable(processEngineRule, "CompleteMsoProcess", "CMSO_SuccessIndicator")); + logEnd(); + } + + @Test + @Deployment(resources = {"subprocess/CompleteMsoProcess.bpmn", + "subprocess/GenericNotificationService.bpmn" + }) + public void msoCompletionRequestWithNoNotificationurlNoRequestId() throws Exception { + logStart(); + + //Execute Flow + executeFlow(gMsoCompletionRequestWithNoNotificationurlNoRequestId()); + + //Verify Error + String CMSO_ResponseCode = BPMNUtil.getVariable(processEngineRule, "CompleteMsoProcess", "CMSO_ResponseCode"); + Assert.assertEquals("200", CMSO_ResponseCode); + Assert.assertTrue((boolean) BPMNUtil.getRawVariable(processEngineRule, "CompleteMsoProcess", "CMSO_SuccessIndicator")); + logEnd(); + } + + public String gMsoCompletionRequestWithNotificationurl() { + //Generated the below XML from ActiveVOS moduler ... Using the generate sample XML feature in ActiveVOS + String xml = "" + + "" + + " " + + " uCPE1020_STUW105_5002" + + " Layer3ServiceActivateRequest" + + " COMPLETE" + + " OMX" + + " https://t3nap1a1.snt.bst.bls.com:9004/sdncontroller-sdncontroller-inbound-ws-war/sdncontroller-sdncontroller-inbound-ws.wsdl" + + " 10205000" + + " 1" + + " " + + " UCPELayer3ServiceActivateV1" + + ""; + + return xml; + } + + + + public String gMsoCompletionRequestWithNoNotificationurl() { + //Generated the below XML from ActiveVOS moduler ... Using the generate sample XML feature in ActiveVOS + String xml = "" + + "" + + " " + + " uCPE1020_STUW105_5002" + + " Layer3ServiceActivateRequest" + + " COMPLETE" + + " OMX" + + " " + + " 10205000" + + " 1" + + " " + + " UCPELayer3ServiceActivateV1" + + ""; + + return xml; + } + + public String gMsoCompletionRequestWithNoNotificationurlNoRequestId() { + //Generated the below XML from ActiveVOS moduler ... Using the generate sample XML feature in ActiveVOS + String xml = "" + + "" + + " " + + " " + + " Layer3ServiceActivateRequest" + + " COMPLETE" + + " OMX" + + " " + + " 10205000" + + " 1" + + " " + + " UCPELayer3ServiceActivateV1" + + ""; + + return xml; + } + + public String gMsoCompletionRequestWithNotificationurlNoRequestId() { + //Generated the below XML from ActiveVOS moduler ... Using the generate sample XML feature in ActiveVOS + String xml = "" + + "" + + " " + + " " + + " Layer3ServiceActivateRequest" + + " COMPLETE" + + " OMX" + + " https://t3nap1a1.snt.bst.bls.com:9004/sdncontroller-sdncontroller-inbound-ws-war/sdncontroller-sdncontroller-inbound-ws.wsdl" + + " 10205000" + + " 1" + + " " + + " UCPELayer3ServiceActivateV1" + + ""; + + return xml; + } } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/ConfirmVolumeGroupNameTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/ConfirmVolumeGroupNameTest.java index c900f291c3..845f06045a 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/ConfirmVolumeGroupNameTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/ConfirmVolumeGroupNameTest.java @@ -16,7 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.common; @@ -34,99 +34,100 @@ import org.junit.Test; * Unit test cases for ConfirmVolumeGroupName.bpmn */ public class ConfirmVolumeGroupNameTest extends WorkflowTest { - /** - * Sunny day scenario. - * - * @throws Exception - */ - @Test - @Deployment(resources = { - "subprocess/ConfirmVolumeGroupName.bpmn" - }) - public void sunnyDay() throws Exception { - - logStart(); - MockGetVolumeGroupById("MDTWNJ21", "VOLUME_GROUP_ID_1", "aai-volume-group-id-info.xml"); - - System.out.println("Before starting process"); - - RuntimeService runtimeService = processEngineRule.getRuntimeService(); - Map variables = new HashMap<>(); - variables.put("isDebugLogEnabled", "true"); - variables.put("ConfirmVolumeGroupName_volumeGroupId", "VOLUME_GROUP_ID_1"); - variables.put("ConfirmVolumeGroupName_volumeGroupName", "VOLUME_GROUP_ID_1_NAME"); - variables.put("ConfirmVolumeGroupName_aicCloudRegion", "MDTWNJ21"); - System.out.println("after setting variables"); - runtimeService.startProcessInstanceByKey("ConfirmVolumeGroupName", variables); - String response = BPMNUtil.getVariable(processEngineRule, "ConfirmVolumeGroupName", "CVGN_queryVolumeGroupResponse"); - String responseCode = BPMNUtil.getVariable(processEngineRule, "ConfirmVolumeGroupName", "CVGN_queryVolumeGroupResponseCode"); - - assertEquals("200", responseCode); - System.out.println(response); - logEnd(); - } - - /** - * Rainy day scenario - nonexisting volume group id. - * - * @throws Exception - */ - @Test - @Deployment(resources = { - "subprocess/ConfirmVolumeGroupName.bpmn" - }) - public void rainyDayNoVolumeGroupId() throws Exception { - - logStart(); - MockGetVolumeGroupById("MDTWNJ21", "VOLUME_GROUP_ID_1", "aai-volume-group-id-info.xml"); - - System.out.println("Before starting process"); - - RuntimeService runtimeService = processEngineRule.getRuntimeService(); - Map variables = new HashMap<>(); - variables.put("isDebugLogEnabled", "true"); - variables.put("ConfirmVolumeGroupName_volumeGroupId", "VOLUME_GROUP_ID_THAT_DOES_NOT_EXIST"); - variables.put("ConfirmVolumeGroupName_volumeGroupName", "cee6d136-e378-4678-a024-2cd15f0ee0cg"); - System.out.println("after setting variables"); - runtimeService.startProcessInstanceByKey("ConfirmVolumeGroupName", variables); - String response = BPMNUtil.getVariable(processEngineRule, "ConfirmVolumeGroupName", "CVGN_queryVolumeGroupResponse"); - String responseCode = BPMNUtil.getVariable(processEngineRule, "ConfirmVolumeGroupName", "CVGN_queryVolumeGroupResponseCode"); - - assertEquals("404", responseCode); - System.out.println(response); - - logEnd(); - } - - /** - * Rainy day scenario - volume group name does not match the name in AAI - * - * @throws Exception - */ - @Test - @Deployment(resources = { - "subprocess/ConfirmVolumeGroupName.bpmn" - }) - public void rainyDayNameDoesNotMatch() throws Exception { - - logStart(); - MockGetVolumeGroupById("MDTWNJ21", "VOLUME_GROUP_ID_1", "aai-volume-group-id-info.xml"); - - System.out.println("Before starting process"); - - RuntimeService runtimeService = processEngineRule.getRuntimeService(); - Map variables = new HashMap<>(); - variables.put("isDebugLogEnabled", "true"); - variables.put("ConfirmVolumeGroupName_volumeGroupId", "VOLUME_GROUP_ID_1"); - variables.put("ConfirmVolumeGroupName_volumeGroupName", "BAD_VOLUME_GROUP_NAME"); - System.out.println("after setting variables"); - runtimeService.startProcessInstanceByKey("ConfirmVolumeGroupName", variables); - String response = BPMNUtil.getVariable(processEngineRule, "ConfirmVolumeGroupName", "CVGN_queryVolumeGroupResponse"); - String responseCode = BPMNUtil.getVariable(processEngineRule, "ConfirmVolumeGroupName", "CVGN_queryVolumeGroupResponseCode"); - - assertEquals("404", responseCode); - System.out.println(response); - - logEnd(); - } + /** + * Sunny day scenario. + * + * @throws Exception + */ + @Test + @Deployment(resources = { + "subprocess/ConfirmVolumeGroupName.bpmn" + }) + public void sunnyDay() throws Exception { + + logStart(); + MockGetVolumeGroupById("MDTWNJ21", "VOLUME_GROUP_ID_1", "aai-volume-group-id-info.xml"); + + System.out.println("Before starting process"); + + RuntimeService runtimeService = processEngineRule.getRuntimeService(); + Map variables = new HashMap<>(); + variables.put("isDebugLogEnabled","true"); + variables.put("ConfirmVolumeGroupName_volumeGroupId", "VOLUME_GROUP_ID_1"); + variables.put("ConfirmVolumeGroupName_volumeGroupName", "VOLUME_GROUP_ID_1_NAME"); + variables.put("ConfirmVolumeGroupName_aicCloudRegion", "MDTWNJ21"); + System.out.println("after setting variables"); + runtimeService.startProcessInstanceByKey("ConfirmVolumeGroupName", variables); + String response = BPMNUtil.getVariable(processEngineRule, "ConfirmVolumeGroupName", "CVGN_queryVolumeGroupResponse"); + String responseCode = BPMNUtil.getVariable(processEngineRule, "ConfirmVolumeGroupName", "CVGN_queryVolumeGroupResponseCode"); + + assertEquals("200", responseCode); + System.out.println(response); + logEnd(); + } + + /** + * Rainy day scenario - nonexisting volume group id. + * + * @throws Exception + */ + @Test + @Deployment(resources = { + "subprocess/ConfirmVolumeGroupName.bpmn" + }) + public void rainyDayNoVolumeGroupId() throws Exception { + + logStart(); + MockGetVolumeGroupById("MDTWNJ21", "VOLUME_GROUP_ID_1", "aai-volume-group-id-info.xml"); + + System.out.println("Before starting process"); + + RuntimeService runtimeService = processEngineRule.getRuntimeService(); + Map variables = new HashMap<>(); + variables.put("isDebugLogEnabled","true"); + variables.put("ConfirmVolumeGroupName_volumeGroupId", "VOLUME_GROUP_ID_THAT_DOES_NOT_EXIST"); + variables.put("ConfirmVolumeGroupName_volumeGroupName", "cee6d136-e378-4678-a024-2cd15f0ee0cg"); + System.out.println("after setting variables"); + runtimeService.startProcessInstanceByKey("ConfirmVolumeGroupName", variables); + String response = BPMNUtil.getVariable(processEngineRule, "ConfirmVolumeGroupName", "CVGN_queryVolumeGroupResponse"); + String responseCode = BPMNUtil.getVariable(processEngineRule, "ConfirmVolumeGroupName", "CVGN_queryVolumeGroupResponseCode"); + + assertEquals("404", responseCode); + System.out.println(response); + + logEnd(); + } + + /** + * Rainy day scenario - volume group name does not match the name in AAI + * + * + * @throws Exception + */ + @Test + @Deployment(resources = { + "subprocess/ConfirmVolumeGroupName.bpmn" + }) + public void rainyDayNameDoesNotMatch() throws Exception { + + logStart(); + MockGetVolumeGroupById("MDTWNJ21", "VOLUME_GROUP_ID_1", "aai-volume-group-id-info.xml"); + + System.out.println("Before starting process"); + + RuntimeService runtimeService = processEngineRule.getRuntimeService(); + Map variables = new HashMap<>(); + variables.put("isDebugLogEnabled","true"); + variables.put("ConfirmVolumeGroupName_volumeGroupId", "VOLUME_GROUP_ID_1"); + variables.put("ConfirmVolumeGroupName_volumeGroupName", "BAD_VOLUME_GROUP_NAME"); + System.out.println("after setting variables"); + runtimeService.startProcessInstanceByKey("ConfirmVolumeGroupName", variables); + String response = BPMNUtil.getVariable(processEngineRule, "ConfirmVolumeGroupName", "CVGN_queryVolumeGroupResponse"); + String responseCode = BPMNUtil.getVariable(processEngineRule, "ConfirmVolumeGroupName", "CVGN_queryVolumeGroupResponseCode"); + + assertEquals("404", responseCode); + System.out.println(response); + + logEnd(); + } } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/ConfirmVolumeGroupTenantTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/ConfirmVolumeGroupTenantTest.java index 8b47304672..457128f104 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/ConfirmVolumeGroupTenantTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/ConfirmVolumeGroupTenantTest.java @@ -19,7 +19,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.common; @@ -37,54 +37,55 @@ import org.openecomp.mso.bpmn.common.workflow.service.WorkflowResponse; /** * Please describe the ConfirmVolumeGroupTenantTest.java class + * */ public class ConfirmVolumeGroupTenantTest extends WorkflowTest { - @Test - @Deployment(resources = {"subprocess/ConfirmVolumeGroupTenant.bpmn"}) - public void testRemoveLayer3Service_success() throws Exception { - MockGetVolumeGroupById("MDTWNJ21", "a8399879-31b3-4973-be26-0a0cbe776b58", "CRTGVNF_queryAAIResponseVolume.xml"); + @Test + @Deployment(resources = {"subprocess/ConfirmVolumeGroupTenant.bpmn"}) + public void testRemoveLayer3Service_success() throws Exception{ + MockGetVolumeGroupById("MDTWNJ21", "a8399879-31b3-4973-be26-0a0cbe776b58", "CRTGVNF_queryAAIResponseVolume.xml"); - Map variables = new HashMap<>(); - setVariables(variables); + Map variables = new HashMap<>(); + setVariables(variables); - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "ConfirmVolumeGroupTenant", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "ConfirmVolumeGroupTenant", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - String actualNameMatch = BPMNUtil.getVariable(processEngineRule, "ConfirmVolumeGroupTenant", "groupNamesMatch"); - String actualIdMatch = BPMNUtil.getVariable(processEngineRule, "ConfirmVolumeGroupTenant", "tenantIdsMatch"); - String actualResponse = BPMNUtil.getVariable(processEngineRule, "ConfirmVolumeGroupTenant", "volumeHeatStackId"); + String actualNameMatch = BPMNUtil.getVariable(processEngineRule, "ConfirmVolumeGroupTenant", "groupNamesMatch"); + String actualIdMatch = BPMNUtil.getVariable(processEngineRule, "ConfirmVolumeGroupTenant", "tenantIdsMatch"); + String actualResponse = BPMNUtil.getVariable(processEngineRule, "ConfirmVolumeGroupTenant", "volumeHeatStackId"); - assertEquals("Response", "true", actualNameMatch); - assertEquals("Response", "true", actualIdMatch); - assertEquals("Response", "MoG_CinderVolumes_2/19387dc6-060f-446e-b41f-dcfd29c73845", actualResponse); - } + assertEquals("Response", "true", actualNameMatch); + assertEquals("Response", "true", actualIdMatch); + assertEquals("Response", "MoG_CinderVolumes_2/19387dc6-060f-446e-b41f-dcfd29c73845", actualResponse); + } - @Test - @Deployment(resources = {"subprocess/ConfirmVolumeGroupTenant.bpmn"}) - public void testRemoveLayer3Service_idsNotMatch() throws Exception { - MockGetVolumeGroupById("MDTWNJ21", "a8399879-31b3-4973-be26-0a0cbe776b58", "CRTGVNF_queryAAIResponseVolume_idsNotMatch.xml"); + @Test + @Deployment(resources = {"subprocess/ConfirmVolumeGroupTenant.bpmn"}) + public void testRemoveLayer3Service_idsNotMatch() throws Exception{ + MockGetVolumeGroupById("MDTWNJ21", "a8399879-31b3-4973-be26-0a0cbe776b58", "CRTGVNF_queryAAIResponseVolume_idsNotMatch.xml"); - Map variables = new HashMap<>(); - setVariables(variables); + Map variables = new HashMap<>(); + setVariables(variables); - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "ConfirmVolumeGroupTenant", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "ConfirmVolumeGroupTenant", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - String actualNameMatch = BPMNUtil.getVariable(processEngineRule, "ConfirmVolumeGroupTenant", "groupNamesMatch"); - String actualIdMatch = BPMNUtil.getVariable(processEngineRule, "ConfirmVolumeGroupTenant", "tenantIdsMatch"); - String actualResponse = BPMNUtil.getVariable(processEngineRule, "ConfirmVolumeGroupTenant", "WorkflowException"); + String actualNameMatch = BPMNUtil.getVariable(processEngineRule, "ConfirmVolumeGroupTenant", "groupNamesMatch"); + String actualIdMatch = BPMNUtil.getVariable(processEngineRule, "ConfirmVolumeGroupTenant", "tenantIdsMatch"); + String actualResponse = BPMNUtil.getVariable(processEngineRule, "ConfirmVolumeGroupTenant", "WorkflowException"); - assertEquals("Response", "true", actualNameMatch); - assertEquals("Response", "false", actualIdMatch); - assertEquals("Response", "WorkflowException[processKey=ConfirmVolumeGroupTenant,errorCode=1,errorMessage=Volume Group a8399879-31b3-4973-be26-0a0cbe776b58 does not belong to your tenant]", actualResponse); + assertEquals("Response", "true", actualNameMatch); + assertEquals("Response", "false", actualIdMatch); + assertEquals("Response", "WorkflowException[processKey=ConfirmVolumeGroupTenant,errorCode=1,errorMessage=Volume Group a8399879-31b3-4973-be26-0a0cbe776b58 does not belong to your tenant]", actualResponse); - } + } - private void setVariables(Map variables) { - variables.put("isDebugLogEnabled", "true"); - variables.put("volumeGroupId", "a8399879-31b3-4973-be26-0a0cbe776b58"); - variables.put("tenantId", "7dd5365547234ee8937416c65507d266"); - variables.put("aicCloudRegion", "MDTWNJ21"); - } + private void setVariables(Map variables) { + variables.put("isDebugLogEnabled", "true"); + variables.put("volumeGroupId","a8399879-31b3-4973-be26-0a0cbe776b58"); + variables.put("tenantId", "7dd5365547234ee8937416c65507d266"); + variables.put("aicCloudRegion", "MDTWNJ21"); + } } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/CreateAAIVfModuleTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/CreateAAIVfModuleTest.java index 37a2a5ae2e..b2b7760327 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/CreateAAIVfModuleTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/CreateAAIVfModuleTest.java @@ -16,7 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.common; @@ -40,238 +40,238 @@ import org.openecomp.mso.bpmn.core.WorkflowException; * Unit test for CreateAAIVfModule.bpmn. */ public class CreateAAIVfModuleTest extends WorkflowTest { + + @Test + @Deployment(resources = { + "subprocess/CreateAAIVfModule.bpmn" + }) + public void TestCreateGenericVnfSuccess_200() { - @Test - @Deployment(resources = { - "subprocess/CreateAAIVfModule.bpmn" - }) - public void TestCreateGenericVnfSuccess_200() { - - MockAAIGenericVnfSearch(); - MockAAICreateGenericVnf(); - MockAAIVfModulePUT(true); - RuntimeService runtimeService = processEngineRule.getRuntimeService(); - Map variables = new HashMap<>(); - variables.put("isDebugLogEnabled", "true"); - variables.put("isVidRequest", "false"); - variables.put("vnfName", "STMTN5MMSC22"); - variables.put("serviceId", "00000000-0000-0000-0000-000000000000"); - variables.put("personaModelId", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); - variables.put("personaModelVersion", "1.0"); - variables.put("vfModuleName", "STMTN5MMSC22-MMSC::module-0-0"); - variables.put("vfModuleModelName", "MMSC::module-0"); - - runtimeService.startProcessInstanceByKey("CreateAAIVfModule", variables); - String response = BPMNUtil.getVariable(processEngineRule, "CreateAAIVfModule", "CAAIVfMod_createVfModuleResponseCode"); - String responseCode = BPMNUtil.getVariable(processEngineRule, "CreateAAIVfModule", "CAAIVfMod_createVfModuleResponseCode"); - Assert.assertEquals("201", responseCode); - System.out.println(response); - } - - @Test - @Deployment(resources = { - "subprocess/CreateAAIVfModule.bpmn" - }) - public void TestCreateVfModuleSuccess_200() { - // create Add-on VF Module for existing Generic VNF - MockAAIGenericVnfSearch(); - MockAAICreateGenericVnf(); - MockAAIVfModulePUT(true); - RuntimeService runtimeService = processEngineRule.getRuntimeService(); - Map variables = new HashMap<>(); - variables.put("isDebugLogEnabled", "true"); - variables.put("isVidRequest", "false"); - variables.put("vnfId", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); - variables.put("serviceId", "00000000-0000-0000-0000-000000000000"); - variables.put("personaModelId", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); - variables.put("personaModelVersion", "1.0"); - variables.put("vfModuleName", "STMTN5MMSC21-MMSC::module-1-0"); - variables.put("vfModuleModelName", "STMTN5MMSC21-MMSC::model-1-0"); - runtimeService.startProcessInstanceByKey("CreateAAIVfModule", variables); - String response = BPMNUtil.getVariable(processEngineRule, "CreateAAIVfModule", "CAAIVfMod_createVfModuleResponseCode"); - String responseCode = BPMNUtil.getVariable(processEngineRule, "CreateAAIVfModule", "CAAIVfMod_createVfModuleResponseCode"); - Assert.assertEquals("201", responseCode); - System.out.println(response); - } - - @Test - @Deployment(resources = { - "subprocess/CreateAAIVfModule.bpmn" - }) - public void TestQueryGenericVnfFailure_5000() { - MockAAIGenericVnfSearch(); - MockAAICreateGenericVnf(); - MockAAIVfModulePUT(true); - RuntimeService runtimeService = processEngineRule.getRuntimeService(); - Map variables = new HashMap<>(); - variables.put("isDebugLogEnabled", "true"); - variables.put("isVidRequest", "false"); - variables.put("vnfName", "STMTN5MMSC23"); - variables.put("serviceId", "00000000-0000-0000-0000-000000000000"); - variables.put("personaModelId", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); - variables.put("personaModelVersion", "1.0"); - variables.put("vfModuleName", "STMTN5MMSC23-MMSC::module-0-0"); - variables.put("vfModuleModelName", "MMSC::module-0"); - runtimeService.startProcessInstanceByKey("CreateAAIVfModule", variables); - WorkflowException exception = BPMNUtil.getRawVariable(processEngineRule, "CreateAAIVfModule", "WorkflowException"); - Assert.assertEquals(500, exception.getErrorCode()); - Assert.assertEquals(true, exception.getErrorMessage().contains("Error occurred attempting to query AAI")); - System.out.println(exception.getErrorMessage()); - } - - @Test - @Deployment(resources = { - "subprocess/CreateAAIVfModule.bpmn" - }) - public void TestCreateDupGenericVnfFailure_1002() { - MockAAIGenericVnfSearch(); - MockAAICreateGenericVnf(); - MockAAIVfModulePUT(true); - RuntimeService runtimeService = processEngineRule.getRuntimeService(); - Map variables = new HashMap<>(); - variables.put("isDebugLogEnabled", "true"); - variables.put("isVidRequest", "false"); - variables.put("vnfName", "STMTN5MMSC21"); - variables.put("serviceId", "00000000-0000-0000-0000-000000000000"); - variables.put("personaModelId", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); - variables.put("personaModelVersion", "1.0"); - variables.put("vfModuleName", "STMTN5MMSC21-MMSC::module-0-0"); - variables.put("vfModuleModelName", "MMSC::module-0"); - runtimeService.startProcessInstanceByKey("CreateAAIVfModule", variables); - WorkflowException exception = BPMNUtil.getRawVariable(processEngineRule, "CreateAAIVfModule", "WorkflowException"); - Assert.assertEquals(1002, exception.getErrorCode()); - Assert.assertEquals(true, exception.getErrorMessage().contains("Invalid request for new Generic VNF which already exists")); - System.out.println(exception.getErrorMessage()); - } + MockAAIGenericVnfSearch(); + MockAAICreateGenericVnf(); + MockAAIVfModulePUT(true); + RuntimeService runtimeService = processEngineRule.getRuntimeService(); + Map variables = new HashMap<>(); + variables.put("isDebugLogEnabled","true"); + variables.put("isVidRequest", "false"); + variables.put("vnfName", "STMTN5MMSC22"); + variables.put("serviceId", "00000000-0000-0000-0000-000000000000"); + variables.put("personaModelId", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); + variables.put("personaModelVersion", "1.0"); + variables.put("vfModuleName", "STMTN5MMSC22-MMSC::module-0-0"); + variables.put("vfModuleModelName", "MMSC::module-0"); + + runtimeService.startProcessInstanceByKey("CreateAAIVfModule", variables); + String response = BPMNUtil.getVariable(processEngineRule, "CreateAAIVfModule", "CAAIVfMod_createVfModuleResponseCode"); + String responseCode = BPMNUtil.getVariable(processEngineRule, "CreateAAIVfModule", "CAAIVfMod_createVfModuleResponseCode"); + Assert.assertEquals("201", responseCode); + System.out.println(response); + } - @Test - @Deployment(resources = { - "subprocess/CreateAAIVfModule.bpmn" - }) - public void TestCreateDupVfModuleFailure_1002() { - MockAAIGenericVnfSearch(); - MockAAICreateGenericVnf(); - MockAAIVfModulePUT(true); - RuntimeService runtimeService = processEngineRule.getRuntimeService(); - Map variables = new HashMap<>(); - variables.put("isDebugLogEnabled", "true"); - variables.put("isVidRequest", "false"); - variables.put("vnfId", "2f6aee38-1e2a-11e6-82d1-ffc7d9ee8aa4"); - variables.put("serviceId", "00000000-0000-0000-0000-000000000000"); - variables.put("personaModelId", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); - variables.put("personaModelVersion", "1.0"); - variables.put("vfModuleName", "STMTN5MMSC20-MMSC::module-1-0"); - variables.put("vfModuleModelName", "STMTN5MMSC20-MMSC::model-1-0"); - runtimeService.startProcessInstanceByKey("CreateAAIVfModule", variables); - WorkflowException exception = BPMNUtil.getRawVariable(processEngineRule, "CreateAAIVfModule", "WorkflowException"); - Assert.assertEquals(1002, exception.getErrorCode()); - Assert.assertEquals(true, exception.getErrorMessage().contains("already exists for Generic VNF")); - System.out.println(exception.getErrorMessage()); - } + @Test + @Deployment(resources = { + "subprocess/CreateAAIVfModule.bpmn" + }) + public void TestCreateVfModuleSuccess_200() { + // create Add-on VF Module for existing Generic VNF + MockAAIGenericVnfSearch(); + MockAAICreateGenericVnf(); + MockAAIVfModulePUT(true); + RuntimeService runtimeService = processEngineRule.getRuntimeService(); + Map variables = new HashMap<>(); + variables.put("isDebugLogEnabled","true"); + variables.put("isVidRequest", "false"); + variables.put("vnfId", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); + variables.put("serviceId", "00000000-0000-0000-0000-000000000000"); + variables.put("personaModelId", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); + variables.put("personaModelVersion", "1.0"); + variables.put("vfModuleName", "STMTN5MMSC21-MMSC::module-1-0"); + variables.put("vfModuleModelName", "STMTN5MMSC21-MMSC::model-1-0"); + runtimeService.startProcessInstanceByKey("CreateAAIVfModule", variables); + String response = BPMNUtil.getVariable(processEngineRule, "CreateAAIVfModule", "CAAIVfMod_createVfModuleResponseCode"); + String responseCode = BPMNUtil.getVariable(processEngineRule, "CreateAAIVfModule", "CAAIVfMod_createVfModuleResponseCode"); + Assert.assertEquals("201", responseCode); + System.out.println(response); + } - @Test - @Deployment(resources = { - "subprocess/CreateAAIVfModule.bpmn" - }) - public void TestCreateGenericVnfFailure_5000() { - MockAAIGenericVnfSearch(); - MockAAICreateGenericVnf(); - MockAAIVfModulePUT(true); - RuntimeService runtimeService = processEngineRule.getRuntimeService(); - Map variables = new HashMap<>(); - variables.put("isDebugLogEnabled", "true"); - variables.put("isVidRequest", "false"); - variables.put("vnfName", "STMTN5MMSC22"); - variables.put("serviceId", "99999999-9999-9999-9999-999999999999"); - variables.put("personaModelId", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); - variables.put("personaModelVersion", "1.0"); - variables.put("vfModuleName", "STMTN5MMSC22-PCRF::module-1-0"); - variables.put("vfModuleModelName", "PCRF::module-0"); - runtimeService.startProcessInstanceByKey("CreateAAIVfModule", variables); - WorkflowException exception = BPMNUtil.getRawVariable(processEngineRule, "CreateAAIVfModule", "WorkflowException"); - Assert.assertEquals(5000, exception.getErrorCode()); - Assert.assertEquals(true, exception.getErrorMessage().contains("SVC3002")); - System.out.println(exception.getErrorMessage()); - } + @Test + @Deployment(resources = { + "subprocess/CreateAAIVfModule.bpmn" + }) + public void TestQueryGenericVnfFailure_5000() { + MockAAIGenericVnfSearch(); + MockAAICreateGenericVnf(); + MockAAIVfModulePUT(true); + RuntimeService runtimeService = processEngineRule.getRuntimeService(); + Map variables = new HashMap<>(); + variables.put("isDebugLogEnabled","true"); + variables.put("isVidRequest", "false"); + variables.put("vnfName", "STMTN5MMSC23"); + variables.put("serviceId", "00000000-0000-0000-0000-000000000000"); + variables.put("personaModelId", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); + variables.put("personaModelVersion", "1.0"); + variables.put("vfModuleName", "STMTN5MMSC23-MMSC::module-0-0"); + variables.put("vfModuleModelName", "MMSC::module-0"); + runtimeService.startProcessInstanceByKey("CreateAAIVfModule", variables); + WorkflowException exception = BPMNUtil.getRawVariable(processEngineRule, "CreateAAIVfModule", "WorkflowException"); + Assert.assertEquals(500, exception.getErrorCode()); + Assert.assertEquals(true, exception.getErrorMessage().contains("Error occurred attempting to query AAI")); + System.out.println(exception.getErrorMessage()); + } - @Test - @Deployment(resources = { - "subprocess/CreateAAIVfModule.bpmn" - }) - public void TestCreateGenericVnfFailure_1002() { - MockAAIGenericVnfSearch(); - MockAAICreateGenericVnf(); - MockAAIVfModulePUT(true); - RuntimeService runtimeService = processEngineRule.getRuntimeService(); - Map variables = new HashMap<>(); - variables.put("isDebugLogEnabled", "true"); - variables.put("isVidRequest", "false"); - variables.put("vnfId", "768073c7-f41f-4822-9323-b75962763d74"); - variables.put("serviceId", "00000000-0000-0000-0000-000000000000"); - variables.put("personaModelId", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); - variables.put("personaModelVersion", "1.0"); - variables.put("vfModuleName", "STMTN5MMSC22-PCRF::module-1-0"); - variables.put("vfModuleModelName", "PCRF::module-0"); - runtimeService.startProcessInstanceByKey("CreateAAIVfModule", variables); - WorkflowException exception = BPMNUtil.getRawVariable(processEngineRule, "CreateAAIVfModule", "WorkflowException"); - Assert.assertEquals(1002, exception.getErrorCode()); - Assert.assertEquals(true, exception.getErrorMessage().contains("Generic VNF Not Found")); - System.out.println(exception.getErrorMessage()); - } + @Test + @Deployment(resources = { + "subprocess/CreateAAIVfModule.bpmn" + }) + public void TestCreateDupGenericVnfFailure_1002() { + MockAAIGenericVnfSearch(); + MockAAICreateGenericVnf(); + MockAAIVfModulePUT(true); + RuntimeService runtimeService = processEngineRule.getRuntimeService(); + Map variables = new HashMap<>(); + variables.put("isDebugLogEnabled","true"); + variables.put("isVidRequest", "false"); + variables.put("vnfName", "STMTN5MMSC21"); + variables.put("serviceId", "00000000-0000-0000-0000-000000000000"); + variables.put("personaModelId", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); + variables.put("personaModelVersion", "1.0"); + variables.put("vfModuleName", "STMTN5MMSC21-MMSC::module-0-0"); + variables.put("vfModuleModelName", "MMSC::module-0"); + runtimeService.startProcessInstanceByKey("CreateAAIVfModule", variables); + WorkflowException exception = BPMNUtil.getRawVariable(processEngineRule, "CreateAAIVfModule", "WorkflowException"); + Assert.assertEquals(1002, exception.getErrorCode()); + Assert.assertEquals(true, exception.getErrorMessage().contains("Invalid request for new Generic VNF which already exists")); + System.out.println(exception.getErrorMessage()); + } - @Test - @Deployment(resources = { - "subprocess/CreateAAIVfModule.bpmn" - }) - public void TestCreateVfModuleFailure_5000() { - MockAAIGenericVnfSearch(); - MockAAICreateGenericVnf(); - MockAAIVfModulePUT(true); - RuntimeService runtimeService = processEngineRule.getRuntimeService(); - Map variables = new HashMap<>(); - variables.put("isDebugLogEnabled", "true"); - variables.put("isVidRequest", "false"); - variables.put("vnfId", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); - variables.put("serviceId", "99999999-9999-9999-9999-999999999999"); - variables.put("personaModelId", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); - variables.put("personaModelVersion", "1.0"); - variables.put("vfModuleName", "STMTN5MMSC21-PCRF::module-1-0"); - variables.put("vfModuleModelName", "STMTN5MMSC21-PCRF::model-1-0"); - runtimeService.startProcessInstanceByKey("CreateAAIVfModule", variables); - WorkflowException exception = BPMNUtil.getRawVariable(processEngineRule, "CreateAAIVfModule", "WorkflowException"); - Assert.assertEquals(5000, exception.getErrorCode()); - Assert.assertEquals(true, exception.getErrorMessage().contains("SVC3002")); - System.out.println(exception.getErrorMessage()); - } + @Test + @Deployment(resources = { + "subprocess/CreateAAIVfModule.bpmn" + }) + public void TestCreateDupVfModuleFailure_1002() { + MockAAIGenericVnfSearch(); + MockAAICreateGenericVnf(); + MockAAIVfModulePUT(true); + RuntimeService runtimeService = processEngineRule.getRuntimeService(); + Map variables = new HashMap<>(); + variables.put("isDebugLogEnabled","true"); + variables.put("isVidRequest", "false"); + variables.put("vnfId", "2f6aee38-1e2a-11e6-82d1-ffc7d9ee8aa4"); + variables.put("serviceId", "00000000-0000-0000-0000-000000000000"); + variables.put("personaModelId", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); + variables.put("personaModelVersion", "1.0"); + variables.put("vfModuleName", "STMTN5MMSC20-MMSC::module-1-0"); + variables.put("vfModuleModelName", "STMTN5MMSC20-MMSC::model-1-0"); + runtimeService.startProcessInstanceByKey("CreateAAIVfModule", variables); + WorkflowException exception = BPMNUtil.getRawVariable(processEngineRule, "CreateAAIVfModule", "WorkflowException"); + Assert.assertEquals(1002, exception.getErrorCode()); + Assert.assertEquals(true, exception.getErrorMessage().contains("already exists for Generic VNF")); + System.out.println(exception.getErrorMessage()); + } + + @Test + @Deployment(resources = { + "subprocess/CreateAAIVfModule.bpmn" + }) + public void TestCreateGenericVnfFailure_5000() { + MockAAIGenericVnfSearch(); + MockAAICreateGenericVnf(); + MockAAIVfModulePUT(true); + RuntimeService runtimeService = processEngineRule.getRuntimeService(); + Map variables = new HashMap<>(); + variables.put("isDebugLogEnabled","true"); + variables.put("isVidRequest", "false"); + variables.put("vnfName", "STMTN5MMSC22"); + variables.put("serviceId", "99999999-9999-9999-9999-999999999999"); + variables.put("personaModelId", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); + variables.put("personaModelVersion", "1.0"); + variables.put("vfModuleName", "STMTN5MMSC22-PCRF::module-1-0"); + variables.put("vfModuleModelName", "PCRF::module-0"); + runtimeService.startProcessInstanceByKey("CreateAAIVfModule", variables); + WorkflowException exception = BPMNUtil.getRawVariable(processEngineRule, "CreateAAIVfModule", "WorkflowException"); + Assert.assertEquals(5000, exception.getErrorCode()); + Assert.assertEquals(true, exception.getErrorMessage().contains("SVC3002")); + System.out.println(exception.getErrorMessage()); + } - public static void MockAAICreateGenericVnf() { - stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/.*")) - .withRequestBody(containing("00000000-0000-0000-0000-000000000000")) - .willReturn(aResponse() - .withStatus(201))); - stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/.*")) - .withRequestBody(containing("99999999-9999-9999-9999-999999999999")) - .willReturn(aResponse() - .withStatus(500) - .withHeader("Content-Type", "text/xml") - .withBodyFile("aaiFault.xml"))); - } + @Test + @Deployment(resources = { + "subprocess/CreateAAIVfModule.bpmn" + }) + public void TestCreateGenericVnfFailure_1002() { + MockAAIGenericVnfSearch(); + MockAAICreateGenericVnf(); + MockAAIVfModulePUT(true); + RuntimeService runtimeService = processEngineRule.getRuntimeService(); + Map variables = new HashMap<>(); + variables.put("isDebugLogEnabled","true"); + variables.put("isVidRequest", "false"); + variables.put("vnfId", "768073c7-f41f-4822-9323-b75962763d74"); + variables.put("serviceId", "00000000-0000-0000-0000-000000000000"); + variables.put("personaModelId", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); + variables.put("personaModelVersion", "1.0"); + variables.put("vfModuleName", "STMTN5MMSC22-PCRF::module-1-0"); + variables.put("vfModuleModelName", "PCRF::module-0"); + runtimeService.startProcessInstanceByKey("CreateAAIVfModule", variables); + WorkflowException exception = BPMNUtil.getRawVariable(processEngineRule, "CreateAAIVfModule", "WorkflowException"); + Assert.assertEquals(1002, exception.getErrorCode()); + Assert.assertEquals(true, exception.getErrorMessage().contains("Generic VNF Not Found")); + System.out.println(exception.getErrorMessage()); + } - // start of mocks used locally and by other VF Module unit tests - 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))); - } + @Test + @Deployment(resources = { + "subprocess/CreateAAIVfModule.bpmn" + }) + public void TestCreateVfModuleFailure_5000() { + MockAAIGenericVnfSearch(); + MockAAICreateGenericVnf(); + MockAAIVfModulePUT(true); + RuntimeService runtimeService = processEngineRule.getRuntimeService(); + Map variables = new HashMap<>(); + variables.put("isDebugLogEnabled","true"); + variables.put("isVidRequest", "false"); + variables.put("vnfId", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); + variables.put("serviceId", "99999999-9999-9999-9999-999999999999"); + variables.put("personaModelId", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); + variables.put("personaModelVersion", "1.0"); + variables.put("vfModuleName", "STMTN5MMSC21-PCRF::module-1-0"); + variables.put("vfModuleModelName", "STMTN5MMSC21-PCRF::model-1-0"); + runtimeService.startProcessInstanceByKey("CreateAAIVfModule", variables); + WorkflowException exception = BPMNUtil.getRawVariable(processEngineRule, "CreateAAIVfModule", "WorkflowException"); + Assert.assertEquals(5000, exception.getErrorCode()); + Assert.assertEquals(true, exception.getErrorMessage().contains("SVC3002")); + System.out.println(exception.getErrorMessage()); + } + public static void MockAAICreateGenericVnf(){ + stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/.*")) + .withRequestBody(containing("00000000-0000-0000-0000-000000000000")) + .willReturn(aResponse() + .withStatus(201))); + stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/.*")) + .withRequestBody(containing("99999999-9999-9999-9999-999999999999")) + .willReturn(aResponse() + .withStatus(500) + .withHeader("Content-Type", "text/xml") + .withBodyFile("aaiFault.xml"))); + } + + // start of mocks used locally and by other VF Module unit tests + 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))); + } + } \ No newline at end of file diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/CreateAAIVfModuleVolumeGroupTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/CreateAAIVfModuleVolumeGroupTest.java index 3d0fd50feb..5cc26459e8 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/CreateAAIVfModuleVolumeGroupTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/CreateAAIVfModuleVolumeGroupTest.java @@ -16,7 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.common; @@ -38,99 +38,99 @@ import org.openecomp.mso.bpmn.mock.FileUtil; * Unit tests for CreateAAIVfModuleVolumeGroup.bpmn. */ public class CreateAAIVfModuleVolumeGroupTest extends WorkflowTest { - - /** - * Test the happy path through the flow. - */ - @Test - @Deployment(resources = { - "subprocess/CreateAAIVfModuleVolumeGroup.bpmn" - }) - public void happyPath() throws IOException { - - logStart(); - - String updateAAIVfModuleRequest = FileUtil.readResourceFile("__files/VfModularity/CreateAAIVfModuleVolumeGroupRequest.xml"); - MockGetGenericVnfByIdWithPriority("skask", "lukewarm", 200, "VfModularity/VfModule-lukewarm.xml", 2); - MockPutVfModuleIdNoResponse("skask", "PCRF", "lukewarm"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - variables.put("mso-request-id", "999-99-9999"); - variables.put("isDebugLogEnabled", "true"); - variables.put("CreateAAIVfModuleVolumeGroupRequest", updateAAIVfModuleRequest); - invokeSubProcess("CreateAAIVfModuleVolumeGroup", businessKey, variables); - - Assert.assertTrue(isProcessEnded(businessKey)); - String response = (String) getVariableFromHistory(businessKey, "CAAIVfModVG_updateVfModuleResponse"); - Integer responseCode = (Integer) getVariableFromHistory(businessKey, "CAAIVfModVG_updateVfModuleResponseCode"); - System.out.println("Subflow response code: " + responseCode); - System.out.println("Subflow response: " + response); - Assert.assertEquals(200, responseCode.intValue()); - - logEnd(); - } - - /** - * Test the case where the GET to AAI returns a 404. - */ - @Test - @Deployment(resources = { - "subprocess/CreateAAIVfModuleVolumeGroup.bpmn" - }) - public void badGet() throws IOException { - - logStart(); - - String updateAAIVfModuleRequest = FileUtil.readResourceFile("__files/VfModularity/CreateAAIVfModuleVolumeGroupRequest.xml"); - MockGetVfModuleId("skask", ".*", "VfModularity/VfModule-supercool.xml", 404); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - variables.put("mso-request-id", "999-99-9999"); - variables.put("isDebugLogEnabled", "true"); - variables.put("CreateAAIVfModuleVolumeGroupRequest", updateAAIVfModuleRequest); - invokeSubProcess("CreateAAIVfModuleVolumeGroup", businessKey, variables); - - Assert.assertTrue(isProcessEnded(businessKey)); - String response = (String) getVariableFromHistory(businessKey, "CAAIVfModVG_getVfModuleResponse"); - Integer responseCode = (Integer) getVariableFromHistory(businessKey, "CAAIVfModVG_getVfModuleResponseCode"); - System.out.println("Subflow response code: " + responseCode); - System.out.println("Subflow response: " + response); - Assert.assertEquals(404, responseCode.intValue()); - - logEnd(); - } - - /** - * Test the case where the GET to AAI is successful, but he subsequent PUT returns 404. - */ - @Test - @Deployment(resources = { - "subprocess/CreateAAIVfModuleVolumeGroup.bpmn" - }) - public void badPatch() throws IOException { - - logStart(); - - String updateAAIVfModuleRequest = FileUtil.readResourceFile("__files/VfModularity/CreateAAIVfModuleVolumeGroupRequest.xml"); - MockGetVfModuleId("skask", "lukewarm", "VfModularity/VfModule-lukewarm.xml", 200); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - variables.put("mso-request-id", "999-99-9999"); - variables.put("isDebugLogEnabled", "true"); - variables.put("CreateAAIVfModuleVolumeGroupRequest", updateAAIVfModuleRequest); - invokeSubProcess("CreateAAIVfModuleVolumeGroup", businessKey, variables); - - Assert.assertTrue(isProcessEnded(businessKey)); - String response = (String) getVariableFromHistory(businessKey, "CAAIVfModVG_updateVfModuleResponse"); - Integer responseCode = (Integer) getVariableFromHistory(businessKey, "CAAIVfModVG_updateVfModuleResponseCode"); - System.out.println("Subflow response code: " + responseCode); - System.out.println("Subflow response: " + response); - Assert.assertEquals(404, responseCode.intValue()); - - logEnd(); - } + + /** + * Test the happy path through the flow. + */ + @Test + @Deployment(resources = { + "subprocess/CreateAAIVfModuleVolumeGroup.bpmn" + }) + public void happyPath() throws IOException { + + logStart(); + + String updateAAIVfModuleRequest = FileUtil.readResourceFile("__files/VfModularity/CreateAAIVfModuleVolumeGroupRequest.xml"); + MockGetGenericVnfByIdWithPriority("skask", "lukewarm", 200, "VfModularity/VfModule-lukewarm.xml", 2); + MockPutVfModuleIdNoResponse("skask", "PCRF", "lukewarm"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + variables.put("mso-request-id", "999-99-9999"); + variables.put("isDebugLogEnabled","true"); + variables.put("CreateAAIVfModuleVolumeGroupRequest", updateAAIVfModuleRequest); + invokeSubProcess("CreateAAIVfModuleVolumeGroup", businessKey, variables); + + Assert.assertTrue(isProcessEnded(businessKey)); + String response = (String) getVariableFromHistory(businessKey, "CAAIVfModVG_updateVfModuleResponse"); + Integer responseCode = (Integer) getVariableFromHistory(businessKey, "CAAIVfModVG_updateVfModuleResponseCode"); + System.out.println("Subflow response code: " + responseCode); + System.out.println("Subflow response: " + response); + Assert.assertEquals(200, responseCode.intValue()); + + logEnd(); + } + + /** + * Test the case where the GET to AAI returns a 404. + */ + @Test + @Deployment(resources = { + "subprocess/CreateAAIVfModuleVolumeGroup.bpmn" + }) + public void badGet() throws IOException { + + logStart(); + + String updateAAIVfModuleRequest = FileUtil.readResourceFile("__files/VfModularity/CreateAAIVfModuleVolumeGroupRequest.xml"); + MockGetVfModuleId("skask", ".*", "VfModularity/VfModule-supercool.xml", 404); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + variables.put("mso-request-id", "999-99-9999"); + variables.put("isDebugLogEnabled","true"); + variables.put("CreateAAIVfModuleVolumeGroupRequest", updateAAIVfModuleRequest); + invokeSubProcess("CreateAAIVfModuleVolumeGroup", businessKey, variables); + + Assert.assertTrue(isProcessEnded(businessKey)); + String response = (String) getVariableFromHistory(businessKey, "CAAIVfModVG_getVfModuleResponse"); + Integer responseCode = (Integer) getVariableFromHistory(businessKey, "CAAIVfModVG_getVfModuleResponseCode"); + System.out.println("Subflow response code: " + responseCode); + System.out.println("Subflow response: " + response); + Assert.assertEquals(404, responseCode.intValue()); + + logEnd(); + } + + /** + * Test the case where the GET to AAI is successful, but he subsequent PUT returns 404. + */ + @Test + @Deployment(resources = { + "subprocess/CreateAAIVfModuleVolumeGroup.bpmn" + }) + public void badPatch() throws IOException { + + logStart(); + + String updateAAIVfModuleRequest = FileUtil.readResourceFile("__files/VfModularity/CreateAAIVfModuleVolumeGroupRequest.xml"); + MockGetVfModuleId("skask", "lukewarm", "VfModularity/VfModule-lukewarm.xml", 200); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + variables.put("mso-request-id", "999-99-9999"); + variables.put("isDebugLogEnabled","true"); + variables.put("CreateAAIVfModuleVolumeGroupRequest", updateAAIVfModuleRequest); + invokeSubProcess("CreateAAIVfModuleVolumeGroup", businessKey, variables); + + Assert.assertTrue(isProcessEnded(businessKey)); + String response = (String) getVariableFromHistory(businessKey, "CAAIVfModVG_updateVfModuleResponse"); + Integer responseCode = (Integer) getVariableFromHistory(businessKey, "CAAIVfModVG_updateVfModuleResponseCode"); + System.out.println("Subflow response code: " + responseCode); + System.out.println("Subflow response: " + response); + Assert.assertEquals(404, responseCode.intValue()); + + logEnd(); + } } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/DecomposeServiceTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/DecomposeServiceTest.java index 13b9529d82..7295cd8e10 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/DecomposeServiceTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/DecomposeServiceTest.java @@ -16,12 +16,11 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.common; import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.MockGetServiceResourcesCatalogData; - import java.io.IOException; import java.util.HashMap; import java.util.Map; @@ -34,62 +33,63 @@ import org.openecomp.mso.bpmn.common.WorkflowTest; /** * Unit Test for the DecomposeService Flow + * */ public class DecomposeServiceTest extends WorkflowTest { - public DecomposeServiceTest() throws IOException { - - } + public DecomposeServiceTest() throws IOException { - @Test - @Deployment(resources = {"subprocess/BuildingBlock/DecomposeService.bpmn"}) - public void testDecomposeService_success() throws Exception { - MockGetServiceResourcesCatalogData("cmw-123-456-789", "/getCatalogServiceResourcesData.json", "1.0"); + } + @Test + @Deployment(resources = {"subprocess/BuildingBlock/DecomposeService.bpmn"}) + public void testDecomposeService_success() throws Exception{ + MockGetServiceResourcesCatalogData("cmw-123-456-789", "/getCatalogServiceResourcesData.json", "1.0"); - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - setVariablesSuccess(variables, "testRequestId123", "ff5256d2-5a33-55df-13ab-12abad84e7ff"); - invokeSubProcess("DecomposeService", businessKey, variables); - waitForProcessEnd(businessKey, 10000); + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariablesSuccess(variables, "testRequestId123", "ff5256d2-5a33-55df-13ab-12abad84e7ff"); + invokeSubProcess("DecomposeService", businessKey, variables); - Assert.assertTrue(isProcessEnded(businessKey)); + waitForProcessEnd(businessKey, 10000); - } + Assert.assertTrue(isProcessEnded(businessKey)); - //@Test - @Deployment(resources = {"subprocess/BuildingBlock/DecomposeService.bpmn"}) - public void testDecomposeService_success_partial() throws Exception { - MockGetServiceResourcesCatalogData("cmw-123-456-789", "/getCatalogServiceResourcesDataNoNetwork.json"); + } + + //@Test + @Deployment(resources = {"subprocess/BuildingBlock/DecomposeService.bpmn"}) + public void testDecomposeService_success_partial() throws Exception{ + MockGetServiceResourcesCatalogData("cmw-123-456-789", "/getCatalogServiceResourcesDataNoNetwork.json"); - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - setVariablesSuccess(variables, "testRequestId123", "ff5256d2-5a33-55df-13ab-12abad84e7ff"); - invokeSubProcess("DecomposeService", businessKey, variables); + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariablesSuccess(variables, "testRequestId123", "ff5256d2-5a33-55df-13ab-12abad84e7ff"); + invokeSubProcess("DecomposeService", businessKey, variables); - waitForProcessEnd(businessKey, 10000); + waitForProcessEnd(businessKey, 10000); - Assert.assertTrue(isProcessEnded(businessKey)); + Assert.assertTrue(isProcessEnded(businessKey)); - } + } - private void setVariablesSuccess(Map variables, String requestId, String siId) { - variables.put("isDebugLogEnabled", "true"); - variables.put("mso-request-id", requestId); - variables.put("msoRequestId", requestId); - variables.put("serviceInstanceId", siId); + private void setVariablesSuccess(Map variables, String requestId, String siId) { + variables.put("isDebugLogEnabled", "true"); + variables.put("mso-request-id", requestId); + variables.put("msoRequestId", requestId); + variables.put("serviceInstanceId",siId); - String serviceModelInfo = "{ " + "\"modelType\": \"service\"," + - "\"modelInvariantUuid\": \"cmw-123-456-789\"," + - "\"modelVersionId\": \"ab6478e5-ea33-3346-ac12-ab121484a3fe\"," + - "\"modelName\": \"ServicevSAMP12\"," + - "\"modelVersion\": \"1.0\"," + - "}"; - variables.put("serviceModelInfo", serviceModelInfo); + String serviceModelInfo = "{ "+ "\"modelType\": \"service\"," + + "\"modelInvariantUuid\": \"cmw-123-456-789\"," + + "\"modelVersionId\": \"ab6478e5-ea33-3346-ac12-ab121484a3fe\"," + + "\"modelName\": \"ServicevSAMP12\"," + + "\"modelVersion\": \"1.0\"," + + "}"; + variables.put("serviceModelInfo", serviceModelInfo); - } + } } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/DeleteAAIVfModuleTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/DeleteAAIVfModuleTest.java index 2b70a086c8..564927a854 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/DeleteAAIVfModuleTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/DeleteAAIVfModuleTest.java @@ -16,7 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.common; @@ -39,606 +39,605 @@ import org.openecomp.mso.bpmn.core.WorkflowException; * Unit test for DeleteAAIVfModule.bpmn. */ public class DeleteAAIVfModuleTest extends WorkflowTest { - private static final String EOL = "\n"; - - @Test - @Deployment(resources = { - "subprocess/DeleteAAIVfModule.bpmn" - }) - public void TestDeleteGenericVnfSuccess_200() { - // delete the Base Module and Generic Vnf - // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c721, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a73 - MockAAIGenericVnfSearch(); - MockAAIDeleteGenericVnf(); - MockAAIDeleteVfModule(); - RuntimeService runtimeService = processEngineRule.getRuntimeService(); - Map variables = new HashMap<>(); - variables.put("isDebugLogEnabled", "true"); - variables.put("DeleteAAIVfModuleRequest", " DELETE_VF_MODULE PORTAL a27ce5a9-29c4-4c22-a017-6615ac73c721 STMTN5MMSC21 973ed047-d251-4fb9-bf1a-65b8949e0a73 STMTN5MMSC21-MMSC::module-0-0 "); - runtimeService.startProcessInstanceByKey("DeleteAAIVfModule", variables); - String response = BPMNUtil.getVariable(processEngineRule, "DeleteAAIVfModule", "DAAIVfMod_deleteGenericVnfResponseCode"); - String responseCode = BPMNUtil.getVariable(processEngineRule, "DeleteAAIVfModule", "DAAIVfMod_deleteGenericVnfResponseCode"); - Assert.assertEquals("200", responseCode); - System.out.println(response); - } - - @Test - @Deployment(resources = { - "subprocess/DeleteAAIVfModule.bpmn" - }) - public void TestDeleteVfModuleSuccess_200() { - // delete Add-on Vf Module for existing Generic Vnf - // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c720, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a75 - String request = - "" + EOL + - " " + EOL + - " DELETE_VF_MODULE" + EOL + - " PORTAL" + EOL + - " " + EOL + - " " + EOL + - " a27ce5a9-29c4-4c22-a017-6615ac73c720" + EOL + - " STMTN5MMSC20" + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a75" + EOL + - " STMTN5MMSC20-MMSC::module-1-0" + EOL + - " " + EOL + - " " + EOL + - "" + EOL; - - MockAAIGenericVnfSearch(); - MockAAIDeleteGenericVnf(); - MockAAIDeleteVfModule(); - RuntimeService runtimeService = processEngineRule.getRuntimeService(); - Map variables = new HashMap<>(); - variables.put("isDebugLogEnabled", "true"); - variables.put("DeleteAAIVfModuleRequest", request); - runtimeService.startProcessInstanceByKey("DeleteAAIVfModule", variables); - String response = BPMNUtil.getVariable(processEngineRule, "DeleteAAIVfModule", "DAAIVfMod_deleteVfModuleResponseCode"); - String responseCode = BPMNUtil.getVariable(processEngineRule, "DeleteAAIVfModule", "DAAIVfMod_deleteVfModuleResponseCode"); - Assert.assertEquals("200", responseCode); - System.out.println(response); - } - - @Test - @Deployment(resources = { - "subprocess/DeleteAAIVfModule.bpmn" - }) - public void TestQueryGenericVnfFailure_5000() { - // query Generic Vnf failure (non-404) with A&AI - // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c723, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a71 - String request = - "" + EOL + - " " + EOL + - " DELETE_VF_MODULE" + EOL + - " PORTAL" + EOL + - " " + EOL + - " " + EOL + - " a27ce5a9-29c4-4c22-a017-6615ac73c723" + EOL + - " STMTN5MMSC23" + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a71" + EOL + - " STMTN5MMSC20-MMSC::module-1-0" + EOL + - " " + EOL + - " " + EOL + - "" + EOL; - MockAAIGenericVnfSearch(); - MockAAIDeleteGenericVnf(); - MockAAIDeleteVfModule(); - RuntimeService runtimeService = processEngineRule.getRuntimeService(); - Map variables = new HashMap<>(); - variables.put("isDebugLogEnabled", "true"); - variables.put("DeleteAAIVfModuleRequest", request); - runtimeService.startProcessInstanceByKey("DeleteAAIVfModule", variables); - WorkflowException exception = BPMNUtil.getRawVariable(processEngineRule, "DeleteAAIVfModule", "WorkflowException"); - Assert.assertEquals(5000, exception.getErrorCode()); - Assert.assertEquals(true, exception.getErrorMessage().contains("SVC3002")); - System.out.println(exception.getErrorMessage()); - } - - @Test - @Deployment(resources = { - "subprocess/DeleteAAIVfModule.bpmn" - }) - public void TestQueryGenericVnfFailure_1002() { - // attempt to delete Vf Module for Generic Vnf that does not exist (A&AI returns 404) - // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c722, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a72 - String request = - "" + EOL + - " " + EOL + - " DELETE_VF_MODULE" + EOL + - " PORTAL" + EOL + - " " + EOL + - " " + EOL + - " a27ce5a9-29c4-4c22-a017-6615ac73c722" + EOL + - " STMTN5MMSC22" + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a72" + EOL + - " STMTN5MMSC22-MMSC::module-1-0" + EOL + - " " + EOL + - " " + EOL + - "" + EOL; - MockAAIGenericVnfSearch(); - MockAAIDeleteGenericVnf(); - MockAAIDeleteVfModule(); - RuntimeService runtimeService = processEngineRule.getRuntimeService(); - Map variables = new HashMap<>(); - variables.put("isDebugLogEnabled", "true"); - variables.put("DeleteAAIVfModuleRequest", request); - runtimeService.startProcessInstanceByKey("DeleteAAIVfModule", variables); - WorkflowException exception = BPMNUtil.getRawVariable(processEngineRule, "DeleteAAIVfModule", "WorkflowException"); - Assert.assertEquals(1002, exception.getErrorCode()); - Assert.assertEquals(true, exception.getErrorMessage().contains("Generic VNF Not Found")); - System.out.println(exception.getErrorMessage()); - } - - @Test - @Deployment(resources = { - "subprocess/DeleteAAIVfModule.bpmn" - }) - public void TestDeleteGenericVnfFailure_5000() { - // A&AI failure (non-200) when attempting to delete a Generic Vnf - // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c718, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a78 - String request = - "" + EOL + - " " + EOL + - " DELETE_VF_MODULE" + EOL + - " PORTAL" + EOL + - " " + EOL + - " " + EOL + - " a27ce5a9-29c4-4c22-a017-6615ac73c718" + EOL + - " STMTN5MMSC18" + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a78" + EOL + - " STMTN5MMSC18-MMSC::module-0-0" + EOL + - " " + EOL + - " " + EOL + - "" + EOL; - MockAAIGenericVnfSearch(); - MockAAIDeleteGenericVnf(); - MockAAIDeleteVfModule(); - RuntimeService runtimeService = processEngineRule.getRuntimeService(); - Map variables = new HashMap<>(); - variables.put("isDebugLogEnabled", "true"); - variables.put("DeleteAAIVfModuleRequest", request); - runtimeService.startProcessInstanceByKey("DeleteAAIVfModule", variables); - WorkflowException exception = BPMNUtil.getRawVariable(processEngineRule, "DeleteAAIVfModule", "WorkflowException"); - Assert.assertEquals(5000, exception.getErrorCode()); - Assert.assertEquals(true, exception.getErrorMessage().contains("SVC3002")); - System.out.println(exception.getErrorMessage()); - } - - @Test - @Deployment(resources = { - "subprocess/DeleteAAIVfModule.bpmn" - }) - public void TestDeleteVfModuleFailure_5000() { - // A&AI failure (non-200) when attempting to delete a Vf Module - // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c719, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a77 - String request = - "" + EOL + - " " + EOL + - " DELETE_VF_MODULE" + EOL + - " PORTAL" + EOL + - " " + EOL + - " " + EOL + - " a27ce5a9-29c4-4c22-a017-6615ac73c719" + EOL + - " STMTN5MMSC19" + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a77" + EOL + - " STMTN5MMSC19-MMSC::module-1-0" + EOL + - " " + EOL + - " " + EOL + - "" + EOL; - MockAAIGenericVnfSearch(); - MockAAIDeleteGenericVnf(); - MockAAIDeleteVfModule(); - RuntimeService runtimeService = processEngineRule.getRuntimeService(); - Map variables = new HashMap<>(); - variables.put("isDebugLogEnabled", "true"); - variables.put("DeleteAAIVfModuleRequest", request); - runtimeService.startProcessInstanceByKey("DeleteAAIVfModule", variables); - WorkflowException exception = BPMNUtil.getRawVariable(processEngineRule, "DeleteAAIVfModule", "WorkflowException"); - Assert.assertEquals(5000, exception.getErrorCode()); - Assert.assertEquals(true, exception.getErrorMessage().contains("SVC3002")); - System.out.println(exception.getErrorMessage()); - } - - @Test - @Deployment(resources = { - "subprocess/DeleteAAIVfModule.bpmn" - }) - public void TestDeleteVfModuleFailure_1002_1() { - // failure attempting to delete Base Module when not the last Vf Module - // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c720, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a74 - String request = - "" + EOL + - " " + EOL + - " DELETE_VF_MODULE" + EOL + - " PORTAL" + EOL + - " " + EOL + - " " + EOL + - " a27ce5a9-29c4-4c22-a017-6615ac73c720" + EOL + - " STMTN5MMSC20" + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a74" + EOL + - " STMTN5MMSC20-MMSC::module-0-0" + EOL + - " " + EOL + - " " + EOL + - "" + EOL; - MockAAIGenericVnfSearch(); - MockAAIDeleteGenericVnf(); - MockAAIDeleteVfModule(); - RuntimeService runtimeService = processEngineRule.getRuntimeService(); - Map variables = new HashMap<>(); - variables.put("isDebugLogEnabled", "true"); - variables.put("DeleteAAIVfModuleRequest", request); - runtimeService.startProcessInstanceByKey("DeleteAAIVfModule", variables); - WorkflowException exception = BPMNUtil.getRawVariable(processEngineRule, "DeleteAAIVfModule", "WorkflowException"); - Assert.assertEquals(1002, exception.getErrorCode()); - Assert.assertEquals(true, exception.getErrorMessage().contains("is Base Module, not Last Module")); - System.out.println(exception.getErrorMessage()); - } - - @Test - @Deployment(resources = { - "subprocess/DeleteAAIVfModule.bpmn" - }) - public void TestDeleteVfModuleFailure_1002_2() { - // failure attempting to delete a Vf Module that does not exist (A&AI returns 404) - // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c720, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a76 - MockAAIGenericVnfSearch(); - MockAAIDeleteGenericVnf(); - MockAAIDeleteVfModule(); - RuntimeService runtimeService = processEngineRule.getRuntimeService(); - Map variables = new HashMap<>(); - variables.put("isDebugLogEnabled", "true"); - variables.put("DeleteAAIVfModuleRequest", " DELETE_VF_MODULE PORTAL a27ce5a9-29c4-4c22-a017-6615ac73c720 STMTN5MMSC20 973ed047-d251-4fb9-bf1a-65b8949e0a76 STMTN5MMSC20-MMSC::module-2-0 "); - runtimeService.startProcessInstanceByKey("DeleteAAIVfModule", variables); - WorkflowException exception = BPMNUtil.getRawVariable(processEngineRule, "DeleteAAIVfModule", "WorkflowException"); - Assert.assertEquals(1002, exception.getErrorCode()); - Assert.assertEquals(true, exception.getErrorMessage().contains("does not exist for Generic Vnf Id")); - System.out.println(exception.getErrorMessage()); - } - - // Start of VF Modularization A&AI mocks - - public static void MockAAIGenericVnfSearch() { - String body; - - // The following stubs are for CreateAAIVfModule and UpdateAAIVfModule - - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/[?]vnf-name=STMTN5MMSC23&depth=1")) - .willReturn(aResponse() - .withStatus(500) - .withHeader("Content-Type", "text/xml") - .withBodyFile("aaiFault.xml"))); - - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/[?]vnf-name=STMTN5MMSC22&depth=1")) - .willReturn(aResponse() - .withStatus(404) - .withHeader("Content-Type", "text/xml") - .withBody("Generic VNF Not Found"))); - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/768073c7-f41f-4822-9323-b75962763d74[?]depth=1")) - .willReturn(aResponse() - .withStatus(404) - .withHeader("Content-Type", "text/xml") - .withBody("Generic VNF Not Found"))); - - body = - "" + EOL + - " a27ce5a9-29c4-4c22-a017-6615ac73c721" + EOL + - " STMTN5MMSC21" + EOL + - " mmsc-capacity" + EOL + - " SDN-MOBILITY" + EOL + - " vMMSC" + EOL + - " pending-create" + EOL + - " false" + EOL + - " false" + EOL + - " 1508691" + EOL + - " " + EOL + - " " + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + - " STMTN5MMSC21-MMSC::module-0-0" + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + - " 1.0" + EOL + - " true" + EOL + - " FILLED-IN-BY-MSO" + EOL + - " pending-create" + EOL + - " 1508692" + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - "" + EOL; - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/[?]vnf-name=STMTN5MMSC21&depth=1")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBody(body))); - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c721[?]depth=1")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBody(body))); - - body = - "" + EOL + - " 2f6aee38-1e2a-11e6-82d1-ffc7d9ee8aa4" + EOL + - " STMTN5MMSC20" + EOL + - " mmsc-capacity" + EOL + - " SDN-MOBILITY" + EOL + - " vMMSC" + EOL + - " pending-create" + EOL + - " false" + EOL + - " false" + EOL + - " 1508691" + EOL + - " " + EOL + - " " + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + - " STMTN5MMSC20-MMSC::module-0-0" + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + - " 1.0" + EOL + - " true" + EOL + - " FILLED-IN-BY-MSO" + EOL + - " pending-create" + EOL + - " 1508692" + EOL + - " " + EOL + - " " + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a74" + EOL + - " STMTN5MMSC20-MMSC::module-1-0" + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a74" + EOL + - " 1.0" + EOL + - " false" + EOL + - " FILLED-IN-BY-MSO" + EOL + - " pending-create" + EOL + - " 1508692" + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - "" + EOL; - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/[?]vnf-name=STMTN5MMSC20&depth=1")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBody(body))); - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/2f6aee38-1e2a-11e6-82d1-ffc7d9ee8aa4[?]depth=1")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBody(body))); - - // The following stubs are for DeleteAAIVfModule - - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c723[?]depth=1")) - .willReturn(aResponse() - .withStatus(500) - .withHeader("Content-Type", "text/xml") - .withBodyFile("aaiFault.xml"))); - - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c722[?]depth=1")) - .willReturn(aResponse() - .withStatus(404) - .withHeader("Content-Type", "text/xml") - .withBody("Generic VNF Not Found"))); - - body = - "" + EOL + - " a27ce5a9-29c4-4c22-a017-6615ac73c721" + EOL + - " STMTN5MMSC21" + EOL + - " mmsc-capacity" + EOL + - " SDN-MOBILITY" + EOL + - " vMMSC" + EOL + - " pending-create" + EOL + - " false" + EOL + - " false" + EOL + - " 0000021" + EOL + - " " + EOL + - " " + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + - " STMTN5MMSC21-MMSC::module-0-0" + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + - " 1.0" + EOL + - " true" + EOL + - " FILLED-IN-BY-MSO" + EOL + - " pending-create" + EOL + - " 0000073" + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - "" + EOL; - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c721[?]depth=1")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBody(body))); - - body = - "" + EOL + - " a27ce5a9-29c4-4c22-a017-6615ac73c720" + EOL + - " STMTN5MMSC20" + EOL + - " mmsc-capacity" + EOL + - " SDN-MOBILITY" + EOL + - " vMMSC" + EOL + - " pending-create" + EOL + - " false" + EOL + - " false" + EOL + - " 0000020" + EOL + - " " + EOL + - " " + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a74" + EOL + - " STMTN5MMSC20-MMSC::module-0-0" + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a74" + EOL + - " 1.0" + EOL + - " true" + EOL + - " FILLED-IN-BY-MSO" + EOL + - " pending-create" + EOL + - " 0000074" + EOL + - " " + EOL + - " " + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a75" + EOL + - " STMTN5MMSC20-MMSC::module-1-0" + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a75" + EOL + - " 1.0" + EOL + - " false" + EOL + - " FILLED-IN-BY-MSO" + EOL + - " pending-create" + EOL + - " 0000075" + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - "" + EOL; - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c720[?]depth=1")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBody(body))); - - body = - "" + EOL + - " a27ce5a9-29c4-4c22-a017-6615ac73c719" + EOL + - " STMTN5MMSC19" + EOL + - " mmsc-capacity" + EOL + - " SDN-MOBILITY" + EOL + - " vMMSC" + EOL + - " pending-create" + EOL + - " false" + EOL + - " false" + EOL + - " 0000019" + EOL + - " " + EOL + - " " + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a76" + EOL + - " STMTN5MMSC19-MMSC::module-0-0" + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a76" + EOL + - " 1.0" + EOL + - " true" + EOL + - " FILLED-IN-BY-MSO" + EOL + - " pending-create" + EOL + - " 0000076" + EOL + - " " + EOL + - " " + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a77" + EOL + - " STMTN5MMSC19-MMSC::module-1-0" + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a77" + EOL + - " 1.0" + EOL + - " false" + EOL + - " FILLED-IN-BY-MSO" + EOL + - " pending-create" + EOL + - " 0000077" + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - "" + EOL; - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c719[?]depth=1")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBody(body))); - - body = - "" + EOL + - " a27ce5a9-29c4-4c22-a017-6615ac73c718" + EOL + - " STMTN5MMSC18" + EOL + - " mmsc-capacity" + EOL + - " SDN-MOBILITY" + EOL + - " vMMSC" + EOL + - " pending-create" + EOL + - " false" + EOL + - " false" + EOL + - " 0000018" + EOL + - " " + EOL + - " " + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a78" + EOL + - " STMTN5MMSC18-MMSC::module-0-0" + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a78" + EOL + - " 1.0" + EOL + - " true" + EOL + - " FILLED-IN-BY-MSO" + EOL + - " pending-create" + EOL + - " 0000078" + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - "" + EOL; - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c718[?]depth=1")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBody(body))); - - body = - "" + EOL + - " a27ce5a9-29c4-4c22-a017-6615ac73c721" + EOL + - " STMTN5MMSC21" + EOL + - " mmsc-capacity" + EOL + - " SDN-MOBILITY" + EOL + - " vMMSC" + EOL + - " pending-create" + EOL + - " false" + EOL + - " false" + EOL + - " 0000021" + EOL + - " " + EOL + - " " + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + - " STMTN5MMSC21-MMSC::module-0-0" + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + - " 1.0" + EOL + - " true" + EOL + - " FILLED-IN-BY-MSO" + EOL + - " pending-create" + EOL + - " 0000073" + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - "" + EOL; - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c721/vf-modules/vf-module/973ed047-d251-4fb9-bf1a-65b8949e0a73")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBody(body))); - } - - public static void MockAAIDeleteGenericVnf() { - stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c721/[?]resource-version=0000021")) - .willReturn(aResponse() - .withStatus(200))); - stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c718/[?]resource-version=0000018")) - .willReturn(aResponse() - .withStatus(500) - .withHeader("Content-Type", "text/xml") - .withBodyFile("aaiFault.xml"))); - } - - public static void MockAAIDeleteVfModule() { - stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c721/vf-modules/vf-module/973ed047-d251-4fb9-bf1a-65b8949e0a73/[?]resource-version=0000073")) - .willReturn(aResponse() - .withStatus(200))); - stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c720/vf-modules/vf-module/973ed047-d251-4fb9-bf1a-65b8949e0a75/[?]resource-version=0000075")) - .willReturn(aResponse() - .withStatus(200))); - stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c718/vf-modules/vf-module/973ed047-d251-4fb9-bf1a-65b8949e0a78/[?]resource-version=0000078")) - .willReturn(aResponse() - .withStatus(200))); - stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c719/vf-modules/vf-module/973ed047-d251-4fb9-bf1a-65b8949e0a77/[?]resource-version=0000077")) - .willReturn(aResponse() - .withStatus(500) - .withHeader("Content-Type", "text/xml") - .withBodyFile("aaiFault.xml"))); - stubFor(get(urlMatching("/aai/v[0-9]+/network/network-policies/network-policy\\?network-policy-fqdn=.*")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile("VfModularity/QueryNetworkPolicy_AAIResponse_Success.xml"))); - - stubFor(delete(urlMatching("/aai/v[0-9]+/network/network-policies/network-policy/.*")) - .willReturn(aResponse() - .withStatus(200))); - } + private static final String EOL = "\n"; + + @Test + @Deployment(resources = { + "subprocess/DeleteAAIVfModule.bpmn" + }) + public void TestDeleteGenericVnfSuccess_200() { + // delete the Base Module and Generic Vnf + // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c721, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a73 + MockAAIGenericVnfSearch(); + MockAAIDeleteGenericVnf(); + MockAAIDeleteVfModule(); + RuntimeService runtimeService = processEngineRule.getRuntimeService(); + Map variables = new HashMap<>(); + variables.put("isDebugLogEnabled","true"); + variables.put("DeleteAAIVfModuleRequest"," DELETE_VF_MODULE PORTAL a27ce5a9-29c4-4c22-a017-6615ac73c721 STMTN5MMSC21 973ed047-d251-4fb9-bf1a-65b8949e0a73 STMTN5MMSC21-MMSC::module-0-0 "); + runtimeService.startProcessInstanceByKey("DeleteAAIVfModule", variables); + String response = BPMNUtil.getVariable(processEngineRule, "DeleteAAIVfModule", "DAAIVfMod_deleteGenericVnfResponseCode"); + String responseCode = BPMNUtil.getVariable(processEngineRule, "DeleteAAIVfModule", "DAAIVfMod_deleteGenericVnfResponseCode"); + Assert.assertEquals("200", responseCode); + System.out.println(response); + } + + @Test + @Deployment(resources = { + "subprocess/DeleteAAIVfModule.bpmn" + }) + public void TestDeleteVfModuleSuccess_200() { + // delete Add-on Vf Module for existing Generic Vnf + // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c720, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a75 + String request = + "" + EOL + + " " + EOL + + " DELETE_VF_MODULE" + EOL + + " PORTAL" + EOL + + " " + EOL + + " " + EOL + + " a27ce5a9-29c4-4c22-a017-6615ac73c720" + EOL + + " STMTN5MMSC20" + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a75" + EOL + + " STMTN5MMSC20-MMSC::module-1-0" + EOL + + " " + EOL + + " " + EOL + + "" + EOL; + + MockAAIGenericVnfSearch(); + MockAAIDeleteGenericVnf(); + MockAAIDeleteVfModule(); + RuntimeService runtimeService = processEngineRule.getRuntimeService(); + Map variables = new HashMap<>(); + variables.put("isDebugLogEnabled","true"); + variables.put("DeleteAAIVfModuleRequest",request); + runtimeService.startProcessInstanceByKey("DeleteAAIVfModule", variables); + String response = BPMNUtil.getVariable(processEngineRule, "DeleteAAIVfModule", "DAAIVfMod_deleteVfModuleResponseCode"); + String responseCode = BPMNUtil.getVariable(processEngineRule, "DeleteAAIVfModule", "DAAIVfMod_deleteVfModuleResponseCode"); + Assert.assertEquals("200", responseCode); + System.out.println(response); + } + + @Test + @Deployment(resources = { + "subprocess/DeleteAAIVfModule.bpmn" + }) + public void TestQueryGenericVnfFailure_5000() { + // query Generic Vnf failure (non-404) with A&AI + // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c723, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a71 + String request = + "" + EOL + + " " + EOL + + " DELETE_VF_MODULE" + EOL + + " PORTAL" + EOL + + " " + EOL + + " " + EOL + + " a27ce5a9-29c4-4c22-a017-6615ac73c723" + EOL + + " STMTN5MMSC23" + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a71" + EOL + + " STMTN5MMSC20-MMSC::module-1-0" + EOL + + " " + EOL + + " " + EOL + + "" + EOL; + MockAAIGenericVnfSearch(); + MockAAIDeleteGenericVnf(); + MockAAIDeleteVfModule(); + RuntimeService runtimeService = processEngineRule.getRuntimeService(); + Map variables = new HashMap<>(); + variables.put("isDebugLogEnabled","true"); + variables.put("DeleteAAIVfModuleRequest",request); + runtimeService.startProcessInstanceByKey("DeleteAAIVfModule", variables); + WorkflowException exception = BPMNUtil.getRawVariable(processEngineRule, "DeleteAAIVfModule", "WorkflowException"); + Assert.assertEquals(5000, exception.getErrorCode()); + Assert.assertEquals(true, exception.getErrorMessage().contains("SVC3002")); + System.out.println(exception.getErrorMessage()); + } + + @Test + @Deployment(resources = { + "subprocess/DeleteAAIVfModule.bpmn" + }) + public void TestQueryGenericVnfFailure_1002() { + // attempt to delete Vf Module for Generic Vnf that does not exist (A&AI returns 404) + // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c722, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a72 + String request = + "" + EOL + + " " + EOL + + " DELETE_VF_MODULE" + EOL + + " PORTAL" + EOL + + " " + EOL + + " " + EOL + + " a27ce5a9-29c4-4c22-a017-6615ac73c722" + EOL + + " STMTN5MMSC22" + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a72" + EOL + + " STMTN5MMSC22-MMSC::module-1-0" + EOL + + " " + EOL + + " " + EOL + + "" + EOL; + MockAAIGenericVnfSearch(); + MockAAIDeleteGenericVnf(); + MockAAIDeleteVfModule(); + RuntimeService runtimeService = processEngineRule.getRuntimeService(); + Map variables = new HashMap<>(); + variables.put("isDebugLogEnabled","true"); + variables.put("DeleteAAIVfModuleRequest",request); + runtimeService.startProcessInstanceByKey("DeleteAAIVfModule", variables); + WorkflowException exception = BPMNUtil.getRawVariable(processEngineRule, "DeleteAAIVfModule", "WorkflowException"); + Assert.assertEquals(1002, exception.getErrorCode()); + Assert.assertEquals(true, exception.getErrorMessage().contains("Generic VNF Not Found")); + System.out.println(exception.getErrorMessage()); + } + + @Test + @Deployment(resources = { + "subprocess/DeleteAAIVfModule.bpmn" + }) + public void TestDeleteGenericVnfFailure_5000() { + // A&AI failure (non-200) when attempting to delete a Generic Vnf + // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c718, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a78 + String request = + "" + EOL + + " " + EOL + + " DELETE_VF_MODULE" + EOL + + " PORTAL" + EOL + + " " + EOL + + " " + EOL + + " a27ce5a9-29c4-4c22-a017-6615ac73c718" + EOL + + " STMTN5MMSC18" + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a78" + EOL + + " STMTN5MMSC18-MMSC::module-0-0" + EOL + + " " + EOL + + " " + EOL + + "" + EOL; + MockAAIGenericVnfSearch(); + MockAAIDeleteGenericVnf(); + MockAAIDeleteVfModule(); + RuntimeService runtimeService = processEngineRule.getRuntimeService(); + Map variables = new HashMap<>(); + variables.put("isDebugLogEnabled","true"); + variables.put("DeleteAAIVfModuleRequest",request); + runtimeService.startProcessInstanceByKey("DeleteAAIVfModule", variables); + WorkflowException exception = BPMNUtil.getRawVariable(processEngineRule, "DeleteAAIVfModule", "WorkflowException"); + Assert.assertEquals(5000, exception.getErrorCode()); + Assert.assertEquals(true, exception.getErrorMessage().contains("SVC3002")); + System.out.println(exception.getErrorMessage()); + } + + @Test + @Deployment(resources = { + "subprocess/DeleteAAIVfModule.bpmn" + }) + public void TestDeleteVfModuleFailure_5000() { + // A&AI failure (non-200) when attempting to delete a Vf Module + // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c719, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a77 + String request = + "" + EOL + + " " + EOL + + " DELETE_VF_MODULE" + EOL + + " PORTAL" + EOL + + " " + EOL + + " " + EOL + + " a27ce5a9-29c4-4c22-a017-6615ac73c719" + EOL + + " STMTN5MMSC19" + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a77" + EOL + + " STMTN5MMSC19-MMSC::module-1-0" + EOL + + " " + EOL + + " " + EOL + + "" + EOL; + MockAAIGenericVnfSearch(); + MockAAIDeleteGenericVnf(); + MockAAIDeleteVfModule(); + RuntimeService runtimeService = processEngineRule.getRuntimeService(); + Map variables = new HashMap<>(); + variables.put("isDebugLogEnabled","true"); + variables.put("DeleteAAIVfModuleRequest",request); + runtimeService.startProcessInstanceByKey("DeleteAAIVfModule", variables); + WorkflowException exception = BPMNUtil.getRawVariable(processEngineRule, "DeleteAAIVfModule", "WorkflowException"); + Assert.assertEquals(5000, exception.getErrorCode()); + Assert.assertEquals(true, exception.getErrorMessage().contains("SVC3002")); + System.out.println(exception.getErrorMessage()); + } + + @Test + @Deployment(resources = { + "subprocess/DeleteAAIVfModule.bpmn" + }) + public void TestDeleteVfModuleFailure_1002_1() { + // failure attempting to delete Base Module when not the last Vf Module + // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c720, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a74 + String request = + "" + EOL + + " " + EOL + + " DELETE_VF_MODULE" + EOL + + " PORTAL" + EOL + + " " + EOL + + " " + EOL + + " a27ce5a9-29c4-4c22-a017-6615ac73c720" + EOL + + " STMTN5MMSC20" + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a74" + EOL + + " STMTN5MMSC20-MMSC::module-0-0" + EOL + + " " + EOL + + " " + EOL + + "" + EOL; + MockAAIGenericVnfSearch(); + MockAAIDeleteGenericVnf(); + MockAAIDeleteVfModule(); + RuntimeService runtimeService = processEngineRule.getRuntimeService(); + Map variables = new HashMap<>(); + variables.put("isDebugLogEnabled","true"); + variables.put("DeleteAAIVfModuleRequest",request); + runtimeService.startProcessInstanceByKey("DeleteAAIVfModule", variables); + WorkflowException exception = BPMNUtil.getRawVariable(processEngineRule, "DeleteAAIVfModule", "WorkflowException"); + Assert.assertEquals(1002, exception.getErrorCode()); + Assert.assertEquals(true, exception.getErrorMessage().contains("is Base Module, not Last Module")); + System.out.println(exception.getErrorMessage()); + } + + @Test + @Deployment(resources = { + "subprocess/DeleteAAIVfModule.bpmn" + }) + public void TestDeleteVfModuleFailure_1002_2() { + // failure attempting to delete a Vf Module that does not exist (A&AI returns 404) + // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c720, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a76 + MockAAIGenericVnfSearch(); + MockAAIDeleteGenericVnf(); + MockAAIDeleteVfModule(); + RuntimeService runtimeService = processEngineRule.getRuntimeService(); + Map variables = new HashMap<>(); + variables.put("isDebugLogEnabled","true"); + variables.put("DeleteAAIVfModuleRequest"," DELETE_VF_MODULE PORTAL a27ce5a9-29c4-4c22-a017-6615ac73c720 STMTN5MMSC20 973ed047-d251-4fb9-bf1a-65b8949e0a76 STMTN5MMSC20-MMSC::module-2-0 "); + runtimeService.startProcessInstanceByKey("DeleteAAIVfModule", variables); + WorkflowException exception = BPMNUtil.getRawVariable(processEngineRule, "DeleteAAIVfModule", "WorkflowException"); + Assert.assertEquals(1002, exception.getErrorCode()); + Assert.assertEquals(true, exception.getErrorMessage().contains("does not exist for Generic Vnf Id")); + System.out.println(exception.getErrorMessage()); + } + + // Start of VF Modularization A&AI mocks + + public static void MockAAIGenericVnfSearch(){ + String body; + + // The following stubs are for CreateAAIVfModule and UpdateAAIVfModule + + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/[?]vnf-name=STMTN5MMSC23&depth=1")) + .willReturn(aResponse() + .withStatus(500) + .withHeader("Content-Type", "text/xml") + .withBodyFile("aaiFault.xml"))); + + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/[?]vnf-name=STMTN5MMSC22&depth=1")) + .willReturn(aResponse() + .withStatus(404) + .withHeader("Content-Type", "text/xml") + .withBody("Generic VNF Not Found"))); + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/768073c7-f41f-4822-9323-b75962763d74[?]depth=1")) + .willReturn(aResponse() + .withStatus(404) + .withHeader("Content-Type", "text/xml") + .withBody("Generic VNF Not Found"))); + + body = + "" + EOL + + " a27ce5a9-29c4-4c22-a017-6615ac73c721" + EOL + + " STMTN5MMSC21" + EOL + + " mmsc-capacity" + EOL + + " SDN-MOBILITY" + EOL + + " vMMSC" + EOL + + " pending-create" + EOL + + " false" + EOL + + " false" + EOL + + " 1508691" + EOL + + " " + EOL + + " " + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + + " STMTN5MMSC21-MMSC::module-0-0" + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + + " 1.0" + EOL + + " true" + EOL + + " FILLED-IN-BY-MSO" + EOL + + " pending-create" + EOL + + " 1508692" + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + "" + EOL; + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/[?]vnf-name=STMTN5MMSC21&depth=1")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBody(body))); + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c721[?]depth=1")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBody(body))); + + body = + "" + EOL + + " 2f6aee38-1e2a-11e6-82d1-ffc7d9ee8aa4" + EOL + + " STMTN5MMSC20" + EOL + + " mmsc-capacity" + EOL + + " SDN-MOBILITY" + EOL + + " vMMSC" + EOL + + " pending-create" + EOL + + " false" + EOL + + " false" + EOL + + " 1508691" + EOL + + " " + EOL + + " " + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + + " STMTN5MMSC20-MMSC::module-0-0" + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + + " 1.0" + EOL + + " true" + EOL + + " FILLED-IN-BY-MSO" + EOL + + " pending-create" + EOL + + " 1508692" + EOL + + " " + EOL + + " " + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a74" + EOL + + " STMTN5MMSC20-MMSC::module-1-0" + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a74" + EOL + + " 1.0" + EOL + + " false" + EOL + + " FILLED-IN-BY-MSO" + EOL + + " pending-create" + EOL + + " 1508692" + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + "" + EOL; + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/[?]vnf-name=STMTN5MMSC20&depth=1")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBody(body))); + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/2f6aee38-1e2a-11e6-82d1-ffc7d9ee8aa4[?]depth=1")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBody(body))); + + // The following stubs are for DeleteAAIVfModule + + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c723[?]depth=1")) + .willReturn(aResponse() + .withStatus(500) + .withHeader("Content-Type", "text/xml") + .withBodyFile("aaiFault.xml"))); + + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c722[?]depth=1")) + .willReturn(aResponse() + .withStatus(404) + .withHeader("Content-Type", "text/xml") + .withBody("Generic VNF Not Found"))); + + body = + "" + EOL + + " a27ce5a9-29c4-4c22-a017-6615ac73c721" + EOL + + " STMTN5MMSC21" + EOL + + " mmsc-capacity" + EOL + + " SDN-MOBILITY" + EOL + + " vMMSC" + EOL + + " pending-create" + EOL + + " false" + EOL + + " false" + EOL + + " 0000021" + EOL + + " " + EOL + + " " + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + + " STMTN5MMSC21-MMSC::module-0-0" + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + + " 1.0" + EOL + + " true" + EOL + + " FILLED-IN-BY-MSO" + EOL + + " pending-create" + EOL + + " 0000073" + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + "" + EOL; + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c721[?]depth=1")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBody(body))); + + body = + "" + EOL + + " a27ce5a9-29c4-4c22-a017-6615ac73c720" + EOL + + " STMTN5MMSC20" + EOL + + " mmsc-capacity" + EOL + + " SDN-MOBILITY" + EOL + + " vMMSC" + EOL + + " pending-create" + EOL + + " false" + EOL + + " false" + EOL + + " 0000020" + EOL + + " " + EOL + + " " + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a74" + EOL + + " STMTN5MMSC20-MMSC::module-0-0" + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a74" + EOL + + " 1.0" + EOL + + " true" + EOL + + " FILLED-IN-BY-MSO" + EOL + + " pending-create" + EOL + + " 0000074" + EOL + + " " + EOL + + " " + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a75" + EOL + + " STMTN5MMSC20-MMSC::module-1-0" + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a75" + EOL + + " 1.0" + EOL + + " false" + EOL + + " FILLED-IN-BY-MSO" + EOL + + " pending-create" + EOL + + " 0000075" + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + "" + EOL; + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c720[?]depth=1")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBody(body))); + + body = + "" + EOL + + " a27ce5a9-29c4-4c22-a017-6615ac73c719" + EOL + + " STMTN5MMSC19" + EOL + + " mmsc-capacity" + EOL + + " SDN-MOBILITY" + EOL + + " vMMSC" + EOL + + " pending-create" + EOL + + " false" + EOL + + " false" + EOL + + " 0000019" + EOL + + " " + EOL + + " " + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a76" + EOL + + " STMTN5MMSC19-MMSC::module-0-0" + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a76" + EOL + + " 1.0" + EOL + + " true" + EOL + + " FILLED-IN-BY-MSO" + EOL + + " pending-create" + EOL + + " 0000076" + EOL + + " " + EOL + + " " + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a77" + EOL + + " STMTN5MMSC19-MMSC::module-1-0" + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a77" + EOL + + " 1.0" + EOL + + " false" + EOL + + " FILLED-IN-BY-MSO" + EOL + + " pending-create" + EOL + + " 0000077" + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + "" + EOL; + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c719[?]depth=1")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBody(body))); + + body = + "" + EOL + + " a27ce5a9-29c4-4c22-a017-6615ac73c718" + EOL + + " STMTN5MMSC18" + EOL + + " mmsc-capacity" + EOL + + " SDN-MOBILITY" + EOL + + " vMMSC" + EOL + + " pending-create" + EOL + + " false" + EOL + + " false" + EOL + + " 0000018" + EOL + + " " + EOL + + " " + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a78" + EOL + + " STMTN5MMSC18-MMSC::module-0-0" + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a78" + EOL + + " 1.0" + EOL + + " true" + EOL + + " FILLED-IN-BY-MSO" + EOL + + " pending-create" + EOL + + " 0000078" + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + "" + EOL; + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c718[?]depth=1")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBody(body))); + + body = + "" + EOL + + " a27ce5a9-29c4-4c22-a017-6615ac73c721" + EOL + + " STMTN5MMSC21" + EOL + + " mmsc-capacity" + EOL + + " SDN-MOBILITY" + EOL + + " vMMSC" + EOL + + " pending-create" + EOL + + " false" + EOL + + " false" + EOL + + " 0000021" + EOL + + " " + EOL + + " " + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + + " STMTN5MMSC21-MMSC::module-0-0" + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + + " 1.0" + EOL + + " true" + EOL + + " FILLED-IN-BY-MSO" + EOL + + " pending-create" + EOL + + " 0000073" + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + "" + EOL; + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c721/vf-modules/vf-module/973ed047-d251-4fb9-bf1a-65b8949e0a73")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBody(body))); + } + public static void MockAAIDeleteGenericVnf(){ + stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c721/[?]resource-version=0000021")) + .willReturn(aResponse() + .withStatus(200))); + stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c718/[?]resource-version=0000018")) + .willReturn(aResponse() + .withStatus(500) + .withHeader("Content-Type", "text/xml") + .withBodyFile("aaiFault.xml"))); + } + + public static void MockAAIDeleteVfModule(){ + stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c721/vf-modules/vf-module/973ed047-d251-4fb9-bf1a-65b8949e0a73/[?]resource-version=0000073")) + .willReturn(aResponse() + .withStatus(200))); + stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c720/vf-modules/vf-module/973ed047-d251-4fb9-bf1a-65b8949e0a75/[?]resource-version=0000075")) + .willReturn(aResponse() + .withStatus(200))); + stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c718/vf-modules/vf-module/973ed047-d251-4fb9-bf1a-65b8949e0a78/[?]resource-version=0000078")) + .willReturn(aResponse() + .withStatus(200))); + stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c719/vf-modules/vf-module/973ed047-d251-4fb9-bf1a-65b8949e0a77/[?]resource-version=0000077")) + .willReturn(aResponse() + .withStatus(500) + .withHeader("Content-Type", "text/xml") + .withBodyFile("aaiFault.xml"))); + stubFor(get(urlMatching("/aai/v[0-9]+/network/network-policies/network-policy\\?network-policy-fqdn=.*")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile("VfModularity/QueryNetworkPolicy_AAIResponse_Success.xml"))); + + stubFor(delete(urlMatching("/aai/v[0-9]+/network/network-policies/network-policy/.*")) + .willReturn(aResponse() + .withStatus(200))); + } } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/FalloutHandlerTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/FalloutHandlerTest.java index d51bd66885..257cec9b11 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/FalloutHandlerTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/FalloutHandlerTest.java @@ -16,7 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.common; @@ -39,195 +39,197 @@ import org.openecomp.mso.bpmn.common.workflow.service.WorkflowResponse; * Unit test for FalloutHandler.bpmn. */ public class FalloutHandlerTest extends WorkflowTest { - private void setupMocks() { - stubFor(post(urlEqualTo("/dbadapters/MsoRequestsDbAdapter")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBody("Notified"))); - stubFor(post(urlEqualTo("/dbadapters/RequestsDbAdapter")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBody("Notified"))); - } - - private void executeFlow(String inputRequestFile) throws InterruptedException { - String method = getClass().getSimpleName() + "." + new Object() { - }.getClass().getEnclosingMethod().getName(); - System.out.println("STARTED TEST: " + method); - - //String changeFeatureActivateRequest = FileUtil.readResourceFile("__files/SDN-ETHERNET-INTERNET/ChangeFeatureActivateV1/" + inputRequestFile); - Map variables = new HashMap<>(); - variables.put("FalloutHandlerRequest", inputRequestFile); - - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "FalloutHandler", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - System.out.println("ENDED TEST: " + method); - } - - @Test - @Deployment(resources = {"subprocess/FalloutHandler.bpmn", - "subprocess/GenericNotificationService.bpmn" - }) - public void msoFalloutHandlerWithNotificationurl_200() throws Exception { - String method = getClass().getSimpleName() + "." + new Object() { - }.getClass().getEnclosingMethod().getName(); - System.out.println("STARTED TEST: " + method); - - //Setup Mocks - setupMocks(); - //Execute Flow - executeFlow(gMsoFalloutHandlerWithNotificationurl()); - //Verify Error - String FH_ResponseCode = BPMNUtil.getVariable(processEngineRule, "FalloutHandler", "FH_ResponseCode"); - Assert.assertEquals("200", FH_ResponseCode); - Assert.assertTrue((boolean) BPMNUtil.getRawVariable(processEngineRule, "FalloutHandler", "FH_SuccessIndicator")); - } - - public String gMsoFalloutHandlerWithNotificationurl() { - //Generated the below XML from ActiveVOS moduler ... Using the generate sample XML feature in ActiveVOS - String xml = "" - + "" - + " " - + " uCPE1020_STUW105_5002" - + " Layer3ServiceActivateRequest" - + " CANCEL" - + " OMX" - + " http://localhost:28090/CCD/StatusNotification" - + " 10205000" - + " 1" - + " " - + " " - + " Some Error Message - Fallout Handler" - + " Some Error Code - Fallout Handler" - + " Some Source System Error Code- Fallout Handler" - + " " - + ""; - - return xml; - - } - - - @Test - @Deployment(resources = {"subprocess/FalloutHandler.bpmn"}) - public void msoFalloutHandlerWithNoNotificationurl() throws Exception { - String method = getClass().getSimpleName() + "." + new Object() { - }.getClass().getEnclosingMethod().getName(); - System.out.println("STARTED TEST: " + method); - //Setup Mocks - setupMocks(); - //Execute Flow - executeFlow(gMsoFalloutHandlerWithNoNotificationurl()); - //Verify Error - String FH_ResponseCode = BPMNUtil.getVariable(processEngineRule, "FalloutHandler", "FH_ResponseCode"); - Assert.assertEquals("200", FH_ResponseCode); - Assert.assertTrue((boolean) BPMNUtil.getRawVariable(processEngineRule, "FalloutHandler", "FH_SuccessIndicator")); - } - - public String gMsoFalloutHandlerWithNoNotificationurl() { - //Generated the below XML from ActiveVOS moduler ... Using the generate sample XML feature in ActiveVOS - String xml = "" - + "" - + " " - + " uCPE1020_STUW105_5002" - + " Layer3ServiceActivateRequest" - + " CANCEL" - + " OMX" - + " " - + " 10205000" - + " 1" - + " " - + " " - + " Some Error Message - Fallout Handler" - + " Some Error Code - Fallout Handler" - + " Some Source System Error Code- Fallout Handler" - + " " - + ""; - - return xml; - } - - @Test - @Deployment(resources = {"subprocess/FalloutHandler.bpmn", - "subprocess/GenericNotificationService.bpmn" - }) - public void msoFalloutHandlerWithNotificationurlNoRequestId() throws Exception { - String method = getClass().getSimpleName() + "." + new Object() { - }.getClass().getEnclosingMethod().getName(); - System.out.println("STARTED TEST: " + method); - //Setup Mocks - setupMocks(); - //Execute Flow - executeFlow(gMsoFalloutHandlerWithNotificationurlNoRequestId()); - //Verify Error - String FH_ResponseCode = BPMNUtil.getVariable(processEngineRule, "FalloutHandler", "FH_ResponseCode"); - Assert.assertEquals("200", FH_ResponseCode); - Assert.assertTrue((boolean) BPMNUtil.getRawVariable(processEngineRule, "FalloutHandler", "FH_SuccessIndicator")); - } - - public String gMsoFalloutHandlerWithNotificationurlNoRequestId() { - //Generated the below XML from ActiveVOS moduler ... Using the generate sample XML feature in ActiveVOS - String xml = "" - + "" - + " " - + " " - + " Layer3ServiceActivateRequest" - + " CANCEL" - + " OMX" - + " www.test.com" - + " 10205000" - + " 1" - + " " - + " " - + " Some Error Message - Fallout Handler" - + " Some Error Code - Fallout Handler" - + " Some Source System Error Code- Fallout Handler" - + " " - + ""; - - return xml; - } - - @Test - @Deployment(resources = {"subprocess/FalloutHandler.bpmn"}) - public void msoFalloutHandlerWithNoNotificationurlNoRequestId() throws Exception { - String method = getClass().getSimpleName() + "." + new Object() { - }.getClass().getEnclosingMethod().getName(); - System.out.println("STARTED TEST: " + method); - //Setup Mocks - setupMocks(); - //Execute Flow - executeFlow(gMsoFalloutHandlerWithNoNotificationurlNoRequestId()); - //Verify Error - String FH_ResponseCode = BPMNUtil.getVariable(processEngineRule, "FalloutHandler", "FH_ResponseCode"); - Assert.assertEquals("200", FH_ResponseCode); - Assert.assertTrue((boolean) BPMNUtil.getRawVariable(processEngineRule, "FalloutHandler", "FH_SuccessIndicator")); - } - - public String gMsoFalloutHandlerWithNoNotificationurlNoRequestId() { - //Generated the below XML from ActiveVOS moduler ... Using the generate sample XML feature in ActiveVOS - String xml = "" - + "" - + " " - + " " - + " Layer3ServiceActivateRequest" - + " CANCEL" - + " OMX" - + " " - + " 10205000" - + " 1" - + " " - + " " - + " Some Error Message - Fallout Handler" - + " Some Error Code - Fallout Handler" - + " Some Source System Error Code- Fallout Handler" - + " " - + ""; - - return xml; - } - + private void setupMocks() { + stubFor(post(urlEqualTo("/dbadapters/MsoRequestsDbAdapter")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBody("Notified"))); + stubFor(post(urlEqualTo("/dbadapters/RequestsDbAdapter")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBody("Notified"))); + } + + private void executeFlow(String inputRequestFile) throws InterruptedException { + String method = getClass().getSimpleName() + "." + new Object() { + }.getClass().getEnclosingMethod().getName(); + System.out.println("STARTED TEST: " + method); + + //String changeFeatureActivateRequest = FileUtil.readResourceFile("__files/SDN-ETHERNET-INTERNET/ChangeFeatureActivateV1/" + inputRequestFile); + Map variables = new HashMap<>(); + variables.put("FalloutHandlerRequest",inputRequestFile); + + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "FalloutHandler", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + System.out.println("ENDED TEST: " + method); + } + + @Test + @Deployment(resources = {"subprocess/FalloutHandler.bpmn", + "subprocess/GenericNotificationService.bpmn" + }) + public void msoFalloutHandlerWithNotificationurl_200() throws Exception{ + String method = getClass().getSimpleName() + "." + new Object() { + }.getClass().getEnclosingMethod().getName(); + System.out.println("STARTED TEST: " + method); + + //Setup Mocks + setupMocks(); + //Execute Flow + executeFlow(gMsoFalloutHandlerWithNotificationurl()); + //Verify Error + String FH_ResponseCode = BPMNUtil.getVariable(processEngineRule, "FalloutHandler", "FH_ResponseCode"); + Assert.assertEquals("200", FH_ResponseCode); + Assert.assertTrue((boolean) BPMNUtil.getRawVariable(processEngineRule, "FalloutHandler", "FH_SuccessIndicator")); + } + + public String gMsoFalloutHandlerWithNotificationurl() { + //Generated the below XML from ActiveVOS moduler ... Using the generate sample XML feature in ActiveVOS + String xml = "" + + "" + + " " + + " uCPE1020_STUW105_5002" + + " Layer3ServiceActivateRequest" + + " CANCEL" + + " OMX" + + " http://localhost:28090/CCD/StatusNotification" + + " 10205000" + + " 1" + + " " + + " " + + " Some Error Message - Fallout Handler" + + " Some Error Code - Fallout Handler" + + " Some Source System Error Code- Fallout Handler" + + " " + + ""; + + return xml; + + } + + + + + @Test + @Deployment(resources = {"subprocess/FalloutHandler.bpmn"}) + public void msoFalloutHandlerWithNoNotificationurl() throws Exception{ + String method = getClass().getSimpleName() + "." + new Object() { + }.getClass().getEnclosingMethod().getName(); + System.out.println("STARTED TEST: " + method); + //Setup Mocks + setupMocks(); + //Execute Flow + executeFlow(gMsoFalloutHandlerWithNoNotificationurl()); + //Verify Error + String FH_ResponseCode = BPMNUtil.getVariable(processEngineRule, "FalloutHandler", "FH_ResponseCode"); + Assert.assertEquals("200", FH_ResponseCode); + Assert.assertTrue((boolean) BPMNUtil.getRawVariable(processEngineRule, "FalloutHandler", "FH_SuccessIndicator")); + } + + public String gMsoFalloutHandlerWithNoNotificationurl() { + //Generated the below XML from ActiveVOS moduler ... Using the generate sample XML feature in ActiveVOS + String xml = "" + + "" + + " " + + " uCPE1020_STUW105_5002" + + " Layer3ServiceActivateRequest" + + " CANCEL" + + " OMX" + + " " + + " 10205000" + + " 1" + + " " + + " " + + " Some Error Message - Fallout Handler" + + " Some Error Code - Fallout Handler" + + " Some Source System Error Code- Fallout Handler" + + " " + + ""; + + return xml; + } + + @Test + @Deployment(resources = {"subprocess/FalloutHandler.bpmn", + "subprocess/GenericNotificationService.bpmn" + }) + public void msoFalloutHandlerWithNotificationurlNoRequestId() throws Exception{ + String method = getClass().getSimpleName() + "." + new Object() { + }.getClass().getEnclosingMethod().getName(); + System.out.println("STARTED TEST: " + method); + //Setup Mocks + setupMocks(); + //Execute Flow + executeFlow(gMsoFalloutHandlerWithNotificationurlNoRequestId()); + //Verify Error + String FH_ResponseCode = BPMNUtil.getVariable(processEngineRule, "FalloutHandler", "FH_ResponseCode"); + Assert.assertEquals("200", FH_ResponseCode); + Assert.assertTrue((boolean) BPMNUtil.getRawVariable(processEngineRule, "FalloutHandler", "FH_SuccessIndicator")); + } + + public String gMsoFalloutHandlerWithNotificationurlNoRequestId() { + //Generated the below XML from ActiveVOS moduler ... Using the generate sample XML feature in ActiveVOS + String xml = "" + + "" + + " " + + " " + + " Layer3ServiceActivateRequest" + + " CANCEL" + + " OMX" + + " www.test.com" + + " 10205000" + + " 1" + + " " + + " " + + " Some Error Message - Fallout Handler" + + " Some Error Code - Fallout Handler" + + " Some Source System Error Code- Fallout Handler" + + " " + + ""; + + return xml; + } + + @Test + @Deployment(resources = {"subprocess/FalloutHandler.bpmn"}) + public void msoFalloutHandlerWithNoNotificationurlNoRequestId() throws Exception{ + String method = getClass().getSimpleName() + "." + new Object() { + }.getClass().getEnclosingMethod().getName(); + System.out.println("STARTED TEST: " + method); + //Setup Mocks + setupMocks(); + //Execute Flow + executeFlow(gMsoFalloutHandlerWithNoNotificationurlNoRequestId()); + //Verify Error + String FH_ResponseCode = BPMNUtil.getVariable(processEngineRule, "FalloutHandler", "FH_ResponseCode"); + Assert.assertEquals("200", FH_ResponseCode); + Assert.assertTrue((boolean) BPMNUtil.getRawVariable(processEngineRule, "FalloutHandler", "FH_SuccessIndicator")); + } + + public String gMsoFalloutHandlerWithNoNotificationurlNoRequestId() { + //Generated the below XML from ActiveVOS moduler ... Using the generate sample XML feature in ActiveVOS + String xml = "" + + "" + + " " + + " " + + " Layer3ServiceActivateRequest" + + " CANCEL" + + " OMX" + + " " + + " 10205000" + + " 1" + + " " + + " " + + " Some Error Message - Fallout Handler" + + " Some Error Code - Fallout Handler" + + " Some Source System Error Code- Fallout Handler" + + " " + + ""; + + return xml; + } + } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/GenericDeleteServiceTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/GenericDeleteServiceTest.java index afa24c6a29..125a9ad916 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/GenericDeleteServiceTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/GenericDeleteServiceTest.java @@ -19,7 +19,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.common; @@ -41,238 +41,239 @@ import org.junit.Test; import org.openecomp.mso.bpmn.common.workflow.service.WorkflowResponse; + /** * Please describe the GenericDeleteServiceTest.java class + * */ public class GenericDeleteServiceTest extends WorkflowTest { - @Test - @Deployment(resources = {"subprocess/GenericDeleteService.bpmn"}) - public void testGenericDeleteService_success_serviceInstance() throws Exception { - MockDeleteServiceInstance("1604-MVM-26", "SDN-ETHERNET-INTERNET", "MIS%252F1604%252F0026%252FSW_INTERNET", "1234"); - Map variables = new HashMap<>(); - setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", "1604-MVM-26", "SDN-ETHERNET-INTERNET", "1234"); - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteService", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_SuccessIndicator"); - String foundIndicator = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_FoundIndicator"); - String resourceVersionProvidedFlag = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_resourceVersionProvidedFlag"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "WorkflowException"); - assertEquals("true", foundIndicator); - assertEquals("true", successIndicator); - assertEquals("true", resourceVersionProvidedFlag); - assertEquals(null, workflowException); - } - - @Test - @Deployment(resources = {"subprocess/GenericDeleteService.bpmn"}) - public void testGenericDeleteService_success_serviceSubscription() throws Exception { - - MockDeleteServiceInstance("1604-MVM-26", "SDN-ETHERNET-INTERNET", "1234", 204); - - Map variables = new HashMap<>(); - setVariablesSubscription(variables, "", "1604-MVM-26", "SDN-ETHERNET-INTERNET", "1234"); - - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteService", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_SuccessIndicator"); - String foundIndicator = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_FoundIndicator"); - String resourceVersionProvidedFlag = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_resourceVersionProvidedFlag"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "WorkflowException"); - - assertEquals("true", foundIndicator); - assertEquals("true", successIndicator); - assertEquals("true", resourceVersionProvidedFlag); - assertEquals(null, workflowException); - - } - - @Test - @Deployment(resources = {"subprocess/GenericDeleteService.bpmn"}) - public void testGenericDeleteService_success_instanceNoResourceVersion() throws Exception { - MockGetServiceInstance("1604-MVM-26", "SDN-ETHERNET-INTERNET", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getServiceSubscription.xml"); - MockDeleteServiceInstance("1604-MVM-26", "SDN-ETHERNET-INTERNET", "MIS%252F1604%252F0026%252FSW_INTERNET", "1234"); - - Map variables = new HashMap<>(); - setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", "1604-MVM-26", "SDN-ETHERNET-INTERNET", null); - - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteService", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_SuccessIndicator"); - String foundIndicator = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_FoundIndicator"); - String resourceVersionProvidedFlag = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_resourceVersionProvidedFlag"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "WorkflowException"); - - assertEquals("true", foundIndicator); - assertEquals("true", successIndicator); - assertEquals("false", resourceVersionProvidedFlag); - assertEquals(null, workflowException); - - } - - @Test - @Deployment(resources = {"subprocess/GenericDeleteService.bpmn"}) - public void testGenericDeleteService_success_subscriptionNoResourceVersion() throws Exception { - MockGetServiceSubscription("1604-MVM-26", "SDN-ETHERNET-INTERNET", "GenericFlows/getServiceSubscription.xml"); - MockDeleteServiceInstance("1604-MVM-26", "SDN-ETHERNET-INTERNET", "1234", 204); - - Map variables = new HashMap<>(); - setVariablesSubscription(variables, null, "1604-MVM-26", "SDN-ETHERNET-INTERNET", null); - - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteService", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_SuccessIndicator"); - String foundIndicator = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_FoundIndicator"); - String resourceVersionProvidedFlag = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_resourceVersionProvidedFlag"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "WorkflowException"); - - assertEquals("true", foundIndicator); - assertEquals("true", successIndicator); - assertEquals("false", resourceVersionProvidedFlag); - assertEquals(null, workflowException); - - } - - @Test - @Deployment(resources = {"subprocess/GenericDeleteService.bpmn"}) - public void testGenericDeleteService_success_get404Response() throws Exception { - - MockGetServiceInstance_404("1604-MVM-26", "SDN-ETHERNET-INTERNET", "MIS%252F1604%252F0026%252FSW_INTERNET"); - - Map variables = new HashMap<>(); - setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", "1604-MVM-26", "SDN-ETHERNET-INTERNET", null); - - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteService", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + @Test + @Deployment(resources = {"subprocess/GenericDeleteService.bpmn"}) + public void testGenericDeleteService_success_serviceInstance() throws Exception{ + MockDeleteServiceInstance("1604-MVM-26", "SDN-ETHERNET-INTERNET", "MIS%252F1604%252F0026%252FSW_INTERNET", "1234"); + Map variables = new HashMap<>(); + setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", "1604-MVM-26", "SDN-ETHERNET-INTERNET", "1234"); + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteService", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_SuccessIndicator"); + String foundIndicator = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_FoundIndicator"); + String resourceVersionProvidedFlag = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_resourceVersionProvidedFlag"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "WorkflowException"); + assertEquals("true", foundIndicator); + assertEquals("true", successIndicator); + assertEquals("true", resourceVersionProvidedFlag); + assertEquals(null, workflowException); + } + @Test + @Deployment(resources = {"subprocess/GenericDeleteService.bpmn"}) + public void testGenericDeleteService_success_serviceSubscription() throws Exception{ + + MockDeleteServiceInstance("1604-MVM-26", "SDN-ETHERNET-INTERNET", "1234", 204); + + Map variables = new HashMap<>(); + setVariablesSubscription(variables, "", "1604-MVM-26", "SDN-ETHERNET-INTERNET", "1234"); + + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteService", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_SuccessIndicator"); + String foundIndicator = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_FoundIndicator"); + String resourceVersionProvidedFlag = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_resourceVersionProvidedFlag"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "WorkflowException"); + + assertEquals("true", foundIndicator); + assertEquals("true", successIndicator); + assertEquals("true", resourceVersionProvidedFlag); + assertEquals(null, workflowException); + + } + + @Test + @Deployment(resources = {"subprocess/GenericDeleteService.bpmn"}) + public void testGenericDeleteService_success_instanceNoResourceVersion() throws Exception { + MockGetServiceInstance("1604-MVM-26", "SDN-ETHERNET-INTERNET", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getServiceSubscription.xml"); + MockDeleteServiceInstance("1604-MVM-26", "SDN-ETHERNET-INTERNET", "MIS%252F1604%252F0026%252FSW_INTERNET", "1234"); + + Map variables = new HashMap<>(); + setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", "1604-MVM-26", "SDN-ETHERNET-INTERNET", null); + + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteService", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_SuccessIndicator"); + String foundIndicator = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_FoundIndicator"); + String resourceVersionProvidedFlag = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_resourceVersionProvidedFlag"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "WorkflowException"); + + assertEquals("true", foundIndicator); + assertEquals("true", successIndicator); + assertEquals("false", resourceVersionProvidedFlag); + assertEquals(null, workflowException); + + } + + @Test + @Deployment(resources = {"subprocess/GenericDeleteService.bpmn"}) + public void testGenericDeleteService_success_subscriptionNoResourceVersion() throws Exception{ + MockGetServiceSubscription("1604-MVM-26", "SDN-ETHERNET-INTERNET", "GenericFlows/getServiceSubscription.xml"); + MockDeleteServiceInstance("1604-MVM-26", "SDN-ETHERNET-INTERNET", "1234", 204); + + Map variables = new HashMap<>(); + setVariablesSubscription(variables, null, "1604-MVM-26", "SDN-ETHERNET-INTERNET", null); + + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteService", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_SuccessIndicator"); + String foundIndicator = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_FoundIndicator"); + String resourceVersionProvidedFlag = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_resourceVersionProvidedFlag"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "WorkflowException"); + + assertEquals("true", foundIndicator); + assertEquals("true", successIndicator); + assertEquals("false", resourceVersionProvidedFlag); + assertEquals(null, workflowException); + + } + + @Test + @Deployment(resources = {"subprocess/GenericDeleteService.bpmn"}) + public void testGenericDeleteService_success_get404Response() throws Exception{ + + MockGetServiceInstance_404("1604-MVM-26", "SDN-ETHERNET-INTERNET", "MIS%252F1604%252F0026%252FSW_INTERNET"); - String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_SuccessIndicator"); - String foundIndicator = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_FoundIndicator"); - String resourceVersionProvidedFlag = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_resourceVersionProvidedFlag"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "WorkflowException"); + Map variables = new HashMap<>(); + setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", "1604-MVM-26", "SDN-ETHERNET-INTERNET", null); + + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteService", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_SuccessIndicator"); + String foundIndicator = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_FoundIndicator"); + String resourceVersionProvidedFlag = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_resourceVersionProvidedFlag"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "WorkflowException"); - assertEquals("false", foundIndicator); - assertEquals("true", successIndicator); - assertEquals("false", resourceVersionProvidedFlag); - assertEquals(null, workflowException); - } + assertEquals("false", foundIndicator); + assertEquals("true", successIndicator); + assertEquals("false", resourceVersionProvidedFlag); + assertEquals(null, workflowException); + } - @Test - @Deployment(resources = {"subprocess/GenericDeleteService.bpmn"}) - public void testGenericDeleteService_success_subscriptionGetEmpty200() throws Exception { - MockGetServiceInstance("1604-MVM-26", "SDN-ETHERNET-INTERNET", "1234", 200); + @Test + @Deployment(resources = {"subprocess/GenericDeleteService.bpmn"}) + public void testGenericDeleteService_success_subscriptionGetEmpty200() throws Exception{ + MockGetServiceInstance("1604-MVM-26", "SDN-ETHERNET-INTERNET", "1234", 200); - Map variables = new HashMap<>(); - setVariablesSubscription(variables, "", "1604-MVM-26", "SDN-ETHERNET-INTERNET", ""); + Map variables = new HashMap<>(); + setVariablesSubscription(variables, "", "1604-MVM-26", "SDN-ETHERNET-INTERNET", ""); - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteService", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteService", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_SuccessIndicator"); - String foundIndicator = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_FoundIndicator"); - String resourceVersionProvidedFlag = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_resourceVersionProvidedFlag"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "WorkflowException"); + String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_SuccessIndicator"); + String foundIndicator = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_FoundIndicator"); + String resourceVersionProvidedFlag = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_resourceVersionProvidedFlag"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "WorkflowException"); - assertEquals("false", foundIndicator); - assertEquals("true", successIndicator); - assertEquals("false", resourceVersionProvidedFlag); - assertEquals(null, workflowException); + assertEquals("false", foundIndicator); + assertEquals("true", successIndicator); + assertEquals("false", resourceVersionProvidedFlag); + assertEquals(null, workflowException); - } + } - @Test - @Deployment(resources = {"subprocess/GenericDeleteService.bpmn"}) - public void testGenericDeleteService_success_delete404Response() throws Exception { + @Test + @Deployment(resources = {"subprocess/GenericDeleteService.bpmn"}) + public void testGenericDeleteService_success_delete404Response() throws Exception{ - MockGetServiceInstance("1604-MVM-26", "SDN-ETHERNET-INTERNET", "MIS%252F1604%252F0026%252FSW_INTERNET", "GENDSI_getServiceInstanceResponse.xml"); - MockDeleteServiceInstance_404("1604-MVM-26", "SDN-ETHERNET-INTERNET", "MIS%252F1604%252F0026%252FSW_INTERNET", "1234"); + MockGetServiceInstance("1604-MVM-26", "SDN-ETHERNET-INTERNET", "MIS%252F1604%252F0026%252FSW_INTERNET", "GENDSI_getServiceInstanceResponse.xml"); + MockDeleteServiceInstance_404("1604-MVM-26", "SDN-ETHERNET-INTERNET", "MIS%252F1604%252F0026%252FSW_INTERNET", "1234"); - Map variables = new HashMap<>(); - setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", "1604-MVM-26", "SDN-ETHERNET-INTERNET", "1234"); + Map variables = new HashMap<>(); + setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", "1604-MVM-26", "SDN-ETHERNET-INTERNET", "1234"); - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteService", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteService", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_SuccessIndicator"); - String foundIndicator = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_FoundIndicator"); - String resourceVersionProvidedFlag = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_resourceVersionProvidedFlag"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "WorkflowException"); + String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_SuccessIndicator"); + String foundIndicator = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_FoundIndicator"); + String resourceVersionProvidedFlag = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_resourceVersionProvidedFlag"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "WorkflowException"); - assertEquals("false", foundIndicator); - assertEquals("true", successIndicator); - assertEquals("true", resourceVersionProvidedFlag); - assertEquals(null, workflowException); - } + assertEquals("false", foundIndicator); + assertEquals("true", successIndicator); + assertEquals("true", resourceVersionProvidedFlag); + assertEquals(null, workflowException); + } - @Test - @Deployment(resources = {"subprocess/GenericDeleteService.bpmn"}) - public void testGenericDeleteService_error_invalidVariables() throws Exception { + @Test + @Deployment(resources = {"subprocess/GenericDeleteService.bpmn"}) + public void testGenericDeleteService_error_invalidVariables() throws Exception{ - Map variables = new HashMap<>(); - setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", null, "SDN-ETHERNET-INTERNET", "1234"); + Map variables = new HashMap<>(); + setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", null, "SDN-ETHERNET-INTERNET", "1234"); - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteService", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteService", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_SuccessIndicator"); - String foundIndicator = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_FoundIndicator"); - String resourceVersionProvidedFlag = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_resourceVersionProvidedFlag"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "WorkflowException"); + String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_SuccessIndicator"); + String foundIndicator = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_FoundIndicator"); + String resourceVersionProvidedFlag = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_resourceVersionProvidedFlag"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "WorkflowException"); - String expectedResponse = "WorkflowException[processKey=GenericDeleteService,errorCode=500,errorMessage=Incoming Required Variable is Missing or Null!]"; + String expectedResponse = "WorkflowException[processKey=GenericDeleteService,errorCode=500,errorMessage=Incoming Required Variable is Missing or Null!]"; - assertEquals("false", foundIndicator); - assertEquals("false", successIndicator); - assertEquals("true", resourceVersionProvidedFlag); - assertEquals(expectedResponse, workflowException); + assertEquals("false", foundIndicator); + assertEquals("false", successIndicator); + assertEquals("true", resourceVersionProvidedFlag); + assertEquals(expectedResponse, workflowException); - } + } - @Test - @Deployment(resources = {"subprocess/GenericDeleteService.bpmn"}) - public void testGenericDeleteService_error_getBadAAIResponse() throws Exception { + @Test + @Deployment(resources = {"subprocess/GenericDeleteService.bpmn"}) + public void testGenericDeleteService_error_getBadAAIResponse() throws Exception{ - MockGetServiceInstance_500("1604-MVM-26", "SDN-ETHERNET-INTERNET", "MIS%252F1604%252F0026%252FSW_INTERNET", "aaiFault.xml"); + MockGetServiceInstance_500("1604-MVM-26", "SDN-ETHERNET-INTERNET", "MIS%252F1604%252F0026%252FSW_INTERNET", "aaiFault.xml"); - Map variables = new HashMap<>(); - setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", "1604-MVM-26", "SDN-ETHERNET-INTERNET", null); + Map variables = new HashMap<>(); + setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", "1604-MVM-26", "SDN-ETHERNET-INTERNET", null); - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteService", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteService", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_SuccessIndicator"); - String foundIndicator = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_FoundIndicator"); - String resourceVersionProvidedFlag = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_resourceVersionProvidedFlag"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "WorkflowException"); - - String expectedResponse = "WorkflowException[processKey=GenericDeleteService,errorCode=500,errorMessage=SVC3002Error writing output performing %1 on %2 (msg=%3) (ec=%4)PUTcustomerSubName01Unexpected error reading/updating database:Adding this property for key [service-instance-id] and value [USSTU2CFCNC0101UJZZ01] violates a uniqueness constraint [service-instance-id]ERR.5.4.5105" + "\n" + - "]"; - - assertEquals("false", foundIndicator); - assertEquals("false", successIndicator); - assertEquals("false", resourceVersionProvidedFlag); - assertEquals(expectedResponse, workflowException); - } + String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_SuccessIndicator"); + String foundIndicator = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_FoundIndicator"); + String resourceVersionProvidedFlag = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "GENDS_resourceVersionProvidedFlag"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericDeleteService", "WorkflowException"); + + String expectedResponse = "WorkflowException[processKey=GenericDeleteService,errorCode=500,errorMessage=SVC3002Error writing output performing %1 on %2 (msg=%3) (ec=%4)PUTcustomerSubName01Unexpected error reading/updating database:Adding this property for key [service-instance-id] and value [USSTU2CFCNC0101UJZZ01] violates a uniqueness constraint [service-instance-id]ERR.5.4.5105" + "\n" + + "]"; + + assertEquals("false", foundIndicator); + assertEquals("false", successIndicator); + assertEquals("false", resourceVersionProvidedFlag); + assertEquals(expectedResponse, workflowException); + } - private void setVariablesInstance(Map variables, String siId, String globalCustId, String serviceType, String reVersion) { - variables.put("isDebugLogEnabled", "true"); - variables.put("GENDS_serviceInstanceId", siId); - variables.put("GENDS_globalCustomerId", globalCustId); - variables.put("GENDS_serviceType", serviceType); - variables.put("GENDS_resourceVersion", reVersion); - variables.put("GENDS_type", "service-instance"); - } + private void setVariablesInstance(Map variables, String siId, String globalCustId, String serviceType, String reVersion) { + variables.put("isDebugLogEnabled", "true"); + variables.put("GENDS_serviceInstanceId", siId); + variables.put("GENDS_globalCustomerId",globalCustId); + variables.put("GENDS_serviceType", serviceType); + variables.put("GENDS_resourceVersion", reVersion); + variables.put("GENDS_type", "service-instance"); + } - private void setVariablesSubscription(Map variables, String siId, String globalCustId, String serviceType, String reVersion) { - variables.put("isDebugLogEnabled", "true"); - variables.put("GENDS_serviceInstanceId", siId); - variables.put("GENDS_globalCustomerId", globalCustId); - variables.put("GENDS_serviceType", serviceType); - variables.put("GENDS_resourceVersion", reVersion); - variables.put("GENDS_type", "service-subscription"); - } + private void setVariablesSubscription(Map variables, String siId, String globalCustId, String serviceType, String reVersion) { + variables.put("isDebugLogEnabled", "true"); + variables.put("GENDS_serviceInstanceId", siId); + variables.put("GENDS_globalCustomerId",globalCustId); + variables.put("GENDS_serviceType", serviceType); + variables.put("GENDS_resourceVersion", reVersion); + variables.put("GENDS_type", "service-subscription"); + } } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/GenericDeleteVnfTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/GenericDeleteVnfTest.java index 8049b05781..add9a32d61 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/GenericDeleteVnfTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/GenericDeleteVnfTest.java @@ -19,7 +19,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.common; @@ -42,179 +42,180 @@ import org.openecomp.mso.bpmn.common.workflow.service.WorkflowResponse; /** * Please describe the GenericDeleteVnfTest.java class + * */ public class GenericDeleteVnfTest extends WorkflowTest { - @Test - @Deployment(resources = {"subprocess/GenericDeleteVnf.bpmn"}) - public void testGenericDeleteVnf_success_genericVnf() throws Exception { - MockDeleteGenericVnf("testVnfId123", "testReVer123"); + @Test + @Deployment(resources = {"subprocess/GenericDeleteVnf.bpmn"}) + public void testGenericDeleteVnf_success_genericVnf() throws Exception{ + MockDeleteGenericVnf("testVnfId123", "testReVer123"); - Map variables = new HashMap<>(); - setVariables(variables, "testVnfId123", "generic-vnf", "testReVer123"); + Map variables = new HashMap<>(); + setVariables(variables, "testVnfId123", "generic-vnf", "testReVer123"); - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteVnf", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteVnf", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - assertVariables("true", "true", "true", null); + assertVariables("true", "true", "true", null); - } + } - @Test - @Deployment(resources = {"subprocess/GenericDeleteVnf.bpmn"}) - public void testGenericDeleteVnf_success_vce() throws Exception { - MockDeleteVce("testVnfId123", "testReVer123", 204); + @Test + @Deployment(resources = {"subprocess/GenericDeleteVnf.bpmn"}) + public void testGenericDeleteVnf_success_vce() throws Exception{ + MockDeleteVce("testVnfId123", "testReVer123", 204); - Map variables = new HashMap<>(); - setVariables(variables, "testVnfId123", "vce", "testReVer123"); + Map variables = new HashMap<>(); + setVariables(variables, "testVnfId123", "vce", "testReVer123"); - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteVnf", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteVnf", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - assertVariables("true", "true", "true", null); + assertVariables("true", "true", "true", null); - } + } - @Test - @Deployment(resources = {"subprocess/GenericDeleteVnf.bpmn"}) - public void testGenericDeleteVnf_success_genericVnfNoResourceVersion() throws Exception { + @Test + @Deployment(resources = {"subprocess/GenericDeleteVnf.bpmn"}) + public void testGenericDeleteVnf_success_genericVnfNoResourceVersion() throws Exception{ - MockGetGenericVnfById("/testVnfId123", "GenericFlows/getGenericVnfByNameResponse.xml", 200); - MockDeleteGenericVnf("testVnfId123", "testReVer123"); + MockGetGenericVnfById("/testVnfId123", "GenericFlows/getGenericVnfByNameResponse.xml", 200); + MockDeleteGenericVnf("testVnfId123", "testReVer123"); - Map variables = new HashMap<>(); - setVariables(variables, "testVnfId123", "generic-vnf", ""); + Map variables = new HashMap<>(); + setVariables(variables, "testVnfId123", "generic-vnf", ""); - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteVnf", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteVnf", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - assertVariables("true", "true", "false", null); + assertVariables("true", "true", "false", null); - } + } - @Test - @Deployment(resources = {"subprocess/GenericDeleteVnf.bpmn"}) - public void testGenericDeleteVnf_success_vceNoResourceVersion() throws Exception { - MockDeleteVce("testVnfId123", "testReVer123", 204); - MockGetVceById("testVnfId123", "GenericFlows/getVceResponse.xml"); + @Test + @Deployment(resources = {"subprocess/GenericDeleteVnf.bpmn"}) + public void testGenericDeleteVnf_success_vceNoResourceVersion() throws Exception{ + MockDeleteVce("testVnfId123", "testReVer123", 204); + MockGetVceById("testVnfId123", "GenericFlows/getVceResponse.xml"); - Map variables = new HashMap<>(); - setVariables(variables, "testVnfId123", "vce", null); + Map variables = new HashMap<>(); + setVariables(variables, "testVnfId123", "vce", null); - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteVnf", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteVnf", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - assertVariables("true", "true", "false", null); + assertVariables("true", "true", "false", null); - } + } - @Test - @Deployment(resources = {"subprocess/GenericDeleteVnf.bpmn"}) - public void testGenericDeleteVnf_success_genericVnf404() throws Exception { - MockDeleteGenericVnf("testVnfId123", "testReVer123", 404); + @Test + @Deployment(resources = {"subprocess/GenericDeleteVnf.bpmn"}) + public void testGenericDeleteVnf_success_genericVnf404() throws Exception{ + MockDeleteGenericVnf("testVnfId123", "testReVer123", 404); - Map variables = new HashMap<>(); - setVariables(variables, "testVnfId123", "generic-vnf", "testReVer123"); + Map variables = new HashMap<>(); + setVariables(variables, "testVnfId123", "generic-vnf", "testReVer123"); - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteVnf", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteVnf", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - assertVariables("true", "false", "true", null); + assertVariables("true", "false", "true", null); - } + } - @Test - @Deployment(resources = {"subprocess/GenericDeleteVnf.bpmn"}) - public void testGenericDeleteVnf_success_vce404() throws Exception { - MockDeleteVce("testVnfId123", "testReVer123", 404); + @Test + @Deployment(resources = {"subprocess/GenericDeleteVnf.bpmn"}) + public void testGenericDeleteVnf_success_vce404() throws Exception{ + MockDeleteVce("testVnfId123", "testReVer123", 404); - Map variables = new HashMap<>(); - setVariables(variables, "testVnfId123", "vce", "testReVer123"); + Map variables = new HashMap<>(); + setVariables(variables, "testVnfId123", "vce", "testReVer123"); - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteVnf", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteVnf", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - assertVariables("true", "false", "true", null); + assertVariables("true", "false", "true", null); - } + } - @Test - @Deployment(resources = {"subprocess/GenericDeleteVnf.bpmn"}) - public void testGenericDeleteVnf_success_genericVnfNoResourceVersion404() throws Exception { - MockGetGenericVnfById_404("testVnfId123"); + @Test + @Deployment(resources = {"subprocess/GenericDeleteVnf.bpmn"}) + public void testGenericDeleteVnf_success_genericVnfNoResourceVersion404() throws Exception{ + MockGetGenericVnfById_404("testVnfId123"); - Map variables = new HashMap<>(); - setVariables(variables, "testVnfId123", "generic-vnf", ""); + Map variables = new HashMap<>(); + setVariables(variables, "testVnfId123", "generic-vnf", ""); - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteVnf", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteVnf", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - assertVariables("true", "false", "false", null); + assertVariables("true", "false", "false", null); - } + } - @Test - @Deployment(resources = {"subprocess/GenericDeleteVnf.bpmn"}) - public void testGenericDeleteVnf_error_missingVariables() throws Exception { + @Test + @Deployment(resources = {"subprocess/GenericDeleteVnf.bpmn"}) + public void testGenericDeleteVnf_error_missingVariables() throws Exception{ - Map variables = new HashMap<>(); - setVariables(variables, "testVnfId123", "", "testReVer123"); + Map variables = new HashMap<>(); + setVariables(variables, "testVnfId123", "", "testReVer123"); - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteVnf", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteVnf", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - assertVariables("false", "false", "true", "WorkflowException[processKey=GenericDeleteVnf,errorCode=500,errorMessage=Incoming Required Variable is Missing or Null!]"); + assertVariables("false", "false", "true", "WorkflowException[processKey=GenericDeleteVnf,errorCode=500,errorMessage=Incoming Required Variable is Missing or Null!]"); - } + } - @Test - @Deployment(resources = {"subprocess/GenericDeleteVnf.bpmn"}) - public void testGenericDeleteVnf_error_genericVnf500() throws Exception { + @Test + @Deployment(resources = {"subprocess/GenericDeleteVnf.bpmn"}) + public void testGenericDeleteVnf_error_genericVnf500() throws Exception{ - MockDeleteGenericVnf_500("testVnfId123", "testReVer123"); - Map variables = new HashMap<>(); - setVariables(variables, "testVnfId123", "generic-vnf", "testReVer123"); + MockDeleteGenericVnf_500("testVnfId123", "testReVer123"); + Map variables = new HashMap<>(); + setVariables(variables, "testVnfId123", "generic-vnf", "testReVer123"); - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteVnf", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteVnf", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - assertVariables("false", "false", "true", "WorkflowException[processKey=GenericDeleteVnf,errorCode=500,errorMessage=Received a bad response from AAI]"); + assertVariables("false", "false", "true", "WorkflowException[processKey=GenericDeleteVnf,errorCode=500,errorMessage=Received a bad response from AAI]"); - } + } - @Test - @Deployment(resources = {"subprocess/GenericDeleteVnf.bpmn"}) - public void testGenericDeleteVnf_error_genericVnf412() throws Exception { - MockDeleteGenericVnf("testVnfId123", "testReVer123", 412); + @Test + @Deployment(resources = {"subprocess/GenericDeleteVnf.bpmn"}) + public void testGenericDeleteVnf_error_genericVnf412() throws Exception{ + MockDeleteGenericVnf("testVnfId123", "testReVer123", 412); - Map variables = new HashMap<>(); - setVariables(variables, "testVnfId123", "generic-vnf", "testReVer123"); + Map variables = new HashMap<>(); + setVariables(variables, "testVnfId123", "generic-vnf", "testReVer123"); - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteVnf", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteVnf", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - assertVariables("false", "false", "true", "WorkflowException[processKey=GenericDeleteVnf,errorCode=412,errorMessage=Delete Vnf Received a resource-version Mismatch Error Response from AAI]"); + assertVariables("false", "false", "true", "WorkflowException[processKey=GenericDeleteVnf,errorCode=412,errorMessage=Delete Vnf Received a resource-version Mismatch Error Response from AAI]"); - } + } - private void assertVariables(String exSuccessIndicator, String exFound, String exRVProvided, String exWorkflowException) { + private void assertVariables(String exSuccessIndicator, String exFound, String exRVProvided, String exWorkflowException) { - String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericDeleteVnf", "GENDV_SuccessIndicator"); - String found = BPMNUtil.getVariable(processEngineRule, "GenericDeleteVnf", "GENDV_FoundIndicator"); - String rvProvided = BPMNUtil.getVariable(processEngineRule, "GenericDeleteVnf", "GENDV_resourceVersionProvided"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericDeleteVnf", "WorkflowException"); + String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericDeleteVnf", "GENDV_SuccessIndicator"); + String found = BPMNUtil.getVariable(processEngineRule, "GenericDeleteVnf", "GENDV_FoundIndicator"); + String rvProvided = BPMNUtil.getVariable(processEngineRule, "GenericDeleteVnf", "GENDV_resourceVersionProvided"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericDeleteVnf", "WorkflowException"); - assertEquals(exSuccessIndicator, successIndicator); - assertEquals(exFound, found); - assertEquals(exRVProvided, rvProvided); - assertEquals(exWorkflowException, workflowException); - } + assertEquals(exSuccessIndicator, successIndicator); + assertEquals(exFound, found); + assertEquals(exRVProvided, rvProvided); + assertEquals(exWorkflowException, workflowException); + } - private void setVariables(Map variables, String vnfId, String type, String resourceVer) { - variables.put("isDebugLogEnabled", "true"); - variables.put("GENDV_vnfId", vnfId); - variables.put("GENDV_type", type); - variables.put("GENDV_resourceVersion", resourceVer); - } + private void setVariables(Map variables, String vnfId, String type, String resourceVer) { + variables.put("isDebugLogEnabled", "true"); + variables.put("GENDV_vnfId", vnfId); + variables.put("GENDV_type", type); + variables.put("GENDV_resourceVersion", resourceVer); + } } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/GenericGetServiceTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/GenericGetServiceTest.java index c20028a636..0198395750 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/GenericGetServiceTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/GenericGetServiceTest.java @@ -19,7 +19,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.common; @@ -52,439 +52,439 @@ import org.openecomp.mso.bpmn.common.workflow.service.WorkflowResponse; public class GenericGetServiceTest extends WorkflowTest { - @Test - @Deployment(resources = {"subprocess/GenericGetService.bpmn"}) - public void testGenericGetService_success_serviceInstance() throws Exception { - MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getServiceInstance.xml"); - Map variables = new HashMap<>(); - setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", null, "SDN-ETHERNET-INTERNET", "123456789"); - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_SuccessIndicator"); - String found = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_FoundIndicator"); - String obtainUrl = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainObjectsUrl"); - String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainServiceInstanceUrlByName"); - String response = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowResponse"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowException"); - assertEquals("true", successIndicator); - assertEquals("true", found); - assertEquals("false", obtainUrl); - assertEquals("false", byName); - assertNotNull(response); - assertEquals(null, workflowException); - } + @Test + @Deployment(resources = {"subprocess/GenericGetService.bpmn"}) + public void testGenericGetService_success_serviceInstance() throws Exception{ + MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getServiceInstance.xml"); + Map variables = new HashMap<>(); + setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", null, "SDN-ETHERNET-INTERNET", "123456789"); + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_SuccessIndicator"); + String found = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_FoundIndicator"); + String obtainUrl = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainObjectsUrl"); + String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainServiceInstanceUrlByName"); + String response = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowResponse"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowException"); + assertEquals("true", successIndicator); + assertEquals("true", found); + assertEquals("false", obtainUrl); + assertEquals("false", byName); + assertNotNull(response); + assertEquals(null, workflowException); + } + + + @Test + @Deployment(resources = {"subprocess/GenericGetService.bpmn"}) + public void testGenericGetService_success_serviceSubscription() throws Exception{ + + MockGetServiceSubscription("1604-MVM-26", "SDN-ETHERNET-INTERNET", "GenericFlows/getServiceSubscription.xml"); + + Map variables = new HashMap<>(); + setVariablesSubscription(variables, "", null , "1604-MVM-26", "SDN-ETHERNET-INTERNET"); + + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_SuccessIndicator"); + String found = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_FoundIndicator"); + String obtainUrl = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainObjectsUrl"); + String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainServiceInstanceUrlByName"); + String response = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowResponse"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowException"); + + assertEquals("true", successIndicator); + assertEquals("true", found); + assertEquals("false", obtainUrl); + assertEquals("false", byName); + assertNotNull(response); + assertEquals(null, workflowException); + } + + @Test + @Deployment(resources = {"subprocess/GenericGetService.bpmn"}) + public void testGenericGetService_success_serviceInstance_byName() throws Exception{ + + MockNodeQueryServiceInstanceByName("1604-MVM-26", "GenericFlows/getSIUrlByName.xml"); + MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getServiceInstance.xml"); + + Map variables = new HashMap<>(); + setVariablesInstance(variables, null, "1604-MVM-26", null, null); + + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_SuccessIndicator"); + String found = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_FoundIndicator"); + String obtainUrl = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainObjectsUrl"); + String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainServiceInstanceUrlByName"); + String response = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowResponse"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowException"); + String siUrlResponseCode = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainSIUrlResponseCode"); + + assertEquals("true", successIndicator); + assertEquals("true", found); + assertEquals("true", obtainUrl); + assertEquals("true", byName); + assertNotNull(response); + assertEquals("200", siUrlResponseCode); + assertEquals(null, workflowException); + } + + @Test + @Deployment(resources = {"subprocess/GenericGetService.bpmn"}) + public void testGenericGetService_success_serviceInstance_byId() throws Exception{ + + MockNodeQueryServiceInstanceById("MIS%2F1604%2F0026%2FSW_INTERNET", "GenericFlows/getSIUrlById.xml"); + MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getServiceInstance.xml"); + + Map variables = new HashMap<>(); + setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", null, null, null); + + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_SuccessIndicator"); + String found = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_FoundIndicator"); + String obtainUrl = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainObjectsUrl"); + String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainServiceInstanceUrlByName"); + String response = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowResponse"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowException"); + String siUrlResponseCode = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_genericQueryResponseCode"); + + assertEquals("true", successIndicator); + assertEquals("true", found); + assertEquals("true", obtainUrl); + assertEquals("false", byName); + assertNotNull(response); + assertEquals("200", siUrlResponseCode); + assertEquals(null, workflowException); + } + + @Test + @Deployment(resources = {"subprocess/GenericGetService.bpmn"}) + public void testGenericGetService_success_serviceInstance_404Response() throws Exception{ + + MockGetServiceInstance_404("SDN-ETHERNET-INTERNET", "123456789", "MIS%2F1604%2F0026%2FSW_INTERNET"); + + Map variables = new HashMap<>(); + setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", null, "SDN-ETHERNET-INTERNET", "123456789"); + + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_SuccessIndicator"); + String found = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_FoundIndicator"); + String obtainUrl = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainObjectsUrl"); + String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainServiceInstanceUrlByName"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowException"); + + assertEquals("true", successIndicator); + assertEquals("false", found); + assertEquals("false", obtainUrl); + assertEquals("false", byName); + assertEquals(null, workflowException); + } + + @Test + @Deployment(resources = {"subprocess/GenericGetService.bpmn"}) + public void testGenericGetService_success_serviceSubscription404() throws Exception{ + MockGetServiceSubscription("1604-MVM-26", "SDN-ETHERNET-INTERNET", 404); + + Map variables = new HashMap<>(); + setVariablesSubscription(variables, "", "", "SDN-ETHERNET-INTERNET", "1604-MVM-26"); + + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_SuccessIndicator"); + String found = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_FoundIndicator"); + String obtainUrl = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainObjectsUrl"); + String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainServiceInstanceUrlByName"); + String response = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowResponse"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowException"); + + assertEquals("true", successIndicator); + assertEquals("false", found); + assertEquals("false", obtainUrl); + assertEquals("false", byName); + assertNotNull(response); + assertEquals(null, workflowException); + } + + @Test + @Deployment(resources = {"subprocess/GenericGetService.bpmn"}) + public void testGenericGetService_success_serviceInstanceByName404() throws Exception{ + + MockNodeQueryServiceInstanceByName_404("1604-MVM-26"); + + Map variables = new HashMap<>(); + setVariablesInstance(variables, "", "1604-MVM-26", null, null); + + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_SuccessIndicator"); + String found = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_FoundIndicator"); + String obtainUrl = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainObjectsUrl"); + String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainServiceInstanceUrlByName"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowException"); + String siUrlResponseCode = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainSIUrlResponseCode"); + + assertEquals("true", successIndicator); + assertEquals("false", found); + assertEquals("true", obtainUrl); + assertEquals("true", byName); + assertEquals("404", siUrlResponseCode); + assertEquals(null, workflowException); + } + + @Test + @Deployment(resources = {"subprocess/GenericGetService.bpmn"}) + public void testGenericGetService_success_serviceInstanceById404() throws Exception{ + + MockNodeQueryServiceInstanceById_404("MIS%2F1604%2F0026%2FSW_INTERNET"); + + Map variables = new HashMap<>(); + setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", null, null, null); + + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_SuccessIndicator"); + String found = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_FoundIndicator"); + String obtainUrl = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainObjectsUrl"); + String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainServiceInstanceUrlByName"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowException"); + String siUrlResponseCode = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_genericQueryResponseCode"); + + assertEquals("true", successIndicator); + assertEquals("false", found); + assertEquals("true", obtainUrl); + assertEquals("false", byName); + assertEquals("404", siUrlResponseCode); + assertEquals(null, workflowException); + } + + @Test + @Deployment(resources = {"subprocess/GenericGetService.bpmn"}) + public void testGenericGetService_success_serviceInstanceEmptyResponse() throws Exception{ + + MockGetServiceInstance("1604-MVM-26", "SDN-ETHERNET-INTERNET", "MIS%252F1604%252F0026%252FSW_INTERNET", " "); + + Map variables = new HashMap<>(); + setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", null, "SDN-ETHERNET-INTERNET", "123456789"); + + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_SuccessIndicator"); + String found = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_FoundIndicator"); + String obtainUrl = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainObjectsUrl"); + String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainServiceInstanceUrlByName"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowException"); + + assertEquals("true", successIndicator); + assertEquals("false", found); + assertEquals("false", obtainUrl); + assertEquals("false", byName); + assertEquals(null, workflowException); + } + + @Test + @Deployment(resources = {"subprocess/GenericGetService.bpmn"}) + public void testGenericGetService_success_serviceInstanceByNameEmpty() throws Exception{ + MockNodeQueryServiceInstanceByName("1604-MVM-26", ""); + + Map variables = new HashMap<>(); + setVariablesInstance(variables, "", "1604-MVM-26", null, null); + + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_SuccessIndicator"); + String found = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_FoundIndicator"); + String obtainUrl = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainObjectsUrl"); + String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainServiceInstanceUrlByName"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowException"); + String siUrlResponseCode = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainSIUrlResponseCode"); + + assertEquals("true", successIndicator); + assertEquals("false", found); + assertEquals("true", obtainUrl); + assertEquals("true", byName); + assertEquals("200", siUrlResponseCode); + assertEquals(null, workflowException); + } + + @Test + @Deployment(resources = {"subprocess/GenericGetService.bpmn"}) + public void testGenericGetService_success_serviceInstanceByIdEmpty() throws Exception{ + + MockNodeQueryServiceInstanceById("MIS[%]2F1604[%]2F0026[%]2FSW_INTERNET", ""); + + Map variables = new HashMap<>(); + setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", null, null, null); + + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_SuccessIndicator"); + String found = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_FoundIndicator"); + String obtainUrl = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainObjectsUrl"); + String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainServiceInstanceUrlByName"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowException"); + String siUrlResponseCode = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_genericQueryResponseCode"); + + assertEquals("true", successIndicator); + assertEquals("false", found); + assertEquals("true", obtainUrl); + assertEquals("false", byName); + assertEquals("200", siUrlResponseCode); + assertEquals(null, workflowException); + } + + + @Test + @Deployment(resources = {"subprocess/GenericGetService.bpmn"}) + public void testGenericGetService_error_serviceInstanceInvalidVariables() throws Exception{ + + Map variables = new HashMap<>(); + setVariablesInstance(variables, null, null, "SDN-ETHERNET-INTERNET", null); + + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_SuccessIndicator"); + String found = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_FoundIndicator"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowException"); + String obtainUrl = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainObjectsUrl"); + String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainServiceInstanceUrlByName"); + + String expectedWorkflowException = "WorkflowException[processKey=GenericGetService,errorCode=500,errorMessage=Incoming serviceInstanceId and serviceInstanceName are null. ServiceInstanceId or ServiceInstanceName is required to Get a service-instance.]"; + + assertEquals("false", successIndicator); + assertEquals("false", found); + assertEquals("false", obtainUrl); + assertEquals("false", byName); + assertEquals(expectedWorkflowException, workflowException); + } + + @Test + @Deployment(resources = {"subprocess/GenericGetService.bpmn"}) + public void testGenericGetService_success_serviceSubscriptionInvalidVariables() throws Exception{ + + Map variables = new HashMap<>(); + setVariablesSubscription(variables, "", "", "SDN-ETHERNET-INTERNET", null); + + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_SuccessIndicator"); + String found = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_FoundIndicator"); + String obtainUrl = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainObjectsUrl"); + String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainServiceInstanceUrlByName"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowException"); + + String expectedWorkflowException = "WorkflowException[processKey=GenericGetService,errorCode=500,errorMessage=Incoming ServiceType or GlobalCustomerId is null. These variables are required to Get a service-subscription.]"; + + + assertEquals("false", successIndicator); + assertEquals("false", found); + assertEquals("false", obtainUrl); + assertEquals("false", byName); + assertEquals(expectedWorkflowException, workflowException); + } + + @Test + @Deployment(resources = {"subprocess/GenericGetService.bpmn"}) + public void testGenericGetService_error_serviceInstance_getSIBadResponse() throws Exception{ + + MockGetServiceInstance_500("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET"); + + Map variables = new HashMap<>(); + setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", "1604-MVM-26", "SDN-ETHERNET-INTERNET", "123456789"); + + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_SuccessIndicator"); + String found = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_FoundIndicator"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowException"); + String obtainUrl = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainObjectsUrl"); + String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainServiceInstanceUrlByName"); - @Test - @Deployment(resources = {"subprocess/GenericGetService.bpmn"}) - public void testGenericGetService_success_serviceSubscription() throws Exception { + String expectedWorkflowException = "WorkflowException[processKey=GenericGetService,errorCode=500,errorMessage=Received a bad response from AAI]"; - MockGetServiceSubscription("1604-MVM-26", "SDN-ETHERNET-INTERNET", "GenericFlows/getServiceSubscription.xml"); + assertEquals("false", successIndicator); + assertEquals("false", found); + assertEquals("false", obtainUrl); + assertEquals("false", byName); + assertEquals(expectedWorkflowException, workflowException); + } - Map variables = new HashMap<>(); - setVariablesSubscription(variables, "", null, "1604-MVM-26", "SDN-ETHERNET-INTERNET"); + @Test + @Deployment(resources = {"subprocess/GenericGetService.bpmn"}) + public void testGenericGetService_error_serviceInstance_getUrlByIdBadResponse() throws Exception{ - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + MockNodeQueryServiceInstanceById_500("MIS%2F1604%2F0026%2FSW_INTERNET"); - String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_SuccessIndicator"); - String found = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_FoundIndicator"); - String obtainUrl = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainObjectsUrl"); - String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainServiceInstanceUrlByName"); - String response = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowResponse"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowException"); + Map variables = new HashMap<>(); + setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", null, null, null); - assertEquals("true", successIndicator); - assertEquals("true", found); - assertEquals("false", obtainUrl); - assertEquals("false", byName); - assertNotNull(response); - assertEquals(null, workflowException); - } + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - @Test - @Deployment(resources = {"subprocess/GenericGetService.bpmn"}) - public void testGenericGetService_success_serviceInstance_byName() throws Exception { + String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_SuccessIndicator"); + String found = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_FoundIndicator"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowException"); + String obtainUrl = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainObjectsUrl"); + String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainServiceInstanceUrlByName"); + String siUrlResponseCode = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_genericQueryResponseCode"); - MockNodeQueryServiceInstanceByName("1604-MVM-26", "GenericFlows/getSIUrlByName.xml"); - MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getServiceInstance.xml"); + String expectedWorkflowException = "WorkflowException[processKey=GenericGetService,errorCode=500,errorMessage=Received a bad response from AAI]"; - Map variables = new HashMap<>(); - setVariablesInstance(variables, null, "1604-MVM-26", null, null); + assertEquals("false", successIndicator); + assertEquals("false", found); + assertEquals("true", obtainUrl); + assertEquals("false", byName); + assertEquals("500", siUrlResponseCode); + assertEquals(expectedWorkflowException, workflowException); + } - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + @Test + @Deployment(resources = {"subprocess/GenericGetService.bpmn"}) + public void testGenericGetService_error_serviceInstance_getUrlByNameBadResponse() throws Exception{ - String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_SuccessIndicator"); - String found = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_FoundIndicator"); - String obtainUrl = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainObjectsUrl"); - String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainServiceInstanceUrlByName"); - String response = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowResponse"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowException"); - String siUrlResponseCode = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainSIUrlResponseCode"); - - assertEquals("true", successIndicator); - assertEquals("true", found); - assertEquals("true", obtainUrl); - assertEquals("true", byName); - assertNotNull(response); - assertEquals("200", siUrlResponseCode); - assertEquals(null, workflowException); - } + MockNodeQueryServiceInstanceByName_500("1604-MVM-26"); - @Test - @Deployment(resources = {"subprocess/GenericGetService.bpmn"}) - public void testGenericGetService_success_serviceInstance_byId() throws Exception { + Map variables = new HashMap<>(); + setVariablesInstance(variables, null, "1604-MVM-26", null, null); - MockNodeQueryServiceInstanceById("MIS%2F1604%2F0026%2FSW_INTERNET", "GenericFlows/getSIUrlById.xml"); - MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getServiceInstance.xml"); + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - Map variables = new HashMap<>(); - setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", null, null, null); + String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_SuccessIndicator"); + String found = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_FoundIndicator"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowException"); + String obtainUrl = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainObjectsUrl"); + String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainServiceInstanceUrlByName"); + String siUrlResponseCode = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainSIUrlResponseCode"); - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_SuccessIndicator"); - String found = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_FoundIndicator"); - String obtainUrl = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainObjectsUrl"); - String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainServiceInstanceUrlByName"); - String response = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowResponse"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowException"); - String siUrlResponseCode = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_genericQueryResponseCode"); + String expectedWorkflowException = "WorkflowException[processKey=GenericGetService,errorCode=500,errorMessage=Received a bad response from AAI]"; - assertEquals("true", successIndicator); - assertEquals("true", found); - assertEquals("true", obtainUrl); - assertEquals("false", byName); - assertNotNull(response); - assertEquals("200", siUrlResponseCode); - assertEquals(null, workflowException); - } + assertEquals("false", successIndicator); + assertEquals("false", found); + assertEquals("true", obtainUrl); + assertEquals("true", byName); + assertEquals("500", siUrlResponseCode); + assertEquals(expectedWorkflowException, workflowException); + } @Test @Deployment(resources = {"subprocess/GenericGetService.bpmn"}) - public void testGenericGetService_success_serviceInstance_404Response() throws Exception { - - MockGetServiceInstance_404("SDN-ETHERNET-INTERNET", "123456789", "MIS%2F1604%2F0026%2FSW_INTERNET"); - - Map variables = new HashMap<>(); - setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", null, "SDN-ETHERNET-INTERNET", "123456789"); - - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_SuccessIndicator"); - String found = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_FoundIndicator"); - String obtainUrl = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainObjectsUrl"); - String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainServiceInstanceUrlByName"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowException"); - - assertEquals("true", successIndicator); - assertEquals("false", found); - assertEquals("false", obtainUrl); - assertEquals("false", byName); - assertEquals(null, workflowException); - } - - @Test - @Deployment(resources = {"subprocess/GenericGetService.bpmn"}) - public void testGenericGetService_success_serviceSubscription404() throws Exception { - MockGetServiceSubscription("1604-MVM-26", "SDN-ETHERNET-INTERNET", 404); - - Map variables = new HashMap<>(); - setVariablesSubscription(variables, "", "", "SDN-ETHERNET-INTERNET", "1604-MVM-26"); - - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_SuccessIndicator"); - String found = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_FoundIndicator"); - String obtainUrl = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainObjectsUrl"); - String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainServiceInstanceUrlByName"); - String response = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowResponse"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowException"); - - assertEquals("true", successIndicator); - assertEquals("false", found); - assertEquals("false", obtainUrl); - assertEquals("false", byName); - assertNotNull(response); - assertEquals(null, workflowException); - } - - @Test - @Deployment(resources = {"subprocess/GenericGetService.bpmn"}) - public void testGenericGetService_success_serviceInstanceByName404() throws Exception { - - MockNodeQueryServiceInstanceByName_404("1604-MVM-26"); - - Map variables = new HashMap<>(); - setVariablesInstance(variables, "", "1604-MVM-26", null, null); - - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_SuccessIndicator"); - String found = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_FoundIndicator"); - String obtainUrl = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainObjectsUrl"); - String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainServiceInstanceUrlByName"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowException"); - String siUrlResponseCode = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainSIUrlResponseCode"); - - assertEquals("true", successIndicator); - assertEquals("false", found); - assertEquals("true", obtainUrl); - assertEquals("true", byName); - assertEquals("404", siUrlResponseCode); - assertEquals(null, workflowException); - } - - @Test - @Deployment(resources = {"subprocess/GenericGetService.bpmn"}) - public void testGenericGetService_success_serviceInstanceById404() throws Exception { - - MockNodeQueryServiceInstanceById_404("MIS%2F1604%2F0026%2FSW_INTERNET"); - - Map variables = new HashMap<>(); - setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", null, null, null); - - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_SuccessIndicator"); - String found = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_FoundIndicator"); - String obtainUrl = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainObjectsUrl"); - String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainServiceInstanceUrlByName"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowException"); - String siUrlResponseCode = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_genericQueryResponseCode"); - - assertEquals("true", successIndicator); - assertEquals("false", found); - assertEquals("true", obtainUrl); - assertEquals("false", byName); - assertEquals("404", siUrlResponseCode); - assertEquals(null, workflowException); - } - - @Test - @Deployment(resources = {"subprocess/GenericGetService.bpmn"}) - public void testGenericGetService_success_serviceInstanceEmptyResponse() throws Exception { - - MockGetServiceInstance("1604-MVM-26", "SDN-ETHERNET-INTERNET", "MIS%252F1604%252F0026%252FSW_INTERNET", " "); - - Map variables = new HashMap<>(); - setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", null, "SDN-ETHERNET-INTERNET", "123456789"); - - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_SuccessIndicator"); - String found = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_FoundIndicator"); - String obtainUrl = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainObjectsUrl"); - String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainServiceInstanceUrlByName"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowException"); - - assertEquals("true", successIndicator); - assertEquals("false", found); - assertEquals("false", obtainUrl); - assertEquals("false", byName); - assertEquals(null, workflowException); - } - - @Test - @Deployment(resources = {"subprocess/GenericGetService.bpmn"}) - public void testGenericGetService_success_serviceInstanceByNameEmpty() throws Exception { - MockNodeQueryServiceInstanceByName("1604-MVM-26", ""); - - Map variables = new HashMap<>(); - setVariablesInstance(variables, "", "1604-MVM-26", null, null); - - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_SuccessIndicator"); - String found = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_FoundIndicator"); - String obtainUrl = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainObjectsUrl"); - String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainServiceInstanceUrlByName"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowException"); - String siUrlResponseCode = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainSIUrlResponseCode"); - - assertEquals("true", successIndicator); - assertEquals("false", found); - assertEquals("true", obtainUrl); - assertEquals("true", byName); - assertEquals("200", siUrlResponseCode); - assertEquals(null, workflowException); - } - - @Test - @Deployment(resources = {"subprocess/GenericGetService.bpmn"}) - public void testGenericGetService_success_serviceInstanceByIdEmpty() throws Exception { - - MockNodeQueryServiceInstanceById("MIS[%]2F1604[%]2F0026[%]2FSW_INTERNET", ""); - - Map variables = new HashMap<>(); - setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", null, null, null); - - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_SuccessIndicator"); - String found = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_FoundIndicator"); - String obtainUrl = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainObjectsUrl"); - String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainServiceInstanceUrlByName"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowException"); - String siUrlResponseCode = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_genericQueryResponseCode"); - - assertEquals("true", successIndicator); - assertEquals("false", found); - assertEquals("true", obtainUrl); - assertEquals("false", byName); - assertEquals("200", siUrlResponseCode); - assertEquals(null, workflowException); - } - - - @Test - @Deployment(resources = {"subprocess/GenericGetService.bpmn"}) - public void testGenericGetService_error_serviceInstanceInvalidVariables() throws Exception { - - Map variables = new HashMap<>(); - setVariablesInstance(variables, null, null, "SDN-ETHERNET-INTERNET", null); - - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_SuccessIndicator"); - String found = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_FoundIndicator"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowException"); - String obtainUrl = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainObjectsUrl"); - String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainServiceInstanceUrlByName"); - - String expectedWorkflowException = "WorkflowException[processKey=GenericGetService,errorCode=500,errorMessage=Incoming serviceInstanceId and serviceInstanceName are null. ServiceInstanceId or ServiceInstanceName is required to Get a service-instance.]"; - - assertEquals("false", successIndicator); - assertEquals("false", found); - assertEquals("false", obtainUrl); - assertEquals("false", byName); - assertEquals(expectedWorkflowException, workflowException); - } - - @Test - @Deployment(resources = {"subprocess/GenericGetService.bpmn"}) - public void testGenericGetService_success_serviceSubscriptionInvalidVariables() throws Exception { - - Map variables = new HashMap<>(); - setVariablesSubscription(variables, "", "", "SDN-ETHERNET-INTERNET", null); - - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_SuccessIndicator"); - String found = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_FoundIndicator"); - String obtainUrl = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainObjectsUrl"); - String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainServiceInstanceUrlByName"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowException"); - - String expectedWorkflowException = "WorkflowException[processKey=GenericGetService,errorCode=500,errorMessage=Incoming ServiceType or GlobalCustomerId is null. These variables are required to Get a service-subscription.]"; - - - assertEquals("false", successIndicator); - assertEquals("false", found); - assertEquals("false", obtainUrl); - assertEquals("false", byName); - assertEquals(expectedWorkflowException, workflowException); - } - - @Test - @Deployment(resources = {"subprocess/GenericGetService.bpmn"}) - public void testGenericGetService_error_serviceInstance_getSIBadResponse() throws Exception { - - MockGetServiceInstance_500("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET"); - - Map variables = new HashMap<>(); - setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", "1604-MVM-26", "SDN-ETHERNET-INTERNET", "123456789"); - - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_SuccessIndicator"); - String found = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_FoundIndicator"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowException"); - String obtainUrl = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainObjectsUrl"); - String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainServiceInstanceUrlByName"); - - String expectedWorkflowException = "WorkflowException[processKey=GenericGetService,errorCode=500,errorMessage=Received a bad response from AAI]"; - - assertEquals("false", successIndicator); - assertEquals("false", found); - assertEquals("false", obtainUrl); - assertEquals("false", byName); - assertEquals(expectedWorkflowException, workflowException); - } - - @Test - @Deployment(resources = {"subprocess/GenericGetService.bpmn"}) - public void testGenericGetService_error_serviceInstance_getUrlByIdBadResponse() throws Exception { - - MockNodeQueryServiceInstanceById_500("MIS%2F1604%2F0026%2FSW_INTERNET"); - - Map variables = new HashMap<>(); - setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", null, null, null); - - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_SuccessIndicator"); - String found = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_FoundIndicator"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowException"); - String obtainUrl = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainObjectsUrl"); - String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainServiceInstanceUrlByName"); - String siUrlResponseCode = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_genericQueryResponseCode"); - - String expectedWorkflowException = "WorkflowException[processKey=GenericGetService,errorCode=500,errorMessage=Received a bad response from AAI]"; - - assertEquals("false", successIndicator); - assertEquals("false", found); - assertEquals("true", obtainUrl); - assertEquals("false", byName); - assertEquals("500", siUrlResponseCode); - assertEquals(expectedWorkflowException, workflowException); - } - - @Test - @Deployment(resources = {"subprocess/GenericGetService.bpmn"}) - public void testGenericGetService_error_serviceInstance_getUrlByNameBadResponse() throws Exception { - - MockNodeQueryServiceInstanceByName_500("1604-MVM-26"); - - Map variables = new HashMap<>(); - setVariablesInstance(variables, null, "1604-MVM-26", null, null); - - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_SuccessIndicator"); - String found = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_FoundIndicator"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowException"); - String obtainUrl = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainObjectsUrl"); - String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainServiceInstanceUrlByName"); - String siUrlResponseCode = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainSIUrlResponseCode"); - - String expectedWorkflowException = "WorkflowException[processKey=GenericGetService,errorCode=500,errorMessage=Received a bad response from AAI]"; - - assertEquals("false", successIndicator); - assertEquals("false", found); - assertEquals("true", obtainUrl); - assertEquals("true", byName); - assertEquals("500", siUrlResponseCode); - assertEquals(expectedWorkflowException, workflowException); - } - - @Test - @Deployment(resources = {"subprocess/GenericGetService.bpmn"}) - public void testGenericGetService_success_serviceInstance_byNameServicePresent() throws Exception { + public void testGenericGetService_success_serviceInstance_byNameServicePresent() throws Exception{ MockNodeQueryServiceInstanceByName("1604-MVM-26", "GenericFlows/getSIUrlByNameMultiCustomer.xml"); MockGetServiceInstance("XyCorporation", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getServiceInstance.xml"); @@ -504,57 +504,57 @@ public class GenericGetServiceTest extends WorkflowTest { assertEquals("true", successIndicator); assertEquals("true", found); - assertNotNull(resourceLink); + assertNotNull(resourceLink); assertNotNull(response); assertEquals("200", siUrlResponseCode); assertEquals(null, workflowException); } - @Test - @Deployment(resources = {"subprocess/GenericGetService.bpmn"}) - public void testGenericGetService_success_serviceInstance_byNameServiceNotPresent() throws Exception { - - MockNodeQueryServiceInstanceByName("1604-MVM-26", "GenericFlows/getSIUrlByNameMultiCustomer.xml"); - MockGetServiceInstance("CorporationNotPresent", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getServiceInstance.xml"); - - Map variables = new HashMap<>(); - setVariablesInstance(variables, null, "1604-MVM-26", "CorporationNotPresent", null); - - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_SuccessIndicator"); - String found = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_FoundIndicator"); - String resourceLink = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_resourceLink"); - String response = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowResponse"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowException"); - String siUrlResponseCode = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainSIUrlResponseCode"); - - assertEquals("true", successIndicator); - assertEquals("false", found); - assertEquals(null, resourceLink); - assertEquals(" ", response); - assertEquals("200", siUrlResponseCode); - assertEquals(null, workflowException); - } - - private void setVariablesInstance(Map variables, String siId, String siName, String globalCustId, String serviceType) { - variables.put("isDebugLogEnabled", "true"); - variables.put("GENGS_serviceInstanceId", siId); - variables.put("GENGS_serviceInstanceName", siName); - variables.put("GENGS_globalCustomerId", globalCustId); - variables.put("GENGS_serviceType", serviceType); - variables.put("GENGS_type", "service-instance"); - } - - private void setVariablesSubscription(Map variables, String siId, String siName, String globalCustId, String serviceType) { - variables.put("isDebugLogEnabled", "true"); - variables.put("GENGS_serviceInstanceId", siId); - variables.put("GENGS_serviceInstanceName", siName); - variables.put("GENGS_globalCustomerId", globalCustId); - variables.put("GENGS_serviceType", serviceType); - variables.put("GENGS_type", "service-subscription"); - } + @Test + @Deployment(resources = {"subprocess/GenericGetService.bpmn"}) + public void testGenericGetService_success_serviceInstance_byNameServiceNotPresent() throws Exception{ + + MockNodeQueryServiceInstanceByName("1604-MVM-26", "GenericFlows/getSIUrlByNameMultiCustomer.xml"); + MockGetServiceInstance("CorporationNotPresent", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getServiceInstance.xml"); + + Map variables = new HashMap<>(); + setVariablesInstance(variables, null, "1604-MVM-26", "CorporationNotPresent", null); + + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_SuccessIndicator"); + String found = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_FoundIndicator"); + String resourceLink = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_resourceLink"); + String response = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowResponse"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "WorkflowException"); + String siUrlResponseCode = BPMNUtil.getVariable(processEngineRule, "GenericGetService", "GENGS_obtainSIUrlResponseCode"); + + assertEquals("true", successIndicator); + assertEquals("false", found); + assertEquals(null, resourceLink); + assertEquals(" ", response); + assertEquals("200", siUrlResponseCode); + assertEquals(null, workflowException); + } + + private void setVariablesInstance(Map variables, String siId, String siName, String globalCustId, String serviceType) { + variables.put("isDebugLogEnabled", "true"); + variables.put("GENGS_serviceInstanceId", siId); + variables.put("GENGS_serviceInstanceName", siName); + variables.put("GENGS_globalCustomerId",globalCustId); + variables.put("GENGS_serviceType", serviceType); + variables.put("GENGS_type", "service-instance"); + } + + private void setVariablesSubscription(Map variables, String siId, String siName, String globalCustId, String serviceType) { + variables.put("isDebugLogEnabled", "true"); + variables.put("GENGS_serviceInstanceId", siId); + variables.put("GENGS_serviceInstanceName", siName); + variables.put("GENGS_globalCustomerId",globalCustId); + variables.put("GENGS_serviceType", serviceType); + variables.put("GENGS_type", "service-subscription"); + } } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/GenericGetVnfTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/GenericGetVnfTest.java index 6095209f40..4922263744 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/GenericGetVnfTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/GenericGetVnfTest.java @@ -19,7 +19,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.common; @@ -43,148 +43,149 @@ import org.openecomp.mso.bpmn.common.workflow.service.WorkflowResponse; /** * Please describe the GenericGetVnfTest.java class + * */ public class GenericGetVnfTest extends WorkflowTest { - @Test - @Deployment(resources = {"subprocess/GenericGetVnf.bpmn"}) - public void testGenericGetVnf_success_genericVnf() throws Exception { - MockGetGenericVnfByIdWithDepth("testVnfId123", 1, "GenericFlows/getGenericVnfByNameResponse.xml"); - - Map variables = new HashMap<>(); - setVariables(variables, "testVnfId123", "testVnfName123", "generic-vnf"); - - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetVnf", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "GENGV_SuccessIndicator"); - String found = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "GENGV_FoundIndicator"); - String vnf = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "GENGV_vnf"); - String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "GENGV_getVnfByName"); - String response = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "WorkflowResponse"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "WorkflowException"); - - assertEquals("true", successIndicator); - assertEquals("true", found); - assertEquals("false", byName); - assertNotNull(response); - assertNotNull(vnf); - assertEquals(null, workflowException); - - } - - @Test - @Deployment(resources = {"subprocess/GenericGetVnf.bpmn"}) - public void testGenericGetVnf_success_vce() throws Exception { - MockGetVceById("testVnfId123[?]depth=1", "GenericFlows/getVceResponse.xml"); - - Map variables = new HashMap<>(); - setVariables(variables, "testVnfId123", "testVnfName123", "vce"); - - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetVnf", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "GENGV_SuccessIndicator"); - String found = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "GENGV_FoundIndicator"); - String vnf = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "GENGV_vnf"); - String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "GENGV_getVnfByName"); - String response = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "WorkflowResponse"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "WorkflowException"); - - assertEquals("true", successIndicator); - assertEquals("true", found); - assertEquals("false", byName); - assertNotNull(response); - assertNotNull(vnf); - assertEquals(null, workflowException); - - } - - @Test - @Deployment(resources = {"subprocess/GenericGetVnf.bpmn"}) - public void testGenericGetVnf_success_genericVnfByName() throws Exception { - MockGetGenericVnfByNameWithDepth("testVnfName123", 1, "GenericFlows/getGenericVnfResponse.xml"); - - Map variables = new HashMap<>(); - setVariables(variables, "", "testVnfName123", "generic-vnf"); - - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetVnf", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "GENGV_SuccessIndicator"); - String found = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "GENGV_FoundIndicator"); - String vnf = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "GENGV_vnf"); - String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "GENGV_getVnfByName"); - String response = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "WorkflowResponse"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "WorkflowException"); - - assertEquals("true", successIndicator); - assertEquals("true", found); - assertEquals("true", byName); - assertNotNull(response); - assertNotNull(vnf); - assertEquals(null, workflowException); - - } - - @Test - @Deployment(resources = {"subprocess/GenericGetVnf.bpmn"}) - public void testGenericGetVnf_success_vceByName() throws Exception { - MockGetGenericVceByNameWithDepth("testVnfName123", 1, "GenericFlows/getVceByNameResponse.xml"); - - Map variables = new HashMap<>(); - setVariables(variables, null, "testVnfName123", "vce"); - - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetVnf", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "GENGV_SuccessIndicator"); - String found = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "GENGV_FoundIndicator"); - String vnf = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "GENGV_vnf"); - String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "GENGV_getVnfByName"); - String response = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "WorkflowResponse"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "WorkflowException"); - - assertEquals("true", successIndicator); - assertEquals("true", found); - assertEquals("true", byName); - assertNotNull(response); - assertNotNull(vnf); - assertEquals(null, workflowException); - - } - - @Test - @Ignore // BROKEN TEST (previously ignored) - @Deployment(resources = {"subprocess/GenericGetVnf.bpmn"}) - public void testGenericGetVnf_error_genericVnf500() throws Exception { - - MockGetGenericVnfById_500("testVnfId123"); - - Map variables = new HashMap<>(); - setVariables(variables, "testVnfId123", "testVnfName123", "generic-vnf"); - - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetVnf", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "GENGV_SuccessIndicator"); - String found = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "GENGV_FoundIndicator"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "WorkflowException"); - String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "GENGV_getVnfByName"); - - String expectedWorkflowException = "WorkflowException[processKey=GenericGetVnf,errorCode=500,errorMessage=Incoming VnfId and VnfName are null. VnfId or VnfName is required!]"; - - assertEquals("false", successIndicator); - assertEquals("false", found); - assertEquals("false", byName); - - assertEquals(expectedWorkflowException, workflowException); - } - - private void setVariables(Map variables, String vnfId, String vnfName, String type) { - variables.put("isDebugLogEnabled", "true"); - variables.put("GENGV_vnfId", vnfId); - variables.put("GENGV_vnfName", vnfName); - variables.put("GENGV_type", type); - } + @Test + @Deployment(resources = {"subprocess/GenericGetVnf.bpmn"}) + public void testGenericGetVnf_success_genericVnf() throws Exception{ + MockGetGenericVnfByIdWithDepth("testVnfId123", 1, "GenericFlows/getGenericVnfByNameResponse.xml"); + + Map variables = new HashMap<>(); + setVariables(variables, "testVnfId123", "testVnfName123", "generic-vnf"); + + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetVnf", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "GENGV_SuccessIndicator"); + String found = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "GENGV_FoundIndicator"); + String vnf = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "GENGV_vnf"); + String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "GENGV_getVnfByName"); + String response = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "WorkflowResponse"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "WorkflowException"); + + assertEquals("true", successIndicator); + assertEquals("true", found); + assertEquals("false", byName); + assertNotNull(response); + assertNotNull(vnf); + assertEquals(null, workflowException); + + } + + @Test + @Deployment(resources = {"subprocess/GenericGetVnf.bpmn"}) + public void testGenericGetVnf_success_vce() throws Exception{ + MockGetVceById("testVnfId123[?]depth=1", "GenericFlows/getVceResponse.xml"); + + Map variables = new HashMap<>(); + setVariables(variables, "testVnfId123", "testVnfName123", "vce"); + + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetVnf", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "GENGV_SuccessIndicator"); + String found = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "GENGV_FoundIndicator"); + String vnf = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "GENGV_vnf"); + String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "GENGV_getVnfByName"); + String response = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "WorkflowResponse"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "WorkflowException"); + + assertEquals("true", successIndicator); + assertEquals("true", found); + assertEquals("false", byName); + assertNotNull(response); + assertNotNull(vnf); + assertEquals(null, workflowException); + + } + + @Test + @Deployment(resources = {"subprocess/GenericGetVnf.bpmn"}) + public void testGenericGetVnf_success_genericVnfByName() throws Exception{ + MockGetGenericVnfByNameWithDepth("testVnfName123", 1, "GenericFlows/getGenericVnfResponse.xml"); + + Map variables = new HashMap<>(); + setVariables(variables, "", "testVnfName123", "generic-vnf"); + + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetVnf", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "GENGV_SuccessIndicator"); + String found = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "GENGV_FoundIndicator"); + String vnf = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "GENGV_vnf"); + String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "GENGV_getVnfByName"); + String response = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "WorkflowResponse"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "WorkflowException"); + + assertEquals("true", successIndicator); + assertEquals("true", found); + assertEquals("true", byName); + assertNotNull(response); + assertNotNull(vnf); + assertEquals(null, workflowException); + + } + + @Test + @Deployment(resources = {"subprocess/GenericGetVnf.bpmn"}) + public void testGenericGetVnf_success_vceByName() throws Exception{ + MockGetGenericVceByNameWithDepth("testVnfName123", 1, "GenericFlows/getVceByNameResponse.xml"); + + Map variables = new HashMap<>(); + setVariables(variables, null, "testVnfName123", "vce"); + + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetVnf", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "GENGV_SuccessIndicator"); + String found = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "GENGV_FoundIndicator"); + String vnf = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "GENGV_vnf"); + String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "GENGV_getVnfByName"); + String response = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "WorkflowResponse"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "WorkflowException"); + + assertEquals("true", successIndicator); + assertEquals("true", found); + assertEquals("true", byName); + assertNotNull(response); + assertNotNull(vnf); + assertEquals(null, workflowException); + + } + + @Test + @Ignore // BROKEN TEST (previously ignored) + @Deployment(resources = {"subprocess/GenericGetVnf.bpmn"}) + public void testGenericGetVnf_error_genericVnf500() throws Exception{ + + MockGetGenericVnfById_500("testVnfId123"); + + Map variables = new HashMap<>(); + setVariables(variables, "testVnfId123", "testVnfName123", "generic-vnf"); + + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetVnf", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "GENGV_SuccessIndicator"); + String found = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "GENGV_FoundIndicator"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "WorkflowException"); + String byName = BPMNUtil.getVariable(processEngineRule, "GenericGetVnf", "GENGV_getVnfByName"); + + String expectedWorkflowException = "WorkflowException[processKey=GenericGetVnf,errorCode=500,errorMessage=Incoming VnfId and VnfName are null. VnfId or VnfName is required!]"; + + assertEquals("false", successIndicator); + assertEquals("false", found); + assertEquals("false", byName); + + assertEquals(expectedWorkflowException, workflowException); + } + + private void setVariables(Map variables, String vnfId, String vnfName, String type) { + variables.put("isDebugLogEnabled", "true"); + variables.put("GENGV_vnfId", vnfId); + variables.put("GENGV_vnfName",vnfName); + variables.put("GENGV_type", type); + } } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/GenericPutVnfTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/GenericPutVnfTest.java index 7406becb11..0e0a237090 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/GenericPutVnfTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/GenericPutVnfTest.java @@ -19,7 +19,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.common; @@ -38,144 +38,145 @@ import org.openecomp.mso.bpmn.common.workflow.service.WorkflowResponse; /** * Please describe the GenericPutVnf.java class + * */ public class GenericPutVnfTest extends WorkflowTest { - private String genericVnfPayload = "testId"; - private String vcePayload = "testId"; + private String genericVnfPayload = "testId"; + private String vcePayload = "testId"; - @Test - @Deployment(resources = {"subprocess/GenericPutVnf.bpmn"}) - public void testGenericPutVnf_success_genericVnf() throws Exception { + @Test + @Deployment(resources = {"subprocess/GenericPutVnf.bpmn"}) + public void testGenericPutVnf_success_genericVnf() throws Exception{ - MockPutGenericVnf("testVnfId123"); + MockPutGenericVnf("testVnfId123"); - Map variables = new HashMap<>(); - setVariables(variables, "testVnfId123", genericVnfPayload, "generic-vnf"); + Map variables = new HashMap<>(); + setVariables(variables, "testVnfId123", genericVnfPayload, "generic-vnf"); - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericPutVnf", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericPutVnf", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericPutVnf", "GENPV_SuccessIndicator"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericPutVnf", "WorkflowException"); + String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericPutVnf", "GENPV_SuccessIndicator"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericPutVnf", "WorkflowException"); - assertEquals("true", successIndicator); - assertEquals(null, workflowException); + assertEquals("true", successIndicator); + assertEquals(null, workflowException); - } + } - @Test - @Deployment(resources = {"subprocess/GenericPutVnf.bpmn"}) - public void testGenericPutVnf_success_vce() throws Exception { + @Test + @Deployment(resources = {"subprocess/GenericPutVnf.bpmn"}) + public void testGenericPutVnf_success_vce() throws Exception{ - MockPutVce("testVnfId123"); + MockPutVce("testVnfId123"); - Map variables = new HashMap<>(); - setVariables(variables, "testVnfId123", vcePayload, "vce"); + Map variables = new HashMap<>(); + setVariables(variables, "testVnfId123", vcePayload, "vce"); - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericPutVnf", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericPutVnf", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericPutVnf", "GENPV_SuccessIndicator"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericPutVnf", "WorkflowException"); + String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericPutVnf", "GENPV_SuccessIndicator"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericPutVnf", "WorkflowException"); - assertEquals("true", successIndicator); - assertEquals(null, workflowException); + assertEquals("true", successIndicator); + assertEquals(null, workflowException); - } + } - @Test - @Deployment(resources = {"subprocess/GenericPutVnf.bpmn"}) - public void testGenericPutVnf_error_missingType() throws Exception { + @Test + @Deployment(resources = {"subprocess/GenericPutVnf.bpmn"}) + public void testGenericPutVnf_error_missingType() throws Exception{ - MockPutGenericVnf("testVnfId123"); + MockPutGenericVnf("testVnfId123"); - Map variables = new HashMap<>(); - setVariables(variables, "testVnfId123", genericVnfPayload, ""); + Map variables = new HashMap<>(); + setVariables(variables, "testVnfId123", genericVnfPayload, ""); - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericPutVnf", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericPutVnf", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericPutVnf", "GENPV_SuccessIndicator"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericPutVnf", "WorkflowException"); + String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericPutVnf", "GENPV_SuccessIndicator"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericPutVnf", "WorkflowException"); - String expectedWFEX = "WorkflowException[processKey=GenericPutVnf,errorCode=500,errorMessage=Incoming Vnf Payload and/or Type is null. These Variables are required!]"; + String expectedWFEX = "WorkflowException[processKey=GenericPutVnf,errorCode=500,errorMessage=Incoming Vnf Payload and/or Type is null. These Variables are required!]"; - assertEquals("false", successIndicator); - assertEquals(expectedWFEX, workflowException); + assertEquals("false", successIndicator); + assertEquals(expectedWFEX, workflowException); - } + } - @Test - @Deployment(resources = {"subprocess/GenericPutVnf.bpmn"}) - public void testGenericPutVnf_error_missingPayload() throws Exception { + @Test + @Deployment(resources = {"subprocess/GenericPutVnf.bpmn"}) + public void testGenericPutVnf_error_missingPayload() throws Exception{ - MockPutGenericVnf("testVnfId123"); + MockPutGenericVnf("testVnfId123"); - Map variables = new HashMap<>(); - setVariables(variables, "testVnfId123", genericVnfPayload, ""); + Map variables = new HashMap<>(); + setVariables(variables, "testVnfId123", genericVnfPayload, ""); - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericPutVnf", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericPutVnf", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericPutVnf", "GENPV_SuccessIndicator"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericPutVnf", "WorkflowException"); + String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericPutVnf", "GENPV_SuccessIndicator"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericPutVnf", "WorkflowException"); - String expectedWFEX = "WorkflowException[processKey=GenericPutVnf,errorCode=500,errorMessage=Incoming Vnf Payload and/or Type is null. These Variables are required!]"; + String expectedWFEX = "WorkflowException[processKey=GenericPutVnf,errorCode=500,errorMessage=Incoming Vnf Payload and/or Type is null. These Variables are required!]"; - assertEquals("false", successIndicator); - assertEquals(expectedWFEX, workflowException); + assertEquals("false", successIndicator); + assertEquals(expectedWFEX, workflowException); - } + } - @Test - @Deployment(resources = {"subprocess/GenericPutVnf.bpmn"}) - public void testGenericPutVnf_error_404() throws Exception { + @Test + @Deployment(resources = {"subprocess/GenericPutVnf.bpmn"}) + public void testGenericPutVnf_error_404() throws Exception{ - Map variables = new HashMap<>(); - setVariables(variables, "testVnfId123", genericVnfPayload, "generic-vnf"); + Map variables = new HashMap<>(); + setVariables(variables, "testVnfId123", genericVnfPayload, "generic-vnf"); - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericPutVnf", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericPutVnf", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericPutVnf", "GENPV_SuccessIndicator"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericPutVnf", "WorkflowException"); + String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericPutVnf", "GENPV_SuccessIndicator"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericPutVnf", "WorkflowException"); - String expectedWFEX = "WorkflowException[processKey=GenericPutVnf,errorCode=404,errorMessage=Received a bad response from AAI]"; + String expectedWFEX = "WorkflowException[processKey=GenericPutVnf,errorCode=404,errorMessage=Received a bad response from AAI]"; - assertEquals("false", successIndicator); - assertEquals(expectedWFEX, workflowException); - } + assertEquals("false", successIndicator); + assertEquals(expectedWFEX, workflowException); + } - @Test - @Deployment(resources = {"subprocess/GenericPutVnf.bpmn"}) - public void testGenericPutVnf_error_400() throws Exception { + @Test + @Deployment(resources = {"subprocess/GenericPutVnf.bpmn"}) + public void testGenericPutVnf_error_400() throws Exception{ - MockPutGenericVnf("/testVnfId123", 400); + MockPutGenericVnf("/testVnfId123", 400); - Map variables = new HashMap<>(); - setVariables(variables, "testVnfId123", genericVnfPayload, "generic-vnf"); + Map variables = new HashMap<>(); + setVariables(variables, "testVnfId123", genericVnfPayload, "generic-vnf"); - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericPutVnf", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericPutVnf", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericPutVnf", "GENPV_SuccessIndicator"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericPutVnf", "WorkflowException"); + String successIndicator = BPMNUtil.getVariable(processEngineRule, "GenericPutVnf", "GENPV_SuccessIndicator"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "GenericPutVnf", "WorkflowException"); - String expectedWFEX = "WorkflowException[processKey=GenericPutVnf,errorCode=400,errorMessage=Received a bad response from AAI]"; + String expectedWFEX = "WorkflowException[processKey=GenericPutVnf,errorCode=400,errorMessage=Received a bad response from AAI]"; - assertEquals("false", successIndicator); - assertEquals(expectedWFEX, workflowException); + assertEquals("false", successIndicator); + assertEquals(expectedWFEX, workflowException); - } + } - private void setVariables(Map variables, String vnfId, String payload, String type) { - variables.put("isDebugLogEnabled", "true"); - variables.put("GENPV_vnfId", vnfId); - variables.put("GENPV_vnfPayload", payload); - variables.put("GENPV_type", type); - } + private void setVariables(Map variables, String vnfId, String payload, String type) { + variables.put("isDebugLogEnabled", "true"); + variables.put("GENPV_vnfId", vnfId); + variables.put("GENPV_vnfPayload",payload); + variables.put("GENPV_type", type); + } } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/HomingTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/HomingTest.java index a6b85e1a82..3210fe8fc7 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/HomingTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/HomingTest.java @@ -51,427 +51,428 @@ import org.openecomp.mso.bpmn.common.WorkflowTest; */ public class HomingTest extends WorkflowTest { - ServiceDecomposition serviceDecomposition = new ServiceDecomposition(); - String subscriber = ""; - String subscriber2 = ""; - - private final CallbackSet callbacks = new CallbackSet(); - - public HomingTest() throws IOException { - String sniroCallback = FileUtil.readResourceFile("__files/BuildingBlocks/sniroCallback2AR1Vnf"); - String sniroCallback2 = FileUtil.readResourceFile("__files/BuildingBlocks/sniroCallback2AR1Vnf2Net"); - String sniroCallback3 = FileUtil.readResourceFile("__files/BuildingBlocks/sniroCallbackInfraVnf"); - String sniroCallbackNoSolution = FileUtil.readResourceFile("__files/BuildingBlocks/sniroCallbackNoSolutionFound"); - String sniroCallbackPolicyException = FileUtil.readResourceFile("__files/BuildingBlocks/sniroCallbackPolicyException"); - String sniroCallbackServiceException = FileUtil.readResourceFile("__files/BuildingBlocks/sniroCallbackServiceException"); - callbacks.put("sniro", JSON, "SNIROResponse", sniroCallback); - callbacks.put("sniro2", JSON, "SNIROResponse", sniroCallback2); - callbacks.put("sniro3", JSON, "SNIROResponse", sniroCallback3); - callbacks.put("sniroNoSol", JSON, "SNIROResponse", sniroCallbackNoSolution); - callbacks.put("sniroPolicyEx", JSON, "SNIROResponse", sniroCallbackPolicyException); - callbacks.put("sniroServiceEx", JSON, "SNIROResponse", sniroCallbackServiceException); - - // Service Model - ModelInfo sModel = new ModelInfo(); - sModel.setModelCustomizationUuid("testModelCustomizationUuid"); - sModel.setModelInstanceName("testModelInstanceName"); - sModel.setModelInvariantUuid("testModelInvariantId"); - sModel.setModelName("testModelName"); - sModel.setModelUuid("testModelUuid"); - sModel.setModelVersion("testModelVersion"); - // Service Instance - ServiceInstance si = new ServiceInstance(); - si.setInstanceId("testServiceInstanceId123"); - // Allotted Resources - List arList = new ArrayList(); - AllottedResource ar = new AllottedResource(); - ar.setResourceId("testResourceIdAR"); - ar.setResourceInstanceName("testARInstanceName"); - ModelInfo arModel = new ModelInfo(); - arModel.setModelCustomizationUuid("testModelCustomizationUuidAR"); - arModel.setModelInvariantUuid("testModelInvariantIdAR"); - arModel.setModelName("testModelNameAR"); - arModel.setModelVersion("testModelVersionAR"); - arModel.setModelUuid("testARModelUuid"); - arModel.setModelType("testModelTypeAR"); - ar.setModelInfo(arModel); - AllottedResource ar2 = new AllottedResource(); - ar2.setResourceId("testResourceIdAR2"); - ar2.setResourceInstanceName("testAR2InstanceName"); - ModelInfo arModel2 = new ModelInfo(); - arModel2.setModelCustomizationUuid("testModelCustomizationUuidAR2"); - arModel2.setModelInvariantUuid("testModelInvariantIdAR2"); - arModel2.setModelName("testModelNameAR2"); - arModel2.setModelVersion("testModelVersionAR2"); - arModel2.setModelUuid("testAr2ModelUuid"); - arModel2.setModelType("testModelTypeAR2"); - ar2.setModelInfo(arModel2); - arList.add(ar); - arList.add(ar2); - // Vnfs - List vnfList = new ArrayList(); - VnfResource vnf = new VnfResource(); - vnf.setResourceId("testResourceIdVNF"); - vnf.setResourceInstanceName("testVnfInstanceName"); - ModelInfo vnfModel = new ModelInfo(); - vnfModel.setModelCustomizationUuid("testModelCustomizationUuidVNF"); - vnfModel.setModelInvariantUuid("testModelInvariantIdVNF"); - vnfModel.setModelName("testModelNameVNF"); - vnfModel.setModelVersion("testModelVersionVNF"); - vnfModel.setModelUuid("testVnfModelUuid"); - vnfModel.setModelType("testModelTypeVNF"); - vnf.setModelInfo(vnfModel); - vnfList.add(vnf); - System.out.println("SERVICE DECOMP: " + serviceDecomposition.getServiceResourcesJsonString()); - serviceDecomposition.setModelInfo(sModel); - serviceDecomposition.setServiceAllottedResources(arList); - serviceDecomposition.setServiceVnfs(vnfList); - serviceDecomposition.setServiceInstance(si); - - // Subscriber - subscriber = "{\"globalSubscriberId\": \"SUB12_0322_DS_1201\",\"subscriberCommonSiteId\": \"DALTX0101\",\"subscriberName\": \"SUB_12_0322_DS_1201\"}"; - subscriber2 = "{\"globalSubscriberId\": \"SUB12_0322_DS_1201\",\"subscriberName\": \"SUB_12_0322_DS_1201\"}"; - } - - @Test - @Deployment(resources = {"subprocess/BuildingBlock/Homing.bpmn", "subprocess/ReceiveWorkflowMessage.bpmn"}) - public void testHoming_success_2AR1Vnf() throws Exception { - - mockSNIRO(); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - setVariables(variables); - - invokeSubProcess("Homing", businessKey, variables); - - injectWorkflowMessages(callbacks, "sniro"); - - waitForProcessEnd(businessKey, 10000); - - //Get Variables - WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); - ServiceDecomposition serviceDecompositionExp = (ServiceDecomposition) getVariableFromHistory(businessKey, "serviceDecomposition"); - String expectedSniroRequest = (String) getVariableFromHistory(businessKey, "sniroRequest"); - - Resource resourceAR = serviceDecompositionExp.getServiceResource("testResourceIdAR"); - HomingSolution resourceARHoming = resourceAR.getHomingSolution(); - Resource resourceAR2 = serviceDecompositionExp.getServiceResource("testResourceIdAR2"); - HomingSolution resourceARHoming2 = resourceAR2.getHomingSolution(); - Resource resourceVNF = serviceDecompositionExp.getServiceResource("testResourceIdVNF"); - HomingSolution resourceVNFHoming = resourceVNF.getHomingSolution(); - String resourceARHomingString = resourceARHoming.toString(); - resourceARHomingString = resourceARHomingString.replaceAll("\\s+", " "); - String resourceARHoming2String = resourceARHoming2.toString(); - resourceARHoming2String = resourceARHoming2String.replaceAll("\\s+", " "); - String resourceVNFHomingString = resourceVNFHoming.toString(); - resourceVNFHomingString = resourceVNFHomingString.replaceAll("\\s+", " "); - expectedSniroRequest = expectedSniroRequest.replaceAll("\\s+", ""); - - assertNull(workflowException); - assertEquals(homingSolutionService("service", "testSIID1", "MDTNJ01", "aic", "dfwtx", "KDTNJ01", "3.0", "\"f1d563e8-e714-4393-8f99-cc480144a05e\", \"j1d563e8-e714-4393-8f99-cc480144a05e\"", "\"s1d563e8-e714-4393-8f99-cc480144a05e\", \"b1d563e8-e714-4393-8f99-cc480144a05e\""), resourceARHomingString); - assertEquals(homingSolutionService("service", "testSIID2", "testVnfHostname2", "aic", "testCloudRegionId2", "testAicClli2", "3.0", null, null), resourceARHoming2String); - assertEquals(homingSolutionCloud("cloud", "", "", "aic", "testCloudRegionId3", "testAicClli3", "3.0", "\"91d563e8-e714-4393-8f99-cc480144a05e\", \"21d563e8-e714-4393-8f99-cc480144a05e\"", "\"31d563e8-e714-4393-8f99-cc480144a05e\", \"71d563e8-e714-4393-8f99-cc480144a05e\""), resourceVNFHomingString); - assertEquals(verifySniroRequest(), expectedSniroRequest); - - } - - @Test - @Deployment(resources = {"subprocess/BuildingBlock/Homing.bpmn", "subprocess/ReceiveWorkflowMessage.bpmn"}) - public void testHoming_success_2AR1Vnf2Net() throws Exception { - - mockSNIRO(); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - setVariables2(variables); - - invokeSubProcess("Homing", businessKey, variables); - - injectWorkflowMessages(callbacks, "sniro2"); - - waitForProcessEnd(businessKey, 10000); - - //Get Variables - WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); - ServiceDecomposition serviceDecompositionExp = (ServiceDecomposition) getVariableFromHistory(businessKey, "serviceDecomposition"); - String expectedSniroRequest = (String) getVariableFromHistory(businessKey, "sniroRequest"); - - Resource resourceAR = serviceDecompositionExp.getServiceResource("testResourceIdAR"); - HomingSolution resourceARHoming = resourceAR.getHomingSolution(); - Resource resourceAR2 = serviceDecompositionExp.getServiceResource("testResourceIdAR2"); - HomingSolution resourceARHoming2 = resourceAR2.getHomingSolution(); - Resource resourceVNF = serviceDecompositionExp.getServiceResource("testResourceIdVNF"); - HomingSolution resourceVNFHoming = resourceVNF.getHomingSolution(); - Resource resourceNet = serviceDecompositionExp.getServiceResource("testResourceIdNet"); - HomingSolution resourceNetHoming = resourceNet.getHomingSolution(); - Resource resourceNet2 = serviceDecompositionExp.getServiceResource("testResourceIdNet2"); - HomingSolution resourceNetHoming2 = resourceNet2.getHomingSolution(); - - String resourceARHomingString = resourceARHoming.toString(); - resourceARHomingString = resourceARHomingString.replaceAll("\\s+", " "); - String resourceARHoming2String = resourceARHoming2.toString(); - resourceARHoming2String = resourceARHoming2String.replaceAll("\\s+", " "); - String resourceVNFHomingString = resourceVNFHoming.toString(); - resourceVNFHomingString = resourceVNFHomingString.replaceAll("\\s+", " "); - String resourceNetHomingString = resourceNetHoming.toString(); - resourceNetHomingString = resourceNetHomingString.replaceAll("\\s+", " "); - String resourceNetHoming2String = resourceNetHoming2.toString(); - resourceNetHoming2String = resourceNetHoming2String.replaceAll("\\s+", " "); - expectedSniroRequest = expectedSniroRequest.replaceAll("\\s+", ""); - - assertNull(workflowException); - assertEquals(homingSolutionService("service", "testSIID1", "MDTNJ01", "aic", "dfwtx", "KDTNJ01", "3.0", "\"f1d563e8-e714-4393-8f99-cc480144a05e\", \"j1d563e8-e714-4393-8f99-cc480144a05e\"", "\"s1d563e8-e714-4393-8f99-cc480144a05e\", \"b1d563e8-e714-4393-8f99-cc480144a05e\""), resourceARHomingString); - assertEquals(homingSolutionService("service", "testSIID2", "testVnfHostname2", "aic", "testCloudRegionId2", "testAicClli2", "3.0", null, null), resourceARHoming2String); - assertEquals(homingSolutionCloud("cloud", "", "", "aic", "testCloudRegionId3", "testAicClli3", "3.0", "\"91d563e8-e714-4393-8f99-cc480144a05e\", \"21d563e8-e714-4393-8f99-cc480144a05e\"", "\"31d563e8-e714-4393-8f99-cc480144a05e\", \"71d563e8-e714-4393-8f99-cc480144a05e\""), resourceVNFHomingString); - assertEquals(homingSolutionService("service", "testServiceInstanceIdNet", "testVnfHostNameNet", "aic", "testCloudRegionIdNet", "testAicClliNet", "3.0", null, null), resourceNetHomingString); - assertEquals(homingSolutionCloud("cloud", "", "", "aic", "testCloudRegionIdNet2", "testAicClliNet2", "3.0", "\"f1d563e8-e714-4393-8f99-cc480144a05n\", \"j1d563e8-e714-4393-8f99-cc480144a05n\"", "\"s1d563e8-e714-4393-8f99-cc480144a05n\", \"b1d563e8-e714-4393-8f99-cc480144a05n\""), resourceNetHoming2String); - assertEquals(verifySniroRequest(), expectedSniroRequest); - } - - @Test - @Deployment(resources = {"subprocess/BuildingBlock/Homing.bpmn", "subprocess/BuildingBlock/DecomposeService.bpmn", "subprocess/ReceiveWorkflowMessage.bpmn"}) - public void testHoming_success_vnfResourceList() throws Exception { - - // Create a Service Decomposition + ServiceDecomposition serviceDecomposition = new ServiceDecomposition(); + String subscriber = ""; + String subscriber2 = ""; + + private final CallbackSet callbacks = new CallbackSet(); + + public HomingTest() throws IOException { + String sniroCallback = FileUtil.readResourceFile("__files/BuildingBlocks/sniroCallback2AR1Vnf"); + String sniroCallback2 = FileUtil.readResourceFile("__files/BuildingBlocks/sniroCallback2AR1Vnf2Net"); + String sniroCallback3 = FileUtil.readResourceFile("__files/BuildingBlocks/sniroCallbackInfraVnf"); + String sniroCallbackNoSolution = FileUtil.readResourceFile("__files/BuildingBlocks/sniroCallbackNoSolutionFound"); + String sniroCallbackPolicyException = FileUtil.readResourceFile("__files/BuildingBlocks/sniroCallbackPolicyException"); + String sniroCallbackServiceException = FileUtil.readResourceFile("__files/BuildingBlocks/sniroCallbackServiceException"); + callbacks.put("sniro", JSON, "SNIROResponse", sniroCallback); + callbacks.put("sniro2", JSON, "SNIROResponse", sniroCallback2); + callbacks.put("sniro3", JSON, "SNIROResponse", sniroCallback3); + callbacks.put("sniroNoSol", JSON, "SNIROResponse", sniroCallbackNoSolution); + callbacks.put("sniroPolicyEx", JSON, "SNIROResponse", sniroCallbackPolicyException); + callbacks.put("sniroServiceEx", JSON, "SNIROResponse", sniroCallbackServiceException); + + // Service Model + ModelInfo sModel = new ModelInfo(); + sModel.setModelCustomizationUuid("testModelCustomizationUuid"); + sModel.setModelInstanceName("testModelInstanceName"); + sModel.setModelInvariantUuid("testModelInvariantId"); + sModel.setModelName("testModelName"); + sModel.setModelUuid("testModelUuid"); + sModel.setModelVersion("testModelVersion"); + // Service Instance + ServiceInstance si = new ServiceInstance(); + si.setInstanceId("testServiceInstanceId123"); + // Allotted Resources + List arList = new ArrayList(); + AllottedResource ar = new AllottedResource(); + ar.setResourceId("testResourceIdAR"); + ar.setResourceInstanceName("testARInstanceName"); + ModelInfo arModel = new ModelInfo(); + arModel.setModelCustomizationUuid("testModelCustomizationUuidAR"); + arModel.setModelInvariantUuid("testModelInvariantIdAR"); + arModel.setModelName("testModelNameAR"); + arModel.setModelVersion("testModelVersionAR"); + arModel.setModelUuid("testARModelUuid"); + arModel.setModelType("testModelTypeAR"); + ar.setModelInfo(arModel); + AllottedResource ar2 = new AllottedResource(); + ar2.setResourceId("testResourceIdAR2"); + ar2.setResourceInstanceName("testAR2InstanceName"); + ModelInfo arModel2 = new ModelInfo(); + arModel2.setModelCustomizationUuid("testModelCustomizationUuidAR2"); + arModel2.setModelInvariantUuid("testModelInvariantIdAR2"); + arModel2.setModelName("testModelNameAR2"); + arModel2.setModelVersion("testModelVersionAR2"); + arModel2.setModelUuid("testAr2ModelUuid"); + arModel2.setModelType("testModelTypeAR2"); + ar2.setModelInfo(arModel2); + arList.add(ar); + arList.add(ar2); + // Vnfs + List vnfList = new ArrayList(); + VnfResource vnf = new VnfResource(); + vnf.setResourceId("testResourceIdVNF"); + vnf.setResourceInstanceName("testVnfInstanceName"); + ModelInfo vnfModel = new ModelInfo(); + vnfModel.setModelCustomizationUuid("testModelCustomizationUuidVNF"); + vnfModel.setModelInvariantUuid("testModelInvariantIdVNF"); + vnfModel.setModelName("testModelNameVNF"); + vnfModel.setModelVersion("testModelVersionVNF"); + vnfModel.setModelUuid("testVnfModelUuid"); + vnfModel.setModelType("testModelTypeVNF"); + vnf.setModelInfo(vnfModel); + vnfList.add(vnf); + System.out.println("SERVICE DECOMP: " + serviceDecomposition.getServiceResourcesJsonString()); + serviceDecomposition.setModelInfo(sModel); + serviceDecomposition.setServiceAllottedResources(arList); + serviceDecomposition.setServiceVnfs(vnfList); + serviceDecomposition.setServiceInstance(si); + + // Subscriber + subscriber = "{\"globalSubscriberId\": \"SUB12_0322_DS_1201\",\"subscriberCommonSiteId\": \"DALTX0101\",\"subscriberName\": \"SUB_12_0322_DS_1201\"}"; + subscriber2 = "{\"globalSubscriberId\": \"SUB12_0322_DS_1201\",\"subscriberName\": \"SUB_12_0322_DS_1201\"}"; + } + + @Test + @Deployment(resources = {"subprocess/BuildingBlock/Homing.bpmn", "subprocess/ReceiveWorkflowMessage.bpmn"}) + public void testHoming_success_2AR1Vnf() throws Exception { + + mockSNIRO(); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariables(variables); + + invokeSubProcess("Homing", businessKey, variables); + + injectWorkflowMessages(callbacks, "sniro"); + + waitForProcessEnd(businessKey, 10000); + + //Get Variables + WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); + ServiceDecomposition serviceDecompositionExp = (ServiceDecomposition) getVariableFromHistory(businessKey, "serviceDecomposition"); + String expectedSniroRequest = (String) getVariableFromHistory(businessKey, "sniroRequest"); + + Resource resourceAR = serviceDecompositionExp.getServiceResource("testResourceIdAR"); + HomingSolution resourceARHoming = resourceAR.getHomingSolution(); + Resource resourceAR2 = serviceDecompositionExp.getServiceResource("testResourceIdAR2"); + HomingSolution resourceARHoming2 = resourceAR2.getHomingSolution(); + Resource resourceVNF = serviceDecompositionExp.getServiceResource("testResourceIdVNF"); + HomingSolution resourceVNFHoming = resourceVNF.getHomingSolution(); + String resourceARHomingString = resourceARHoming.toString(); + resourceARHomingString = resourceARHomingString.replaceAll("\\s+", " "); + String resourceARHoming2String = resourceARHoming2.toString(); + resourceARHoming2String = resourceARHoming2String.replaceAll("\\s+", " "); + String resourceVNFHomingString = resourceVNFHoming.toString(); + resourceVNFHomingString = resourceVNFHomingString.replaceAll("\\s+", " "); + expectedSniroRequest = expectedSniroRequest.replaceAll("\\s+", ""); + + assertNull(workflowException); + assertEquals(homingSolutionService("service", "testSIID1", "MDTNJ01", "aic", "dfwtx", "KDTNJ01", "3.0", "\"f1d563e8-e714-4393-8f99-cc480144a05e\", \"j1d563e8-e714-4393-8f99-cc480144a05e\"", "\"s1d563e8-e714-4393-8f99-cc480144a05e\", \"b1d563e8-e714-4393-8f99-cc480144a05e\""), resourceARHomingString); + assertEquals(homingSolutionService("service", "testSIID2", "testVnfHostname2", "aic", "testCloudRegionId2", "testAicClli2", "3.0", null, null), resourceARHoming2String); + assertEquals(homingSolutionCloud("cloud", "", "", "aic", "testCloudRegionId3", "testAicClli3", "3.0", "\"91d563e8-e714-4393-8f99-cc480144a05e\", \"21d563e8-e714-4393-8f99-cc480144a05e\"", "\"31d563e8-e714-4393-8f99-cc480144a05e\", \"71d563e8-e714-4393-8f99-cc480144a05e\""), resourceVNFHomingString); + assertEquals(verifySniroRequest(), expectedSniroRequest); + + } + + @Test + @Deployment(resources = {"subprocess/BuildingBlock/Homing.bpmn", "subprocess/ReceiveWorkflowMessage.bpmn"}) + public void testHoming_success_2AR1Vnf2Net() throws Exception { + + mockSNIRO(); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariables2(variables); + + invokeSubProcess("Homing", businessKey, variables); + + injectWorkflowMessages(callbacks, "sniro2"); + + waitForProcessEnd(businessKey, 10000); + + //Get Variables + WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); + ServiceDecomposition serviceDecompositionExp = (ServiceDecomposition) getVariableFromHistory(businessKey, "serviceDecomposition"); + String expectedSniroRequest = (String) getVariableFromHistory(businessKey, "sniroRequest"); + + Resource resourceAR = serviceDecompositionExp.getServiceResource("testResourceIdAR"); + HomingSolution resourceARHoming = resourceAR.getHomingSolution(); + Resource resourceAR2 = serviceDecompositionExp.getServiceResource("testResourceIdAR2"); + HomingSolution resourceARHoming2 = resourceAR2.getHomingSolution(); + Resource resourceVNF = serviceDecompositionExp.getServiceResource("testResourceIdVNF"); + HomingSolution resourceVNFHoming = resourceVNF.getHomingSolution(); + Resource resourceNet = serviceDecompositionExp.getServiceResource("testResourceIdNet"); + HomingSolution resourceNetHoming = resourceNet.getHomingSolution(); + Resource resourceNet2 = serviceDecompositionExp.getServiceResource("testResourceIdNet2"); + HomingSolution resourceNetHoming2 = resourceNet2.getHomingSolution(); + + String resourceARHomingString = resourceARHoming.toString(); + resourceARHomingString = resourceARHomingString.replaceAll("\\s+", " "); + String resourceARHoming2String = resourceARHoming2.toString(); + resourceARHoming2String = resourceARHoming2String.replaceAll("\\s+", " "); + String resourceVNFHomingString = resourceVNFHoming.toString(); + resourceVNFHomingString = resourceVNFHomingString.replaceAll("\\s+", " "); + String resourceNetHomingString = resourceNetHoming.toString(); + resourceNetHomingString = resourceNetHomingString.replaceAll("\\s+", " "); + String resourceNetHoming2String = resourceNetHoming2.toString(); + resourceNetHoming2String = resourceNetHoming2String.replaceAll("\\s+", " "); + expectedSniroRequest = expectedSniroRequest.replaceAll("\\s+", ""); + + assertNull(workflowException); + assertEquals(homingSolutionService("service", "testSIID1", "MDTNJ01", "aic", "dfwtx", "KDTNJ01", "3.0", "\"f1d563e8-e714-4393-8f99-cc480144a05e\", \"j1d563e8-e714-4393-8f99-cc480144a05e\"", "\"s1d563e8-e714-4393-8f99-cc480144a05e\", \"b1d563e8-e714-4393-8f99-cc480144a05e\""), resourceARHomingString); + assertEquals(homingSolutionService("service", "testSIID2", "testVnfHostname2", "aic", "testCloudRegionId2", "testAicClli2", "3.0", null, null), resourceARHoming2String); + assertEquals(homingSolutionCloud("cloud", "", "", "aic", "testCloudRegionId3", "testAicClli3", "3.0", "\"91d563e8-e714-4393-8f99-cc480144a05e\", \"21d563e8-e714-4393-8f99-cc480144a05e\"", "\"31d563e8-e714-4393-8f99-cc480144a05e\", \"71d563e8-e714-4393-8f99-cc480144a05e\""), resourceVNFHomingString); + assertEquals(homingSolutionService("service", "testServiceInstanceIdNet", "testVnfHostNameNet", "aic", "testCloudRegionIdNet", "testAicClliNet", "3.0", null, null), resourceNetHomingString); + assertEquals(homingSolutionCloud("cloud", "", "", "aic", "testCloudRegionIdNet2", "testAicClliNet2", "3.0", "\"f1d563e8-e714-4393-8f99-cc480144a05n\", \"j1d563e8-e714-4393-8f99-cc480144a05n\"", "\"s1d563e8-e714-4393-8f99-cc480144a05n\", \"b1d563e8-e714-4393-8f99-cc480144a05n\""), resourceNetHoming2String); + assertEquals(verifySniroRequest(), expectedSniroRequest); + } + + @Test + @Deployment(resources = {"subprocess/BuildingBlock/Homing.bpmn", "subprocess/BuildingBlock/DecomposeService.bpmn", "subprocess/ReceiveWorkflowMessage.bpmn"}) + public void testHoming_success_vnfResourceList() throws Exception { + + // Create a Service Decomposition //System.out.println("At start of testHoming_success_vnfResourceList"); - MockGetServiceResourcesCatalogDataByModelUuid("2f7f309d-c842-4644-a2e4-34167be5eeb4", "/BuildingBlocks/catalogResp.json"); - //MockGetServiceResourcesCatalogData("1cc4e2e4-eb6e-404d-a66f-c8733cedcce8", "5.0", "/BuildingBlocks/catalogResp.json"); - String busKey = UUID.randomUUID().toString(); - Map vars = new HashMap<>(); - setVariablesForServiceDecomposition(vars, "testRequestId123", "ff5256d2-5a33-55df-13ab-12abad84e7ff"); - invokeSubProcess("DecomposeService", busKey, vars); - - ServiceDecomposition sd = (ServiceDecomposition) getVariableFromHistory(busKey, "serviceDecomposition"); + MockGetServiceResourcesCatalogDataByModelUuid("2f7f309d-c842-4644-a2e4-34167be5eeb4", "/BuildingBlocks/catalogResp.json"); + //MockGetServiceResourcesCatalogData("1cc4e2e4-eb6e-404d-a66f-c8733cedcce8", "5.0", "/BuildingBlocks/catalogResp.json"); + String busKey = UUID.randomUUID().toString(); + Map vars = new HashMap<>(); + setVariablesForServiceDecomposition(vars, "testRequestId123", "ff5256d2-5a33-55df-13ab-12abad84e7ff"); + invokeSubProcess("DecomposeService", busKey, vars); + + ServiceDecomposition sd = (ServiceDecomposition) getVariableFromHistory(busKey, "serviceDecomposition"); //System.out.println("In testHoming_success_vnfResourceList, ServiceDecomposition = " + sd); - List vnfResourceList = sd.getServiceVnfs(); + List vnfResourceList = sd.getServiceVnfs(); //System.out.println(" vnfResourceList = " + vnfResourceList); - vnfResourceList.get(0).setResourceId("test-resource-id-000"); + vnfResourceList.get(0).setResourceId("test-resource-id-000"); + + // Invoke Homing + + mockSNIRO(); - // Invoke Homing + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + variables.put("isDebugLogEnabled", "true"); + variables.put("msoRequestId", "testRequestId"); + variables.put("serviceInstanceId", "testServiceInstanceId"); + variables.put("serviceDecomposition", sd); + variables.put("subscriberInfo", subscriber2); + + invokeSubProcess("Homing", businessKey, variables); + injectWorkflowMessages(callbacks, "sniro3"); + waitForProcessEnd(businessKey, 10000); - mockSNIRO(); + //Get Variables + + WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); + ServiceDecomposition serviceDecompositionExp = (ServiceDecomposition) getVariableFromHistory(businessKey, "serviceDecomposition"); - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - variables.put("isDebugLogEnabled", "true"); - variables.put("msoRequestId", "testRequestId"); - variables.put("serviceInstanceId", "testServiceInstanceId"); - variables.put("serviceDecomposition", sd); - variables.put("subscriberInfo", subscriber2); + Resource resourceVnf = serviceDecompositionExp.getServiceResource("test-resource-id-000"); + HomingSolution resourceVnfHoming = resourceVnf.getHomingSolution(); - invokeSubProcess("Homing", businessKey, variables); - injectWorkflowMessages(callbacks, "sniro3"); - waitForProcessEnd(businessKey, 10000); + String resourceVnfHomingString = resourceVnfHoming.toString(); + resourceVnfHomingString = resourceVnfHomingString.replaceAll("\\s+", " "); - //Get Variables + assertNull(workflowException); - WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); - ServiceDecomposition serviceDecompositionExp = (ServiceDecomposition) getVariableFromHistory(businessKey, "serviceDecomposition"); + //Verify request + String sniroRequest = (String) getVariableFromHistory(businessKey, "sniroRequest"); + assertEquals(FileUtil.readResourceFile("__files/BuildingBlocks/sniroRequest_infravnf").replaceAll("\n", "").replaceAll("\r", "").replaceAll("\t", ""), sniroRequest.replaceAll("\n", "").replaceAll("\r", "").replaceAll("\t", "")); + + assertEquals(homingSolutionService("service", "service-instance-01234", "MDTNJ01", "att-aic", "mtmnj1a", "KDTNJ01", "3.0", "\"f1d563e8-e714-4393-8f99-cc480144a05e\", \"j1d563e8-e714-4393-8f99-cc480144a05e\"", "\"s1d563e8-e714-4393-8f99-cc480144a05e\", \"b1d563e8-e714-4393-8f99-cc480144a05e\""), resourceVnfHomingString); + } - Resource resourceVnf = serviceDecompositionExp.getServiceResource("test-resource-id-000"); - HomingSolution resourceVnfHoming = resourceVnf.getHomingSolution(); + @Test + @Deployment(resources = {"subprocess/BuildingBlock/Homing.bpmn", "subprocess/ReceiveWorkflowMessage.bpmn"}) + public void testHoming_error_inputVariable() throws Exception { - String resourceVnfHomingString = resourceVnfHoming.toString(); - resourceVnfHomingString = resourceVnfHomingString.replaceAll("\\s+", " "); + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariables3(variables); - assertNull(workflowException); + invokeSubProcess("Homing", businessKey, variables); - //Verify request - String sniroRequest = (String) getVariableFromHistory(businessKey, "sniroRequest"); - assertEquals(FileUtil.readResourceFile("__files/BuildingBlocks/sniroRequest_infravnf").replaceAll("\n", "").replaceAll("\r", "").replaceAll("\t", ""), sniroRequest.replaceAll("\n", "").replaceAll("\r", "").replaceAll("\t", "")); + waitForProcessEnd(businessKey, 10000); - assertEquals(homingSolutionService("service", "service-instance-01234", "MDTNJ01", "att-aic", "mtmnj1a", "KDTNJ01", "3.0", "\"f1d563e8-e714-4393-8f99-cc480144a05e\", \"j1d563e8-e714-4393-8f99-cc480144a05e\"", "\"s1d563e8-e714-4393-8f99-cc480144a05e\", \"b1d563e8-e714-4393-8f99-cc480144a05e\""), resourceVnfHomingString); - } + //Get Variables + WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); - @Test - @Deployment(resources = {"subprocess/BuildingBlock/Homing.bpmn", "subprocess/ReceiveWorkflowMessage.bpmn"}) - public void testHoming_error_inputVariable() throws Exception { + assertEquals("WorkflowException[processKey=Homing,errorCode=4000,errorMessage=A required input variable is missing or null]", workflowException.toString()); + } - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - setVariables3(variables); + @Test + @Deployment(resources = {"subprocess/BuildingBlock/Homing.bpmn", "subprocess/ReceiveWorkflowMessage.bpmn"}) + public void testHoming_error_badResponse() throws Exception { + mockSNIRO_500(); - invokeSubProcess("Homing", businessKey, variables); + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariables(variables); - waitForProcessEnd(businessKey, 10000); + invokeSubProcess("Homing", businessKey, variables); - //Get Variables - WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); + waitForProcessEnd(businessKey, 10000); - assertEquals("WorkflowException[processKey=Homing,errorCode=4000,errorMessage=A required input variable is missing or null]", workflowException.toString()); - } + //Get Variables + WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); - @Test - @Deployment(resources = {"subprocess/BuildingBlock/Homing.bpmn", "subprocess/ReceiveWorkflowMessage.bpmn"}) - public void testHoming_error_badResponse() throws Exception { - mockSNIRO_500(); + assertEquals("WorkflowException[processKey=Homing,errorCode=500,errorMessage=Received a Bad Sync Response from Sniro.]", workflowException.toString()); + } - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - setVariables(variables); + @Test + @Deployment(resources = {"subprocess/BuildingBlock/Homing.bpmn", "subprocess/ReceiveWorkflowMessage.bpmn"}) + public void testHoming_error_sniroNoSolution() throws Exception { + mockSNIRO(); - invokeSubProcess("Homing", businessKey, variables); + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariables(variables); + + invokeSubProcess("Homing", businessKey, variables); + + injectWorkflowMessages(callbacks, "sniroNoSol"); + + waitForProcessEnd(businessKey, 10000); - waitForProcessEnd(businessKey, 10000); - - //Get Variables - WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); - - assertEquals("WorkflowException[processKey=Homing,errorCode=500,errorMessage=Received a Bad Sync Response from Sniro.]", workflowException.toString()); - } - - @Test - @Deployment(resources = {"subprocess/BuildingBlock/Homing.bpmn", "subprocess/ReceiveWorkflowMessage.bpmn"}) - public void testHoming_error_sniroNoSolution() throws Exception { - mockSNIRO(); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - setVariables(variables); - - invokeSubProcess("Homing", businessKey, variables); - - injectWorkflowMessages(callbacks, "sniroNoSol"); - - waitForProcessEnd(businessKey, 10000); - - //Get Variables - WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); - - assertEquals("WorkflowException[processKey=Homing,errorCode=400,errorMessage=No solution found for plan 08e1b8cf-144a-4bac-b293-d5e2eedc97e8]", workflowException.toString()); - } - - @Test - @Deployment(resources = {"subprocess/BuildingBlock/Homing.bpmn", "subprocess/ReceiveWorkflowMessage.bpmn"}) - public void testHoming_error_sniroPolicyException() throws Exception { - mockSNIRO(); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - setVariables(variables); - - invokeSubProcess("Homing", businessKey, variables); - - injectWorkflowMessages(callbacks, "sniroPolicyEx"); - - waitForProcessEnd(businessKey, 10000); - - //Get Variables - WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); - - assertEquals("WorkflowException[processKey=Homing,errorCode=400,errorMessage=Sniro Async Callback Response contains a Request Error Policy Exception: Message content size exceeds the allowable limit]", workflowException.toString()); - } - - @Test - @Deployment(resources = {"subprocess/BuildingBlock/Homing.bpmn", "subprocess/ReceiveWorkflowMessage.bpmn"}) - public void testHoming_error_sniroServiceException() throws Exception { - mockSNIRO(); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - setVariables(variables); - - invokeSubProcess("Homing", businessKey, variables); - - injectWorkflowMessages(callbacks, "sniroServiceEx"); - - waitForProcessEnd(businessKey, 10000); - - //Get Variables - WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); - - assertEquals("WorkflowException[processKey=Homing,errorCode=400,errorMessage=Sniro Async Callback Response contains a Request Error Service Exception: SNIROPlacementError: requests.exceptions.HTTPError: 404 Client Error: Not Found for url: http://135.21.171.200:8091/v1/plans/97b4e303-5f75-492c-8fb2-21098281c8b8]", workflowException.toString()); - } - - - private void setVariables(Map variables) { - variables.put("isDebugLogEnabled", "true"); - // variables.put("mso-request-id", "testRequestId"); - variables.put("msoRequestId", "testRequestId"); - variables.put("serviceInstanceId", "testServiceInstanceId"); - variables.put("serviceDecomposition", serviceDecomposition); - variables.put("subscriberInfo", subscriber2); - - } - - private void setVariables2(Map variables) { - List netList = new ArrayList(); - NetworkResource net = new NetworkResource(); - net.setResourceId("testResourceIdNet"); - ModelInfo netModel = new ModelInfo(); - netModel.setModelCustomizationUuid("testModelCustomizationUuidNet"); - netModel.setModelInvariantUuid("testModelInvariantIdNet"); - netModel.setModelName("testModelNameNet"); - netModel.setModelVersion("testModelVersionNet"); - net.setModelInfo(netModel); - netList.add(net); - NetworkResource net2 = new NetworkResource(); - net2.setResourceId("testResourceIdNet2"); - ModelInfo netModel2 = new ModelInfo(); - netModel2.setModelCustomizationUuid("testModelCustomizationUuidNet2"); - netModel2.setModelInvariantUuid("testModelInvariantIdNet2"); - netModel2.setModelName("testModelNameNet2"); - netModel2.setModelVersion("testModelVersionNet2"); - net2.setModelInfo(netModel2); - netList.add(net2); - serviceDecomposition.setServiceNetworks(netList); - - variables.put("isDebugLogEnabled", "true"); - variables.put("msoRequestId", "testRequestId"); - variables.put("serviceInstanceId", "testServiceInstanceId"); - variables.put("serviceDecomposition", serviceDecomposition); - variables.put("subscriberInfo", subscriber2); - } - - private void setVariables3(Map variables) { - variables.put("isDebugLogEnabled", "true"); - // variables.put("mso-request-id", "testRequestId"); - variables.put("msoRequestId", "testRequestId"); - variables.put("serviceInstanceId", "testServiceInstanceId"); - variables.put("serviceDecomposition", null); - variables.put("subscriberInfo", subscriber2); - - } - - private String homingSolutionService(String type, String serviceInstanceId, String vnfHostname, String cloudOwner, String cloudRegionId, String aicClli, String aicVersion, String enList, String licenseList) { - String solution = ""; - if (enList == null) { - solution = "{ \"homingSolution\" : { \"inventoryType\" : \"" + type + "\", \"serviceInstanceId\" : \"" + serviceInstanceId + "\", \"vnfHostname\" : \"" + vnfHostname + "\", \"cloudOwner\" : \"" + cloudOwner + "\", \"cloudRegionId\" : \"" + cloudRegionId + "\", \"aicClli\" : \"" + aicClli + "\", \"aicVersion\" : \"" + aicVersion + "\" } }"; - } else { - solution = "{ \"homingSolution\" : { \"inventoryType\" : \"" + type + "\", \"serviceInstanceId\" : \"" + serviceInstanceId + "\", \"vnfHostname\" : \"" + vnfHostname + "\", \"cloudOwner\" : \"" + cloudOwner + "\", \"cloudRegionId\" : \"" + cloudRegionId + "\", \"aicClli\" : \"" + aicClli + "\", \"aicVersion\" : \"" + aicVersion + "\", \"entitlementPoolList\" : [ " + enList + " ], \"licenseKeyGroupList\" : [ " + licenseList + " ] } }"; - } - return solution; - } - - private String homingSolutionCloud(String type, String serviceInstanceId, String vnfHostname, String cloudOwner, String cloudRegionId, String aicClli, String aicVersion, String enList, String licenseList) { - String solution = ""; - if (enList == null) { - solution = "{ \"homingSolution\" : { \"inventoryType\" : \"" + type + "\", \"cloudOwner\" : \"" + cloudOwner + "\", \"cloudRegionId\" : \"" + cloudRegionId + "\", \"aicClli\" : \"" + aicClli + "\", \"aicVersion\" : \"" + aicVersion + "\" } }"; - } else { - solution = "{ \"homingSolution\" : { \"inventoryType\" : \"" + type + "\", \"cloudOwner\" : \"" + cloudOwner + "\", \"cloudRegionId\" : \"" + cloudRegionId + "\", \"aicClli\" : \"" + aicClli + "\", \"aicVersion\" : \"" + aicVersion + "\", \"entitlementPoolList\" : [ " + enList + " ], \"licenseKeyGroupList\" : [ " + licenseList + " ] } }"; - } - return solution; - } - - private void setVariablesForServiceDecomposition(Map variables, String requestId, String siId) { - variables.put("isDebugLogEnabled", "true"); - variables.put("mso-request-id", requestId); - variables.put("msoRequestId", requestId); - variables.put("serviceInstanceId", siId); - - String serviceModelInfo = "{ " + "\"modelType\": \"service\"," + - "\"modelInvariantUuid\": \"1cc4e2e4-eb6e-404d-a66f-c8733cedcce8\"," + - "\"modelUuid\": \"2f7f309d-c842-4644-a2e4-34167be5eeb4\"," + - "\"modelName\": \"ADIOD vRouter vCE 011017 Service\"," + - "\"modelVersion\": \"5.0\"," + - "}"; - variables.put("serviceModelInfo", serviceModelInfo); - } - - private String verifySniroRequest() { - String request = "{\"requestInfo\":{\"transactionId\":\"testRequestId\",\"requestId\":\"testRequestId\",\"callbackUrl\":\"http://localhost:28090/workflows/messages/message/SNIROResponse/testRequestId\",\"sourceId\":\"mso\",\"optimizer\":[\"placement\",\"license\"],\"numSolutions\":1,\"timeout\":600},\"placementInfo\":{\"serviceModelInfo\":{\"modelType\":\"\",\"modelInvariantId\":\"testModelInvariantId\",\"modelVersionId\":\"testModelUuid\",\"modelName\":\"testModelName\",\"modelVersion\":\"testModelVersion\"},\"subscriberInfo\":{\"globalSubscriberId\":\"SUB12_0322_DS_1201\",\"subscriberName\":\"SUB_12_0322_DS_1201\",\"subscriberCommonSiteId\":\"\"},\"demandInfo\":{\"placementDemand\":[{\"resourceInstanceType\":\"ALLOTTED_RESOURCE\",\"serviceResourceId\":\"testResourceIdAR\",\"resourceModuleName\":\"\",\"resourceModelInfo\":{\"modelCustomizationId\":\"testModelCustomizationUuidAR\",\"modelInvariantId\":\"testModelInvariantIdAR\",\"modelName\":\"testModelNameAR\",\"modelVersion\":\"testModelVersionAR\",\"modelVersionId\":\"testARModelUuid\",\"modelType\":\"testModelTypeAR\"},\"tenantId\":\"\",\"tenantName\":\"\"},{\"resourceInstanceType\":\"ALLOTTED_RESOURCE\",\"serviceResourceId\":\"testResourceIdAR2\",\"resourceModuleName\":\"\",\"resourceModelInfo\":{\"modelCustomizationId\":\"testModelCustomizationUuidAR2\",\"modelInvariantId\":\"testModelInvariantIdAR2\",\"modelName\":\"testModelNameAR2\",\"modelVersion\":\"testModelVersionAR2\",\"modelVersionId\":\"testAr2ModelUuid\",\"modelType\":\"testModelTypeAR2\"},\"tenantId\":\"\",\"tenantName\":\"\"}],\"licenseDemand\":[{\"resourceInstanceType\":\"VNF\",\"serviceResourceId\":\"testResourceIdVNF\",\"resourceModuleName\":\"\",\"resourceModelInfo\":{\"modelCustomizationId\":\"testModelCustomizationUuidVNF\",\"modelInvariantId\":\"testModelInvariantIdVNF\",\"modelName\":\"testModelNameVNF\",\"modelVersion\":\"testModelVersionVNF\",\"modelVersionId\":\"testVnfModelUuid\",\"modelType\":\"testModelTypeVNF\"}}]},\"policyId\":[],\"serviceInstanceId\":\"testServiceInstanceId123\",\"orderInfo\":\"{\\\"requestParameters\\\":null}\"}}"; - return request; - } + //Get Variables + WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); + + assertEquals("WorkflowException[processKey=Homing,errorCode=400,errorMessage=No solution found for plan 08e1b8cf-144a-4bac-b293-d5e2eedc97e8]", workflowException.toString()); + } + + @Test + @Deployment(resources = {"subprocess/BuildingBlock/Homing.bpmn", "subprocess/ReceiveWorkflowMessage.bpmn"}) + public void testHoming_error_sniroPolicyException() throws Exception { + mockSNIRO(); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariables(variables); + + invokeSubProcess("Homing", businessKey, variables); + + injectWorkflowMessages(callbacks, "sniroPolicyEx"); + + waitForProcessEnd(businessKey, 10000); + + //Get Variables + WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); + + assertEquals("WorkflowException[processKey=Homing,errorCode=400,errorMessage=Sniro Async Callback Response contains a Request Error Policy Exception: Message content size exceeds the allowable limit]", workflowException.toString()); + } + + @Test + @Deployment(resources = {"subprocess/BuildingBlock/Homing.bpmn", "subprocess/ReceiveWorkflowMessage.bpmn"}) + public void testHoming_error_sniroServiceException() throws Exception { + mockSNIRO(); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariables(variables); + + invokeSubProcess("Homing", businessKey, variables); + + injectWorkflowMessages(callbacks, "sniroServiceEx"); + + waitForProcessEnd(businessKey, 10000); + + //Get Variables + WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); + + assertEquals("WorkflowException[processKey=Homing,errorCode=400,errorMessage=Sniro Async Callback Response contains a Request Error Service Exception: SNIROPlacementError: requests.exceptions.HTTPError: 404 Client Error: Not Found for url: http://135.21.171.200:8091/v1/plans/97b4e303-5f75-492c-8fb2-21098281c8b8]", workflowException.toString()); + } + + + + private void setVariables(Map variables) { + variables.put("isDebugLogEnabled", "true"); + // variables.put("mso-request-id", "testRequestId"); + variables.put("msoRequestId", "testRequestId"); + variables.put("serviceInstanceId", "testServiceInstanceId"); + variables.put("serviceDecomposition", serviceDecomposition); + variables.put("subscriberInfo", subscriber2); + + } + + private void setVariables2(Map variables) { + List netList = new ArrayList(); + NetworkResource net = new NetworkResource(); + net.setResourceId("testResourceIdNet"); + ModelInfo netModel = new ModelInfo(); + netModel.setModelCustomizationUuid("testModelCustomizationUuidNet"); + netModel.setModelInvariantUuid("testModelInvariantIdNet"); + netModel.setModelName("testModelNameNet"); + netModel.setModelVersion("testModelVersionNet"); + net.setModelInfo(netModel); + netList.add(net); + NetworkResource net2 = new NetworkResource(); + net2.setResourceId("testResourceIdNet2"); + ModelInfo netModel2 = new ModelInfo(); + netModel2.setModelCustomizationUuid("testModelCustomizationUuidNet2"); + netModel2.setModelInvariantUuid("testModelInvariantIdNet2"); + netModel2.setModelName("testModelNameNet2"); + netModel2.setModelVersion("testModelVersionNet2"); + net2.setModelInfo(netModel2); + netList.add(net2); + serviceDecomposition.setServiceNetworks(netList); + + variables.put("isDebugLogEnabled", "true"); + variables.put("msoRequestId", "testRequestId"); + variables.put("serviceInstanceId", "testServiceInstanceId"); + variables.put("serviceDecomposition", serviceDecomposition); + variables.put("subscriberInfo", subscriber2); + } + + private void setVariables3(Map variables) { + variables.put("isDebugLogEnabled", "true"); + // variables.put("mso-request-id", "testRequestId"); + variables.put("msoRequestId", "testRequestId"); + variables.put("serviceInstanceId", "testServiceInstanceId"); + variables.put("serviceDecomposition", null); + variables.put("subscriberInfo", subscriber2); + + } + + private String homingSolutionService(String type, String serviceInstanceId, String vnfHostname, String cloudOwner, String cloudRegionId, String aicClli, String aicVersion, String enList, String licenseList){ + String solution = ""; + if(enList == null){ + solution = "{ \"homingSolution\" : { \"inventoryType\" : \"" + type + "\", \"serviceInstanceId\" : \"" + serviceInstanceId + "\", \"vnfHostname\" : \"" + vnfHostname + "\", \"cloudOwner\" : \"" + cloudOwner + "\", \"cloudRegionId\" : \"" + cloudRegionId + "\", \"aicClli\" : \"" + aicClli + "\", \"aicVersion\" : \"" + aicVersion + "\" } }"; + }else{ + solution = "{ \"homingSolution\" : { \"inventoryType\" : \"" + type + "\", \"serviceInstanceId\" : \"" + serviceInstanceId + "\", \"vnfHostname\" : \"" + vnfHostname + "\", \"cloudOwner\" : \"" + cloudOwner + "\", \"cloudRegionId\" : \"" + cloudRegionId + "\", \"aicClli\" : \"" + aicClli + "\", \"aicVersion\" : \"" + aicVersion + "\", \"entitlementPoolList\" : [ " + enList + " ], \"licenseKeyGroupList\" : [ " + licenseList + " ] } }"; + } + return solution; + } + + private String homingSolutionCloud(String type, String serviceInstanceId, String vnfHostname, String cloudOwner, String cloudRegionId, String aicClli, String aicVersion, String enList, String licenseList){ + String solution = ""; + if(enList == null){ + solution = "{ \"homingSolution\" : { \"inventoryType\" : \"" + type + "\", \"cloudOwner\" : \"" + cloudOwner + "\", \"cloudRegionId\" : \"" + cloudRegionId + "\", \"aicClli\" : \"" + aicClli + "\", \"aicVersion\" : \"" + aicVersion + "\" } }"; + }else{ + solution = "{ \"homingSolution\" : { \"inventoryType\" : \"" + type + "\", \"cloudOwner\" : \"" + cloudOwner + "\", \"cloudRegionId\" : \"" + cloudRegionId + "\", \"aicClli\" : \"" + aicClli + "\", \"aicVersion\" : \"" + aicVersion + "\", \"entitlementPoolList\" : [ " + enList + " ], \"licenseKeyGroupList\" : [ " + licenseList + " ] } }"; + } + return solution; + } + + private void setVariablesForServiceDecomposition(Map variables, String requestId, String siId) { + variables.put("isDebugLogEnabled", "true"); + variables.put("mso-request-id", requestId); + variables.put("msoRequestId", requestId); + variables.put("serviceInstanceId",siId); + + String serviceModelInfo = "{ "+ "\"modelType\": \"service\"," + + "\"modelInvariantUuid\": \"1cc4e2e4-eb6e-404d-a66f-c8733cedcce8\"," + + "\"modelUuid\": \"2f7f309d-c842-4644-a2e4-34167be5eeb4\"," + + "\"modelName\": \"ADIOD vRouter vCE 011017 Service\"," + + "\"modelVersion\": \"5.0\"," + + "}"; + variables.put("serviceModelInfo", serviceModelInfo); + } + + private String verifySniroRequest(){ + String request = "{\"requestInfo\":{\"transactionId\":\"testRequestId\",\"requestId\":\"testRequestId\",\"callbackUrl\":\"http://localhost:28090/workflows/messages/message/SNIROResponse/testRequestId\",\"sourceId\":\"mso\",\"optimizer\":[\"placement\",\"license\"],\"numSolutions\":1,\"timeout\":600},\"placementInfo\":{\"serviceModelInfo\":{\"modelType\":\"\",\"modelInvariantId\":\"testModelInvariantId\",\"modelVersionId\":\"testModelUuid\",\"modelName\":\"testModelName\",\"modelVersion\":\"testModelVersion\"},\"subscriberInfo\":{\"globalSubscriberId\":\"SUB12_0322_DS_1201\",\"subscriberName\":\"SUB_12_0322_DS_1201\",\"subscriberCommonSiteId\":\"\"},\"demandInfo\":{\"placementDemand\":[{\"resourceInstanceType\":\"ALLOTTED_RESOURCE\",\"serviceResourceId\":\"testResourceIdAR\",\"resourceModuleName\":\"\",\"resourceModelInfo\":{\"modelCustomizationId\":\"testModelCustomizationUuidAR\",\"modelInvariantId\":\"testModelInvariantIdAR\",\"modelName\":\"testModelNameAR\",\"modelVersion\":\"testModelVersionAR\",\"modelVersionId\":\"testARModelUuid\",\"modelType\":\"testModelTypeAR\"},\"tenantId\":\"\",\"tenantName\":\"\"},{\"resourceInstanceType\":\"ALLOTTED_RESOURCE\",\"serviceResourceId\":\"testResourceIdAR2\",\"resourceModuleName\":\"\",\"resourceModelInfo\":{\"modelCustomizationId\":\"testModelCustomizationUuidAR2\",\"modelInvariantId\":\"testModelInvariantIdAR2\",\"modelName\":\"testModelNameAR2\",\"modelVersion\":\"testModelVersionAR2\",\"modelVersionId\":\"testAr2ModelUuid\",\"modelType\":\"testModelTypeAR2\"},\"tenantId\":\"\",\"tenantName\":\"\"}],\"licenseDemand\":[{\"resourceInstanceType\":\"VNF\",\"serviceResourceId\":\"testResourceIdVNF\",\"resourceModuleName\":\"\",\"resourceModelInfo\":{\"modelCustomizationId\":\"testModelCustomizationUuidVNF\",\"modelInvariantId\":\"testModelInvariantIdVNF\",\"modelName\":\"testModelNameVNF\",\"modelVersion\":\"testModelVersionVNF\",\"modelVersionId\":\"testVnfModelUuid\",\"modelType\":\"testModelTypeVNF\"}}]},\"policyId\":[],\"serviceInstanceId\":\"testServiceInstanceId123\",\"orderInfo\":\"{\\\"requestParameters\\\":null}\"}}"; + return request; + } } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/ManualHandlingTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/ManualHandlingTest.java index 5d4d4b5f36..a7c2d19aa0 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/ManualHandlingTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/ManualHandlingTest.java @@ -16,7 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.common; @@ -59,63 +59,64 @@ import org.openecomp.mso.bpmn.core.WorkflowException; * Unit test for RainyDayHandler.bpmn. */ public class ManualHandlingTest extends WorkflowTest { - - @Test - @Deployment(resources = { - "subprocess/BuildingBlock/ManualHandling.bpmn" - }) - public void TestManualHandlingSuccess() { - - RuntimeService runtimeService = processEngineRule.getRuntimeService(); - Map variables = new HashMap<>(); - variables.put("isDebugLogEnabled", "true"); - variables.put("msoRequestId", "testRequestId"); - variables.put("serviceType", "X"); - variables.put("vnfType", "Y"); - variables.put("currentActivity", "BB1"); - variables.put("workStep", "1"); - variables.put("failedActivity", ""); - variables.put("errorCode", "123"); - variables.put("errorText", "update failed"); - variables.put("validResponses", "Rollback"); - - - String businessKey = UUID.randomUUID().toString(); - invokeSubProcess("ManualHandling", businessKey, variables); - - try { - Thread.sleep(5); - } catch (Exception e) { - - } - - TaskService taskService = processEngineRule.getTaskService(); - - TaskQuery q = taskService.createTaskQuery(); - - List tasks = q.orderByTaskCreateTime().asc().list(); - int i = 0; - - for (Task task : tasks) { - - - System.out.println("TASK ID: " + task.getId()); - System.out.println("TASK NAME: " + task.getName()); - try { - System.out.println("Completing the task"); - Map completeVariables = new HashMap<>(); - completeVariables.put("responseValue", "skip"); - taskService.complete(task.getId(), completeVariables); - } catch (Exception e) { - System.out.println("GOT EXCEPTION: " + e.getMessage()); - } - } - - waitForProcessEnd(businessKey, 100000); - - Assert.assertTrue(isProcessEnded(businessKey)); - - } - - + + @Test + @Deployment(resources = { + "subprocess/BuildingBlock/ManualHandling.bpmn" + }) + public void TestManualHandlingSuccess() { + + RuntimeService runtimeService = processEngineRule.getRuntimeService(); + Map variables = new HashMap<>(); + variables.put("isDebugLogEnabled","true"); + variables.put("msoRequestId", "testRequestId"); + variables.put("serviceType", "X"); + variables.put("vnfType", "Y"); + variables.put("currentActivity", "BB1"); + variables.put("workStep", "1"); + variables.put("failedActivity", ""); + variables.put("errorCode", "123"); + variables.put("errorText", "update failed"); + variables.put("validResponses", "Rollback"); + + + String businessKey = UUID.randomUUID().toString(); + invokeSubProcess("ManualHandling", businessKey, variables); + + try { + Thread.sleep(5); + } catch (Exception e) { + + } + + TaskService taskService = processEngineRule.getTaskService(); + + TaskQuery q = taskService.createTaskQuery(); + + List tasks = q.orderByTaskCreateTime().asc().list(); + int i = 0; + + for (Task task : tasks) { + + + System.out.println("TASK ID: " + task.getId()); + System.out.println("TASK NAME: " + task.getName()); + try { + System.out.println("Completing the task"); + Map completeVariables = new HashMap<>(); + completeVariables.put("responseValue", "skip"); + taskService.complete(task.getId(), completeVariables); + } + catch(Exception e) { + System.out.println("GOT EXCEPTION: " + e.getMessage()); + } + } + + waitForProcessEnd(businessKey, 100000); + + Assert.assertTrue(isProcessEnded(businessKey)); + + } + + } \ No newline at end of file diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/PrepareUpdateAAIVfModuleTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/PrepareUpdateAAIVfModuleTest.java index 7416a5e3f0..be74770e98 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/PrepareUpdateAAIVfModuleTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/PrepareUpdateAAIVfModuleTest.java @@ -16,7 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.common; @@ -41,172 +41,172 @@ import org.openecomp.mso.bpmn.mock.FileUtil; * Unit tests for PrepareUpdateAAIVfModule.bpmn. */ public class PrepareUpdateAAIVfModuleTest extends WorkflowTest { - - /** - * Test the happy path through the flow. - */ - @Test - @Deployment(resources = { - "subprocess/PrepareUpdateAAIVfModule.bpmn" - }) - public void happyPath() throws IOException { - - logStart(); - - String prepareUpdateAAIVfModuleRequest = FileUtil.readResourceFile("__files/VfModularity/PrepareUpdateAAIVfModuleRequest.xml"); - - MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml"); - MockPutGenericVnf("/skask/vf-modules/vf-module/supercool", "PCRF", 200); - MockPatchVfModuleId("skask", "supercool"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - variables.put("mso-request-id", "999-99-9999"); - variables.put("isDebugLogEnabled", "true"); - variables.put("PrepareUpdateAAIVfModuleRequest", prepareUpdateAAIVfModuleRequest); - invokeSubProcess("PrepareUpdateAAIVfModule", businessKey, variables); - - Assert.assertTrue(isProcessEnded(businessKey)); - String response = (String) getVariableFromHistory(businessKey, "PUAAIVfMod_updateVfModuleResponse"); - Integer responseCode = (Integer) getVariableFromHistory(businessKey, "PUAAIVfMod_updateVfModuleResponseCode"); - System.out.println("Subflow response code: " + responseCode); - System.out.println("Subflow response: " + response); - Assert.assertEquals(200, responseCode.intValue()); - String heatStackId = (String) getVariableFromHistory(businessKey, "PUAAIVfMod_heatStackId"); - System.out.println("Ouput heat-stack-id:" + heatStackId); - Assert.assertEquals("slowburn", heatStackId); - - logEnd(); - } - - /** - * Test the case where the GET to AAI returns a 404. - */ - @Test - @Deployment(resources = { - "subprocess/PrepareUpdateAAIVfModule.bpmn" - }) - public void badGet() throws IOException { - - logStart(); - - String prepareUpdateAAIVfModuleRequest = FileUtil.readResourceFile("__files/VfModularity/PrepareUpdateAAIVfModuleRequest.xml"); - MockGetGenericVnfById_404("skask[?]depth=1"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - variables.put("mso-request-id", "999-99-9999"); - variables.put("isDebugLogEnabled", "true"); - variables.put("PrepareUpdateAAIVfModuleRequest", prepareUpdateAAIVfModuleRequest); - invokeSubProcess("PrepareUpdateAAIVfModule", businessKey, variables); - - Assert.assertTrue(isProcessEnded(businessKey)); - String response = (String) getVariableFromHistory(businessKey, "PUAAIVfMod_getVnfResponse"); - Integer responseCode = (Integer) getVariableFromHistory(businessKey, "PUAAIVfMod_getVnfResponseCode"); - WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); - System.out.println("Subflow response code: " + responseCode); - System.out.println("Subflow response: " + response); - Assert.assertEquals(404, responseCode.intValue()); - Assert.assertNotNull(workflowException); - System.out.println("Subflow WorkflowException error message: " + workflowException.getErrorMessage()); - - logEnd(); - } - - /** - * Test the case where the validation of the VF Module fails. - */ - @Test - @Deployment(resources = { - "subprocess/PrepareUpdateAAIVfModule.bpmn" - }) - public void failValidation1() throws IOException { - - logStart(); - - String prepareUpdateAAIVfModuleRequest = FileUtil.readResourceFile("__files/VfModularity/PrepareUpdateAAIVfModuleRequest.xml").replaceFirst("supercool", "lukewarm"); - - MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - variables.put("mso-request-id", "999-99-9999"); - variables.put("isDebugLogEnabled", "true"); - variables.put("PrepareUpdateAAIVfModuleRequest", prepareUpdateAAIVfModuleRequest); - invokeSubProcess("PrepareUpdateAAIVfModule", businessKey, variables); - - WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); - Assert.assertNotNull(workflowException); - System.out.println("Subflow WorkflowException error message: " + workflowException.getErrorMessage()); - Assert.assertTrue(workflowException.getErrorMessage().startsWith("VF Module validation error: Orchestration")); - - logEnd(); - } - - /** - * Test the case where the validation of the VF Module fails. - */ - @Test - @Deployment(resources = { - "subprocess/PrepareUpdateAAIVfModule.bpmn" - }) - public void failValidation2() throws IOException { - - logStart(); - - String prepareUpdateAAIVfModuleRequest = FileUtil.readResourceFile("__files/VfModularity/PrepareUpdateAAIVfModuleRequest.xml").replaceFirst("supercool", "notsocool"); - - MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - variables.put("mso-request-id", "999-99-9999"); - variables.put("isDebugLogEnabled", "true"); - variables.put("PrepareUpdateAAIVfModuleRequest", prepareUpdateAAIVfModuleRequest); - invokeSubProcess("PrepareUpdateAAIVfModule", businessKey, variables); - - WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); - Assert.assertNotNull(workflowException); - System.out.println("Subflow WorkflowException error message: " + workflowException.getErrorMessage()); - Assert.assertTrue(workflowException.getErrorMessage().startsWith("VF Module validation error: VF Module")); - - logEnd(); - } - - /** - * Test the case where the GET to AAI is successful, but the subsequent PUT returns 404. - */ - @Test - @Deployment(resources = { - "subprocess/PrepareUpdateAAIVfModule.bpmn" - }) - public void badPatch() throws IOException { - - logStart(); - - String prepareUpdateAAIVfModuleRequest = FileUtil.readResourceFile("__files/VfModularity/PrepareUpdateAAIVfModuleRequest.xml"); - - MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml"); - MockAAIVfModuleBadPatch("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/skask/vf-modules/vf-module/supercool", 404); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - variables.put("mso-request-id", "999-99-9999"); - variables.put("isDebugLogEnabled", "true"); - variables.put("PrepareUpdateAAIVfModuleRequest", prepareUpdateAAIVfModuleRequest); - invokeSubProcess("PrepareUpdateAAIVfModule", businessKey, variables); - - Assert.assertTrue(isProcessEnded(businessKey)); - String response = (String) getVariableFromHistory(businessKey, "PUAAIVfMod_updateVfModuleResponse"); - Integer responseCode = (Integer) getVariableFromHistory(businessKey, "PUAAIVfMod_updateVfModuleResponseCode"); - WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); - System.out.println("Subflow response code: " + responseCode); - System.out.println("Subflow response: " + response); - Assert.assertEquals(404, responseCode.intValue()); - Assert.assertNotNull(workflowException); - System.out.println("Subflow WorkflowException error message: " + workflowException.getErrorMessage()); - - logEnd(); - } + + /** + * Test the happy path through the flow. + */ + @Test + @Deployment(resources = { + "subprocess/PrepareUpdateAAIVfModule.bpmn" + }) + public void happyPath() throws IOException { + + logStart(); + + String prepareUpdateAAIVfModuleRequest = FileUtil.readResourceFile("__files/VfModularity/PrepareUpdateAAIVfModuleRequest.xml"); + + MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml"); + MockPutGenericVnf("/skask/vf-modules/vf-module/supercool", "PCRF", 200); + MockPatchVfModuleId("skask", "supercool"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + variables.put("mso-request-id", "999-99-9999"); + variables.put("isDebugLogEnabled","true"); + variables.put("PrepareUpdateAAIVfModuleRequest", prepareUpdateAAIVfModuleRequest); + invokeSubProcess("PrepareUpdateAAIVfModule", businessKey, variables); + + Assert.assertTrue(isProcessEnded(businessKey)); + String response = (String) getVariableFromHistory(businessKey, "PUAAIVfMod_updateVfModuleResponse"); + Integer responseCode = (Integer) getVariableFromHistory(businessKey, "PUAAIVfMod_updateVfModuleResponseCode"); + System.out.println("Subflow response code: " + responseCode); + System.out.println("Subflow response: " + response); + Assert.assertEquals(200, responseCode.intValue()); + String heatStackId = (String) getVariableFromHistory(businessKey, "PUAAIVfMod_heatStackId"); + System.out.println("Ouput heat-stack-id:" + heatStackId); + Assert.assertEquals("slowburn", heatStackId); + + logEnd(); + } + + /** + * Test the case where the GET to AAI returns a 404. + */ + @Test + @Deployment(resources = { + "subprocess/PrepareUpdateAAIVfModule.bpmn" + }) + public void badGet() throws IOException { + + logStart(); + + String prepareUpdateAAIVfModuleRequest = FileUtil.readResourceFile("__files/VfModularity/PrepareUpdateAAIVfModuleRequest.xml"); + MockGetGenericVnfById_404("skask[?]depth=1"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + variables.put("mso-request-id", "999-99-9999"); + variables.put("isDebugLogEnabled","true"); + variables.put("PrepareUpdateAAIVfModuleRequest", prepareUpdateAAIVfModuleRequest); + invokeSubProcess("PrepareUpdateAAIVfModule", businessKey, variables); + + Assert.assertTrue(isProcessEnded(businessKey)); + String response = (String) getVariableFromHistory(businessKey, "PUAAIVfMod_getVnfResponse"); + Integer responseCode = (Integer) getVariableFromHistory(businessKey, "PUAAIVfMod_getVnfResponseCode"); + WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); + System.out.println("Subflow response code: " + responseCode); + System.out.println("Subflow response: " + response); + Assert.assertEquals(404, responseCode.intValue()); + Assert.assertNotNull(workflowException); + System.out.println("Subflow WorkflowException error message: " + workflowException.getErrorMessage()); + + logEnd(); + } + + /** + * Test the case where the validation of the VF Module fails. + */ + @Test + @Deployment(resources = { + "subprocess/PrepareUpdateAAIVfModule.bpmn" + }) + public void failValidation1() throws IOException { + + logStart(); + + String prepareUpdateAAIVfModuleRequest = FileUtil.readResourceFile("__files/VfModularity/PrepareUpdateAAIVfModuleRequest.xml").replaceFirst("supercool", "lukewarm"); + + MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + variables.put("mso-request-id", "999-99-9999"); + variables.put("isDebugLogEnabled","true"); + variables.put("PrepareUpdateAAIVfModuleRequest", prepareUpdateAAIVfModuleRequest); + invokeSubProcess("PrepareUpdateAAIVfModule", businessKey, variables); + + WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); + Assert.assertNotNull(workflowException); + System.out.println("Subflow WorkflowException error message: " + workflowException.getErrorMessage()); + Assert.assertTrue(workflowException.getErrorMessage().startsWith("VF Module validation error: Orchestration")); + + logEnd(); + } + + /** + * Test the case where the validation of the VF Module fails. + */ + @Test + @Deployment(resources = { + "subprocess/PrepareUpdateAAIVfModule.bpmn" + }) + public void failValidation2() throws IOException { + + logStart(); + + String prepareUpdateAAIVfModuleRequest = FileUtil.readResourceFile("__files/VfModularity/PrepareUpdateAAIVfModuleRequest.xml").replaceFirst("supercool", "notsocool"); + + MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + variables.put("mso-request-id", "999-99-9999"); + variables.put("isDebugLogEnabled","true"); + variables.put("PrepareUpdateAAIVfModuleRequest", prepareUpdateAAIVfModuleRequest); + invokeSubProcess("PrepareUpdateAAIVfModule", businessKey, variables); + + WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); + Assert.assertNotNull(workflowException); + System.out.println("Subflow WorkflowException error message: " + workflowException.getErrorMessage()); + Assert.assertTrue(workflowException.getErrorMessage().startsWith("VF Module validation error: VF Module")); + + logEnd(); + } + + /** + * Test the case where the GET to AAI is successful, but the subsequent PUT returns 404. + */ + @Test + @Deployment(resources = { + "subprocess/PrepareUpdateAAIVfModule.bpmn" + }) + public void badPatch() throws IOException { + + logStart(); + + String prepareUpdateAAIVfModuleRequest = FileUtil.readResourceFile("__files/VfModularity/PrepareUpdateAAIVfModuleRequest.xml"); + + MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml"); + MockAAIVfModuleBadPatch("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/skask/vf-modules/vf-module/supercool", 404); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + variables.put("mso-request-id", "999-99-9999"); + variables.put("isDebugLogEnabled","true"); + variables.put("PrepareUpdateAAIVfModuleRequest", prepareUpdateAAIVfModuleRequest); + invokeSubProcess("PrepareUpdateAAIVfModule", businessKey, variables); + + Assert.assertTrue(isProcessEnded(businessKey)); + String response = (String) getVariableFromHistory(businessKey, "PUAAIVfMod_updateVfModuleResponse"); + Integer responseCode = (Integer) getVariableFromHistory(businessKey, "PUAAIVfMod_updateVfModuleResponseCode"); + WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); + System.out.println("Subflow response code: " + responseCode); + System.out.println("Subflow response: " + response); + Assert.assertEquals(404, responseCode.intValue()); + Assert.assertNotNull(workflowException); + System.out.println("Subflow WorkflowException error message: " + workflowException.getErrorMessage()); + + logEnd(); + } } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/RainyDayHandlerTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/RainyDayHandlerTest.java index 22be442841..65575ba861 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/RainyDayHandlerTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/RainyDayHandlerTest.java @@ -16,7 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.common; @@ -47,38 +47,39 @@ import org.openecomp.mso.bpmn.core.WorkflowException; * Unit test for RainyDayHandler.bpmn. */ public class RainyDayHandlerTest extends WorkflowTest { + + @Test + @Ignore // IGNORED FOR 1710 MERGE TO ONAP + @Deployment(resources = { + "subprocess/BuildingBlock/RainyDayHandler.bpmn", + "subprocess/BuildingBlock/ManualHandling.bpmn" + }) + public void TestRainyDayHandlingSuccess() { - @Test - @Ignore // IGNORED FOR 1710 MERGE TO ONAP - @Deployment(resources = { - "subprocess/BuildingBlock/RainyDayHandler.bpmn", - "subprocess/BuildingBlock/ManualHandling.bpmn" - }) - public void TestRainyDayHandlingSuccess() { - - RuntimeService runtimeService = processEngineRule.getRuntimeService(); - Map variables = new HashMap<>(); - variables.put("isDebugLogEnabled", "true"); - variables.put("msoRequestId", "testRequestId"); - variables.put("serviceType", "X"); - variables.put("vnfType", "Y"); - variables.put("currentActivity", "BB1"); - variables.put("workStep", "1"); - variables.put("failedActivity", ""); - variables.put("errorCode", "123"); - variables.put("errorText", "update failed"); - - MockPolicyAbort(); - - - String businessKey = UUID.randomUUID().toString(); - invokeSubProcess("RainyDayHandler", businessKey, variables); - - waitForProcessEnd(businessKey, 10000); - - Assert.assertTrue(isProcessEnded(businessKey)); + RuntimeService runtimeService = processEngineRule.getRuntimeService(); + Map variables = new HashMap<>(); + variables.put("isDebugLogEnabled","true"); + variables.put("msoRequestId", "testRequestId"); + variables.put("serviceType", "X"); + variables.put("vnfType", "Y"); + variables.put("currentActivity", "BB1"); + variables.put("workStep", "1"); + variables.put("failedActivity", ""); + variables.put("errorCode", "123"); + variables.put("errorText", "update failed"); + + MockPolicyAbort(); + + + String businessKey = UUID.randomUUID().toString(); + invokeSubProcess("RainyDayHandler", businessKey, variables); - } + waitForProcessEnd(businessKey, 10000); + Assert.assertTrue(isProcessEnded(businessKey)); + + } + + } \ No newline at end of file diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/ReceiveWorkflowMessageTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/ReceiveWorkflowMessageTest.java index 0a603b1210..a806515974 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/ReceiveWorkflowMessageTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/ReceiveWorkflowMessageTest.java @@ -42,101 +42,101 @@ import org.openecomp.mso.bpmn.core.WorkflowException; */ public class ReceiveWorkflowMessageTest extends WorkflowTest { - private static final String EOL = "\n"; - - private final CallbackSet callbacks = new CallbackSet(); - - public ReceiveWorkflowMessageTest() throws IOException { - callbacks.put("sdnc-event-success", JSON, "SDNCAEvent", - "{" + EOL + - " \"SDNCEvent\": {" + EOL + - " \"eventType\": \"UCPE-ACTIVATION\"," + EOL + - " \"eventCorrelatorType\": \"UCPE-HOST-NAME\"," + EOL + - " \"eventCorrelator\": \"((CORRELATOR))\"," + EOL + - " \"params\": {\"entry\":[" + EOL + - " {\"key\": \"success-indicator\", \"value\":\"Y\"}" + EOL + - " ]}" + EOL + - " }" + EOL + - "}" + EOL); - - callbacks.put("sdnc-event-fail", JSON, "SDNCAEvent", - "{" + EOL + - " \"SDNCEvent\": {" + EOL + - " \"eventType\": \"UCPE-ACTIVATION\"," + EOL + - " \"eventCorrelatorType\": \"UCPE-HOST-NAME\"," + EOL + - " \"eventCorrelator\": \"((CORRELATOR))\"," + EOL + - " \"params\": {\"entry\":[" + EOL + - " {\"key\": \"success-indicator\", \"value\":\"N\"}" + EOL + - " {\"key\": \"error-message\", \"value\":\"SOMETHING BAD HAPPENED\"}" + EOL + - " ]}" + EOL + - " }" + EOL + - "}" + EOL); - } - - /** - * Test the happy path. - */ - @Test - @Deployment(resources = { - "subprocess/ReceiveWorkflowMessage.bpmn" - }) - public void happyPath() throws Exception { - - logStart(); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - variables.put("mso-request-id", "dffbae0e-5588-4bd6-9749-b0f0adb52312"); - variables.put("isDebugLogEnabled", "true"); - variables.put("RCVWFMSG_timeout", "PT1M"); - variables.put("RCVWFMSG_messageType", "SDNCAEvent"); - variables.put("RCVWFMSG_correlator", "USOSTCDALTX0101UJZZ31"); - - invokeSubProcess("ReceiveWorkflowMessage", businessKey, variables); - injectWorkflowMessages(callbacks, "sdnc-event-success"); - waitForProcessEnd(businessKey, 10000); - - String response = (String) getVariableFromHistory(businessKey, "WorkflowResponse"); - System.out.println("Response:\n" + response); - assertTrue(response.contains("\"SDNCEvent\"")); - assertTrue((boolean) getVariableFromHistory(businessKey, "RCVWFMSG_SuccessIndicator")); - - logEnd(); - } - - /** - * Test the timeout scenario. - */ - @Test - @Deployment(resources = { - "subprocess/ReceiveWorkflowMessage.bpmn" - }) - public void timeout() throws Exception { - logStart(); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - variables.put("mso-request-id", "dffbae0e-5588-4bd6-9749-b0f0adb52312"); - variables.put("isDebugLogEnabled", "true"); - variables.put("RCVWFMSG_timeout", "PT0.1S"); - variables.put("RCVWFMSG_messageType", "SDNCAEvent"); - variables.put("RCVWFMSG_correlator", "USOSTCDALTX0101UJZZ31"); - - invokeSubProcess("ReceiveWorkflowMessage", businessKey, variables); - - // No injection - - waitForProcessEnd(businessKey, 10000); - - // There is no response from SDNC, so the flow doesn't set WorkflowResponse. - String response = (String) getVariableFromHistory(businessKey, "WorkflowResponse"); - assertNull(response); - WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); - assertNotNull(wfe); - System.out.println(wfe.toString()); - assertEquals("Receive Workflow Message Timeout Error", wfe.getErrorMessage()); - assertFalse((boolean) getVariableFromHistory(businessKey, "RCVWFMSG_SuccessIndicator")); - - logEnd(); - } + private static final String EOL = "\n"; + + private final CallbackSet callbacks = new CallbackSet(); + + public ReceiveWorkflowMessageTest() throws IOException { + callbacks.put("sdnc-event-success", JSON, "SDNCAEvent", + "{" + EOL + + " \"SDNCEvent\": {" + EOL + + " \"eventType\": \"UCPE-ACTIVATION\"," + EOL + + " \"eventCorrelatorType\": \"UCPE-HOST-NAME\"," + EOL + + " \"eventCorrelator\": \"((CORRELATOR))\"," + EOL + + " \"params\": {\"entry\":[" + EOL + + " {\"key\": \"success-indicator\", \"value\":\"Y\"}" + EOL + + " ]}" +EOL + + " }" + EOL + + "}" + EOL); + + callbacks.put("sdnc-event-fail", JSON, "SDNCAEvent", + "{" + EOL + + " \"SDNCEvent\": {" + EOL + + " \"eventType\": \"UCPE-ACTIVATION\"," + EOL + + " \"eventCorrelatorType\": \"UCPE-HOST-NAME\"," + EOL + + " \"eventCorrelator\": \"((CORRELATOR))\"," + EOL + + " \"params\": {\"entry\":[" + EOL + + " {\"key\": \"success-indicator\", \"value\":\"N\"}" + EOL + + " {\"key\": \"error-message\", \"value\":\"SOMETHING BAD HAPPENED\"}" + EOL + + " ]}" +EOL + + " }" + EOL + + "}" + EOL); + } + + /** + * Test the happy path. + */ + @Test + @Deployment(resources = { + "subprocess/ReceiveWorkflowMessage.bpmn" + }) + public void happyPath() throws Exception { + + logStart(); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + variables.put("mso-request-id", "dffbae0e-5588-4bd6-9749-b0f0adb52312"); + variables.put("isDebugLogEnabled", "true"); + variables.put("RCVWFMSG_timeout", "PT1M"); + variables.put("RCVWFMSG_messageType", "SDNCAEvent"); + variables.put("RCVWFMSG_correlator", "USOSTCDALTX0101UJZZ31"); + + invokeSubProcess("ReceiveWorkflowMessage", businessKey, variables); + injectWorkflowMessages(callbacks, "sdnc-event-success"); + waitForProcessEnd(businessKey, 10000); + + String response = (String) getVariableFromHistory(businessKey, "WorkflowResponse"); + System.out.println("Response:\n" + response); + assertTrue(response.contains("\"SDNCEvent\"")); + assertTrue((boolean)getVariableFromHistory(businessKey, "RCVWFMSG_SuccessIndicator")); + + logEnd(); + } + + /** + * Test the timeout scenario. + */ + @Test + @Deployment(resources = { + "subprocess/ReceiveWorkflowMessage.bpmn" + }) + public void timeout() throws Exception { + logStart(); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + variables.put("mso-request-id", "dffbae0e-5588-4bd6-9749-b0f0adb52312"); + variables.put("isDebugLogEnabled", "true"); + variables.put("RCVWFMSG_timeout", "PT0.1S"); + variables.put("RCVWFMSG_messageType", "SDNCAEvent"); + variables.put("RCVWFMSG_correlator", "USOSTCDALTX0101UJZZ31"); + + invokeSubProcess("ReceiveWorkflowMessage", businessKey, variables); + + // No injection + + waitForProcessEnd(businessKey, 10000); + + // There is no response from SDNC, so the flow doesn't set WorkflowResponse. + String response = (String) getVariableFromHistory(businessKey, "WorkflowResponse"); + assertNull(response); + WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); + assertNotNull(wfe); + System.out.println(wfe.toString()); + assertEquals("Receive Workflow Message Timeout Error", wfe.getErrorMessage()); + assertFalse((boolean)getVariableFromHistory(businessKey, "RCVWFMSG_SuccessIndicator")); + + logEnd(); + } } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/SDNCAdapterCallbackRule.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/SDNCAdapterCallbackRule.java index 966f74c9f5..ec1a22347b 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/SDNCAdapterCallbackRule.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/SDNCAdapterCallbackRule.java @@ -38,47 +38,47 @@ import org.openecomp.mso.bpmn.common.workflow.service.SDNCAdapterCallbackService * */ public class SDNCAdapterCallbackRule implements TestRule { - public static final String DEFAULT_ENDPOINT_URL = - "http://localhost:28080/mso/SDNCAdapterCallbackService"; + public static final String DEFAULT_ENDPOINT_URL = + "http://localhost:28080/mso/SDNCAdapterCallbackService"; - private final ProcessEngineServices processEngineServices; - private final String endpointUrl; + private final ProcessEngineServices processEngineServices; + private final String endpointUrl; - public SDNCAdapterCallbackRule(ProcessEngineServices processEngineServices) { - this(processEngineServices, DEFAULT_ENDPOINT_URL); - } + public SDNCAdapterCallbackRule(ProcessEngineServices processEngineServices) { + this(processEngineServices, DEFAULT_ENDPOINT_URL); + } - public SDNCAdapterCallbackRule(ProcessEngineServices processEngineServices, - String endpointUrl) { - this.processEngineServices = processEngineServices; - this.endpointUrl = endpointUrl; - } + public SDNCAdapterCallbackRule(ProcessEngineServices processEngineServices, + String endpointUrl) { + this.processEngineServices = processEngineServices; + this.endpointUrl = endpointUrl; + } - @Override - public Statement apply(final Statement baseStmt, Description description) { - return new Statement() { - @Override - public void evaluate() throws Throwable { - Endpoint endpoint = null; + @Override + public Statement apply(final Statement baseStmt, Description description) { + return new Statement() { + @Override + public void evaluate() throws Throwable { + Endpoint endpoint = null; - try { - SDNCAdapterCallbackServiceImpl sdncCallbackService = new SDNCAdapterCallbackServiceImpl(); - sdncCallbackService.setProcessEngineServices4junit(processEngineServices); + try { + SDNCAdapterCallbackServiceImpl sdncCallbackService = new SDNCAdapterCallbackServiceImpl(); + sdncCallbackService.setProcessEngineServices4junit(processEngineServices); - System.setProperty("com.sun.xml.ws.transport.http.HttpAdapter.dump", "true"); - System.setProperty("com.sun.xml.internal.ws.transport.http.HttpAdapter.dump", "true"); + System.setProperty("com.sun.xml.ws.transport.http.HttpAdapter.dump", "true"); + System.setProperty("com.sun.xml.internal.ws.transport.http.HttpAdapter.dump", "true"); - System.out.println("Publishing Endpoint - " + endpointUrl); - endpoint = Endpoint.publish(endpointUrl, sdncCallbackService); + System.out.println("Publishing Endpoint - " + endpointUrl); + endpoint = Endpoint.publish(endpointUrl, sdncCallbackService); - baseStmt.evaluate(); - } finally { - if (endpoint != null) { - System.out.println("Stopping Endpoint - " + endpointUrl); - endpoint.stop(); - } - } - } - }; - } + baseStmt.evaluate(); + } finally { + if (endpoint != null) { + System.out.println("Stopping Endpoint - " + endpointUrl); + endpoint.stop(); + } + } + } + }; + } } \ No newline at end of file diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/SDNCAdapterV1Test.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/SDNCAdapterV1Test.java index e79d71b918..0349b178cb 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/SDNCAdapterV1Test.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/SDNCAdapterV1Test.java @@ -16,7 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.common; @@ -56,420 +56,420 @@ import org.openecomp.mso.bpmn.mock.FileUtil; */ public class SDNCAdapterV1Test extends WorkflowTest { - private String sdncAdapterWorkflowRequest; - private String sdncAdapterWorkflowRequestAct; - private String sdncAdapterCallbackRequestData; - private String sdncAdapterCallbackRequestDataNonfinal; - - public SDNCAdapterV1Test() throws IOException { - sdncAdapterWorkflowRequest = FileUtil.readResourceFile("sdncadapterworkflowrequest.xml"); - sdncAdapterWorkflowRequestAct = FileUtil.readResourceFile("sdncadapterworkflowrequest-act.xml"); - sdncAdapterCallbackRequestData = FileUtil.readResourceFile("sdncadaptercallbackrequestdata.text"); - sdncAdapterCallbackRequestDataNonfinal = FileUtil.readResourceFile("sdncadaptercallbackrequestdata-nonfinal.text"); - } - - /** - * End-to-End flow - Unit test for SDNCAdapterV1.bpmn - * - String input & String response - */ - - private WorkflowResponse invokeFlow(String workflowRequest) { - - Map valueMap = new HashMap<>(); - valueMap.put("value", workflowRequest); - Map variables = new HashMap<>(); - variables.put("sdncAdapterWorkflowRequest", valueMap); - - Map valueMap2 = new HashMap<>(); - valueMap2.put("value", "true"); - variables.put("isDebugLogEnabled", valueMap2); - - VariableMapImpl varMap = new VariableMapImpl(); - varMap.put("variables", variables); - - //System.out.println("Invoking the flow"); - - WorkflowResource workflowResource = new WorkflowResource(); - workflowResource.setProcessEngineServices4junit(processEngineRule); + private String sdncAdapterWorkflowRequest; + private String sdncAdapterWorkflowRequestAct; + private String sdncAdapterCallbackRequestData; + private String sdncAdapterCallbackRequestDataNonfinal; + + public SDNCAdapterV1Test() throws IOException { + sdncAdapterWorkflowRequest = FileUtil.readResourceFile("sdncadapterworkflowrequest.xml"); + sdncAdapterWorkflowRequestAct = FileUtil.readResourceFile("sdncadapterworkflowrequest-act.xml"); + sdncAdapterCallbackRequestData = FileUtil.readResourceFile("sdncadaptercallbackrequestdata.text"); + sdncAdapterCallbackRequestDataNonfinal = FileUtil.readResourceFile("sdncadaptercallbackrequestdata-nonfinal.text"); + } + + /** + * End-to-End flow - Unit test for SDNCAdapterV1.bpmn + * - String input & String response + */ + + private WorkflowResponse invokeFlow(String workflowRequest) { + + MapvalueMap = new HashMap<>(); + valueMap.put("value", workflowRequest); + Map variables = new HashMap<>(); + variables.put("sdncAdapterWorkflowRequest", valueMap); + + Map valueMap2 = new HashMap<>(); + valueMap2.put("value", "true"); + variables.put("isDebugLogEnabled", valueMap2); + + VariableMapImpl varMap = new VariableMapImpl(); + varMap.put("variables", variables); + + //System.out.println("Invoking the flow"); + + WorkflowResource workflowResource = new WorkflowResource(); + workflowResource.setProcessEngineServices4junit(processEngineRule); - Response response = workflowResource.startProcessInstanceByKey("sdncAdapter", varMap); - WorkflowResponse workflowResponse = (WorkflowResponse) response.getEntity(); - - //String pid = workflowResponse.getProcessInstanceID(); - //System.out.println("Back from executing process instance with pid=" + pid); - return workflowResponse; - } + Response response = workflowResource.startProcessInstanceByKey("sdncAdapter", varMap); + WorkflowResponse workflowResponse = (WorkflowResponse) response.getEntity(); + + //String pid = workflowResponse.getProcessInstanceID(); + //System.out.println("Back from executing process instance with pid=" + pid); + return workflowResponse; + } - @Test - @Deployment(resources = {"subprocess/SDNCAdapterV1.bpmn", - "subprocess/GenericNotificationService.bpmn" - }) - public void sunnyDay() throws InterruptedException { - - mockSDNCAdapter(200); - - //System.out.println("SDNCAdapter sunny day flow Started!"); - - ProcessExecutionThread thread = new ProcessExecutionThread(sdncAdapterWorkflowRequest); - thread.start(); - waitForExecutionToStart("sdncAdapter", 3); - String pid = getPid(); - - assertProcessInstanceNotFinished(pid); - - System.out.println("Injecting SDNC Adapter asynchronous callback message to continue processing"); - String generatedRequestId = (String) processEngineRule.getRuntimeService().getVariable(pid, "SDNCA_requestId"); - CallbackHeader callbackHeader = new CallbackHeader(); - callbackHeader.setRequestId(generatedRequestId); - callbackHeader.setResponseCode("200"); - callbackHeader.setResponseMessage("OK"); - SDNCAdapterCallbackRequest sdncAdapterCallbackRequest = new SDNCAdapterCallbackRequest(); - sdncAdapterCallbackRequest.setCallbackHeader(callbackHeader); - sdncAdapterCallbackRequest.setRequestData(sdncAdapterCallbackRequestData); - SDNCAdapterCallbackServiceImpl callbackService = new SDNCAdapterCallbackServiceImpl(); - callbackService.setProcessEngineServices4junit(processEngineRule); - SDNCAdapterResponse sdncAdapterResponse = callbackService.sdncAdapterCallback(sdncAdapterCallbackRequest); - //System.out.println("Back from executing process again"); - - assertFalse(sdncAdapterResponse instanceof SDNCAdapterErrorResponse); - assertProcessInstanceFinished(pid); - - //System.out.println("SDNCAdapter sunny day flow Completed!"); - } - - @Test - @Deployment(resources = {"subprocess/SDNCAdapterV1.bpmn", - "subprocess/GenericNotificationService.bpmn" - }) - public void nonFinalWithTimeout() throws InterruptedException { - - mockSDNCAdapter(200); - mockUpdateRequestDB(200, "Database/DBAdapter.xml"); - - //System.out.println("SDNCAdapter interim status processing flow Started!"); - - ProcessExecutionThread thread = new ProcessExecutionThread(sdncAdapterWorkflowRequestAct); - thread.start(); - waitForExecutionToStart("sdncAdapter", 3); - String pid = getPid(); - - assertProcessInstanceNotFinished(pid); - - //System.out.println("Injecting SDNC Adapter asynchronous callback message to continue processing"); - String generatedRequestId = (String) processEngineRule.getRuntimeService().getVariable(pid, "SDNCA_requestId"); - CallbackHeader callbackHeader = new CallbackHeader(); - callbackHeader.setRequestId(generatedRequestId); - callbackHeader.setResponseCode("200"); - callbackHeader.setResponseMessage("OK"); - SDNCAdapterCallbackRequest sdncAdapterCallbackRequest = new SDNCAdapterCallbackRequest(); - sdncAdapterCallbackRequest.setCallbackHeader(callbackHeader); - sdncAdapterCallbackRequest.setRequestData(sdncAdapterCallbackRequestDataNonfinal); - SDNCAdapterCallbackServiceImpl callbackService = new SDNCAdapterCallbackServiceImpl(); - callbackService.setProcessEngineServices4junit(processEngineRule); - SDNCAdapterResponse sdncAdapterResponse = callbackService.sdncAdapterCallback(sdncAdapterCallbackRequest); - //System.out.println("Back from executing process again"); - - assertFalse(sdncAdapterResponse instanceof SDNCAdapterErrorResponse); - assertProcessInstanceNotFinished(pid); - - checkForTimeout(pid); - - assertEquals(true, (Boolean) (getVariable(pid, "continueListening"))); - assertEquals(false, (Boolean) (getVariable(pid, "SDNCA_InterimNotify"))); - - - //System.out.println("SDNCAdapter interim status processing flow Completed!"); - } - - @Test - @Deployment(resources = {"subprocess/SDNCAdapterV1.bpmn", - "subprocess/GenericNotificationService.bpmn" - }) - public void nonFinalThenFinal() throws InterruptedException { - - mockSDNCAdapter(200); - mockUpdateRequestDB(200, "Database/DBAdapter.xml"); - - //System.out.println("SDNCAdapter non-final then final processing flow Started!"); - - // Start the flow - ProcessExecutionThread thread = new ProcessExecutionThread(sdncAdapterWorkflowRequestAct); - thread.start(); - waitForExecutionToStart("sdncAdapter", 3); - String pid = getPid(); - - assertProcessInstanceNotFinished(pid); - - // Inject a "non-final" SDNC Adapter asynchronous callback message - //System.out.println("Injecting SDNC Adapter asynchronous callback message to continue processing"); - String generatedRequestId = (String) processEngineRule.getRuntimeService().getVariable(pid, "SDNCA_requestId"); - CallbackHeader callbackHeader = new CallbackHeader(); - callbackHeader.setRequestId(generatedRequestId); - callbackHeader.setResponseCode("200"); - callbackHeader.setResponseMessage("OK"); - SDNCAdapterCallbackRequest sdncAdapterCallbackRequest = new SDNCAdapterCallbackRequest(); - sdncAdapterCallbackRequest.setCallbackHeader(callbackHeader); - sdncAdapterCallbackRequest.setRequestData(sdncAdapterCallbackRequestDataNonfinal); - SDNCAdapterCallbackServiceImpl callbackService = new SDNCAdapterCallbackServiceImpl(); - callbackService.setProcessEngineServices4junit(processEngineRule); - SDNCAdapterResponse sdncAdapterResponse = callbackService.sdncAdapterCallback(sdncAdapterCallbackRequest); - //System.out.println("Back from executing process again"); - - assertFalse(sdncAdapterResponse instanceof SDNCAdapterErrorResponse); - assertProcessInstanceNotFinished(pid); - assertEquals(true, (Boolean) (getVariable(pid, "continueListening"))); - assertEquals(false, (Boolean) (getVariable(pid, "SDNCA_InterimNotify"))); - - // Inject a "final" SDNC Adapter asynchronous callback message - sdncAdapterCallbackRequest.setRequestData(sdncAdapterCallbackRequestData); - sdncAdapterResponse = callbackService.sdncAdapterCallback(sdncAdapterCallbackRequest); - //System.out.println("Back from executing process again"); - - assertFalse(sdncAdapterResponse instanceof SDNCAdapterErrorResponse); - assertProcessInstanceFinished(pid); - assertEquals(false, (Boolean) (getVariable(pid, "continueListening"))); - assertEquals(false, (Boolean) (getVariable(pid, "SDNCA_InterimNotify"))); - - //System.out.println("SDNCAdapter non-final then final processing flow Completed!"); - } - - - @Test - @Deployment(resources = {"subprocess/SDNCAdapterV1.bpmn", - "subprocess/GenericNotificationService.bpmn" - }) - public void nonFinalThenFinalWithNotify() throws InterruptedException { - - mockSDNCAdapter(200); - mockUpdateRequestDB(200, "Database/DBAdapter.xml"); - - //System.out.println("SDNCAdapter non-final then final processing flow Started!"); - - String modSdncAdapterWorkflowRequestAct = sdncAdapterWorkflowRequestAct; - try { - // only service-type "uCPE-VMS" is applicable to notification, so modify the test request - modSdncAdapterWorkflowRequestAct = XmlTool.modifyElement(sdncAdapterWorkflowRequestAct, "tag0:service-type", "uCPE-VMS").get(); - System.out.println("modified request: " + modSdncAdapterWorkflowRequestAct); - } catch (Exception e) { - System.out.println("request modification failed"); - //e.printStackTrace(); - } - - // Start the flow - ProcessExecutionThread thread = new ProcessExecutionThread(modSdncAdapterWorkflowRequestAct); - thread.start(); - waitForExecutionToStart("sdncAdapter", 3); - String pid = getPid(); - - assertProcessInstanceNotFinished(pid); - - // Inject a "non-final" SDNC Adapter asynchronous callback message - //System.out.println("Injecting SDNC Adapter asynchronous callback message to continue processing"); - String generatedRequestId = (String) processEngineRule.getRuntimeService().getVariable(pid, "SDNCA_requestId"); - CallbackHeader callbackHeader = new CallbackHeader(); - callbackHeader.setRequestId(generatedRequestId); - callbackHeader.setResponseCode("200"); - callbackHeader.setResponseMessage("OK"); - SDNCAdapterCallbackRequest sdncAdapterCallbackRequest = new SDNCAdapterCallbackRequest(); - sdncAdapterCallbackRequest.setCallbackHeader(callbackHeader); - sdncAdapterCallbackRequest.setRequestData(sdncAdapterCallbackRequestDataNonfinal); - SDNCAdapterCallbackServiceImpl callbackService = new SDNCAdapterCallbackServiceImpl(); - callbackService.setProcessEngineServices4junit(processEngineRule); - SDNCAdapterResponse sdncAdapterResponse = callbackService.sdncAdapterCallback(sdncAdapterCallbackRequest); - //System.out.println("Back from executing process again"); - - assertFalse(sdncAdapterResponse instanceof SDNCAdapterErrorResponse); - assertProcessInstanceNotFinished(pid); - assertEquals(true, (Boolean) (getVariable(pid, "continueListening"))); - assertEquals(true, (Boolean) (getVariable(pid, "SDNCA_InterimNotify"))); - - // Inject a "final" SDNC Adapter asynchronous callback message - sdncAdapterCallbackRequest.setRequestData(sdncAdapterCallbackRequestData); - sdncAdapterResponse = callbackService.sdncAdapterCallback(sdncAdapterCallbackRequest); - //System.out.println("Back from executing process again"); - - assertFalse(sdncAdapterResponse instanceof SDNCAdapterErrorResponse); - assertProcessInstanceFinished(pid); - assertEquals(false, (Boolean) (getVariable(pid, "continueListening"))); - assertEquals(false, (Boolean) (getVariable(pid, "SDNCA_InterimNotify"))); - - //System.out.println("SDNCAdapter non-final then final processing flow Completed!"); - } - - - private void waitForExecutionToStart(String processDefintion, int count) throws InterruptedException { - //System.out.println(processEngineRule.getRuntimeService().createExecutionQuery().processDefinitionKey(processDefintion).count()); - while (processEngineRule.getRuntimeService().createExecutionQuery().processDefinitionKey(processDefintion).count() != count) { - Thread.sleep(200); - } - } - - @Test - @Ignore // Ignored because PropertyConfigurationSetup is timing out - @Deployment(resources = {"subprocess/SDNCAdapterV1.bpmn", - "subprocess/GenericNotificationService.bpmn" - }) - public void badCorrelationIdTest() throws InterruptedException, IOException { - - mockSDNCAdapter(200); - - Map urnProperties = PropertyConfigurationSetup.createBpmnUrnProperties(); - urnProperties.put("mso.correlation.timeout", "5"); - PropertyConfigurationSetup.addProperties(urnProperties, 10000); - - //System.out.println("SDNCAdapter bad RequestId test Started!"); - - ProcessExecutionThread thread = new ProcessExecutionThread(sdncAdapterWorkflowRequest); - thread.start(); - waitForExecutionToStart("sdncAdapter", 3); - String pid = getPid(); - assertProcessInstanceNotFinished(pid); - - //System.out.println("Injecting SDNC Adapter asynchronous callback message to continue processing"); - String badRequestId = "This is not the RequestId that was used"; - CallbackHeader callbackHeader = new CallbackHeader(); - callbackHeader.setRequestId(badRequestId); - callbackHeader.setResponseCode("200"); - callbackHeader.setResponseMessage("OK"); - SDNCAdapterCallbackRequest sdncAdapterCallbackRequest = new SDNCAdapterCallbackRequest(); - sdncAdapterCallbackRequest.setCallbackHeader(callbackHeader); - sdncAdapterCallbackRequest.setRequestData(sdncAdapterCallbackRequestData); - SDNCAdapterCallbackServiceImpl callbackService = new SDNCAdapterCallbackServiceImpl(); - callbackService.setProcessEngineServices4junit(processEngineRule); - SDNCAdapterResponse sdncAdapterResponse = callbackService.sdncAdapterCallback(sdncAdapterCallbackRequest); - //System.out.println("Back from executing process again"); - - assertTrue(sdncAdapterResponse instanceof SDNCAdapterErrorResponse); - assertTrue(((SDNCAdapterErrorResponse) sdncAdapterResponse).getError().contains("No process is waiting for sdncAdapterCallbackRequest")); - assertProcessInstanceNotFinished(pid); - - //System.out.println("SDNCAdapter bad RequestId test Completed!"); - } - - @Test - @Deployment(resources = {"subprocess/SDNCAdapterV1.bpmn", - "subprocess/GenericNotificationService.bpmn" - }) - public void badSynchronousResponse() throws IOException, InterruptedException { - - mockSDNCAdapter(404); - - //System.out.println("SDNCAdapter bad synchronous response flow Started!"); - - ProcessExecutionThread thread = new ProcessExecutionThread(sdncAdapterWorkflowRequest); - thread.start(); - while (thread.isAlive()) { - Thread.sleep(200); - } - WorkflowResponse response = thread.workflowResponse; - Assert.assertNotNull(response); - Assert.assertEquals("404 error", response.getMessageCode(), 7000); + @Test + @Deployment(resources = {"subprocess/SDNCAdapterV1.bpmn", + "subprocess/GenericNotificationService.bpmn" + }) + public void sunnyDay() throws InterruptedException { + + mockSDNCAdapter(200); + + //System.out.println("SDNCAdapter sunny day flow Started!"); + + ProcessExecutionThread thread = new ProcessExecutionThread(sdncAdapterWorkflowRequest); + thread.start(); + waitForExecutionToStart("sdncAdapter", 3); + String pid = getPid(); + + assertProcessInstanceNotFinished(pid); + + System.out.println("Injecting SDNC Adapter asynchronous callback message to continue processing"); + String generatedRequestId = (String) processEngineRule.getRuntimeService().getVariable(pid, "SDNCA_requestId"); + CallbackHeader callbackHeader = new CallbackHeader(); + callbackHeader.setRequestId(generatedRequestId); + callbackHeader.setResponseCode("200"); + callbackHeader.setResponseMessage("OK"); + SDNCAdapterCallbackRequest sdncAdapterCallbackRequest = new SDNCAdapterCallbackRequest(); + sdncAdapterCallbackRequest.setCallbackHeader(callbackHeader); + sdncAdapterCallbackRequest.setRequestData(sdncAdapterCallbackRequestData); + SDNCAdapterCallbackServiceImpl callbackService = new SDNCAdapterCallbackServiceImpl(); + callbackService.setProcessEngineServices4junit(processEngineRule); + SDNCAdapterResponse sdncAdapterResponse = callbackService.sdncAdapterCallback(sdncAdapterCallbackRequest); + //System.out.println("Back from executing process again"); + + assertFalse(sdncAdapterResponse instanceof SDNCAdapterErrorResponse); + assertProcessInstanceFinished(pid); + + //System.out.println("SDNCAdapter sunny day flow Completed!"); + } + + @Test + @Deployment(resources = {"subprocess/SDNCAdapterV1.bpmn", + "subprocess/GenericNotificationService.bpmn" + }) + public void nonFinalWithTimeout() throws InterruptedException { + + mockSDNCAdapter(200); + mockUpdateRequestDB(200, "Database/DBAdapter.xml"); + + //System.out.println("SDNCAdapter interim status processing flow Started!"); + + ProcessExecutionThread thread = new ProcessExecutionThread(sdncAdapterWorkflowRequestAct); + thread.start(); + waitForExecutionToStart("sdncAdapter", 3); + String pid = getPid(); + + assertProcessInstanceNotFinished(pid); + + //System.out.println("Injecting SDNC Adapter asynchronous callback message to continue processing"); + String generatedRequestId = (String) processEngineRule.getRuntimeService().getVariable(pid, "SDNCA_requestId"); + CallbackHeader callbackHeader = new CallbackHeader(); + callbackHeader.setRequestId(generatedRequestId); + callbackHeader.setResponseCode("200"); + callbackHeader.setResponseMessage("OK"); + SDNCAdapterCallbackRequest sdncAdapterCallbackRequest = new SDNCAdapterCallbackRequest(); + sdncAdapterCallbackRequest.setCallbackHeader(callbackHeader); + sdncAdapterCallbackRequest.setRequestData(sdncAdapterCallbackRequestDataNonfinal); + SDNCAdapterCallbackServiceImpl callbackService = new SDNCAdapterCallbackServiceImpl(); + callbackService.setProcessEngineServices4junit(processEngineRule); + SDNCAdapterResponse sdncAdapterResponse = callbackService.sdncAdapterCallback(sdncAdapterCallbackRequest); + //System.out.println("Back from executing process again"); + + assertFalse(sdncAdapterResponse instanceof SDNCAdapterErrorResponse); + assertProcessInstanceNotFinished(pid); + + checkForTimeout(pid); + + assertEquals(true, (Boolean) (getVariable(pid, "continueListening"))); + assertEquals(false, (Boolean) (getVariable(pid, "SDNCA_InterimNotify"))); + + + //System.out.println("SDNCAdapter interim status processing flow Completed!"); + } + + @Test + @Deployment(resources = {"subprocess/SDNCAdapterV1.bpmn", + "subprocess/GenericNotificationService.bpmn" + }) + public void nonFinalThenFinal() throws InterruptedException { + + mockSDNCAdapter(200); + mockUpdateRequestDB(200, "Database/DBAdapter.xml"); + + //System.out.println("SDNCAdapter non-final then final processing flow Started!"); + + // Start the flow + ProcessExecutionThread thread = new ProcessExecutionThread(sdncAdapterWorkflowRequestAct); + thread.start(); + waitForExecutionToStart("sdncAdapter", 3); + String pid = getPid(); + + assertProcessInstanceNotFinished(pid); + + // Inject a "non-final" SDNC Adapter asynchronous callback message + //System.out.println("Injecting SDNC Adapter asynchronous callback message to continue processing"); + String generatedRequestId = (String) processEngineRule.getRuntimeService().getVariable(pid, "SDNCA_requestId"); + CallbackHeader callbackHeader = new CallbackHeader(); + callbackHeader.setRequestId(generatedRequestId); + callbackHeader.setResponseCode("200"); + callbackHeader.setResponseMessage("OK"); + SDNCAdapterCallbackRequest sdncAdapterCallbackRequest = new SDNCAdapterCallbackRequest(); + sdncAdapterCallbackRequest.setCallbackHeader(callbackHeader); + sdncAdapterCallbackRequest.setRequestData(sdncAdapterCallbackRequestDataNonfinal); + SDNCAdapterCallbackServiceImpl callbackService = new SDNCAdapterCallbackServiceImpl(); + callbackService.setProcessEngineServices4junit(processEngineRule); + SDNCAdapterResponse sdncAdapterResponse = callbackService.sdncAdapterCallback(sdncAdapterCallbackRequest); + //System.out.println("Back from executing process again"); + + assertFalse(sdncAdapterResponse instanceof SDNCAdapterErrorResponse); + assertProcessInstanceNotFinished(pid); + assertEquals(true, (Boolean) (getVariable(pid, "continueListening"))); + assertEquals(false, (Boolean) (getVariable(pid, "SDNCA_InterimNotify"))); + + // Inject a "final" SDNC Adapter asynchronous callback message + sdncAdapterCallbackRequest.setRequestData(sdncAdapterCallbackRequestData); + sdncAdapterResponse = callbackService.sdncAdapterCallback(sdncAdapterCallbackRequest); + //System.out.println("Back from executing process again"); + + assertFalse(sdncAdapterResponse instanceof SDNCAdapterErrorResponse); + assertProcessInstanceFinished(pid); + assertEquals(false, (Boolean) (getVariable(pid, "continueListening"))); + assertEquals(false, (Boolean) (getVariable(pid, "SDNCA_InterimNotify"))); + + //System.out.println("SDNCAdapter non-final then final processing flow Completed!"); + } + + + @Test + @Deployment(resources = {"subprocess/SDNCAdapterV1.bpmn", + "subprocess/GenericNotificationService.bpmn" + }) + public void nonFinalThenFinalWithNotify() throws InterruptedException { + + mockSDNCAdapter(200); + mockUpdateRequestDB(200, "Database/DBAdapter.xml"); + + //System.out.println("SDNCAdapter non-final then final processing flow Started!"); + + String modSdncAdapterWorkflowRequestAct = sdncAdapterWorkflowRequestAct; + try { + // only service-type "uCPE-VMS" is applicable to notification, so modify the test request + modSdncAdapterWorkflowRequestAct = XmlTool.modifyElement(sdncAdapterWorkflowRequestAct, "tag0:service-type", "uCPE-VMS").get(); + System.out.println("modified request: " + modSdncAdapterWorkflowRequestAct); + } catch (Exception e) { + System.out.println("request modification failed"); + //e.printStackTrace(); + } + + // Start the flow + ProcessExecutionThread thread = new ProcessExecutionThread(modSdncAdapterWorkflowRequestAct); + thread.start(); + waitForExecutionToStart("sdncAdapter", 3); + String pid = getPid(); + + assertProcessInstanceNotFinished(pid); + + // Inject a "non-final" SDNC Adapter asynchronous callback message + //System.out.println("Injecting SDNC Adapter asynchronous callback message to continue processing"); + String generatedRequestId = (String) processEngineRule.getRuntimeService().getVariable(pid, "SDNCA_requestId"); + CallbackHeader callbackHeader = new CallbackHeader(); + callbackHeader.setRequestId(generatedRequestId); + callbackHeader.setResponseCode("200"); + callbackHeader.setResponseMessage("OK"); + SDNCAdapterCallbackRequest sdncAdapterCallbackRequest = new SDNCAdapterCallbackRequest(); + sdncAdapterCallbackRequest.setCallbackHeader(callbackHeader); + sdncAdapterCallbackRequest.setRequestData(sdncAdapterCallbackRequestDataNonfinal); + SDNCAdapterCallbackServiceImpl callbackService = new SDNCAdapterCallbackServiceImpl(); + callbackService.setProcessEngineServices4junit(processEngineRule); + SDNCAdapterResponse sdncAdapterResponse = callbackService.sdncAdapterCallback(sdncAdapterCallbackRequest); + //System.out.println("Back from executing process again"); + + assertFalse(sdncAdapterResponse instanceof SDNCAdapterErrorResponse); + assertProcessInstanceNotFinished(pid); + assertEquals(true, (Boolean) (getVariable(pid, "continueListening"))); + assertEquals(true, (Boolean) (getVariable(pid, "SDNCA_InterimNotify"))); + + // Inject a "final" SDNC Adapter asynchronous callback message + sdncAdapterCallbackRequest.setRequestData(sdncAdapterCallbackRequestData); + sdncAdapterResponse = callbackService.sdncAdapterCallback(sdncAdapterCallbackRequest); + //System.out.println("Back from executing process again"); + + assertFalse(sdncAdapterResponse instanceof SDNCAdapterErrorResponse); + assertProcessInstanceFinished(pid); + assertEquals(false, (Boolean) (getVariable(pid, "continueListening"))); + assertEquals(false, (Boolean) (getVariable(pid, "SDNCA_InterimNotify"))); + + //System.out.println("SDNCAdapter non-final then final processing flow Completed!"); + } + + + private void waitForExecutionToStart(String processDefintion, int count) throws InterruptedException { + //System.out.println(processEngineRule.getRuntimeService().createExecutionQuery().processDefinitionKey(processDefintion).count()); + while (processEngineRule.getRuntimeService().createExecutionQuery().processDefinitionKey(processDefintion).count() != count) { + Thread.sleep(200); + } + } + + @Test + @Ignore // Ignored because PropertyConfigurationSetup is timing out + @Deployment(resources = {"subprocess/SDNCAdapterV1.bpmn", + "subprocess/GenericNotificationService.bpmn" + }) + public void badCorrelationIdTest() throws InterruptedException, IOException { + + mockSDNCAdapter(200); + + Map urnProperties = PropertyConfigurationSetup.createBpmnUrnProperties(); + urnProperties.put("mso.correlation.timeout", "5"); + PropertyConfigurationSetup.addProperties(urnProperties, 10000); + + //System.out.println("SDNCAdapter bad RequestId test Started!"); + + ProcessExecutionThread thread = new ProcessExecutionThread(sdncAdapterWorkflowRequest); + thread.start(); + waitForExecutionToStart("sdncAdapter", 3); + String pid = getPid(); + assertProcessInstanceNotFinished(pid); + + //System.out.println("Injecting SDNC Adapter asynchronous callback message to continue processing"); + String badRequestId = "This is not the RequestId that was used"; + CallbackHeader callbackHeader = new CallbackHeader(); + callbackHeader.setRequestId(badRequestId); + callbackHeader.setResponseCode("200"); + callbackHeader.setResponseMessage("OK"); + SDNCAdapterCallbackRequest sdncAdapterCallbackRequest = new SDNCAdapterCallbackRequest(); + sdncAdapterCallbackRequest.setCallbackHeader(callbackHeader); + sdncAdapterCallbackRequest.setRequestData(sdncAdapterCallbackRequestData); + SDNCAdapterCallbackServiceImpl callbackService = new SDNCAdapterCallbackServiceImpl(); + callbackService.setProcessEngineServices4junit(processEngineRule); + SDNCAdapterResponse sdncAdapterResponse = callbackService.sdncAdapterCallback(sdncAdapterCallbackRequest); + //System.out.println("Back from executing process again"); + + assertTrue(sdncAdapterResponse instanceof SDNCAdapterErrorResponse); + assertTrue(((SDNCAdapterErrorResponse) sdncAdapterResponse).getError().contains("No process is waiting for sdncAdapterCallbackRequest")); + assertProcessInstanceNotFinished(pid); + + //System.out.println("SDNCAdapter bad RequestId test Completed!"); + } + + @Test + @Deployment(resources = {"subprocess/SDNCAdapterV1.bpmn", + "subprocess/GenericNotificationService.bpmn" + }) + public void badSynchronousResponse() throws IOException, InterruptedException { + + mockSDNCAdapter(404); + + //System.out.println("SDNCAdapter bad synchronous response flow Started!"); + + ProcessExecutionThread thread = new ProcessExecutionThread(sdncAdapterWorkflowRequest); + thread.start(); + while (thread.isAlive()) { + Thread.sleep(200); + } + WorkflowResponse response = thread.workflowResponse; + Assert.assertNotNull(response); + Assert.assertEquals("404 error", response.getMessageCode(),7000); // assertProcessInstanceFinished(response.getProcessInstanceID()); - //System.out.println("SDNCAdapter bad synchronous response flow Completed!"); - } - - @Test - @Deployment(resources = {"subprocess/SDNCAdapterV1.bpmn", - "subprocess/GenericNotificationService.bpmn" - }) - public void sdncNotFound() throws IOException, InterruptedException { - mockSDNCAdapter(200); - mockSDNCAdapter("/sdncAdapterMock/404", 400, "sdncCallbackErrorResponse.xml"); - - ProcessExecutionThread thread = new ProcessExecutionThread(sdncAdapterWorkflowRequest); - thread.start(); - waitForExecutionToStart("sdncAdapter", 3); - String pid = getPid(); - - //System.out.println("Injecting SDNC Adapter asynchronous callback message to continue processing"); - String generatedRequestId = (String) processEngineRule.getRuntimeService().getVariable(pid, "SDNCA_requestId"); - CallbackHeader callbackHeader = new CallbackHeader(); - callbackHeader.setRequestId(generatedRequestId); - callbackHeader.setResponseCode("404"); - callbackHeader.setResponseMessage("Error processing request to SDNC. Not Found. https://sdncodl.it.us.aic.cip.com:8443/restconf/config/L3SDN-API:services/layer3-service-list/AS%2FVLXM%2F000199%2F%2FSB_INTERNET. SDNC Returned-[error-type:application, error-tag:data-missing, error-message:Request could not be completed because the relevant data model content does not exist.]"); - SDNCAdapterCallbackRequest sdncAdapterCallbackRequest = new SDNCAdapterCallbackRequest(); - sdncAdapterCallbackRequest.setCallbackHeader(callbackHeader); - SDNCAdapterCallbackServiceImpl callbackService = new SDNCAdapterCallbackServiceImpl(); - callbackService.setProcessEngineServices4junit(processEngineRule); - SDNCAdapterResponse sdncAdapterResponse = callbackService.sdncAdapterCallback(sdncAdapterCallbackRequest); - //System.out.println("Back from executing process again"); - - assertProcessInstanceFinished(pid); - assertNotNull(sdncAdapterResponse); - //TODO query history to see SDNCA_ResponseCode, SDNCA_ErrorResponse - //System.out.println("SDNCAdapter SDNC Notfound test Completed!"); - } - - @Test - @Deployment(resources = {"subprocess/SDNCAdapterV1.bpmn", - "subprocess/GenericNotificationService.bpmn" - }) - public void asynchronousMessageTimeout() throws IOException, InterruptedException { - mockSDNCAdapter(200); - //System.out.println("SDNCAdapter asynchronous message timeout flow Started!"); - ProcessExecutionThread thread = new ProcessExecutionThread(sdncAdapterWorkflowRequest); - thread.start(); - waitForExecutionToStart("sdncAdapter", 3); - checkForTimeout(getPid()); - } - - private void checkForTimeout(String pid) throws InterruptedException { - - assertProcessInstanceNotFinished(pid); - - ProcessEngineConfigurationImpl processEngineConfiguration = - (ProcessEngineConfigurationImpl) processEngineRule.getProcessEngine().getProcessEngineConfiguration(); - assertTrue(processEngineConfiguration.getJobExecutor().isActive()); - - Job timerJob = processEngineRule.getManagementService().createJobQuery().processInstanceId(pid).singleResult(); - assertNotNull(timerJob); - - processEngineRule.getManagementService().executeJob(timerJob.getId()); - - assertProcessInstanceFinished(pid); - - //System.out.println("SDNCAdapter asynchronous message timeout flow Completed!"); - } - - class ProcessExecutionThread extends Thread { - - private String workflowRequest; - private WorkflowResponse workflowResponse; - - public ProcessExecutionThread(String workflowRequest) { - this.workflowRequest = workflowRequest; - } - - public void run() { - workflowResponse = invokeFlow(workflowRequest); - workflowResponse.getProcessInstanceID(); - } - } - - private String getPid() { - return processEngineRule.getHistoryService().createHistoricProcessInstanceQuery().list().get(0).getId(); - } - - private Object getVariable(String pid, String variableName) { - try { - return - processEngineRule - .getHistoryService() - .createHistoricVariableInstanceQuery() - .processInstanceId(pid).variableName(variableName) - .singleResult() - .getValue(); - } catch (Exception ex) { - return null; - } - } - - private void assertProcessInstanceFinished(String pid) { - assertEquals(1, processEngineRule.getHistoryService().createHistoricProcessInstanceQuery().processInstanceId(pid).finished().count()); - } - - private void assertProcessInstanceNotFinished(String pid) { - assertEquals(0, processEngineRule.getHistoryService().createHistoricProcessInstanceQuery().processInstanceId(pid).finished().count()); - } + //System.out.println("SDNCAdapter bad synchronous response flow Completed!"); + } + + @Test + @Deployment(resources = {"subprocess/SDNCAdapterV1.bpmn", + "subprocess/GenericNotificationService.bpmn" + }) + public void sdncNotFound() throws IOException, InterruptedException { + mockSDNCAdapter(200); + mockSDNCAdapter("/sdncAdapterMock/404", 400, "sdncCallbackErrorResponse.xml"); + + ProcessExecutionThread thread = new ProcessExecutionThread(sdncAdapterWorkflowRequest); + thread.start(); + waitForExecutionToStart("sdncAdapter", 3); + String pid = getPid(); + + //System.out.println("Injecting SDNC Adapter asynchronous callback message to continue processing"); + String generatedRequestId = (String) processEngineRule.getRuntimeService().getVariable(pid, "SDNCA_requestId"); + CallbackHeader callbackHeader = new CallbackHeader(); + callbackHeader.setRequestId(generatedRequestId); + callbackHeader.setResponseCode("404"); + callbackHeader.setResponseMessage("Error processing request to SDNC. Not Found. https://sdncodl.it.us.aic.cip.com:8443/restconf/config/L3SDN-API:services/layer3-service-list/AS%2FVLXM%2F000199%2F%2FSB_INTERNET. SDNC Returned-[error-type:application, error-tag:data-missing, error-message:Request could not be completed because the relevant data model content does not exist.]"); + SDNCAdapterCallbackRequest sdncAdapterCallbackRequest = new SDNCAdapterCallbackRequest(); + sdncAdapterCallbackRequest.setCallbackHeader(callbackHeader); + SDNCAdapterCallbackServiceImpl callbackService = new SDNCAdapterCallbackServiceImpl(); + callbackService.setProcessEngineServices4junit(processEngineRule); + SDNCAdapterResponse sdncAdapterResponse = callbackService.sdncAdapterCallback(sdncAdapterCallbackRequest); + //System.out.println("Back from executing process again"); + + assertProcessInstanceFinished(pid); + assertNotNull(sdncAdapterResponse); + //TODO query history to see SDNCA_ResponseCode, SDNCA_ErrorResponse + //System.out.println("SDNCAdapter SDNC Notfound test Completed!"); + } + + @Test + @Deployment(resources = {"subprocess/SDNCAdapterV1.bpmn", + "subprocess/GenericNotificationService.bpmn" + }) + public void asynchronousMessageTimeout() throws IOException, InterruptedException { + mockSDNCAdapter(200); + //System.out.println("SDNCAdapter asynchronous message timeout flow Started!"); + ProcessExecutionThread thread = new ProcessExecutionThread(sdncAdapterWorkflowRequest); + thread.start(); + waitForExecutionToStart("sdncAdapter", 3); + checkForTimeout(getPid()); + } + + private void checkForTimeout(String pid) throws InterruptedException { + + assertProcessInstanceNotFinished(pid); + + ProcessEngineConfigurationImpl processEngineConfiguration = + (ProcessEngineConfigurationImpl) processEngineRule.getProcessEngine().getProcessEngineConfiguration(); + assertTrue(processEngineConfiguration.getJobExecutor().isActive()); + + Job timerJob = processEngineRule.getManagementService().createJobQuery().processInstanceId(pid).singleResult(); + assertNotNull(timerJob); + + processEngineRule.getManagementService().executeJob(timerJob.getId()); + + assertProcessInstanceFinished(pid); + + //System.out.println("SDNCAdapter asynchronous message timeout flow Completed!"); + } + + class ProcessExecutionThread extends Thread { + + private String workflowRequest; + private WorkflowResponse workflowResponse; + + public ProcessExecutionThread(String workflowRequest) { + this.workflowRequest = workflowRequest; + } + + public void run() { + workflowResponse = invokeFlow(workflowRequest); + workflowResponse.getProcessInstanceID(); + } + } + + private String getPid() { + return processEngineRule.getHistoryService().createHistoricProcessInstanceQuery().list().get(0).getId(); + } + + private Object getVariable(String pid, String variableName) { + try { + return + processEngineRule + .getHistoryService() + .createHistoricVariableInstanceQuery() + .processInstanceId(pid).variableName(variableName) + .singleResult() + .getValue(); + } catch(Exception ex) { + return null; + } + } + + private void assertProcessInstanceFinished(String pid) { + assertEquals(1, processEngineRule.getHistoryService().createHistoricProcessInstanceQuery().processInstanceId(pid).finished().count()); + } + + private void assertProcessInstanceNotFinished(String pid) { + assertEquals(0, processEngineRule.getHistoryService().createHistoricProcessInstanceQuery().processInstanceId(pid).finished().count()); + } } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/UpdateAAIGenericVnfTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/UpdateAAIGenericVnfTest.java index 97d538840a..7c557ffe63 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/UpdateAAIGenericVnfTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/UpdateAAIGenericVnfTest.java @@ -16,7 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.common; @@ -42,134 +42,134 @@ import org.openecomp.mso.bpmn.mock.FileUtil; * Unit tests for UpdateAAIGenericVnf bpmn. */ public class UpdateAAIGenericVnfTest extends WorkflowTest { - - /** - * Test the happy path through the flow. - */ - @Test - @Deployment(resources = { - "subprocess/UpdateAAIGenericVnf.bpmn" - }) - public void happyPath() throws IOException { - logStart(); - - String updateAAIGenericVnfRequest = FileUtil.readResourceFile("__files/VfModularity/UpdateAAIGenericVnfRequest.xml"); - MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml"); - MockPutGenericVnf("/skask", 200); - MockPatchGenericVnf("skask"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - variables.put("mso-request-id", "999-99-9999"); - variables.put("isDebugLogEnabled", "true"); - variables.put("UpdateAAIGenericVnfRequest", updateAAIGenericVnfRequest); - invokeSubProcess("UpdateAAIGenericVnf", businessKey, variables); - - Assert.assertTrue(isProcessEnded(businessKey)); - String response = (String) getVariableFromHistory(businessKey, "UAAIGenVnf_updateGenericVnfResponse"); - Integer responseCode = (Integer) getVariableFromHistory(businessKey, "UAAIGenVnf_updateGenericVnfResponseCode"); - System.out.println("Subflow response code: " + responseCode); - System.out.println("Subflow response: " + response); - Assert.assertEquals(200, responseCode.intValue()); - - logEnd(); - } - - /** - * Test the happy path through the flow. - */ - @Test - @Deployment(resources = { - "subprocess/UpdateAAIGenericVnf.bpmn" - }) - public void personaMismatch() throws IOException { - - logStart(); - - String updateAAIGenericVnfRequest = FileUtil.readResourceFile("__files/VfModularity/UpdateAAIGenericVnfRequest.xml"); - updateAAIGenericVnfRequest = updateAAIGenericVnfRequest.replaceFirst("introvert", "extrovert"); - - MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - variables.put("mso-request-id", "999-99-9999"); - variables.put("isDebugLogEnabled", "true"); - variables.put("UpdateAAIGenericVnfRequest", updateAAIGenericVnfRequest); - invokeSubProcess("UpdateAAIGenericVnf", businessKey, variables); - - Assert.assertTrue(isProcessEnded(businessKey)); - WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); - System.out.println("Workflow Exception: " + workflowException); - Assert.assertNotNull(workflowException); - - logEnd(); - } - - /** - * Test the case where the GET to AAI returns a 404. - */ - @Test - @Deployment(resources = { - "subprocess/UpdateAAIGenericVnf.bpmn" - }) - public void badGet() throws IOException { - - logStart(); - - String updateAAIGenericVnfRequest = FileUtil.readResourceFile("__files/VfModularity/UpdateAAIGenericVnfRequest.xml"); - - MockGetGenericVnfById_404("skask[?]depth=1"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - variables.put("mso-request-id", "999-99-9999"); - variables.put("isDebugLogEnabled", "true"); - variables.put("UpdateAAIGenericVnfRequest", updateAAIGenericVnfRequest); - invokeSubProcess("UpdateAAIGenericVnf", businessKey, variables); - - Assert.assertTrue(isProcessEnded(businessKey)); - String response = (String) getVariableFromHistory(businessKey, "UAAIGenVnf_getGenericVnfResponse"); - Integer responseCode = (Integer) getVariableFromHistory(businessKey, "UAAIGenVnf_getGenericVnfResponseCode"); - System.out.println("Subflow response code: " + responseCode); - System.out.println("Subflow response: " + response); - Assert.assertEquals(404, responseCode.intValue()); - - logEnd(); - } - - /** - * Test the case where the GET to AAI is successful, but he subsequent PUT returns 404. - */ - @Test - @Deployment(resources = { - "subprocess/UpdateAAIGenericVnf.bpmn" - }) - public void badPatch() throws IOException { - - logStart(); - - String updateAAIGenericVnfRequest = FileUtil.readResourceFile("__files/VfModularity/UpdateAAIGenericVnfRequest.xml"); - - MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml"); - MockPutGenericVnf_Bad("skask", 404); - MockAAIVfModuleBadPatch("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/skask", 404); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - variables.put("mso-request-id", "999-99-9999"); - variables.put("isDebugLogEnabled", "true"); - variables.put("UpdateAAIGenericVnfRequest", updateAAIGenericVnfRequest); - invokeSubProcess("UpdateAAIGenericVnf", businessKey, variables); - - Assert.assertTrue(isProcessEnded(businessKey)); - String response = (String) getVariableFromHistory(businessKey, "UAAIGenVnf_updateGenericVnfResponse"); - Integer responseCode = (Integer) getVariableFromHistory(businessKey, "UAAIGenVnf_updateGenericVnfResponseCode"); - System.out.println("Subflow response code: " + responseCode); - System.out.println("Subflow response: " + response); - Assert.assertEquals(404, responseCode.intValue()); - - logEnd(); - } + + /** + * Test the happy path through the flow. + */ + @Test + @Deployment(resources = { + "subprocess/UpdateAAIGenericVnf.bpmn" + }) + public void happyPath() throws IOException { + logStart(); + + String updateAAIGenericVnfRequest = FileUtil.readResourceFile("__files/VfModularity/UpdateAAIGenericVnfRequest.xml"); + MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml"); + MockPutGenericVnf("/skask", 200); + MockPatchGenericVnf("skask"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + variables.put("mso-request-id", "999-99-9999"); + variables.put("isDebugLogEnabled","true"); + variables.put("UpdateAAIGenericVnfRequest", updateAAIGenericVnfRequest); + invokeSubProcess("UpdateAAIGenericVnf", businessKey, variables); + + Assert.assertTrue(isProcessEnded(businessKey)); + String response = (String) getVariableFromHistory(businessKey, "UAAIGenVnf_updateGenericVnfResponse"); + Integer responseCode = (Integer) getVariableFromHistory(businessKey, "UAAIGenVnf_updateGenericVnfResponseCode"); + System.out.println("Subflow response code: " + responseCode); + System.out.println("Subflow response: " + response); + Assert.assertEquals(200, responseCode.intValue()); + + logEnd(); + } + + /** + * Test the happy path through the flow. + */ + @Test + @Deployment(resources = { + "subprocess/UpdateAAIGenericVnf.bpmn" + }) + public void personaMismatch() throws IOException { + + logStart(); + + String updateAAIGenericVnfRequest = FileUtil.readResourceFile("__files/VfModularity/UpdateAAIGenericVnfRequest.xml"); + updateAAIGenericVnfRequest = updateAAIGenericVnfRequest.replaceFirst("introvert", "extrovert"); + + MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + variables.put("mso-request-id", "999-99-9999"); + variables.put("isDebugLogEnabled","true"); + variables.put("UpdateAAIGenericVnfRequest", updateAAIGenericVnfRequest); + invokeSubProcess("UpdateAAIGenericVnf", businessKey, variables); + + Assert.assertTrue(isProcessEnded(businessKey)); + WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); + System.out.println("Workflow Exception: " + workflowException); + Assert.assertNotNull(workflowException); + + logEnd(); + } + + /** + * Test the case where the GET to AAI returns a 404. + */ + @Test + @Deployment(resources = { + "subprocess/UpdateAAIGenericVnf.bpmn" + }) + public void badGet() throws IOException { + + logStart(); + + String updateAAIGenericVnfRequest = FileUtil.readResourceFile("__files/VfModularity/UpdateAAIGenericVnfRequest.xml"); + + MockGetGenericVnfById_404("skask[?]depth=1"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + variables.put("mso-request-id", "999-99-9999"); + variables.put("isDebugLogEnabled","true"); + variables.put("UpdateAAIGenericVnfRequest", updateAAIGenericVnfRequest); + invokeSubProcess("UpdateAAIGenericVnf", businessKey, variables); + + Assert.assertTrue(isProcessEnded(businessKey)); + String response = (String) getVariableFromHistory(businessKey, "UAAIGenVnf_getGenericVnfResponse"); + Integer responseCode = (Integer) getVariableFromHistory(businessKey, "UAAIGenVnf_getGenericVnfResponseCode"); + System.out.println("Subflow response code: " + responseCode); + System.out.println("Subflow response: " + response); + Assert.assertEquals(404, responseCode.intValue()); + + logEnd(); + } + + /** + * Test the case where the GET to AAI is successful, but he subsequent PUT returns 404. + */ + @Test + @Deployment(resources = { + "subprocess/UpdateAAIGenericVnf.bpmn" + }) + public void badPatch() throws IOException { + + logStart(); + + String updateAAIGenericVnfRequest = FileUtil.readResourceFile("__files/VfModularity/UpdateAAIGenericVnfRequest.xml"); + + MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml"); + MockPutGenericVnf_Bad("skask", 404); + MockAAIVfModuleBadPatch("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/skask", 404); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + variables.put("mso-request-id", "999-99-9999"); + variables.put("isDebugLogEnabled","true"); + variables.put("UpdateAAIGenericVnfRequest", updateAAIGenericVnfRequest); + invokeSubProcess("UpdateAAIGenericVnf", businessKey, variables); + + Assert.assertTrue(isProcessEnded(businessKey)); + String response = (String) getVariableFromHistory(businessKey, "UAAIGenVnf_updateGenericVnfResponse"); + Integer responseCode = (Integer) getVariableFromHistory(businessKey, "UAAIGenVnf_updateGenericVnfResponseCode"); + System.out.println("Subflow response code: " + responseCode); + System.out.println("Subflow response: " + response); + Assert.assertEquals(404, responseCode.intValue()); + + logEnd(); + } } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/UpdateAAIVfModuleTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/UpdateAAIVfModuleTest.java index 0e59310eeb..30d7e6d8c6 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/UpdateAAIVfModuleTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/UpdateAAIVfModuleTest.java @@ -16,7 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.common; @@ -41,101 +41,101 @@ import org.openecomp.mso.bpmn.mock.FileUtil; * Unit tests for UpdateAAIVfModuleTest.bpmn. */ public class UpdateAAIVfModuleTest extends WorkflowTest { - - /** - * Test the happy path through the flow. - */ - @Test - @Deployment(resources = { - "subprocess/UpdateAAIVfModule.bpmn" - }) - public void happyPath() throws IOException { - logStart(); - - String updateAAIVfModuleRequest = FileUtil.readResourceFile("__files/VfModularity/UpdateAAIVfModuleRequest.xml"); - MockGetGenericVnfByIdWithPriority("/skask/vf-modules/vf-module/supercool", 200, "VfModularity/VfModule-supercool.xml"); - MockPutGenericVnf("/skask/vf-modules/vf-module/supercool", "PCRF", 200); - MockPatchVfModuleId("skask", "supercool"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - variables.put("mso-request-id", "999-99-9999"); - variables.put("isDebugLogEnabled", "true"); - variables.put("UpdateAAIVfModuleRequest", updateAAIVfModuleRequest); - invokeSubProcess("UpdateAAIVfModule", businessKey, variables); - - Assert.assertTrue(isProcessEnded(businessKey)); - String response = (String) getVariableFromHistory(businessKey, "UAAIVfMod_updateVfModuleResponse"); - Integer responseCode = (Integer) getVariableFromHistory(businessKey, "UAAIVfMod_updateVfModuleResponseCode"); - System.out.println("Subflow response code: " + responseCode); - System.out.println("Subflow response: " + response); - Assert.assertEquals(200, responseCode.intValue()); - - logEnd(); - } - - /** - * Test the case where the GET to AAI returns a 404. - */ - @Test - @Deployment(resources = { - "subprocess/UpdateAAIVfModule.bpmn" - }) - public void badGet() throws IOException { - - logStart(); - - String updateAAIVfModuleRequest = FileUtil.readResourceFile("__files/VfModularity/UpdateAAIVfModuleRequest.xml"); - MockGetGenericVnfById("/skask/vf-modules/vf-module/.*", "VfModularity/VfModule-supercool.xml", 404); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - variables.put("mso-request-id", "999-99-9999"); - variables.put("isDebugLogEnabled", "true"); - variables.put("UpdateAAIVfModuleRequest", updateAAIVfModuleRequest); - invokeSubProcess("UpdateAAIVfModule", businessKey, variables); - - Assert.assertTrue(isProcessEnded(businessKey)); - String response = (String) getVariableFromHistory(businessKey, "UAAIVfMod_getVfModuleResponse"); - Integer responseCode = (Integer) getVariableFromHistory(businessKey, "UAAIVfMod_getVfModuleResponseCode"); - System.out.println("Subflow response code: " + responseCode); - System.out.println("Subflow response: " + response); - Assert.assertEquals(404, responseCode.intValue()); - - logEnd(); - } - - /** - * Test the case where the GET to AAI is successful, but he subsequent PUT returns 404. - */ - @Test - @Deployment(resources = { - "subprocess/UpdateAAIVfModule.bpmn" - }) - public void badPatch() throws IOException { - - logStart(); - - String updateAAIVfModuleRequest = FileUtil.readResourceFile("__files/VfModularity/UpdateAAIVfModuleRequest.xml"); - MockGetGenericVnfById_404("/skask/vf-modules/vf-module/supercool"); - MockGetGenericVnfById("/skask/vf-modules/vf-module/supercool", "VfModularity/VfModule-supercool.xml", 200); - MockAAIVfModuleBadPatch("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/skask/vf-modules/vf-module/supercool", 404); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - variables.put("mso-request-id", "999-99-9999"); - variables.put("isDebugLogEnabled", "true"); - variables.put("UpdateAAIVfModuleRequest", updateAAIVfModuleRequest); - invokeSubProcess("UpdateAAIVfModule", businessKey, variables); - - Assert.assertTrue(isProcessEnded(businessKey)); - String response = (String) getVariableFromHistory(businessKey, "UAAIVfMod_updateVfModuleResponse"); - Integer responseCode = (Integer) getVariableFromHistory(businessKey, "UAAIVfMod_updateVfModuleResponseCode"); - System.out.println("Subflow response code: " + responseCode); - System.out.println("Subflow response: " + response); - Assert.assertEquals(404, responseCode.intValue()); - - logEnd(); - } + + /** + * Test the happy path through the flow. + */ + @Test + @Deployment(resources = { + "subprocess/UpdateAAIVfModule.bpmn" + }) + public void happyPath() throws IOException { + logStart(); + + String updateAAIVfModuleRequest = FileUtil.readResourceFile("__files/VfModularity/UpdateAAIVfModuleRequest.xml"); + MockGetGenericVnfByIdWithPriority("/skask/vf-modules/vf-module/supercool", 200, "VfModularity/VfModule-supercool.xml"); + MockPutGenericVnf("/skask/vf-modules/vf-module/supercool", "PCRF", 200); + MockPatchVfModuleId("skask", "supercool"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + variables.put("mso-request-id", "999-99-9999"); + variables.put("isDebugLogEnabled","true"); + variables.put("UpdateAAIVfModuleRequest", updateAAIVfModuleRequest); + invokeSubProcess("UpdateAAIVfModule", businessKey, variables); + + Assert.assertTrue(isProcessEnded(businessKey)); + String response = (String) getVariableFromHistory(businessKey, "UAAIVfMod_updateVfModuleResponse"); + Integer responseCode = (Integer) getVariableFromHistory(businessKey, "UAAIVfMod_updateVfModuleResponseCode"); + System.out.println("Subflow response code: " + responseCode); + System.out.println("Subflow response: " + response); + Assert.assertEquals(200, responseCode.intValue()); + + logEnd(); + } + + /** + * Test the case where the GET to AAI returns a 404. + */ + @Test + @Deployment(resources = { + "subprocess/UpdateAAIVfModule.bpmn" + }) + public void badGet() throws IOException { + + logStart(); + + String updateAAIVfModuleRequest = FileUtil.readResourceFile("__files/VfModularity/UpdateAAIVfModuleRequest.xml"); + MockGetGenericVnfById("/skask/vf-modules/vf-module/.*", "VfModularity/VfModule-supercool.xml", 404); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + variables.put("mso-request-id", "999-99-9999"); + variables.put("isDebugLogEnabled","true"); + variables.put("UpdateAAIVfModuleRequest", updateAAIVfModuleRequest); + invokeSubProcess("UpdateAAIVfModule", businessKey, variables); + + Assert.assertTrue(isProcessEnded(businessKey)); + String response = (String) getVariableFromHistory(businessKey, "UAAIVfMod_getVfModuleResponse"); + Integer responseCode = (Integer) getVariableFromHistory(businessKey, "UAAIVfMod_getVfModuleResponseCode"); + System.out.println("Subflow response code: " + responseCode); + System.out.println("Subflow response: " + response); + Assert.assertEquals(404, responseCode.intValue()); + + logEnd(); + } + + /** + * Test the case where the GET to AAI is successful, but he subsequent PUT returns 404. + */ + @Test + @Deployment(resources = { + "subprocess/UpdateAAIVfModule.bpmn" + }) + public void badPatch() throws IOException { + + logStart(); + + String updateAAIVfModuleRequest = FileUtil.readResourceFile("__files/VfModularity/UpdateAAIVfModuleRequest.xml"); + MockGetGenericVnfById_404("/skask/vf-modules/vf-module/supercool"); + MockGetGenericVnfById("/skask/vf-modules/vf-module/supercool", "VfModularity/VfModule-supercool.xml", 200); + MockAAIVfModuleBadPatch("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/skask/vf-modules/vf-module/supercool", 404); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + variables.put("mso-request-id", "999-99-9999"); + variables.put("isDebugLogEnabled","true"); + variables.put("UpdateAAIVfModuleRequest", updateAAIVfModuleRequest); + invokeSubProcess("UpdateAAIVfModule", businessKey, variables); + + Assert.assertTrue(isProcessEnded(businessKey)); + String response = (String) getVariableFromHistory(businessKey, "UAAIVfMod_updateVfModuleResponse"); + Integer responseCode = (Integer) getVariableFromHistory(businessKey, "UAAIVfMod_updateVfModuleResponseCode"); + System.out.println("Subflow response code: " + responseCode); + System.out.println("Subflow response: " + response); + Assert.assertEquals(404, responseCode.intValue()); + + logEnd(); + } } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/VnfAdapterRestV1Test.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/VnfAdapterRestV1Test.java index e9a16a73b0..fb029fa740 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/VnfAdapterRestV1Test.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/VnfAdapterRestV1Test.java @@ -16,7 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.common; @@ -42,348 +42,348 @@ import org.openecomp.mso.bpmn.core.WorkflowException; */ public class VnfAdapterRestV1Test extends WorkflowTest { - private static final String EOL = "\n"; - - private final CallbackSet callbacks = new CallbackSet(); - - private final String CREATE_VF_MODULE_REQUEST = - "" + EOL + - " cloudSiteId" + EOL + - " tenantId" + EOL + - " vnfId" + EOL + - " vfModuleName" + EOL + - " vfModuleId" + EOL + - " vnfType" + EOL + - " vnfVersion" + EOL + - " vfModuleType" + EOL + - " volumeGroupId" + EOL + - " volumeGroupStackId" + EOL + - " baseVfModuleId" + EOL + - " baseVfModuleStackId" + EOL + - " true" + EOL + - " false" + EOL + - " true" + EOL + - " " + EOL + - " " + EOL + - " key1" + EOL + - " value1" + EOL + - " " + EOL + - " " + EOL + - " key2" + EOL + - " value2" + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - " requestId" + EOL + - " serviceInstanceId" + EOL + - " " + EOL + - " {{MESSAGE-ID}}" + EOL + - " http://localhost:28080/mso/WorkflowMessage" + EOL + - "" + EOL; - - private final String UPDATE_VF_MODULE_REQUEST = - "" + EOL + - " cloudSiteId" + EOL + - " tenantId" + EOL + - " vnfId" + EOL + - " vfModuleName" + EOL + - " vfModuleId" + EOL + - " vfModuleStackId" + EOL + - " vnfType" + EOL + - " vnfVersion" + EOL + - " vfModuleType" + EOL + - " volumeGroupId" + EOL + - " volumeGroupStackId" + EOL + - " baseVfModuleId" + EOL + - " baseVfModuleStackId" + EOL + - " true" + EOL + - " false" + EOL + - " true" + EOL + - " " + EOL + - " " + EOL + - " key1" + EOL + - " value1" + EOL + - " " + EOL + - " " + EOL + - " key2" + EOL + - " value2" + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - " requestId" + EOL + - " serviceInstanceId" + EOL + - " " + EOL + - " {{MESSAGE-ID}}" + EOL + - " http://localhost:28080/mso/WorkflowMessage" + EOL + - "" + EOL; - - private final String DELETE_VF_MODULE_REQUEST = - "" + EOL + - " cloudSiteId" + EOL + - " tenantId" + EOL + - " vnfId" + EOL + - " vfModuleId" + EOL + - " vfModuleStackId" + EOL + - " true" + EOL + - " " + EOL + - " requestId" + EOL + - " serviceInstanceId" + EOL + - " " + EOL + - " {{MESSAGE-ID}}" + EOL + - " http://localhost:28080/mso/WorkflowMessage" + EOL + - "" + EOL; - - private final String ROLLBACK_VF_MODULE_REQUEST = - "" + EOL + - " {{MESSAGE-ID}}" + EOL + - " http://localhost:28080/mso/WorkflowMessage" + EOL + - " true" + EOL + - " " + EOL + - " cloudSiteId" + EOL + - " tenantId" + EOL + - " vnfId" + EOL + - " vfModuleId" + EOL + - " vfModuleStackId" + EOL + - " " + EOL + - " requestId" + EOL + - " serviceInstanceId" + EOL + - " " + EOL + - " {{MESSAGE-ID}}" + EOL + - " true" + EOL + - " " + EOL + - "" + EOL; - - public VnfAdapterRestV1Test() throws IOException { - callbacks.put("createVfModule", - "" + EOL + - " vnfId" + EOL + - " vfModuleId" + EOL + - " vfModuleStackId" + EOL + - " true" + EOL + - " " + EOL + - " " + EOL + - " key1" + EOL + - " value1" + EOL + - " " + EOL + - " " + EOL + - " key2" + EOL + - " value2" + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - " vnfId" + EOL + - " vfModuleId" + EOL + - " vfModuleStackId" + EOL + - " true" + EOL + - " tenantId" + EOL + - " cloudSiteId" + EOL + - " " + EOL + - " requestId" + EOL + - " serviceInstanceId" + EOL + - " " + EOL + - " messageId" + EOL + - " " + EOL + - " {{MESSAGE-ID}}" + EOL + - "" + EOL); - - callbacks.put("updateVfModule", - "" + EOL + - " vnfId" + EOL + - " vfModuleId" + EOL + - " vfModuleStackId" + EOL + - " " + EOL + - " " + EOL + - " key1" + EOL + - " value1" + EOL + - " " + EOL + - " " + EOL + - " key2" + EOL + - " value2" + EOL + - " " + EOL + - " " + EOL + - " {{MESSAGE-ID}}" + EOL + - "" + EOL); - - callbacks.put("deleteVfModule", - "" + EOL + - " vnfId" + EOL + - " vfModuleId" + EOL + - " true" + EOL + - " {{MESSAGE-ID}}" + EOL + - "" + EOL); - - callbacks.put("rollbackVfModule", - "" + EOL + - " {{MESSAGE-ID}}" + EOL + - " true" + EOL + - "" + EOL); - - callbacks.put("vfModuleException", - "" + EOL + - " message" + EOL + - " category" + EOL + - " false" + EOL + - " {{MESSAGE-ID}}" + EOL + - "" + EOL); - } - - @Test - @Deployment(resources = { - "subprocess/VnfAdapterRestV1.bpmn" - }) - public void testCreateVfModuleSuccess() throws Exception { - logStart(); - - mockVNFPost("", 202, "vnfId"); - - String requestId = "dffbae0e-5588-4bd6-9749-b0f0adb52312"; - String messageId = requestId + "-" + System.currentTimeMillis(); - String request = CREATE_VF_MODULE_REQUEST.replace("{{MESSAGE-ID}}", messageId); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - variables.put("mso-request-id", requestId); - variables.put("isDebugLogEnabled", "true"); - variables.put("vnfAdapterRestV1Request", request); - - invokeSubProcess("vnfAdapterRestV1", businessKey, variables); - injectVNFRestCallbacks(callbacks, "createVfModule"); - waitForProcessEnd(businessKey, 10000); - - String response = (String) getVariableFromHistory(businessKey, "vnfAdapterRestV1Response"); - System.out.println("Response:\n" + response); - assertTrue(response.contains("")); - assertTrue((boolean) getVariableFromHistory(businessKey, "VNFREST_SuccessIndicator")); - - logEnd(); - } - - @Test - @Deployment(resources = { - "subprocess/VnfAdapterRestV1.bpmn" - }) - public void testUpdateVfModuleSuccess() throws Exception { - logStart(); - - mockVNFPut("/vfModuleId", 202); - - String requestId = "dffbae0e-5588-4bd6-9749-b0f0adb52312"; - String messageId = requestId + "-" + System.currentTimeMillis(); - String request = UPDATE_VF_MODULE_REQUEST.replace("{{MESSAGE-ID}}", messageId); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - variables.put("mso-request-id", requestId); - variables.put("isDebugLogEnabled", "true"); - variables.put("vnfAdapterRestV1Request", request); - - invokeSubProcess("vnfAdapterRestV1", businessKey, variables); - injectVNFRestCallbacks(callbacks, "updateVfModule"); - waitForProcessEnd(businessKey, 10000); - - String response = (String) getVariableFromHistory(businessKey, "vnfAdapterRestV1Response"); - System.out.println("Response:\n" + response); - assertTrue(response.contains("")); - assertTrue((boolean) getVariableFromHistory(businessKey, "VNFREST_SuccessIndicator")); - - logEnd(); - } - - @Test - @Deployment(resources = { - "subprocess/VnfAdapterRestV1.bpmn" - }) - public void testDeleteVfModuleSuccess() throws Exception { - logStart(); - - mockVNFDelete("vnfId", "/vfModuleId", 202); - - String requestId = "dffbae0e-5588-4bd6-9749-b0f0adb52312"; - String messageId = requestId + "-" + System.currentTimeMillis(); - String request = DELETE_VF_MODULE_REQUEST.replace("{{MESSAGE-ID}}", messageId); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - variables.put("mso-request-id", requestId); - variables.put("isDebugLogEnabled", "true"); - variables.put("vnfAdapterRestV1Request", request); - - invokeSubProcess("vnfAdapterRestV1", businessKey, variables); - injectVNFRestCallbacks(callbacks, "deleteVfModule"); - waitForProcessEnd(businessKey, 10000); - - String response = (String) getVariableFromHistory(businessKey, "vnfAdapterRestV1Response"); - System.out.println("Response:\n" + response); - assertTrue(response.contains("")); - assertTrue((boolean) getVariableFromHistory(businessKey, "VNFREST_SuccessIndicator")); - - logEnd(); - } - - @Test - @Deployment(resources = { - "subprocess/VnfAdapterRestV1.bpmn" - }) - public void testRollbackVfModuleSuccess() throws Exception { - logStart(); - - mockVNFRollbackDelete("/vfModuleId", 202); - - String requestId = "dffbae0e-5588-4bd6-9749-b0f0adb52312"; - String messageId = requestId + "-" + System.currentTimeMillis(); - String request = ROLLBACK_VF_MODULE_REQUEST.replace("{{MESSAGE-ID}}", messageId); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - variables.put("mso-request-id", requestId); - variables.put("isDebugLogEnabled", "true"); - variables.put("vnfAdapterRestV1Request", request); - - invokeSubProcess("vnfAdapterRestV1", businessKey, variables); - injectVNFRestCallbacks(callbacks, "rollbackVfModule"); - waitForProcessEnd(businessKey, 10000); - - String response = (String) getVariableFromHistory(businessKey, "vnfAdapterRestV1Response"); - System.out.println("Response:\n" + response); - assertTrue(response.contains("")); - assertTrue((boolean) getVariableFromHistory(businessKey, "VNFREST_SuccessIndicator")); - - logEnd(); - } - - @Test - @Deployment(resources = { - "subprocess/VnfAdapterRestV1.bpmn" - }) - public void testCreateVfModuleException() throws Exception { - logStart(); - - mockVNFPost("", 202, "vnfId"); - - String requestId = "dffbae0e-5588-4bd6-9749-b0f0adb52312"; - String messageId = requestId + "-" + System.currentTimeMillis(); - String request = CREATE_VF_MODULE_REQUEST.replace("{{MESSAGE-ID}}", messageId); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - variables.put("mso-request-id", requestId); - variables.put("isDebugLogEnabled", "true"); - variables.put("vnfAdapterRestV1Request", request); - - invokeSubProcess("vnfAdapterRestV1", businessKey, variables); - injectVNFRestCallbacks(callbacks, "vfModuleException"); - waitForProcessEnd(businessKey, 10000); - - WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); - assertNotNull(wfe); - System.out.println(wfe.toString()); - - String response = (String) getVariableFromHistory(businessKey, "WorkflowResponse"); - System.out.println("Response:\n" + response); - assertTrue(response.contains("")); - assertFalse((boolean) getVariableFromHistory(businessKey, "VNFREST_SuccessIndicator")); - - logEnd(); - } + private static final String EOL = "\n"; + + private final CallbackSet callbacks = new CallbackSet(); + + private final String CREATE_VF_MODULE_REQUEST = + "" + EOL + + " cloudSiteId" + EOL + + " tenantId" + EOL + + " vnfId" + EOL + + " vfModuleName" + EOL + + " vfModuleId" + EOL + + " vnfType" + EOL + + " vnfVersion" + EOL + + " vfModuleType" + EOL + + " volumeGroupId" + EOL + + " volumeGroupStackId" + EOL + + " baseVfModuleId" + EOL + + " baseVfModuleStackId" + EOL + + " true" + EOL + + " false" + EOL + + " true" + EOL + + " " + EOL + + " " + EOL + + " key1" + EOL + + " value1" + EOL + + " " + EOL + + " " + EOL + + " key2" + EOL + + " value2" + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + " requestId" + EOL + + " serviceInstanceId" + EOL + + " " + EOL + + " {{MESSAGE-ID}}" + EOL + + " http://localhost:28080/mso/WorkflowMessage" + EOL + + "" + EOL; + + private final String UPDATE_VF_MODULE_REQUEST = + "" + EOL + + " cloudSiteId" + EOL + + " tenantId" + EOL + + " vnfId" + EOL + + " vfModuleName" + EOL + + " vfModuleId" + EOL + + " vfModuleStackId" + EOL + + " vnfType" + EOL + + " vnfVersion" + EOL + + " vfModuleType" + EOL + + " volumeGroupId" + EOL + + " volumeGroupStackId" + EOL + + " baseVfModuleId" + EOL + + " baseVfModuleStackId" + EOL + + " true" + EOL + + " false" + EOL + + " true" + EOL + + " " + EOL + + " " + EOL + + " key1" + EOL + + " value1" + EOL + + " " + EOL + + " " + EOL + + " key2" + EOL + + " value2" + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + " requestId" + EOL + + " serviceInstanceId" + EOL + + " " + EOL + + " {{MESSAGE-ID}}" + EOL + + " http://localhost:28080/mso/WorkflowMessage" + EOL + + "" + EOL; + + private final String DELETE_VF_MODULE_REQUEST = + "" + EOL + + " cloudSiteId" + EOL + + " tenantId" + EOL + + " vnfId" + EOL + + " vfModuleId" + EOL + + " vfModuleStackId" + EOL + + " true" + EOL + + " " + EOL + + " requestId" + EOL + + " serviceInstanceId" + EOL + + " " + EOL + + " {{MESSAGE-ID}}" + EOL + + " http://localhost:28080/mso/WorkflowMessage" + EOL + + "" + EOL; + + private final String ROLLBACK_VF_MODULE_REQUEST = + "" + EOL + + " {{MESSAGE-ID}}" + EOL + + " http://localhost:28080/mso/WorkflowMessage" + EOL + + " true" + EOL + + " " + EOL + + " cloudSiteId" + EOL + + " tenantId" + EOL + + " vnfId" + EOL + + " vfModuleId" + EOL + + " vfModuleStackId" + EOL + + " " + EOL + + " requestId" + EOL + + " serviceInstanceId" + EOL + + " " + EOL + + " {{MESSAGE-ID}}" + EOL + + " true" + EOL + + " " + EOL + + "" + EOL; + + public VnfAdapterRestV1Test() throws IOException { + callbacks.put("createVfModule", + "" + EOL + + " vnfId" + EOL + + " vfModuleId" + EOL + + " vfModuleStackId" + EOL + + " true" + EOL + + " " + EOL + + " " + EOL + + " key1" + EOL + + " value1" + EOL + + " " + EOL + + " " + EOL + + " key2" + EOL + + " value2" + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + " vnfId" + EOL + + " vfModuleId" + EOL + + " vfModuleStackId" + EOL + + " true" + EOL + + " tenantId" + EOL + + " cloudSiteId" + EOL + + " " + EOL + + " requestId" + EOL + + " serviceInstanceId" + EOL + + " " + EOL + + " messageId" + EOL + + " " + EOL + + " {{MESSAGE-ID}}" + EOL + + "" + EOL); + + callbacks.put("updateVfModule", + "" + EOL + + " vnfId" + EOL + + " vfModuleId" + EOL + + " vfModuleStackId" + EOL + + " " + EOL + + " " + EOL + + " key1" + EOL + + " value1" + EOL + + " " + EOL + + " " + EOL + + " key2" + EOL + + " value2" + EOL + + " " + EOL + + " " + EOL + + " {{MESSAGE-ID}}" + EOL + + "" + EOL); + + callbacks.put("deleteVfModule", + "" + EOL + + " vnfId" + EOL + + " vfModuleId" + EOL + + " true" + EOL + + " {{MESSAGE-ID}}" + EOL + + "" + EOL); + + callbacks.put("rollbackVfModule", + "" + EOL + + " {{MESSAGE-ID}}" + EOL + + " true" + EOL + + "" + EOL); + + callbacks.put("vfModuleException", + "" + EOL + + " message" + EOL + + " category" + EOL + + " false" + EOL + + " {{MESSAGE-ID}}" + EOL + + "" + EOL); + } + + @Test + @Deployment(resources = { + "subprocess/VnfAdapterRestV1.bpmn" + }) + public void testCreateVfModuleSuccess() throws Exception { + logStart(); + + mockVNFPost("", 202, "vnfId"); + + String requestId = "dffbae0e-5588-4bd6-9749-b0f0adb52312"; + String messageId = requestId + "-" + System.currentTimeMillis(); + String request = CREATE_VF_MODULE_REQUEST.replace("{{MESSAGE-ID}}", messageId); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + variables.put("mso-request-id", requestId); + variables.put("isDebugLogEnabled", "true"); + variables.put("vnfAdapterRestV1Request", request); + + invokeSubProcess("vnfAdapterRestV1", businessKey, variables); + injectVNFRestCallbacks(callbacks, "createVfModule"); + waitForProcessEnd(businessKey, 10000); + + String response = (String) getVariableFromHistory(businessKey, "vnfAdapterRestV1Response"); + System.out.println("Response:\n" + response); + assertTrue(response.contains("")); + assertTrue((boolean) getVariableFromHistory(businessKey, "VNFREST_SuccessIndicator")); + + logEnd(); + } + + @Test + @Deployment(resources = { + "subprocess/VnfAdapterRestV1.bpmn" + }) + public void testUpdateVfModuleSuccess() throws Exception { + logStart(); + + mockVNFPut("/vfModuleId", 202); + + String requestId = "dffbae0e-5588-4bd6-9749-b0f0adb52312"; + String messageId = requestId + "-" + System.currentTimeMillis(); + String request = UPDATE_VF_MODULE_REQUEST.replace("{{MESSAGE-ID}}", messageId); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + variables.put("mso-request-id", requestId); + variables.put("isDebugLogEnabled", "true"); + variables.put("vnfAdapterRestV1Request", request); + + invokeSubProcess("vnfAdapterRestV1", businessKey, variables); + injectVNFRestCallbacks(callbacks, "updateVfModule"); + waitForProcessEnd(businessKey, 10000); + + String response = (String) getVariableFromHistory(businessKey, "vnfAdapterRestV1Response"); + System.out.println("Response:\n" + response); + assertTrue(response.contains("")); + assertTrue((boolean) getVariableFromHistory(businessKey, "VNFREST_SuccessIndicator")); + + logEnd(); + } + + @Test + @Deployment(resources = { + "subprocess/VnfAdapterRestV1.bpmn" + }) + public void testDeleteVfModuleSuccess() throws Exception { + logStart(); + + mockVNFDelete("vnfId", "/vfModuleId", 202); + + String requestId = "dffbae0e-5588-4bd6-9749-b0f0adb52312"; + String messageId = requestId + "-" + System.currentTimeMillis(); + String request = DELETE_VF_MODULE_REQUEST.replace("{{MESSAGE-ID}}", messageId); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + variables.put("mso-request-id", requestId); + variables.put("isDebugLogEnabled", "true"); + variables.put("vnfAdapterRestV1Request", request); + + invokeSubProcess("vnfAdapterRestV1", businessKey, variables); + injectVNFRestCallbacks(callbacks, "deleteVfModule"); + waitForProcessEnd(businessKey, 10000); + + String response = (String) getVariableFromHistory(businessKey, "vnfAdapterRestV1Response"); + System.out.println("Response:\n" + response); + assertTrue(response.contains("")); + assertTrue((boolean) getVariableFromHistory(businessKey, "VNFREST_SuccessIndicator")); + + logEnd(); + } + + @Test + @Deployment(resources = { + "subprocess/VnfAdapterRestV1.bpmn" + }) + public void testRollbackVfModuleSuccess() throws Exception { + logStart(); + + mockVNFRollbackDelete("/vfModuleId", 202); + + String requestId = "dffbae0e-5588-4bd6-9749-b0f0adb52312"; + String messageId = requestId + "-" + System.currentTimeMillis(); + String request = ROLLBACK_VF_MODULE_REQUEST.replace("{{MESSAGE-ID}}", messageId); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + variables.put("mso-request-id", requestId); + variables.put("isDebugLogEnabled", "true"); + variables.put("vnfAdapterRestV1Request", request); + + invokeSubProcess("vnfAdapterRestV1", businessKey, variables); + injectVNFRestCallbacks(callbacks, "rollbackVfModule"); + waitForProcessEnd(businessKey, 10000); + + String response = (String) getVariableFromHistory(businessKey, "vnfAdapterRestV1Response"); + System.out.println("Response:\n" + response); + assertTrue(response.contains("")); + assertTrue((boolean) getVariableFromHistory(businessKey, "VNFREST_SuccessIndicator")); + + logEnd(); + } + + @Test + @Deployment(resources = { + "subprocess/VnfAdapterRestV1.bpmn" + }) + public void testCreateVfModuleException() throws Exception { + logStart(); + + mockVNFPost("", 202, "vnfId"); + + String requestId = "dffbae0e-5588-4bd6-9749-b0f0adb52312"; + String messageId = requestId + "-" + System.currentTimeMillis(); + String request = CREATE_VF_MODULE_REQUEST.replace("{{MESSAGE-ID}}", messageId); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + variables.put("mso-request-id", requestId); + variables.put("isDebugLogEnabled", "true"); + variables.put("vnfAdapterRestV1Request", request); + + invokeSubProcess("vnfAdapterRestV1", businessKey, variables); + injectVNFRestCallbacks(callbacks, "vfModuleException"); + waitForProcessEnd(businessKey, 10000); + + WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); + assertNotNull(wfe); + System.out.println(wfe.toString()); + + String response = (String) getVariableFromHistory(businessKey, "WorkflowResponse"); + System.out.println("Response:\n" + response); + assertTrue(response.contains("")); + assertFalse((boolean) getVariableFromHistory(businessKey, "VNFREST_SuccessIndicator")); + + logEnd(); + } } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/WorkflowAsyncResourceTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/WorkflowAsyncResourceTest.java index 61dd627206..5f91298958 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/WorkflowAsyncResourceTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/WorkflowAsyncResourceTest.java @@ -16,7 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.common; @@ -36,62 +36,61 @@ import org.openecomp.mso.bpmn.common.workflow.service.WorkflowResponse; public class WorkflowAsyncResourceTest extends WorkflowTest { - @Test - @Deployment(resources = {"testAsyncResource.bpmn"}) - public void asyncRequestSuccess() throws InterruptedException { - //it can be any request which asynchronously processed by the workflow - String request = " SDN-ETHERNET-INTERNET HI/VLXM/950604//SW_INTERNET SubName01 "; - - Map variables = new HashMap<>(); - variables.put("testAsyncRequestMsg", request); - variables.put("mso-request-id", UUID.randomUUID().toString()); - variables.put("mso-service-request-timeout", "5"); - - WorkflowResponse workflowResponse = BPMNUtil.executeAsyncWorkflow(processEngineRule, "testAsyncProcess", variables); - assertEquals("Received the request, the process is getting executed, request message SDN-ETHERNET-INTERNET HI/VLXM/950604//SW_INTERNET SubName01 ", workflowResponse.getResponse()); - assertEquals(200, workflowResponse.getMessageCode()); - } - - private void executeWorkflow(String request, String requestId, AsynchronousResponse asyncResponse, String processKey) { - WorkflowAsyncResource workflowResource = new WorkflowAsyncResource(); - VariableMapImpl variableMap = new VariableMapImpl(); - - Map variableValueType = new HashMap<>(); - - Map requestMsg = new HashMap<>(); - requestMsg.put("value", request); - requestMsg.put("type", "String"); - - Map msorequestId = new HashMap<>(); - msorequestId.put("type", "String"); - msorequestId.put("value", requestId); - - Map timeout = new HashMap<>(); - timeout.put("type", "String"); - timeout.put("value", "5"); - - variableValueType.put("testAsyncRequestMsg", requestMsg); - variableValueType.put("mso-request-id", msorequestId); - variableValueType.put("mso-service-request-timeout", timeout); - - variableMap.put("variables", variableValueType); - - workflowResource.setProcessEngineServices4junit(processEngineRule); - workflowResource.startProcessInstanceByKey(asyncResponse, processKey, variableMap); - } - - class ProcessThread extends Thread { - - public WorkflowResponse workflowResponse; - public String requestId; - public String processKey; - public AsynchronousResponse asyncResponse = mock(AsynchronousResponse.class); - public String request; - public boolean started; - - public void run() { - started = true; - executeWorkflow(request, requestId, asyncResponse, processKey); - } - } + @Test + @Deployment(resources = { "testAsyncResource.bpmn" }) + public void asyncRequestSuccess() throws InterruptedException { + //it can be any request which asynchronously processed by the workflow + String request = " SDN-ETHERNET-INTERNET HI/VLXM/950604//SW_INTERNET SubName01 "; + + Map variables = new HashMap<>(); + variables.put("testAsyncRequestMsg", request); + variables.put("mso-request-id", UUID.randomUUID().toString()); + variables.put("mso-service-request-timeout", "5"); + + WorkflowResponse workflowResponse = BPMNUtil.executeAsyncWorkflow(processEngineRule, "testAsyncProcess", variables); + assertEquals("Received the request, the process is getting executed, request message SDN-ETHERNET-INTERNET HI/VLXM/950604//SW_INTERNET SubName01 ", workflowResponse.getResponse()); + assertEquals(200, workflowResponse.getMessageCode()); + } + + private void executeWorkflow(String request, String requestId, AsynchronousResponse asyncResponse, String processKey) { + WorkflowAsyncResource workflowResource = new WorkflowAsyncResource(); + VariableMapImpl variableMap = new VariableMapImpl(); + + Map variableValueType = new HashMap<>(); + + Map requestMsg = new HashMap<>(); + requestMsg.put("value", request); + requestMsg.put("type", "String"); + + Map msorequestId = new HashMap<>(); + msorequestId.put("type", "String"); + msorequestId.put("value",requestId); + + Map timeout = new HashMap<>(); + timeout.put("type", "String"); + timeout.put("value","5"); + + variableValueType.put("testAsyncRequestMsg", requestMsg); + variableValueType.put("mso-request-id", msorequestId); + variableValueType.put("mso-service-request-timeout", timeout); + + variableMap.put("variables", variableValueType); + + workflowResource.setProcessEngineServices4junit(processEngineRule); + workflowResource.startProcessInstanceByKey(asyncResponse, processKey, variableMap); + } + + class ProcessThread extends Thread { + + public WorkflowResponse workflowResponse; + public String requestId; + public String processKey; + public AsynchronousResponse asyncResponse = mock(AsynchronousResponse.class); + public String request; + public boolean started; + public void run() { + started = true; + executeWorkflow(request, requestId, asyncResponse, processKey); + } + } } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/WorkflowContextHolderTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/WorkflowContextHolderTest.java index 6ac5270c4c..0da711a7b8 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/WorkflowContextHolderTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/WorkflowContextHolderTest.java @@ -16,7 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.common; @@ -39,59 +39,59 @@ import org.openecomp.mso.bpmn.common.workflow.service.WorkflowResponse; public class WorkflowContextHolderTest { - private WorkflowContext createContext(AsynchronousResponse asyncResponse) { - WorkflowContextHolder contextHolder = WorkflowContextHolder.getInstance(); - String requestId = UUID.randomUUID().toString(); - WorkflowContext workflowContext = new WorkflowContext("testAsyncProcess", - requestId, asyncResponse, 1000L); - contextHolder.put(workflowContext); - return workflowContext; - } - - @Test - @Ignore // BROKEN TEST (previously ignored) - public void testContextExpiry() throws InterruptedException { - - WorkflowContextHolder contextHolder = WorkflowContextHolder.getInstance(); - AsynchronousResponse asyncResponse = mock(AsynchronousResponse.class); - WorkflowContext workflowContext = createContext(asyncResponse); - String requestId = workflowContext.getRequestId(); - WorkflowContext context1 = contextHolder.getWorkflowContext(requestId); - - Assert.assertNotNull(context1); - Assert.assertEquals(requestId, context1.getRequestId()); - Assert.assertEquals(workflowContext.getProcessKey(), context1.getProcessKey()); - Assert.assertEquals(workflowContext.getStartTime(), context1.getStartTime()); - - Thread.sleep(1000); - //context should not be available after a second - WorkflowContext context2 = contextHolder.getWorkflowContext(requestId); - Assert.assertNull(context2); - } - - @Test - public void testProcessCallback() { - WorkflowContextHolder contextHolder = WorkflowContextHolder.getInstance(); - AsynchronousResponse asyncResponse = mock(AsynchronousResponse.class); - WorkflowContext workflowContext = createContext(asyncResponse); - - WorkflowCallbackResponse callbackResponse = new WorkflowCallbackResponse(); - callbackResponse.setMessage("Success"); - callbackResponse.setResponse("Successfully processed request"); - callbackResponse.setStatusCode(200); - - Response response = contextHolder.processCallback("testAsyncProcess", - "process-instance-id", workflowContext.getRequestId(), - callbackResponse); - WorkflowResponse response1 = (WorkflowResponse) response.getEntity(); - Assert.assertNotNull(response1.getMessage()); - Assert.assertEquals(200, response1.getMessageCode()); - Assert.assertEquals("Success", response1.getMessage()); - Assert.assertEquals("Successfully processed request", response1.getResponse()); - verify(asyncResponse).setResponse(any(Response.class)); - - WorkflowContext context1 = contextHolder.getWorkflowContext(workflowContext.getRequestId()); - Assert.assertNull(context1); - } + private WorkflowContext createContext(AsynchronousResponse asyncResponse) { + WorkflowContextHolder contextHolder = WorkflowContextHolder.getInstance(); + String requestId = UUID.randomUUID().toString(); + WorkflowContext workflowContext = new WorkflowContext("testAsyncProcess", + requestId, asyncResponse, 1000L); + contextHolder.put(workflowContext); + return workflowContext; + } + + @Test + @Ignore // BROKEN TEST (previously ignored) + public void testContextExpiry() throws InterruptedException { + + WorkflowContextHolder contextHolder = WorkflowContextHolder.getInstance(); + AsynchronousResponse asyncResponse = mock(AsynchronousResponse.class); + WorkflowContext workflowContext = createContext(asyncResponse); + String requestId = workflowContext.getRequestId(); + WorkflowContext context1 = contextHolder.getWorkflowContext(requestId); + + Assert.assertNotNull(context1); + Assert.assertEquals(requestId, context1.getRequestId()); + Assert.assertEquals(workflowContext.getProcessKey(), context1.getProcessKey()); + Assert.assertEquals(workflowContext.getStartTime(), context1.getStartTime()); + + Thread.sleep(1000); + //context should not be available after a second + WorkflowContext context2 = contextHolder.getWorkflowContext(requestId); + Assert.assertNull(context2); + } + + @Test + public void testProcessCallback() { + WorkflowContextHolder contextHolder = WorkflowContextHolder.getInstance(); + AsynchronousResponse asyncResponse = mock(AsynchronousResponse.class); + WorkflowContext workflowContext = createContext(asyncResponse); + + WorkflowCallbackResponse callbackResponse = new WorkflowCallbackResponse(); + callbackResponse.setMessage("Success"); + callbackResponse.setResponse("Successfully processed request"); + callbackResponse.setStatusCode(200); + + Response response = contextHolder.processCallback("testAsyncProcess", + "process-instance-id", workflowContext.getRequestId(), + callbackResponse); + WorkflowResponse response1 = (WorkflowResponse) response.getEntity(); + Assert.assertNotNull(response1.getMessage()); + Assert.assertEquals(200,response1.getMessageCode()); + Assert.assertEquals("Success", response1.getMessage()); + Assert.assertEquals("Successfully processed request", response1.getResponse()); + verify(asyncResponse).setResponse(any(Response.class)); + + WorkflowContext context1 = contextHolder.getWorkflowContext(workflowContext.getRequestId()); + Assert.assertNull(context1); + } } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/WorkflowTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/WorkflowTest.java index df2004d911..6f0095fb02 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/WorkflowTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/WorkflowTest.java @@ -83,7 +83,6 @@ import org.openecomp.mso.bpmn.core.domain.Resource; import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition; import static org.openecomp.mso.bpmn.core.json.JsonUtils.*; - import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; @@ -96,6 +95,7 @@ import com.github.tomakehurst.wiremock.extension.ResponseTransformer; import com.github.tomakehurst.wiremock.junit.WireMockRule; + /** * A base class for Workflow tests. *

@@ -108,1970 +108,1934 @@ import com.github.tomakehurst.wiremock.junit.WireMockRule; * */ public class WorkflowTest { - @Rule - public final ProcessEngineRule processEngineRule = new ProcessEngineRule(); - - @Rule - public final WireMockRule wireMockRule; - - /** - * Content-Type for XML. - */ - protected static final String XML = "application/xml"; - - /** - * Content-Type for JSON. - */ - protected static final String JSON = "application/json; charset=UTF-8"; - - - /** - * Constructor. - */ - public WorkflowTest() throws RuntimeException { - // Process WorkflowTestTransformer annotations - List transformerList = new ArrayList(); - - for (Field field : getClass().getFields()) { - WorkflowTestTransformer annotation = (WorkflowTestTransformer) - field.getAnnotation(WorkflowTestTransformer.class); - - if (annotation == null) { - continue; - } - - if (!Modifier.isStatic(field.getModifiers())) { - throw new RuntimeException(field.getDeclaringClass().getName() - + "#" + field.getName() + " has a @WorkflowTestTransformer " - + " annotation but it is not declared static"); - } - - ResponseTransformer transformer; - - try { - transformer = (ResponseTransformer) field.get(null); - } catch (IllegalAccessException e) { - throw new RuntimeException(field.getDeclaringClass().getName() - + "#" + field.getName() + " is not accessible", e); - } catch (ClassCastException e) { - throw new RuntimeException(field.getDeclaringClass().getName() - + "#" + field.getName() + " is not a ResponseTransformer", e); - } - - if (transformer == null) { - continue; - } - - transformerList.add(transformer); - } - - ResponseTransformer[] transformerArray = - transformerList.toArray(new ResponseTransformer[transformerList.size()]); - - wireMockRule = new WireMockRule(WireMockConfiguration.wireMockConfig() - .port(28090).extensions(transformerArray)); - } - - @Before - public void testSetup() throws Exception { - CamundaDBSetup.configure(); - PropertyConfigurationSetup.init(); - } - - /** - * The current request ID. Normally set when an "invoke" method is called. - */ - protected volatile String msoRequestId = null; - - /** - * The current service instance ID. Normally set when an "invoke" method - * is called. - */ - protected volatile String msoServiceInstanceId = null; - - /** - * Logs a test start method. - */ - protected void logStart() { - StackTraceElement[] st = Thread.currentThread().getStackTrace(); - String method = st[2].getMethodName(); - System.out.println("STARTED TEST: " + method); - } - - /** - * Logs a test end method. - */ - protected void logEnd() { - StackTraceElement[] st = Thread.currentThread().getStackTrace(); - String method = st[2].getMethodName(); - System.out.println("ENDED TEST: " + method); - } - - /** - * Invokes a subprocess. - * - * @param processKey the process key - * @param businessKey a unique key that will identify the process instance - * @param injectedVariables variables to inject into the process - */ - protected void invokeSubProcess(String processKey, String businessKey, Map injectedVariables) { - RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean(); - List arguments = runtimeMxBean.getInputArguments(); - System.out.println("JVM args = " + arguments); - - msoRequestId = (String) injectedVariables.get("mso-request-id"); - String requestId = (String) injectedVariables.get("msoRequestId"); - - if (msoRequestId == null && requestId == null) { - String msg = "mso-request-id variable was not provided"; - System.out.println(msg); - fail(msg); - } - - // Note: some scenarios don't have a service-instance-id, may be null - msoServiceInstanceId = (String) injectedVariables.get("mso-service-instance-id"); - - RuntimeService runtimeService = processEngineRule.getRuntimeService(); - runtimeService.startProcessInstanceByKey(processKey, businessKey, injectedVariables); - } - - /** - * Invokes an asynchronous process. - * Errors are handled with junit assertions and will cause the test to fail. - * - * @param processKey the process key - * @param schemaVersion the API schema version, e.g. "v1" - * @param businessKey a unique key that will identify the process instance - * @param request the request - * @return a TestAsyncResponse object associated with the test - */ - protected TestAsyncResponse invokeAsyncProcess(String processKey, - String schemaVersion, String businessKey, String request) { - return invokeAsyncProcess(processKey, schemaVersion, businessKey, request, null); - } - - /** - * Invokes an asynchronous process. - * Errors are handled with junit assertions and will cause the test to fail. - * - * @param processKey the process key - * @param schemaVersion the API schema version, e.g. "v1" - * @param businessKey a unique key that will identify the process instance - * @param request the request - * @param injectedVariables optional variables to inject into the process - * @return a TestAsyncResponse object associated with the test - */ - protected TestAsyncResponse invokeAsyncProcess(String processKey, - String schemaVersion, String businessKey, String request, - Map injectedVariables) { - - RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean(); - List arguments = runtimeMxBean.getInputArguments(); - System.out.println("JVM args = " + arguments); - - Map variables = createVariables(schemaVersion, businessKey, - request, injectedVariables, false); - VariableMapImpl variableMapImpl = createVariableMapImpl(variables); - - System.out.println("Sending " + request + " to " + processKey + " process"); - WorkflowAsyncResource workflowResource = new WorkflowAsyncResource(); - workflowResource.setProcessEngineServices4junit(processEngineRule); - - TestAsyncResponse asyncResponse = new TestAsyncResponse(); - workflowResource.startProcessInstanceByKey(asyncResponse, processKey, variableMapImpl); - return asyncResponse; - } - - /** - * Invokes an asynchronous process. - * Errors are handled with junit assertions and will cause the test to fail. - * - * @param processKey the process key - * @param schemaVersion the API schema version, e.g. "v1" - * @param businessKey a unique key that will identify the process instance - * @param request the request - * @param injectedVariables optional variables to inject into the process - * @param serviceInstantiationModel indicates whether this method is being - * invoked for a flow that is designed using the service instantiation model - * @return a TestAsyncResponse object associated with the test - */ - protected TestAsyncResponse invokeAsyncProcess(String processKey, - String schemaVersion, String businessKey, String request, - Map injectedVariables, boolean serviceInstantiationModel) { - - RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean(); - List arguments = runtimeMxBean.getInputArguments(); - System.out.println("JVM args = " + arguments); - - Map variables = createVariables(schemaVersion, businessKey, - request, injectedVariables, serviceInstantiationModel); - VariableMapImpl variableMapImpl = createVariableMapImpl(variables); - - System.out.println("Sending " + request + " to " + processKey + " process"); - WorkflowAsyncResource workflowResource = new WorkflowAsyncResource(); - workflowResource.setProcessEngineServices4junit(processEngineRule); - - TestAsyncResponse asyncResponse = new TestAsyncResponse(); - workflowResource.startProcessInstanceByKey(asyncResponse, processKey, variableMapImpl); - return asyncResponse; - } - - /** - * Private helper method that creates a variable map for a request. - * Errors are handled with junit assertions and will cause the test to fail. - * - * @param schemaVersion the API schema version, e.g. "v1" - * @param businessKey a unique key that will identify the process instance - * @param request the request - * @param injectedVariables optional variables to inject into the process - * @param serviceInstantiationModel indicates whether this method is being - * invoked for a flow that is designed using the service instantiation model - * @return a variable map - */ - private Map createVariables(String schemaVersion, - String businessKey, String request, Map injectedVariables, - boolean serviceInstantiationModel) { - - Map variables = new HashMap<>(); - - // These variables may be overridded by injected variables. - variables.put("mso-service-request-timeout", "180"); - variables.put("isDebugLogEnabled", "true"); - - // These variables may not be overridded by injected variables. - String[] notAllowed = new String[]{ - "mso-schema-version", - "mso-business-key", - "bpmnRequest", - "mso-request-id", - "mso-service-instance-id" - }; - - if (injectedVariables != null) { - for (String key : injectedVariables.keySet()) { - for (String var : notAllowed) { - if (var.equals(key)) { - String msg = "Cannot specify " + var + " in injected variables"; - System.out.println(msg); - fail(msg); - } - } - - variables.put(key, injectedVariables.get(key)); - } - } - - variables.put("mso-schema-version", schemaVersion); - variables.put("mso-business-key", businessKey); - variables.put("bpmnRequest", request); - - if (serviceInstantiationModel) { + @Rule + public final ProcessEngineRule processEngineRule = new ProcessEngineRule(); + + @Rule + public final WireMockRule wireMockRule; + + /** + * Content-Type for XML. + */ + protected static final String XML = "application/xml"; + + /** + * Content-Type for JSON. + */ + protected static final String JSON = "application/json; charset=UTF-8"; + + + /** + * Constructor. + */ + public WorkflowTest() throws RuntimeException { + // Process WorkflowTestTransformer annotations + List transformerList = new ArrayList(); + + for (Field field : getClass().getFields()) { + WorkflowTestTransformer annotation = (WorkflowTestTransformer) + field.getAnnotation(WorkflowTestTransformer.class); + + if (annotation == null) { + continue; + } + + if (!Modifier.isStatic(field.getModifiers())) { + throw new RuntimeException(field.getDeclaringClass().getName() + + "#" + field.getName() + " has a @WorkflowTestTransformer " + + " annotation but it is not declared static"); + } + + ResponseTransformer transformer; + + try { + transformer = (ResponseTransformer) field.get(null); + } catch (IllegalAccessException e) { + throw new RuntimeException(field.getDeclaringClass().getName() + + "#" + field.getName() + " is not accessible", e); + } catch (ClassCastException e) { + throw new RuntimeException(field.getDeclaringClass().getName() + + "#" + field.getName() + " is not a ResponseTransformer", e); + } + + if (transformer == null) { + continue; + } + + transformerList.add(transformer); + } + + ResponseTransformer[] transformerArray = + transformerList.toArray(new ResponseTransformer[transformerList.size()]); + + wireMockRule = new WireMockRule(WireMockConfiguration.wireMockConfig() + .port(28090).extensions(transformerArray)); + } + + @Before + public void testSetup() throws Exception { + CamundaDBSetup.configure(); + PropertyConfigurationSetup.init(); + } + + /** + * The current request ID. Normally set when an "invoke" method is called. + */ + protected volatile String msoRequestId = null; + + /** + * The current service instance ID. Normally set when an "invoke" method + * is called. + */ + protected volatile String msoServiceInstanceId = null; + + /** + * Logs a test start method. + */ + protected void logStart() { + StackTraceElement[] st = Thread.currentThread().getStackTrace(); + String method = st[2].getMethodName(); + System.out.println("STARTED TEST: " + method); + } + + /** + * Logs a test end method. + */ + protected void logEnd() { + StackTraceElement[] st = Thread.currentThread().getStackTrace(); + String method = st[2].getMethodName(); + System.out.println("ENDED TEST: " + method); + } + + /** + * Invokes a subprocess. + * @param processKey the process key + * @param businessKey a unique key that will identify the process instance + * @param injectedVariables variables to inject into the process + */ + protected void invokeSubProcess(String processKey, String businessKey, Map injectedVariables) { + RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean(); + List arguments = runtimeMxBean.getInputArguments(); + System.out.println("JVM args = " + arguments); + + msoRequestId = (String) injectedVariables.get("mso-request-id"); + String requestId = (String) injectedVariables.get("msoRequestId"); + + if (msoRequestId == null && requestId == null) { + String msg = "mso-request-id variable was not provided"; + System.out.println(msg); + fail(msg); + } + + // Note: some scenarios don't have a service-instance-id, may be null + msoServiceInstanceId = (String) injectedVariables.get("mso-service-instance-id"); + + RuntimeService runtimeService = processEngineRule.getRuntimeService(); + runtimeService.startProcessInstanceByKey(processKey, businessKey, injectedVariables); + } + + /** + * Invokes an asynchronous process. + * Errors are handled with junit assertions and will cause the test to fail. + * @param processKey the process key + * @param schemaVersion the API schema version, e.g. "v1" + * @param businessKey a unique key that will identify the process instance + * @param request the request + * @return a TestAsyncResponse object associated with the test + */ + protected TestAsyncResponse invokeAsyncProcess(String processKey, + String schemaVersion, String businessKey, String request) { + return invokeAsyncProcess(processKey, schemaVersion, businessKey, request, null); + } + + /** + * Invokes an asynchronous process. + * Errors are handled with junit assertions and will cause the test to fail. + * @param processKey the process key + * @param schemaVersion the API schema version, e.g. "v1" + * @param businessKey a unique key that will identify the process instance + * @param request the request + * @param injectedVariables optional variables to inject into the process + * @return a TestAsyncResponse object associated with the test + */ + protected TestAsyncResponse invokeAsyncProcess(String processKey, + String schemaVersion, String businessKey, String request, + Map injectedVariables) { + + RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean(); + List arguments = runtimeMxBean.getInputArguments(); + System.out.println("JVM args = " + arguments); + + Map variables = createVariables(schemaVersion, businessKey, + request, injectedVariables, false); + VariableMapImpl variableMapImpl = createVariableMapImpl(variables); + + System.out.println("Sending " + request + " to " + processKey + " process"); + WorkflowAsyncResource workflowResource = new WorkflowAsyncResource(); + workflowResource.setProcessEngineServices4junit(processEngineRule); + + TestAsyncResponse asyncResponse = new TestAsyncResponse(); + workflowResource.startProcessInstanceByKey(asyncResponse, processKey, variableMapImpl); + return asyncResponse; + } + + /** + * Invokes an asynchronous process. + * Errors are handled with junit assertions and will cause the test to fail. + * @param processKey the process key + * @param schemaVersion the API schema version, e.g. "v1" + * @param businessKey a unique key that will identify the process instance + * @param request the request + * @param injectedVariables optional variables to inject into the process + * @param serviceInstantiationModel indicates whether this method is being + * invoked for a flow that is designed using the service instantiation model + * @return a TestAsyncResponse object associated with the test + */ + protected TestAsyncResponse invokeAsyncProcess(String processKey, + String schemaVersion, String businessKey, String request, + Map injectedVariables, boolean serviceInstantiationModel) { + + RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean(); + List arguments = runtimeMxBean.getInputArguments(); + System.out.println("JVM args = " + arguments); + + Map variables = createVariables(schemaVersion, businessKey, + request, injectedVariables, serviceInstantiationModel); + VariableMapImpl variableMapImpl = createVariableMapImpl(variables); + + System.out.println("Sending " + request + " to " + processKey + " process"); + WorkflowAsyncResource workflowResource = new WorkflowAsyncResource(); + workflowResource.setProcessEngineServices4junit(processEngineRule); + + TestAsyncResponse asyncResponse = new TestAsyncResponse(); + workflowResource.startProcessInstanceByKey(asyncResponse, processKey, variableMapImpl); + return asyncResponse; + } + + /** + * Private helper method that creates a variable map for a request. + * Errors are handled with junit assertions and will cause the test to fail. + * @param schemaVersion the API schema version, e.g. "v1" + * @param businessKey a unique key that will identify the process instance + * @param request the request + * @param injectedVariables optional variables to inject into the process + * @param serviceInstantiationModel indicates whether this method is being + * invoked for a flow that is designed using the service instantiation model + * @return a variable map + */ + private Map createVariables(String schemaVersion, + String businessKey, String request, Map injectedVariables, + boolean serviceInstantiationModel) { + + Map variables = new HashMap<>(); + + // These variables may be overridded by injected variables. + variables.put("mso-service-request-timeout", "180"); + variables.put("isDebugLogEnabled", "true"); + + // These variables may not be overridded by injected variables. + String[] notAllowed = new String[] { + "mso-schema-version", + "mso-business-key", + "bpmnRequest", + "mso-request-id", + "mso-service-instance-id" + }; + + if (injectedVariables != null) { + for (String key : injectedVariables.keySet()) { + for (String var : notAllowed) { + if (var.equals(key)) { + String msg = "Cannot specify " + var + " in injected variables"; + System.out.println(msg); + fail(msg); + } + } + + variables.put(key, injectedVariables.get(key)); + } + } + + variables.put("mso-schema-version", schemaVersion); + variables.put("mso-business-key", businessKey); + variables.put("bpmnRequest", request); + + if (serviceInstantiationModel) { /* - * The request ID and the service instance ID are generated for flows + * The request ID and the service instance ID are generated for flows * that follow the service instantiation model unless "requestId" and * "serviceInstanceId" are injected variables. */ - try { - msoRequestId = (String) injectedVariables.get("requestId"); - variables.put("mso-request-id", msoRequestId); - msoServiceInstanceId = (String) injectedVariables.get("serviceInstanceId"); - variables.put("mso-service-instance-id", msoServiceInstanceId); - } catch (Exception e) { - } - if (msoRequestId == null || msoRequestId.trim().equals("")) { - System.out.println("No requestId element in injectedVariables"); - variables.put("mso-request-id", UUID.randomUUID().toString()); - } - if (msoServiceInstanceId == null || msoServiceInstanceId.trim().equals("")) { - System.out.println("No seviceInstanceId element in injectedVariables"); - variables.put("mso-service-instance-id", UUID.randomUUID().toString()); - } - - } else { - msoRequestId = getXMLTextElement(request, "request-id"); - - if (msoRequestId == null) { - //check in injected variables - try { - msoRequestId = (String) injectedVariables.get("requestId"); - } catch (Exception e) { - } - if (msoRequestId == null || msoRequestId.trim().equals("")) { - String msg = "No request-id element in " + request; - System.out.println(msg); - fail(msg); - } - } - - variables.put("mso-request-id", msoRequestId); - - // Note: some request types don't have a service-instance-id - msoServiceInstanceId = getXMLTextElement(request, "service-instance-id"); - - if (msoServiceInstanceId != null) { - variables.put("mso-service-instance-id", msoServiceInstanceId); - } - } - - return variables; - } - - /** - * Private helper method that creates a camunda VariableMapImpl from a simple - * variable map. - * - * @param variables the simple variable map - * @return a VariableMap - */ - private VariableMapImpl createVariableMapImpl(Map variables) { - Map wrappedVariables = new HashMap<>(); - - for (String key : variables.keySet()) { - Object value = variables.get(key); - wrappedVariables.put(key, wrapVariableValue(value)); - } - - VariableMapImpl variableMapImpl = new VariableMapImpl(); - variableMapImpl.put("variables", wrappedVariables); - return variableMapImpl; - } - - /** - * Private helper method that wraps a variable value for inclusion in a - * camunda VariableMapImpl. - * - * @param value the variable value - * @return the wrapped variable - */ - private Map wrapVariableValue(Object value) { - HashMap valueMap = new HashMap<>(); - valueMap.put("value", value); - return valueMap; - } - - /** - * Receives a response from an asynchronous process. - * Errors are handled with junit assertions and will cause the test to fail. - * - * @param businessKey the process business key - * @param asyncResponse the TestAsyncResponse object associated with the test - * @param timeout the timeout in milliseconds - * @return the WorkflowResponse - */ - protected WorkflowResponse receiveResponse(String businessKey, - TestAsyncResponse asyncResponse, long timeout) { - System.out.println("Waiting " + timeout + "ms for process with business key " + businessKey - + " to send a response"); - - long now = System.currentTimeMillis() + timeout; - long endTime = now + timeout; - - while (now <= endTime) { - Response response = asyncResponse.getResponse(); - - if (response != null) { - System.out.println("Received a response from process with business key " + businessKey); - - Object entity = response.getEntity(); - - if (!(entity instanceof WorkflowResponse)) { - String msg = "Response entity is " + - (entity == null ? "null" : entity.getClass().getName()) + - ", expected WorkflowResponse"; - System.out.println(msg); - fail(msg); - return null; // unreachable - } - - return (WorkflowResponse) entity; - } - - try { - Thread.sleep(200); - } catch (InterruptedException e) { - String msg = "Interrupted waiting for a response from process with business key " + - businessKey; - System.out.println(msg); - fail(msg); - return null; // unreachable - } - - now = System.currentTimeMillis(); - } - - String msg = "No response received from process with business key " + businessKey + - " within " + timeout + "ms"; - System.out.println(msg); - fail("Process with business key " + businessKey + " did not end within 10000ms"); - return null; // unreachable - } - - /** - * Runs a program to inject SDNC callback data into the test environment. - * A program is essentially just a list of keys that identify callback data - * to be injected, in sequence. An example program: - *

-     *     reserve, assign, delete:ERR
-     * 
- * Errors are handled with junit assertions and will cause the test to fail. - * - * @param callbacks an object containing callback data for the program - * @param program the program to execute - */ - protected void injectSDNCRestCallbacks(CallbackSet callbacks, String program) { - - String[] cmds = program.replaceAll("\\s+", "").split(","); - - for (String cmd : cmds) { - String action = cmd; - String modifier = "STD"; - - if (cmd.contains(":")) { - String[] parts = cmd.split(":"); - action = parts[0]; - modifier = parts[1]; - } - - String content = null; - String contentType = null; - - if ("STD".equals(modifier)) { - CallbackData callbackData = callbacks.get(action); - - if (callbackData == null) { - String msg = "No callback defined for '" + action + "' SDNC request"; - System.out.println(msg); - fail(msg); - } - - content = callbackData.getContent(); - contentType = callbackData.getContentType(); - } else if ("ERR".equals(modifier)) { - content = "{\"SDNCServiceError\":{\"sdncRequestId\":\"((REQUEST-ID))\",\"responseCode\":\"500\",\"responseMessage\":\"SIMULATED ERROR FROM SDNC ADAPTER\",\"ackFinalIndicator\":\"Y\"}}"; - contentType = JSON; - } else { - String msg = "Invalid SDNC program modifier: '" + modifier + "'"; - System.out.println(msg); - fail(msg); - } - - if (contentType == null) { - // Default for backward compatibility with existing tests. - contentType = JSON; - } - - if (!injectSDNCRestCallback(contentType, content, 10000)) { - fail("Failed to inject SDNC '" + action + "' callback"); - } - - try { - Thread.sleep(1000); - } catch (InterruptedException e) { - fail("Interrupted after injection of SDNC '" + action + "' callback"); - } - } - } - - /** - * Runs a program to inject SDNC events into the test environment. - * A program is essentially just a list of keys that identify event data - * to be injected, in sequence. An example program: - *
-     *     event1, event2
-     * 
- * NOTE: Each callback must have a message type associated with it, e.g. - * "SDNCAEvent". - * Errors are handled with junit assertions and will cause the test to fail. - * - * @param callbacks an object containing event data for the program - * @param program the program to execute - */ - protected void injectSDNCEvents(CallbackSet callbacks, String program) { - injectWorkflowMessages(callbacks, program); - } - - /** - * Runs a program to inject SDNC callback data into the test environment. - * A program is essentially just a list of keys that identify callback data - * to be injected, in sequence. An example program: - *
-     *     reserve, assign, delete:ERR
-     * 
- * Errors are handled with junit assertions and will cause the test to fail. - * - * @param callbacks an object containing callback data for the program - * @param program the program to execute - */ - protected void injectSDNCCallbacks(CallbackSet callbacks, String program) { - - String[] cmds = program.replaceAll("\\s+", "").split(","); - - for (String cmd : cmds) { - String action = cmd; - String modifier = "STD"; - - if (cmd.contains(":")) { - String[] parts = cmd.split(":"); - action = parts[0]; - modifier = parts[1]; - } - - String content = null; - int respCode = 200; - String respMsg = "OK"; - - if ("STD".equals(modifier)) { - CallbackData callbackData = callbacks.get(action); - - if (callbackData == null) { - String msg = "No callback defined for '" + action + "' SDNC request"; - System.out.println(msg); - fail(msg); - } - - content = callbackData.getContent(); - respCode = 200; - respMsg = "OK"; - } else if ("CREATED".equals(modifier)) { - CallbackData callbackData = callbacks.get(action); - - if (callbackData == null) { - String msg = "No callback defined for '" + action + "' SDNC request"; - System.out.println(msg); - fail(msg); - } - - content = callbackData.getContent(); - respCode = 201; - respMsg = "Created"; - } else if ("ERR".equals(modifier)) { - content = "((REQUEST-ID))500SIMULATED ERROR FROM SDNC ADAPTER"; - respCode = 500; - respMsg = "SERVER ERROR"; - } else { - String msg = "Invalid SDNC program modifier: '" + modifier + "'"; - System.out.println(msg); - fail(msg); - } - - if (!injectSDNCCallback(respCode, respMsg, content, 10000)) { - fail("Failed to inject SDNC '" + action + "' callback"); - } - - try { - Thread.sleep(1000); - } catch (InterruptedException e) { - fail("Interrupted after injection of SDNC '" + action + "' callback"); - } - } - } - - /** - * Runs a program to inject VNF adapter REST callback data into the test environment. - * A program is essentially just a list of keys that identify callback data - * to be injected, in sequence. An example program: - *
-     *     create, rollback
-     * 
- * Errors are handled with junit assertions and will cause the test to fail. - * - * @param callbacks an object containing callback data for the program - * @param program the program to execute - */ - protected void injectVNFRestCallbacks(CallbackSet callbacks, String program) { - - String[] cmds = program.replaceAll("\\s+", "").split(","); - - for (String cmd : cmds) { - String action = cmd; - String modifier = "STD"; - - if (cmd.contains(":")) { - String[] parts = cmd.split(":"); - action = parts[0]; - modifier = parts[1]; - } - - String content = null; - String contentType = null; - - if ("STD".equals(modifier)) { - CallbackData callbackData = callbacks.get(action); - - if (callbackData == null) { - String msg = "No callback defined for '" + action + "' VNF REST request"; - System.out.println(msg); - fail(msg); - } - - content = callbackData.getContent(); - contentType = callbackData.getContentType(); - } else if ("ERR".equals(modifier)) { - content = "SIMULATED ERROR FROM VNF ADAPTER"; - contentType = "text/plain"; - } else { - String msg = "Invalid VNF REST program modifier: '" + modifier + "'"; - System.out.println(msg); - fail(msg); - } - - if (contentType == null) { - // Default for backward compatibility with existing tests. - contentType = XML; - } - - if (!injectVnfAdapterRestCallback(contentType, content, 10000)) { - fail("Failed to inject VNF REST '" + action + "' callback"); - } - - try { - Thread.sleep(1000); - } catch (InterruptedException e) { - fail("Interrupted after injection of VNF REST '" + action + "' callback"); - } - } - } - - /** - * Runs a program to inject VNF callback data into the test environment. - * A program is essentially just a list of keys that identify callback data - * to be injected, in sequence. An example program: - *
-     *     createVnf, deleteVnf
-     * 
- * Errors are handled with junit assertions and will cause the test to fail. - * - * @param callbacks an object containing callback data for the program - * @param program the program to execute - */ - protected void injectVNFCallbacks(CallbackSet callbacks, String program) { - - String[] cmds = program.replaceAll("\\s+", "").split(","); - - for (String cmd : cmds) { - String action = cmd; - String modifier = "STD"; - - if (cmd.contains(":")) { - String[] parts = cmd.split(":"); - action = parts[0]; - modifier = parts[1]; - } - - String content = null; - - if ("STD".equals(modifier)) { - CallbackData callbackData = callbacks.get(action); - - if (callbackData == null) { - String msg = "No callback defined for '" + action + "' VNF request"; - System.out.println(msg); - fail(msg); - } - - content = callbackData.getContent(); - } else if ("ERR".equals(modifier)) { - String msg = "Currently unsupported VNF program modifier: '" + modifier + "'"; - System.out.println(msg); - fail(msg); - } else { - String msg = "Invalid VNF program modifier: '" + modifier + "'"; - System.out.println(msg); - fail(msg); - } - - boolean injected = false; - - if (content.contains("createVnfNotification")) { - injected = injectCreateVNFCallback(content, 10000); - } else if (content.contains("deleteVnfNotification")) { - injected = injectDeleteVNFCallback(content, 10000); - } else if (content.contains("updateVnfNotification")) { - injected = injectUpdateVNFCallback(content, 10000); - } - - if (!injected) { - String msg = "Failed to inject VNF '" + action + "' callback"; - System.out.println(msg); - fail(msg); - } - - try { - Thread.sleep(1000); - } catch (InterruptedException e) { - fail("Interrupted after injection of VNF '" + action + "' callback"); - } - } - } - - /** - * Waits for the number of running processes with the specified process - * definition key to equal a particular count. - * - * @param processKey the process definition key - * @param count the desired count - * @param timeout the timeout in milliseconds - */ - protected void waitForRunningProcessCount(String processKey, int count, long timeout) { - System.out.println("Waiting " + timeout + "ms for there to be " + count + " " - + processKey + " instances"); - - long now = System.currentTimeMillis() + timeout; - long endTime = now + timeout; - int last = -1; - - while (now <= endTime) { - int actual = processEngineRule.getRuntimeService() - .createProcessInstanceQuery() - .processDefinitionKey(processKey) - .list().size(); - - if (actual != last) { - System.out.println("There are now " + actual + " " - + processKey + " instances"); - last = actual; - } - - if (actual == count) { - return; - } - - try { - Thread.sleep(200); - } catch (InterruptedException e) { - String msg = "Interrupted waiting for there to be " + count + " " - + processKey + " instances"; - System.out.println(msg); - fail(msg); - } - - now = System.currentTimeMillis(); - } - - String msg = "Timed out waiting for there to be " + count + " " - + processKey + " instances"; - System.out.println(msg); - fail(msg); - } - - /** - * Waits for the specified process variable to be set. - * - * @param processKey the process definition key - * @param variable the variable name - * @param timeout the timeout in milliseconds - * @return the variable value, or null if it cannot be obtained - * in the specified time - */ - protected Object getProcessVariable(String processKey, String variable, - long timeout) { - - System.out.println("Waiting " + timeout + "ms for " - + processKey + "." + variable + " to be set"); - - long now = System.currentTimeMillis() + timeout; - long endTime = now + timeout; - - ProcessInstance processInstance = null; - Object value = null; - - while (value == null) { - if (now > endTime) { - if (processInstance == null) { - System.out.println("Timed out waiting for " - + processKey + " to start"); - } else { - System.out.println("Timed out waiting for " - + processKey + "[" + processInstance.getId() - + "]." + variable + " to be set"); - } - - return null; - } - - if (processInstance == null) { - processInstance = processEngineRule.getRuntimeService() - .createProcessInstanceQuery() - .processDefinitionKey(processKey) - .singleResult(); - } - - if (processInstance != null) { - value = processEngineRule.getRuntimeService() - .getVariable(processInstance.getId(), variable); - } - - try { - Thread.sleep(200); - } catch (InterruptedException e) { - System.out.println("Interrupted waiting for " - + processKey + "." + variable + " to be set"); - return null; - } - - now = System.currentTimeMillis(); - } - - System.out.println(processKey + "[" - + processInstance.getId() + "]." + variable + "=" - + value); - - return value; - } - - /** - * Injects a single SDNC adapter callback request. The specified callback data - * may contain the placeholder string ((REQUEST-ID)) which is replaced with - * the actual SDNC request ID. Note: this is not the requestId in the original - * MSO request. - * - * @param contentType the HTTP content type for the callback - * @param content the content of the callback - * @param timeout the timeout in milliseconds - * @return true if the callback could be injected, false otherwise - */ - protected boolean injectSDNCRestCallback(String contentType, String content, long timeout) { - String sdncRequestId = (String) getProcessVariable("SDNCAdapterRestV1", - "SDNCAResponse_CORRELATOR", timeout); - - if (sdncRequestId == null) { - return false; - } - - content = content.replace("((REQUEST-ID))", sdncRequestId); - // Deprecated usage. All test code should switch to the (( ... )) syntax. - content = content.replace("{{REQUEST-ID}}", sdncRequestId); - - System.out.println("Injecting SDNC adapter callback"); - WorkflowMessageResource workflowMessageResource = new WorkflowMessageResource(); - workflowMessageResource.setProcessEngineServices4junit(processEngineRule); - Response response = workflowMessageResource.deliver(contentType, "SDNCAResponse", sdncRequestId, content); - System.out.println("Workflow response to SDNC adapter callback: " + response); - return true; - } - - /** - * Injects a single SDNC adapter callback request. The specified callback data - * may contain the placeholder string ((REQUEST-ID)) which is replaced with - * the actual SDNC request ID. Note: this is not the requestId in the original - * MSO request. - * - * @param content the content of the callback - * @param respCode the response code (normally 200) - * @param respMsg the response message (normally "OK") - * @param timeout the timeout in milliseconds - * @return true if the callback could be injected, false otherwise - */ - protected boolean injectSDNCCallback(int respCode, String respMsg, - String content, long timeout) { - - String sdncRequestId = (String) getProcessVariable("sdncAdapter", - "SDNCA_requestId", timeout); - - if (sdncRequestId == null) { - return false; - } - - content = content.replace("((REQUEST-ID))", sdncRequestId); - // Deprecated usage. All test code should switch to the (( ... )) syntax. - content = content.replace("{{REQUEST-ID}}", sdncRequestId); - - System.out.println("Injecting SDNC adapter callback"); - CallbackHeader callbackHeader = new CallbackHeader(); - callbackHeader.setRequestId(sdncRequestId); - callbackHeader.setResponseCode(String.valueOf(respCode)); - callbackHeader.setResponseMessage(respMsg); - SDNCAdapterCallbackRequest sdncAdapterCallbackRequest = new SDNCAdapterCallbackRequest(); - sdncAdapterCallbackRequest.setCallbackHeader(callbackHeader); - sdncAdapterCallbackRequest.setRequestData(content); - SDNCAdapterCallbackServiceImpl callbackService = new SDNCAdapterCallbackServiceImpl(); - callbackService.setProcessEngineServices4junit(processEngineRule); - SDNCAdapterResponse sdncAdapterResponse = callbackService.sdncAdapterCallback(sdncAdapterCallbackRequest); - System.out.println("Workflow response to SDNC adapter callback: " + sdncAdapterResponse); - - return true; - } - - /** - * Injects a single VNF adapter callback request. The specified callback data - * may contain the placeholder string ((MESSAGE-ID)) which is replaced with - * the actual message ID. Note: this is not the requestId in the original - * MSO request. - * - * @param contentType the HTTP content type for the callback - * @param content the content of the callback - * @param timeout the timeout in milliseconds - * @return true if the callback could be injected, false otherwise - */ - protected boolean injectVnfAdapterRestCallback(String contentType, String content, long timeout) { - String messageId = (String) getProcessVariable("vnfAdapterRestV1", - "VNFAResponse_CORRELATOR", timeout); - - if (messageId == null) { - return false; - } - - content = content.replace("((MESSAGE-ID))", messageId); - // Deprecated usage. All test code should switch to the (( ... )) syntax. - content = content.replace("{{MESSAGE-ID}}", messageId); - - System.out.println("Injecting VNF adapter callback"); - WorkflowMessageResource workflowMessageResource = new WorkflowMessageResource(); - workflowMessageResource.setProcessEngineServices4junit(processEngineRule); - Response response = workflowMessageResource.deliver(contentType, "VNFAResponse", messageId, content); - System.out.println("Workflow response to VNF adapter callback: " + response); - return true; - } - - /** - * Injects a Create VNF adapter callback request. The specified callback data - * may contain the placeholder string ((MESSAGE-ID)) which is replaced with - * the actual message ID. It may also contain the placeholder string - * ((REQUEST-ID)) which is replaced request ID of the original MSO request. - * - * @param content the content of the callback - * @param timeout the timeout in milliseconds - * @return true if the callback could be injected, false otherwise - * @throws JAXBException if the content does not adhere to the schema - */ - protected boolean injectCreateVNFCallback(String content, long timeout) { - - String messageId = (String) getProcessVariable("vnfAdapterCreateV1", - "VNFC_messageId", timeout); - - if (messageId == null) { - return false; - } - - content = content.replace("((MESSAGE-ID))", messageId); - // Deprecated usage. All test code should switch to the (( ... )) syntax. - content = content.replace("{{MESSAGE-ID}}", messageId); - - if (content.contains("((REQUEST-ID))")) { - content = content.replace("((REQUEST-ID))", msoRequestId); - // Deprecated usage. All test code should switch to the (( ... )) syntax. - content = content.replace("{{REQUEST-ID}}", msoRequestId); - } - - System.out.println("Injecting VNF adapter callback"); - - // Is it possible to unmarshal this with JAXB? I couldn't. - - CreateVnfNotification createVnfNotification = new CreateVnfNotification(); - XPathTool xpathTool = new VnfNotifyXPathTool(); - xpathTool.setXML(content); - - try { - String completed = xpathTool.evaluate( - "/tns:createVnfNotification/tns:completed/text()"); - createVnfNotification.setCompleted("true".equals(completed)); - - String vnfId = xpathTool.evaluate( - "/tns:createVnfNotification/tns:vnfId/text()"); - createVnfNotification.setVnfId(vnfId); - - NodeList entries = (NodeList) xpathTool.evaluate( - "/tns:createVnfNotification/tns:outputs/tns:entry", - XPathConstants.NODESET); - - CreateVnfNotificationOutputs outputs = new CreateVnfNotificationOutputs(); - - for (int i = 0; i < entries.getLength(); i++) { - Node node = entries.item(i); - - if (node.getNodeType() == Node.ELEMENT_NODE) { - Element entry = (Element) node; - String key = entry.getElementsByTagNameNS("*", "key").item(0).getTextContent(); - String value = entry.getElementsByTagNameNS("*", "value").item(0).getTextContent(); - outputs.add(key, value); - } - } - - createVnfNotification.setOutputs(outputs); - - VnfRollback rollback = new VnfRollback(); - - String cloudSiteId = xpathTool.evaluate( - "/tns:createVnfNotification/tns:rollback/tns:cloudSiteId/text()"); - rollback.setCloudSiteId(cloudSiteId); - - String requestId = xpathTool.evaluate( - "/tns:createVnfNotification/tns:rollback/tns:msoRequest/tns:requestId/text()"); - String serviceInstanceId = xpathTool.evaluate( - "/tns:createVnfNotification/tns:rollback/tns:msoRequest/tns:serviceInstanceId/text()"); - - if (requestId != null || serviceInstanceId != null) { - MsoRequest msoRequest = new MsoRequest(); - msoRequest.setRequestId(requestId); - msoRequest.setServiceInstanceId(serviceInstanceId); - rollback.setMsoRequest(msoRequest); - } - - String tenantCreated = xpathTool.evaluate( - "/tns:createVnfNotification/tns:rollback/tns:tenantCreated/text()"); - rollback.setTenantCreated("true".equals(tenantCreated)); - - String tenantId = xpathTool.evaluate( - "/tns:createVnfNotification/tns:rollback/tns:tenantId/text()"); - rollback.setTenantId(tenantId); - - String vnfCreated = xpathTool.evaluate( - "/tns:createVnfNotification/tns:rollback/tns:vnfCreated/text()"); - rollback.setVnfCreated("true".equals(vnfCreated)); - - String rollbackVnfId = xpathTool.evaluate( - "/tns:createVnfNotification/tns:rollback/tns:vnfId/text()"); - rollback.setVnfId(rollbackVnfId); - - createVnfNotification.setRollback(rollback); - - } catch (Exception e) { - System.out.println("Failed to unmarshal VNF callback content:"); - System.out.println(content); - return false; - } - - VnfAdapterNotifyServiceImpl notifyService = new VnfAdapterNotifyServiceImpl(); - notifyService.setProcessEngineServices4junit(processEngineRule); - - notifyService.createVnfNotification( - messageId, - createVnfNotification.isCompleted(), - createVnfNotification.getException(), - createVnfNotification.getErrorMessage(), - createVnfNotification.getVnfId(), - createVnfNotification.getOutputs(), - createVnfNotification.getRollback()); - - return true; - } - - /** - * Injects a Delete VNF adapter callback request. The specified callback data - * may contain the placeholder string ((MESSAGE-ID)) which is replaced with - * the actual message ID. It may also contain the placeholder string - * ((REQUEST-ID)) which is replaced request ID of the original MSO request. - * - * @param content the content of the callback - * @param timeout the timeout in milliseconds - * @return true if the callback could be injected, false otherwise - * @throws JAXBException if the content does not adhere to the schema - */ - protected boolean injectDeleteVNFCallback(String content, long timeout) { - - String messageId = (String) getProcessVariable("vnfAdapterDeleteV1", - "VNFDEL_uuid", timeout); - - if (messageId == null) { - return false; - } - - content = content.replace("((MESSAGE-ID))", messageId); - // Deprecated usage. All test code should switch to the (( ... )) syntax. - content = content.replace("{{MESSAGE-ID}}", messageId); - - System.out.println("Injecting VNF adapter delete callback"); - - // Is it possible to unmarshal this with JAXB? I couldn't. - - DeleteVnfNotification deleteVnfNotification = new DeleteVnfNotification(); - XPathTool xpathTool = new VnfNotifyXPathTool(); - xpathTool.setXML(content); - - try { - String completed = xpathTool.evaluate( - "/tns:deleteVnfNotification/tns:completed/text()"); - deleteVnfNotification.setCompleted("true".equals(completed)); - // if notification failure, set the exception and error message - if (deleteVnfNotification.isCompleted() == false) { - deleteVnfNotification.setException(MsoExceptionCategory.INTERNAL); - deleteVnfNotification.setErrorMessage(xpathTool.evaluate( - "/tns:deleteVnfNotification/tns:errorMessage/text()")); - } - - } catch (Exception e) { - System.out.println("Failed to unmarshal VNF Delete callback content:"); - System.out.println(content); - return false; - } - - VnfAdapterNotifyServiceImpl notifyService = new VnfAdapterNotifyServiceImpl(); - notifyService.setProcessEngineServices4junit(processEngineRule); - - notifyService.deleteVnfNotification( - messageId, - deleteVnfNotification.isCompleted(), - deleteVnfNotification.getException(), - deleteVnfNotification.getErrorMessage()); - - return true; - } - - /** - * Injects a Update VNF adapter callback request. The specified callback data - * may contain the placeholder string ((MESSAGE-ID)) which is replaced with - * the actual message ID. It may also contain the placeholder string - * ((REQUEST-ID)) which is replaced request ID of the original MSO request. - * - * @param content the content of the callback - * @param timeout the timeout in milliseconds - * @return true if the callback could be injected, false otherwise - * @throws JAXBException if the content does not adhere to the schema - */ - protected boolean injectUpdateVNFCallback(String content, long timeout) { - - String messageId = (String) getProcessVariable("vnfAdapterUpdate", - "VNFU_messageId", timeout); - - if (messageId == null) { - return false; - } - - content = content.replace("((MESSAGE-ID))", messageId); - // Deprecated usage. All test code should switch to the (( ... )) syntax. - content = content.replace("{{MESSAGE-ID}}", messageId); - - content = content.replace("((REQUEST-ID))", msoRequestId); - // Deprecated usage. All test code should switch to the (( ... )) syntax. - content = content.replace("{{REQUEST-ID}}", msoRequestId); - - System.out.println("Injecting VNF adapter callback"); - - // Is it possible to unmarshal this with JAXB? I couldn't. - - UpdateVnfNotification updateVnfNotification = new UpdateVnfNotification(); - XPathTool xpathTool = new VnfNotifyXPathTool(); - xpathTool.setXML(content); - - try { - String completed = xpathTool.evaluate( - "/tns:updateVnfNotification/tns:completed/text()"); - updateVnfNotification.setCompleted("true".equals(completed)); - - NodeList entries = (NodeList) xpathTool.evaluate( - "/tns:updateVnfNotification/tns:outputs/tns:entry", - XPathConstants.NODESET); - - UpdateVnfNotificationOutputs outputs = new UpdateVnfNotificationOutputs(); - - for (int i = 0; i < entries.getLength(); i++) { - Node node = entries.item(i); - - if (node.getNodeType() == Node.ELEMENT_NODE) { - Element entry = (Element) node; - String key = entry.getElementsByTagNameNS("*", "key").item(0).getTextContent(); - String value = entry.getElementsByTagNameNS("*", "value").item(0).getTextContent(); - outputs.add(key, value); - } - } - - updateVnfNotification.setOutputs(outputs); - - VnfRollback rollback = new VnfRollback(); - - String cloudSiteId = xpathTool.evaluate( - "/tns:updateVnfNotification/tns:rollback/tns:cloudSiteId/text()"); - rollback.setCloudSiteId(cloudSiteId); - - String requestId = xpathTool.evaluate( - "/tns:updateVnfNotification/tns:rollback/tns:msoRequest/tns:requestId/text()"); - String serviceInstanceId = xpathTool.evaluate( - "/tns:updateVnfNotification/tns:rollback/tns:msoRequest/tns:serviceInstanceId/text()"); - - if (requestId != null || serviceInstanceId != null) { - MsoRequest msoRequest = new MsoRequest(); - msoRequest.setRequestId(requestId); - msoRequest.setServiceInstanceId(serviceInstanceId); - rollback.setMsoRequest(msoRequest); - } - - String tenantCreated = xpathTool.evaluate( - "/tns:updateVnfNotification/tns:rollback/tns:tenantCreated/text()"); - rollback.setTenantCreated("true".equals(tenantCreated)); - - String tenantId = xpathTool.evaluate( - "/tns:updateVnfNotification/tns:rollback/tns:tenantId/text()"); - rollback.setTenantId(tenantId); - - String vnfCreated = xpathTool.evaluate( - "/tns:updateVnfNotification/tns:rollback/tns:vnfCreated/text()"); - rollback.setVnfCreated("true".equals(vnfCreated)); - - String rollbackVnfId = xpathTool.evaluate( - "/tns:updateVnfNotification/tns:rollback/tns:vnfId/text()"); - rollback.setVnfId(rollbackVnfId); - - updateVnfNotification.setRollback(rollback); - - } catch (Exception e) { - System.out.println("Failed to unmarshal VNF callback content:"); - System.out.println(content); - return false; - } - - VnfAdapterNotifyServiceImpl notifyService = new VnfAdapterNotifyServiceImpl(); - notifyService.setProcessEngineServices4junit(processEngineRule); - - notifyService.updateVnfNotification( - messageId, - updateVnfNotification.isCompleted(), - updateVnfNotification.getException(), - updateVnfNotification.getErrorMessage(), - updateVnfNotification.getOutputs(), - updateVnfNotification.getRollback()); - - return true; - } - - /** - * Runs a program to inject workflow messages into the test environment. - * A program is essentially just a list of keys that identify event data - * to be injected, in sequence. An example program: - *
-     *     event1, event2
-     * 
- * Errors are handled with junit assertions and will cause the test to fail. - * NOTE: Each callback must have a workflow message type associated with it. - * - * @param callbacks an object containing event data for the program - * @param program the program to execute - */ - protected void injectWorkflowMessages(CallbackSet callbacks, String program) { - - String[] cmds = program.replaceAll("\\s+", "").split(","); - - for (String cmd : cmds) { - String action = cmd; - String modifier = "STD"; - - if (cmd.contains(":")) { - String[] parts = cmd.split(":"); - action = parts[0]; - modifier = parts[1]; - } - - String messageType = null; - String content = null; - String contentType = null; - - if ("STD".equals(modifier)) { - CallbackData callbackData = callbacks.get(action); - - if (callbackData == null) { - String msg = "No '" + action + "' workflow message callback is defined"; - System.out.println(msg); - fail(msg); - } - - messageType = callbackData.getMessageType(); - - if (messageType == null || messageType.trim().equals("")) { - String msg = "No workflow message type is defined in the '" + action + "' callback"; - System.out.println(msg); - fail(msg); - } - - content = callbackData.getContent(); - contentType = callbackData.getContentType(); - } else { - String msg = "Invalid workflow message program modifier: '" + modifier + "'"; - System.out.println(msg); - fail(msg); - } - - if (!injectWorkflowMessage(contentType, messageType, content, 10000)) { - fail("Failed to inject '" + action + "' workflow message"); - } - - try { - Thread.sleep(1000); - } catch (InterruptedException e) { - fail("Interrupted after injection of '" + action + "' workflow message"); - } - } - } - - /** - * Injects a workflow message. The specified callback data may contain the - * placeholder string ((CORRELATOR)) which is replaced with the actual - * correlator value. - * - * @param contentType the HTTP contentType for the message (possibly null) - * @param messageType the message type - * @param content the message content (possibly null) - * @param timeout the timeout in milliseconds - * @return true if the message could be injected, false otherwise - */ - protected boolean injectWorkflowMessage(String contentType, String messageType, String content, long timeout) { - String correlator = (String) getProcessVariable("ReceiveWorkflowMessage", - messageType + "_CORRELATOR", timeout); - - if (correlator == null) { - return false; - } - - if (content != null) { - content = content.replace("((CORRELATOR))", correlator); - } - - System.out.println("Injecting " + messageType + " message"); - WorkflowMessageResource workflowMessageResource = new WorkflowMessageResource(); - workflowMessageResource.setProcessEngineServices4junit(processEngineRule); - Response response = workflowMessageResource.deliver(contentType, messageType, correlator, content); - System.out.println("Workflow response to " + messageType + " message: " + response); - return true; - } - - /** - * Runs a program to inject sniro workflow messages into the test environment. - * A program is essentially just a list of keys that identify event data - * to be injected, in sequence. For more details, see - * injectSNIROCallbacks(String contentType, String messageType, String content, long timeout) - *

- * Errors are handled with junit assertions and will cause the test to fail. - * NOTE: Each callback must have a workflow message type associated with it. - * - * @param callbacks an object containing event data for the program - * @param program the program to execute - */ - protected void injectSNIROCallbacks(CallbackSet callbacks, String program) { - - String[] cmds = program.replaceAll("\\s+", "").split(","); - - for (String cmd : cmds) { - String action = cmd; - String modifier = "STD"; - - if (cmd.contains(":")) { - String[] parts = cmd.split(":"); - action = parts[0]; - modifier = parts[1]; - } - - String messageType = null; - String content = null; - String contentType = null; - - if ("STD".equals(modifier)) { - CallbackData callbackData = callbacks.get(action); - - if (callbackData == null) { - String msg = "No '" + action + "' workflow message callback is defined"; - System.out.println(msg); - fail(msg); - } - - messageType = callbackData.getMessageType(); - - if (messageType == null || messageType.trim().equals("")) { - String msg = "No workflow message type is defined in the '" + action + "' callback"; - System.out.println(msg); - fail(msg); - } - - content = callbackData.getContent(); - contentType = callbackData.getContentType(); - } else { - String msg = "Invalid workflow message program modifier: '" + modifier + "'"; - System.out.println(msg); - fail(msg); - } - - if (!injectSNIROCallbacks(contentType, messageType, content, 10000)) { - fail("Failed to inject '" + action + "' workflow message"); - } - - try { - Thread.sleep(1000); - } catch (InterruptedException e) { - fail("Interrupted after injection of '" + action + "' workflow message"); - } - } - } - - /** - * Injects a sniro workflow message. The specified callback response may - * contain the placeholder strings ((CORRELATOR)) and ((SERVICE_RESOURCE_ID)) - * The ((CORRELATOR)) is replaced with the actual correlator value from the - * request. The ((SERVICE_RESOURCE_ID)) is replaced with the actual serviceResourceId - * value from the sniro request. Currently this only works with sniro request - * that contain only 1 resource. - * - * @param contentType the HTTP contentType for the message (possibly null) - * @param messageType the message type - * @param content the message content (possibly null) - * @param timeout the timeout in milliseconds - * @return true if the message could be injected, false otherwise - */ - protected boolean injectSNIROCallbacks(String contentType, String messageType, String content, long timeout) { - String correlator = (String) getProcessVariable("ReceiveWorkflowMessage", - messageType + "_CORRELATOR", timeout); - - if (correlator == null) { - return false; - } - if (content != null) { - content = content.replace("((CORRELATOR))", correlator); - if (messageType.equalsIgnoreCase("SNIROResponse")) { - //TODO figure out a solution for when there is more than 1 resource being homed (i.e. more than 1 reason in the placement list) - ServiceDecomposition decomp = (ServiceDecomposition) getProcessVariable("Homing", "serviceDecomposition", timeout); - List resourceList = decomp.getServiceResources(); - if (resourceList.size() == 1) { - String resourceId = ""; - for (Resource resource : resourceList) { - resourceId = resource.getResourceId(); - } - String homingList = getJsonValue(content, "solutionInfo.placement"); - JSONArray placementArr = new JSONArray(homingList); - if (placementArr.length() == 1) { - content = content.replace("((SERVICE_RESOURCE_ID))", resourceId); - } - String licenseInfoList = getJsonValue(content, "solutionInfo.licenseInfo"); - JSONArray licenseArr = new JSONArray(licenseInfoList); - if (licenseArr.length() == 1) { - content = content.replace("((SERVICE_RESOURCE_ID))", resourceId); - } - } - } - } - System.out.println("Injecting " + messageType + " message"); - WorkflowMessageResource workflowMessageResource = new WorkflowMessageResource(); - workflowMessageResource.setProcessEngineServices4junit(processEngineRule); - Response response = workflowMessageResource.deliver(contentType, messageType, correlator, content); - System.out.println("Workflow response to " + messageType + " message: " + response); - return true; - } - - - /** - * Wait for the process to end. - * - * @param businessKey the process business key - * @param timeout the amount of time to wait, in milliseconds - */ - protected void waitForProcessEnd(String businessKey, long timeout) { - System.out.println("Waiting " + timeout + "ms for process with business key " + - businessKey + " to end"); - - long now = System.currentTimeMillis() + timeout; - long endTime = now + timeout; - - while (now <= endTime) { - if (isProcessEnded(businessKey)) { - System.out.println("Process with business key " + businessKey + " has ended"); - return; - } - - try { - Thread.sleep(200); - } catch (InterruptedException e) { - String msg = "Interrupted waiting for process with business key " + - businessKey + " to end"; - System.out.println(msg); - fail(msg); - } - - now = System.currentTimeMillis(); - } - - String msg = "Process with business key " + businessKey + - " did not end within " + timeout + "ms"; - System.out.println(msg); - fail(msg); - } - - /** - * Verifies that the specified historic process variable has the specified value. - * If the variable does not have the specified value, the test is failed. - * - * @param businessKey the process business key - * @param variable the variable name - * @param value the expected variable value - */ - protected void checkVariable(String businessKey, String variable, Object value) { - if (!isProcessEnded(businessKey)) { - fail("Cannot get historic variable " + variable + " because process with business key " + - businessKey + " has not ended"); - } - - Object variableValue = getVariableFromHistory(businessKey, variable); - assertEquals(value, variableValue); - } - - /** - * Checks to see if the specified process is ended. - * - * @param businessKey the process business Key - * @return true if the process is ended - */ - protected boolean isProcessEnded(String businessKey) { - HistoricProcessInstance processInstance = processEngineRule.getHistoryService() - .createHistoricProcessInstanceQuery().processInstanceBusinessKey(businessKey).singleResult(); - return processInstance != null && processInstance.getEndTime() != null; - } - - /** - * Gets a variable value from a historical process instance. - * - * @param businessKey the process business key - * @param variableName the variable name - * @return the variable value, or null if the variable could not be - * obtained - */ - protected Object getVariableFromHistory(String businessKey, String variableName) { - try { - HistoricProcessInstance processInstance = processEngineRule.getHistoryService() - .createHistoricProcessInstanceQuery().processInstanceBusinessKey(businessKey).singleResult(); - - if (processInstance == null) { - return null; - } - - HistoricVariableInstance v = processEngineRule.getHistoryService() - .createHistoricVariableInstanceQuery().processInstanceId(processInstance.getId()) - .variableName(variableName).singleResult(); - return v == null ? null : v.getValue(); - } catch (Exception e) { - System.out.println("Error retrieving variable " + variableName + - " from historical process with business key " + businessKey + ": " + e); - return null; - } - } - - /** - * Gets the value of a subflow variable from the specified subflow's - * historical process instance. - * - * @param subflowName - the name of the subflow that contains the variable - * @param variableName the variable name - * @return the variable value, or null if the variable could not be obtained - */ - protected Object getVariableFromSubflowHistory(String subflowName, String variableName) { - try { - List processInstanceList = processEngineRule.getHistoryService() - .createHistoricProcessInstanceQuery().processDefinitionName(subflowName).list(); - - if (processInstanceList == null) { - return null; - } - - processInstanceList.sort((m1, m2) -> m1.getStartTime().compareTo(m2.getStartTime())); - - HistoricProcessInstance processInstance = processInstanceList.get(0); - - HistoricVariableInstance v = processEngineRule.getHistoryService() - .createHistoricVariableInstanceQuery().processInstanceId(processInstance.getId()) - .variableName(variableName).singleResult(); - return v == null ? null : v.getValue(); - } catch (Exception e) { - System.out.println("Error retrieving variable " + variableName + - " from sub flow: " + subflowName + ", Exception is: " + e); - return null; - } - } - - /** - * Gets the value of a subflow variable from the subflow's - * historical process x instance. - * - * @param subflowName - the name of the subflow that contains the variable - * @param variableName the variable name - * @param subflowInstanceIndex - the instance of the subflow (use when same subflow is called more than once from mainflow) - * @return the variable value, or null if the variable could not be obtained - */ - protected Object getVariableFromSubflowHistory(int subflowInstanceIndex, String subflowName, String variableName) { - try { - List processInstanceList = processEngineRule.getHistoryService() - .createHistoricProcessInstanceQuery().processDefinitionName(subflowName).list(); - - if (processInstanceList == null) { - return null; - } - - processInstanceList.sort((m1, m2) -> m1.getStartTime().compareTo(m2.getStartTime())); - - HistoricProcessInstance processInstance = processInstanceList.get(subflowInstanceIndex); - - HistoricVariableInstance v = processEngineRule.getHistoryService() - .createHistoricVariableInstanceQuery().processInstanceId(processInstance.getId()) - .variableName(variableName).singleResult(); - return v == null ? null : v.getValue(); - } catch (Exception e) { - System.out.println("Error retrieving variable " + variableName + - " from " + subflowInstanceIndex + " instance index of sub flow: " + subflowName + ", Exception is: " + e); - return null; - } - } - - - /** - * Extracts text from an XML element. This method is not namespace aware - * (namespaces are ignored). The first matching element is selected. - * - * @param xml the XML document or fragment - * @param tag the desired element, e.g. "" - * @return the element text, or null if the element was not found - */ - protected String getXMLTextElement(String xml, String tag) { - xml = removeXMLNamespaces(xml); - - if (!tag.startsWith("<")) { - tag = "<" + tag + ">"; - } - - int start = xml.indexOf(tag); - - if (start == -1) { - return null; - } - - int end = xml.indexOf('<', start + tag.length()); - - if (end == -1) { - return null; - } - - return xml.substring(start + tag.length(), end); - } - - /** - * Removes namespace definitions and prefixes from XML, if any. - */ - private String removeXMLNamespaces(String xml) { - // remove xmlns declaration - xml = xml.replaceAll("xmlns.*?(\"|\').*?(\"|\')", ""); - - // remove opening tag prefix - xml = xml.replaceAll("(<)(\\w+:)(.*?>)", "$1$3"); - - // remove closing tags prefix - xml = xml.replaceAll("()", "$1$3"); - - // remove extra spaces left when xmlns declarations are removed - xml = xml.replaceAll("\\s+>", ">"); - - return xml; - } - - /** - * Asserts that two XML documents are semantically equivalent. Differences - * in whitespace or in namespace usage do not affect the comparison. - * - * @param expected the expected XML - * @param actual the XML to test - * @throws SAXException - * @throws IOException - */ + try { + msoRequestId = (String) injectedVariables.get("requestId"); + variables.put("mso-request-id", msoRequestId); + msoServiceInstanceId = (String) injectedVariables.get("serviceInstanceId"); + variables.put("mso-service-instance-id", msoServiceInstanceId); + } + catch(Exception e) { + } + if (msoRequestId == null || msoRequestId.trim().equals("")) { + System.out.println("No requestId element in injectedVariables"); + variables.put("mso-request-id", UUID.randomUUID().toString()); + } + if (msoServiceInstanceId == null || msoServiceInstanceId.trim().equals("")) { + System.out.println("No seviceInstanceId element in injectedVariables"); + variables.put("mso-service-instance-id", UUID.randomUUID().toString()); + } + + } else { + msoRequestId = getXMLTextElement(request, "request-id"); + + if (msoRequestId == null) { + //check in injected variables + try { + msoRequestId = (String) injectedVariables.get("requestId"); + } + catch(Exception e) { + } + if (msoRequestId == null || msoRequestId.trim().equals("")) { + String msg = "No request-id element in " + request; + System.out.println(msg); + fail(msg); + } + } + + variables.put("mso-request-id", msoRequestId); + + // Note: some request types don't have a service-instance-id + msoServiceInstanceId = getXMLTextElement(request, "service-instance-id"); + + if (msoServiceInstanceId != null) { + variables.put("mso-service-instance-id", msoServiceInstanceId); + } + } + + return variables; + } + + /** + * Private helper method that creates a camunda VariableMapImpl from a simple + * variable map. + * @param variables the simple variable map + * @return a VariableMap + */ + private VariableMapImpl createVariableMapImpl(Map variables) { + Map wrappedVariables = new HashMap<>(); + + for (String key : variables.keySet()) { + Object value = variables.get(key); + wrappedVariables.put(key, wrapVariableValue(value)); + } + + VariableMapImpl variableMapImpl = new VariableMapImpl(); + variableMapImpl.put("variables", wrappedVariables); + return variableMapImpl; + } + + /** + * Private helper method that wraps a variable value for inclusion in a + * camunda VariableMapImpl. + * @param value the variable value + * @return the wrapped variable + */ + private Map wrapVariableValue(Object value) { + HashMap valueMap = new HashMap<>(); + valueMap.put("value", value); + return valueMap; + } + + /** + * Receives a response from an asynchronous process. + * Errors are handled with junit assertions and will cause the test to fail. + * @param businessKey the process business key + * @param asyncResponse the TestAsyncResponse object associated with the test + * @param timeout the timeout in milliseconds + * @return the WorkflowResponse + */ + protected WorkflowResponse receiveResponse(String businessKey, + TestAsyncResponse asyncResponse, long timeout) { + System.out.println("Waiting " + timeout + "ms for process with business key " + businessKey + + " to send a response"); + + long now = System.currentTimeMillis() + timeout; + long endTime = now + timeout; + + while (now <= endTime) { + Response response = asyncResponse.getResponse(); + + if (response != null) { + System.out.println("Received a response from process with business key " + businessKey); + + Object entity = response.getEntity(); + + if (!(entity instanceof WorkflowResponse)) { + String msg = "Response entity is " + + (entity == null ? "null" : entity.getClass().getName()) + + ", expected WorkflowResponse"; + System.out.println(msg); + fail(msg); + return null; // unreachable + } + + return (WorkflowResponse) entity; + } + + try { + Thread.sleep(200); + } catch (InterruptedException e) { + String msg = "Interrupted waiting for a response from process with business key " + + businessKey; + System.out.println(msg); + fail(msg); + return null; // unreachable + } + + now = System.currentTimeMillis(); + } + + String msg = "No response received from process with business key " + businessKey + + " within " + timeout + "ms"; + System.out.println(msg); + fail("Process with business key " + businessKey + " did not end within 10000ms"); + return null; // unreachable + } + + /** + * Runs a program to inject SDNC callback data into the test environment. + * A program is essentially just a list of keys that identify callback data + * to be injected, in sequence. An example program: + *

+	 *     reserve, assign, delete:ERR
+	 * 
+ * Errors are handled with junit assertions and will cause the test to fail. + * @param callbacks an object containing callback data for the program + * @param program the program to execute + */ + protected void injectSDNCRestCallbacks(CallbackSet callbacks, String program) { + + String[] cmds = program.replaceAll("\\s+", "").split(","); + + for (String cmd : cmds) { + String action = cmd; + String modifier = "STD"; + + if (cmd.contains(":")) { + String[] parts = cmd.split(":"); + action = parts[0]; + modifier = parts[1]; + } + + String content = null; + String contentType = null; + + if ("STD".equals(modifier)) { + CallbackData callbackData = callbacks.get(action); + + if (callbackData == null) { + String msg = "No callback defined for '" + action + "' SDNC request"; + System.out.println(msg); + fail(msg); + } + + content = callbackData.getContent(); + contentType = callbackData.getContentType(); + } else if ("ERR".equals(modifier)) { + content = "{\"SDNCServiceError\":{\"sdncRequestId\":\"((REQUEST-ID))\",\"responseCode\":\"500\",\"responseMessage\":\"SIMULATED ERROR FROM SDNC ADAPTER\",\"ackFinalIndicator\":\"Y\"}}"; + contentType = JSON; + } else { + String msg = "Invalid SDNC program modifier: '" + modifier + "'"; + System.out.println(msg); + fail(msg); + } + + if (contentType == null) { + // Default for backward compatibility with existing tests. + contentType = JSON; + } + + if (!injectSDNCRestCallback(contentType, content, 10000)) { + fail("Failed to inject SDNC '" + action + "' callback"); + } + + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + fail("Interrupted after injection of SDNC '" + action + "' callback"); + } + } + } + + /** + * Runs a program to inject SDNC events into the test environment. + * A program is essentially just a list of keys that identify event data + * to be injected, in sequence. An example program: + *
+	 *     event1, event2
+	 * 
+ * NOTE: Each callback must have a message type associated with it, e.g. + * "SDNCAEvent". + * Errors are handled with junit assertions and will cause the test to fail. + * @param callbacks an object containing event data for the program + * @param program the program to execute + */ + protected void injectSDNCEvents(CallbackSet callbacks, String program) { + injectWorkflowMessages(callbacks, program); + } + + /** + * Runs a program to inject SDNC callback data into the test environment. + * A program is essentially just a list of keys that identify callback data + * to be injected, in sequence. An example program: + *
+	 *     reserve, assign, delete:ERR
+	 * 
+ * Errors are handled with junit assertions and will cause the test to fail. + * @param callbacks an object containing callback data for the program + * @param program the program to execute + */ + protected void injectSDNCCallbacks(CallbackSet callbacks, String program) { + + String[] cmds = program.replaceAll("\\s+", "").split(","); + + for (String cmd : cmds) { + String action = cmd; + String modifier = "STD"; + + if (cmd.contains(":")) { + String[] parts = cmd.split(":"); + action = parts[0]; + modifier = parts[1]; + } + + String content = null; + int respCode = 200; + String respMsg = "OK"; + + if ("STD".equals(modifier)) { + CallbackData callbackData = callbacks.get(action); + + if (callbackData == null) { + String msg = "No callback defined for '" + action + "' SDNC request"; + System.out.println(msg); + fail(msg); + } + + content = callbackData.getContent(); + respCode = 200; + respMsg = "OK"; + } else if ("CREATED".equals(modifier)) { + CallbackData callbackData = callbacks.get(action); + + if (callbackData == null) { + String msg = "No callback defined for '" + action + "' SDNC request"; + System.out.println(msg); + fail(msg); + } + + content = callbackData.getContent(); + respCode = 201; + respMsg = "Created"; + } else if ("ERR".equals(modifier)) { + content = "((REQUEST-ID))500SIMULATED ERROR FROM SDNC ADAPTER"; + respCode = 500; + respMsg = "SERVER ERROR"; + } else { + String msg = "Invalid SDNC program modifier: '" + modifier + "'"; + System.out.println(msg); + fail(msg); + } + + if (!injectSDNCCallback(respCode, respMsg, content, 10000)) { + fail("Failed to inject SDNC '" + action + "' callback"); + } + + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + fail("Interrupted after injection of SDNC '" + action + "' callback"); + } + } + } + + /** + * Runs a program to inject VNF adapter REST callback data into the test environment. + * A program is essentially just a list of keys that identify callback data + * to be injected, in sequence. An example program: + *
+	 *     create, rollback
+	 * 
+ * Errors are handled with junit assertions and will cause the test to fail. + * @param callbacks an object containing callback data for the program + * @param program the program to execute + */ + protected void injectVNFRestCallbacks(CallbackSet callbacks, String program) { + + String[] cmds = program.replaceAll("\\s+", "").split(","); + + for (String cmd : cmds) { + String action = cmd; + String modifier = "STD"; + + if (cmd.contains(":")) { + String[] parts = cmd.split(":"); + action = parts[0]; + modifier = parts[1]; + } + + String content = null; + String contentType = null; + + if ("STD".equals(modifier)) { + CallbackData callbackData = callbacks.get(action); + + if (callbackData == null) { + String msg = "No callback defined for '" + action + "' VNF REST request"; + System.out.println(msg); + fail(msg); + } + + content = callbackData.getContent(); + contentType = callbackData.getContentType(); + } else if ("ERR".equals(modifier)) { + content = "SIMULATED ERROR FROM VNF ADAPTER"; + contentType = "text/plain"; + } else { + String msg = "Invalid VNF REST program modifier: '" + modifier + "'"; + System.out.println(msg); + fail(msg); + } + + if (contentType == null) { + // Default for backward compatibility with existing tests. + contentType = XML; + } + + if (!injectVnfAdapterRestCallback(contentType, content, 10000)) { + fail("Failed to inject VNF REST '" + action + "' callback"); + } + + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + fail("Interrupted after injection of VNF REST '" + action + "' callback"); + } + } + } + + /** + * Runs a program to inject VNF callback data into the test environment. + * A program is essentially just a list of keys that identify callback data + * to be injected, in sequence. An example program: + *
+	 *     createVnf, deleteVnf
+	 * 
+ * Errors are handled with junit assertions and will cause the test to fail. + * @param callbacks an object containing callback data for the program + * @param program the program to execute + */ + protected void injectVNFCallbacks(CallbackSet callbacks, String program) { + + String[] cmds = program.replaceAll("\\s+", "").split(","); + + for (String cmd : cmds) { + String action = cmd; + String modifier = "STD"; + + if (cmd.contains(":")) { + String[] parts = cmd.split(":"); + action = parts[0]; + modifier = parts[1]; + } + + String content = null; + + if ("STD".equals(modifier)) { + CallbackData callbackData = callbacks.get(action); + + if (callbackData == null) { + String msg = "No callback defined for '" + action + "' VNF request"; + System.out.println(msg); + fail(msg); + } + + content = callbackData.getContent(); + } else if ("ERR".equals(modifier)) { + String msg = "Currently unsupported VNF program modifier: '" + modifier + "'"; + System.out.println(msg); + fail(msg); + } else { + String msg = "Invalid VNF program modifier: '" + modifier + "'"; + System.out.println(msg); + fail(msg); + } + + boolean injected = false; + + if (content.contains("createVnfNotification")) { + injected = injectCreateVNFCallback(content, 10000); + } else if (content.contains("deleteVnfNotification")) { + injected = injectDeleteVNFCallback(content, 10000); + } else if (content.contains("updateVnfNotification")) { + injected = injectUpdateVNFCallback(content, 10000); + } + + if (!injected) { + String msg = "Failed to inject VNF '" + action + "' callback"; + System.out.println(msg); + fail(msg); + } + + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + fail("Interrupted after injection of VNF '" + action + "' callback"); + } + } + } + + /** + * Waits for the number of running processes with the specified process + * definition key to equal a particular count. + * @param processKey the process definition key + * @param count the desired count + * @param timeout the timeout in milliseconds + */ + protected void waitForRunningProcessCount(String processKey, int count, long timeout) { + System.out.println("Waiting " + timeout + "ms for there to be " + count + " " + + processKey + " instances"); + + long now = System.currentTimeMillis() + timeout; + long endTime = now + timeout; + int last = -1; + + while (now <= endTime) { + int actual = processEngineRule.getRuntimeService() + .createProcessInstanceQuery() + .processDefinitionKey(processKey) + .list().size(); + + if (actual != last) { + System.out.println("There are now " + actual + " " + + processKey + " instances"); + last = actual; + } + + if (actual == count) { + return; + } + + try { + Thread.sleep(200); + } catch (InterruptedException e) { + String msg = "Interrupted waiting for there to be " + count + " " + + processKey + " instances"; + System.out.println(msg); + fail(msg); + } + + now = System.currentTimeMillis(); + } + + String msg = "Timed out waiting for there to be " + count + " " + + processKey + " instances"; + System.out.println(msg); + fail(msg); + } + + /** + * Waits for the specified process variable to be set. + * @param processKey the process definition key + * @param variable the variable name + * @param timeout the timeout in milliseconds + * @return the variable value, or null if it cannot be obtained + * in the specified time + */ + protected Object getProcessVariable(String processKey, String variable, + long timeout) { + + System.out.println("Waiting " + timeout + "ms for " + + processKey + "." + variable + " to be set"); + + long now = System.currentTimeMillis() + timeout; + long endTime = now + timeout; + + ProcessInstance processInstance = null; + Object value = null; + + while (value == null) { + if (now > endTime) { + if (processInstance == null) { + System.out.println("Timed out waiting for " + + processKey + " to start"); + } else { + System.out.println("Timed out waiting for " + + processKey + "[" + processInstance.getId() + + "]." + variable + " to be set"); + } + + return null; + } + + if (processInstance == null) { + processInstance = processEngineRule.getRuntimeService() + .createProcessInstanceQuery() + .processDefinitionKey(processKey) + .singleResult(); + } + + if (processInstance != null) { + value = processEngineRule.getRuntimeService() + .getVariable(processInstance.getId(), variable); + } + + try { + Thread.sleep(200); + } catch (InterruptedException e) { + System.out.println("Interrupted waiting for " + + processKey + "." + variable + " to be set"); + return null; + } + + now = System.currentTimeMillis(); + } + + System.out.println(processKey + "[" + + processInstance.getId() + "]." + variable + "=" + + value); + + return value; + } + + /** + * Injects a single SDNC adapter callback request. The specified callback data + * may contain the placeholder string ((REQUEST-ID)) which is replaced with + * the actual SDNC request ID. Note: this is not the requestId in the original + * MSO request. + * @param contentType the HTTP content type for the callback + * @param content the content of the callback + * @param timeout the timeout in milliseconds + * @return true if the callback could be injected, false otherwise + */ + protected boolean injectSDNCRestCallback(String contentType, String content, long timeout) { + String sdncRequestId = (String) getProcessVariable("SDNCAdapterRestV1", + "SDNCAResponse_CORRELATOR", timeout); + + if (sdncRequestId == null) { + return false; + } + + content = content.replace("((REQUEST-ID))", sdncRequestId); + // Deprecated usage. All test code should switch to the (( ... )) syntax. + content = content.replace("{{REQUEST-ID}}", sdncRequestId); + + System.out.println("Injecting SDNC adapter callback"); + WorkflowMessageResource workflowMessageResource = new WorkflowMessageResource(); + workflowMessageResource.setProcessEngineServices4junit(processEngineRule); + Response response = workflowMessageResource.deliver(contentType, "SDNCAResponse", sdncRequestId, content); + System.out.println("Workflow response to SDNC adapter callback: " + response); + return true; + } + + /** + * Injects a single SDNC adapter callback request. The specified callback data + * may contain the placeholder string ((REQUEST-ID)) which is replaced with + * the actual SDNC request ID. Note: this is not the requestId in the original + * MSO request. + * @param content the content of the callback + * @param respCode the response code (normally 200) + * @param respMsg the response message (normally "OK") + * @param timeout the timeout in milliseconds + * @return true if the callback could be injected, false otherwise + */ + protected boolean injectSDNCCallback(int respCode, String respMsg, + String content, long timeout) { + + String sdncRequestId = (String) getProcessVariable("sdncAdapter", + "SDNCA_requestId", timeout); + + if (sdncRequestId == null) { + return false; + } + + content = content.replace("((REQUEST-ID))", sdncRequestId); + // Deprecated usage. All test code should switch to the (( ... )) syntax. + content = content.replace("{{REQUEST-ID}}", sdncRequestId); + + System.out.println("Injecting SDNC adapter callback"); + CallbackHeader callbackHeader = new CallbackHeader(); + callbackHeader.setRequestId(sdncRequestId); + callbackHeader.setResponseCode(String.valueOf(respCode)); + callbackHeader.setResponseMessage(respMsg); + SDNCAdapterCallbackRequest sdncAdapterCallbackRequest = new SDNCAdapterCallbackRequest(); + sdncAdapterCallbackRequest.setCallbackHeader(callbackHeader); + sdncAdapterCallbackRequest.setRequestData(content); + SDNCAdapterCallbackServiceImpl callbackService = new SDNCAdapterCallbackServiceImpl(); + callbackService.setProcessEngineServices4junit(processEngineRule); + SDNCAdapterResponse sdncAdapterResponse = callbackService.sdncAdapterCallback(sdncAdapterCallbackRequest); + System.out.println("Workflow response to SDNC adapter callback: " + sdncAdapterResponse); + + return true; + } + + /** + * Injects a single VNF adapter callback request. The specified callback data + * may contain the placeholder string ((MESSAGE-ID)) which is replaced with + * the actual message ID. Note: this is not the requestId in the original + * MSO request. + * @param contentType the HTTP content type for the callback + * @param content the content of the callback + * @param timeout the timeout in milliseconds + * @return true if the callback could be injected, false otherwise + */ + protected boolean injectVnfAdapterRestCallback(String contentType, String content, long timeout) { + String messageId = (String) getProcessVariable("vnfAdapterRestV1", + "VNFAResponse_CORRELATOR", timeout); + + if (messageId == null) { + return false; + } + + content = content.replace("((MESSAGE-ID))", messageId); + // Deprecated usage. All test code should switch to the (( ... )) syntax. + content = content.replace("{{MESSAGE-ID}}", messageId); + + System.out.println("Injecting VNF adapter callback"); + WorkflowMessageResource workflowMessageResource = new WorkflowMessageResource(); + workflowMessageResource.setProcessEngineServices4junit(processEngineRule); + Response response = workflowMessageResource.deliver(contentType, "VNFAResponse", messageId, content); + System.out.println("Workflow response to VNF adapter callback: " + response); + return true; + } + + /** + * Injects a Create VNF adapter callback request. The specified callback data + * may contain the placeholder string ((MESSAGE-ID)) which is replaced with + * the actual message ID. It may also contain the placeholder string + * ((REQUEST-ID)) which is replaced request ID of the original MSO request. + * @param content the content of the callback + * @param timeout the timeout in milliseconds + * @return true if the callback could be injected, false otherwise + * @throws JAXBException if the content does not adhere to the schema + */ + protected boolean injectCreateVNFCallback(String content, long timeout) { + + String messageId = (String) getProcessVariable("vnfAdapterCreateV1", + "VNFC_messageId", timeout); + + if (messageId == null) { + return false; + } + + content = content.replace("((MESSAGE-ID))", messageId); + // Deprecated usage. All test code should switch to the (( ... )) syntax. + content = content.replace("{{MESSAGE-ID}}", messageId); + + if(content.contains("((REQUEST-ID))")){ + content = content.replace("((REQUEST-ID))", msoRequestId); + // Deprecated usage. All test code should switch to the (( ... )) syntax. + content = content.replace("{{REQUEST-ID}}", msoRequestId); + } + + System.out.println("Injecting VNF adapter callback"); + + // Is it possible to unmarshal this with JAXB? I couldn't. + + CreateVnfNotification createVnfNotification = new CreateVnfNotification(); + XPathTool xpathTool = new VnfNotifyXPathTool(); + xpathTool.setXML(content); + + try { + String completed = xpathTool.evaluate( + "/tns:createVnfNotification/tns:completed/text()"); + createVnfNotification.setCompleted("true".equals(completed)); + + String vnfId = xpathTool.evaluate( + "/tns:createVnfNotification/tns:vnfId/text()"); + createVnfNotification.setVnfId(vnfId); + + NodeList entries = (NodeList) xpathTool.evaluate( + "/tns:createVnfNotification/tns:outputs/tns:entry", + XPathConstants.NODESET); + + CreateVnfNotificationOutputs outputs = new CreateVnfNotificationOutputs(); + + for (int i = 0; i < entries.getLength(); i++) { + Node node = entries.item(i); + + if (node.getNodeType() == Node.ELEMENT_NODE) { + Element entry = (Element) node; + String key = entry.getElementsByTagNameNS("*", "key").item(0).getTextContent(); + String value = entry.getElementsByTagNameNS("*", "value").item(0).getTextContent(); + outputs.add(key, value); + } + } + + createVnfNotification.setOutputs(outputs); + + VnfRollback rollback = new VnfRollback(); + + String cloudSiteId = xpathTool.evaluate( + "/tns:createVnfNotification/tns:rollback/tns:cloudSiteId/text()"); + rollback.setCloudSiteId(cloudSiteId); + + String requestId = xpathTool.evaluate( + "/tns:createVnfNotification/tns:rollback/tns:msoRequest/tns:requestId/text()"); + String serviceInstanceId = xpathTool.evaluate( + "/tns:createVnfNotification/tns:rollback/tns:msoRequest/tns:serviceInstanceId/text()"); + + if (requestId != null || serviceInstanceId != null) { + MsoRequest msoRequest = new MsoRequest(); + msoRequest.setRequestId(requestId); + msoRequest.setServiceInstanceId(serviceInstanceId); + rollback.setMsoRequest(msoRequest); + } + + String tenantCreated = xpathTool.evaluate( + "/tns:createVnfNotification/tns:rollback/tns:tenantCreated/text()"); + rollback.setTenantCreated("true".equals(tenantCreated)); + + String tenantId = xpathTool.evaluate( + "/tns:createVnfNotification/tns:rollback/tns:tenantId/text()"); + rollback.setTenantId(tenantId); + + String vnfCreated = xpathTool.evaluate( + "/tns:createVnfNotification/tns:rollback/tns:vnfCreated/text()"); + rollback.setVnfCreated("true".equals(vnfCreated)); + + String rollbackVnfId = xpathTool.evaluate( + "/tns:createVnfNotification/tns:rollback/tns:vnfId/text()"); + rollback.setVnfId(rollbackVnfId); + + createVnfNotification.setRollback(rollback); + + } catch (Exception e) { + System.out.println("Failed to unmarshal VNF callback content:"); + System.out.println(content); + return false; + } + + VnfAdapterNotifyServiceImpl notifyService = new VnfAdapterNotifyServiceImpl(); + notifyService.setProcessEngineServices4junit(processEngineRule); + + notifyService.createVnfNotification( + messageId, + createVnfNotification.isCompleted(), + createVnfNotification.getException(), + createVnfNotification.getErrorMessage(), + createVnfNotification.getVnfId(), + createVnfNotification.getOutputs(), + createVnfNotification.getRollback()); + + return true; + } + + /** + * Injects a Delete VNF adapter callback request. The specified callback data + * may contain the placeholder string ((MESSAGE-ID)) which is replaced with + * the actual message ID. It may also contain the placeholder string + * ((REQUEST-ID)) which is replaced request ID of the original MSO request. + * @param content the content of the callback + * @param timeout the timeout in milliseconds + * @return true if the callback could be injected, false otherwise + * @throws JAXBException if the content does not adhere to the schema + */ + protected boolean injectDeleteVNFCallback(String content, long timeout) { + + String messageId = (String) getProcessVariable("vnfAdapterDeleteV1", + "VNFDEL_uuid", timeout); + + if (messageId == null) { + return false; + } + + content = content.replace("((MESSAGE-ID))", messageId); + // Deprecated usage. All test code should switch to the (( ... )) syntax. + content = content.replace("{{MESSAGE-ID}}", messageId); + + System.out.println("Injecting VNF adapter delete callback"); + + // Is it possible to unmarshal this with JAXB? I couldn't. + + DeleteVnfNotification deleteVnfNotification = new DeleteVnfNotification(); + XPathTool xpathTool = new VnfNotifyXPathTool(); + xpathTool.setXML(content); + + try { + String completed = xpathTool.evaluate( + "/tns:deleteVnfNotification/tns:completed/text()"); + deleteVnfNotification.setCompleted("true".equals(completed)); + // if notification failure, set the exception and error message + if (deleteVnfNotification.isCompleted() == false) { + deleteVnfNotification.setException(MsoExceptionCategory.INTERNAL); + deleteVnfNotification.setErrorMessage(xpathTool.evaluate( + "/tns:deleteVnfNotification/tns:errorMessage/text()")) ; + } + + } catch (Exception e) { + System.out.println("Failed to unmarshal VNF Delete callback content:"); + System.out.println(content); + return false; + } + + VnfAdapterNotifyServiceImpl notifyService = new VnfAdapterNotifyServiceImpl(); + notifyService.setProcessEngineServices4junit(processEngineRule); + + notifyService.deleteVnfNotification( + messageId, + deleteVnfNotification.isCompleted(), + deleteVnfNotification.getException(), + deleteVnfNotification.getErrorMessage()); + + return true; + } + + /** + * Injects a Update VNF adapter callback request. The specified callback data + * may contain the placeholder string ((MESSAGE-ID)) which is replaced with + * the actual message ID. It may also contain the placeholder string + * ((REQUEST-ID)) which is replaced request ID of the original MSO request. + * @param content the content of the callback + * @param timeout the timeout in milliseconds + * @return true if the callback could be injected, false otherwise + * @throws JAXBException if the content does not adhere to the schema + */ + protected boolean injectUpdateVNFCallback(String content, long timeout) { + + String messageId = (String) getProcessVariable("vnfAdapterUpdate", + "VNFU_messageId", timeout); + + if (messageId == null) { + return false; + } + + content = content.replace("((MESSAGE-ID))", messageId); + // Deprecated usage. All test code should switch to the (( ... )) syntax. + content = content.replace("{{MESSAGE-ID}}", messageId); + + content = content.replace("((REQUEST-ID))", msoRequestId); + // Deprecated usage. All test code should switch to the (( ... )) syntax. + content = content.replace("{{REQUEST-ID}}", msoRequestId); + + System.out.println("Injecting VNF adapter callback"); + + // Is it possible to unmarshal this with JAXB? I couldn't. + + UpdateVnfNotification updateVnfNotification = new UpdateVnfNotification(); + XPathTool xpathTool = new VnfNotifyXPathTool(); + xpathTool.setXML(content); + + try { + String completed = xpathTool.evaluate( + "/tns:updateVnfNotification/tns:completed/text()"); + updateVnfNotification.setCompleted("true".equals(completed)); + + NodeList entries = (NodeList) xpathTool.evaluate( + "/tns:updateVnfNotification/tns:outputs/tns:entry", + XPathConstants.NODESET); + + UpdateVnfNotificationOutputs outputs = new UpdateVnfNotificationOutputs(); + + for (int i = 0; i < entries.getLength(); i++) { + Node node = entries.item(i); + + if (node.getNodeType() == Node.ELEMENT_NODE) { + Element entry = (Element) node; + String key = entry.getElementsByTagNameNS("*", "key").item(0).getTextContent(); + String value = entry.getElementsByTagNameNS("*", "value").item(0).getTextContent(); + outputs.add(key, value); + } + } + + updateVnfNotification.setOutputs(outputs); + + VnfRollback rollback = new VnfRollback(); + + String cloudSiteId = xpathTool.evaluate( + "/tns:updateVnfNotification/tns:rollback/tns:cloudSiteId/text()"); + rollback.setCloudSiteId(cloudSiteId); + + String requestId = xpathTool.evaluate( + "/tns:updateVnfNotification/tns:rollback/tns:msoRequest/tns:requestId/text()"); + String serviceInstanceId = xpathTool.evaluate( + "/tns:updateVnfNotification/tns:rollback/tns:msoRequest/tns:serviceInstanceId/text()"); + + if (requestId != null || serviceInstanceId != null) { + MsoRequest msoRequest = new MsoRequest(); + msoRequest.setRequestId(requestId); + msoRequest.setServiceInstanceId(serviceInstanceId); + rollback.setMsoRequest(msoRequest); + } + + String tenantCreated = xpathTool.evaluate( + "/tns:updateVnfNotification/tns:rollback/tns:tenantCreated/text()"); + rollback.setTenantCreated("true".equals(tenantCreated)); + + String tenantId = xpathTool.evaluate( + "/tns:updateVnfNotification/tns:rollback/tns:tenantId/text()"); + rollback.setTenantId(tenantId); + + String vnfCreated = xpathTool.evaluate( + "/tns:updateVnfNotification/tns:rollback/tns:vnfCreated/text()"); + rollback.setVnfCreated("true".equals(vnfCreated)); + + String rollbackVnfId = xpathTool.evaluate( + "/tns:updateVnfNotification/tns:rollback/tns:vnfId/text()"); + rollback.setVnfId(rollbackVnfId); + + updateVnfNotification.setRollback(rollback); + + } catch (Exception e) { + System.out.println("Failed to unmarshal VNF callback content:"); + System.out.println(content); + return false; + } + + VnfAdapterNotifyServiceImpl notifyService = new VnfAdapterNotifyServiceImpl(); + notifyService.setProcessEngineServices4junit(processEngineRule); + + notifyService.updateVnfNotification( + messageId, + updateVnfNotification.isCompleted(), + updateVnfNotification.getException(), + updateVnfNotification.getErrorMessage(), + updateVnfNotification.getOutputs(), + updateVnfNotification.getRollback()); + + return true; + } + + /** + * Runs a program to inject workflow messages into the test environment. + * A program is essentially just a list of keys that identify event data + * to be injected, in sequence. An example program: + *
+	 *     event1, event2
+	 * 
+ * Errors are handled with junit assertions and will cause the test to fail. + * NOTE: Each callback must have a workflow message type associated with it. + * @param callbacks an object containing event data for the program + * @param program the program to execute + */ + protected void injectWorkflowMessages(CallbackSet callbacks, String program) { + + String[] cmds = program.replaceAll("\\s+", "").split(","); + + for (String cmd : cmds) { + String action = cmd; + String modifier = "STD"; + + if (cmd.contains(":")) { + String[] parts = cmd.split(":"); + action = parts[0]; + modifier = parts[1]; + } + + String messageType = null; + String content = null; + String contentType = null; + + if ("STD".equals(modifier)) { + CallbackData callbackData = callbacks.get(action); + + if (callbackData == null) { + String msg = "No '" + action + "' workflow message callback is defined"; + System.out.println(msg); + fail(msg); + } + + messageType = callbackData.getMessageType(); + + if (messageType == null || messageType.trim().equals("")) { + String msg = "No workflow message type is defined in the '" + action + "' callback"; + System.out.println(msg); + fail(msg); + } + + content = callbackData.getContent(); + contentType = callbackData.getContentType(); + } else { + String msg = "Invalid workflow message program modifier: '" + modifier + "'"; + System.out.println(msg); + fail(msg); + } + + if (!injectWorkflowMessage(contentType, messageType, content, 10000)) { + fail("Failed to inject '" + action + "' workflow message"); + } + + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + fail("Interrupted after injection of '" + action + "' workflow message"); + } + } + } + + /** + * Injects a workflow message. The specified callback data may contain the + * placeholder string ((CORRELATOR)) which is replaced with the actual + * correlator value. + * @param contentType the HTTP contentType for the message (possibly null) + * @param messageType the message type + * @param content the message content (possibly null) + * @param timeout the timeout in milliseconds + * @return true if the message could be injected, false otherwise + */ + protected boolean injectWorkflowMessage(String contentType, String messageType, String content, long timeout) { + String correlator = (String) getProcessVariable("ReceiveWorkflowMessage", + messageType + "_CORRELATOR", timeout); + + if (correlator == null) { + return false; + } + + if (content != null) { + content = content.replace("((CORRELATOR))", correlator); + } + + System.out.println("Injecting " + messageType + " message"); + WorkflowMessageResource workflowMessageResource = new WorkflowMessageResource(); + workflowMessageResource.setProcessEngineServices4junit(processEngineRule); + Response response = workflowMessageResource.deliver(contentType, messageType, correlator, content); + System.out.println("Workflow response to " + messageType + " message: " + response); + return true; + } + + /** + * Runs a program to inject sniro workflow messages into the test environment. + * A program is essentially just a list of keys that identify event data + * to be injected, in sequence. For more details, see + * injectSNIROCallbacks(String contentType, String messageType, String content, long timeout) + * + * Errors are handled with junit assertions and will cause the test to fail. + * NOTE: Each callback must have a workflow message type associated with it. + * + * @param callbacks an object containing event data for the program + * @param program the program to execute + */ + protected void injectSNIROCallbacks(CallbackSet callbacks, String program) { + + String[] cmds = program.replaceAll("\\s+", "").split(","); + + for (String cmd : cmds) { + String action = cmd; + String modifier = "STD"; + + if (cmd.contains(":")) { + String[] parts = cmd.split(":"); + action = parts[0]; + modifier = parts[1]; + } + + String messageType = null; + String content = null; + String contentType = null; + + if ("STD".equals(modifier)) { + CallbackData callbackData = callbacks.get(action); + + if (callbackData == null) { + String msg = "No '" + action + "' workflow message callback is defined"; + System.out.println(msg); + fail(msg); + } + + messageType = callbackData.getMessageType(); + + if (messageType == null || messageType.trim().equals("")) { + String msg = "No workflow message type is defined in the '" + action + "' callback"; + System.out.println(msg); + fail(msg); + } + + content = callbackData.getContent(); + contentType = callbackData.getContentType(); + } else { + String msg = "Invalid workflow message program modifier: '" + modifier + "'"; + System.out.println(msg); + fail(msg); + } + + if (!injectSNIROCallbacks(contentType, messageType, content, 10000)) { + fail("Failed to inject '" + action + "' workflow message"); + } + + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + fail("Interrupted after injection of '" + action + "' workflow message"); + } + } + } + + /** + * Injects a sniro workflow message. The specified callback response may + * contain the placeholder strings ((CORRELATOR)) and ((SERVICE_RESOURCE_ID)) + * The ((CORRELATOR)) is replaced with the actual correlator value from the + * request. The ((SERVICE_RESOURCE_ID)) is replaced with the actual serviceResourceId + * value from the sniro request. Currently this only works with sniro request + * that contain only 1 resource. + * + * @param contentType the HTTP contentType for the message (possibly null) + * @param messageType the message type + * @param content the message content (possibly null) + * @param timeout the timeout in milliseconds + * @return true if the message could be injected, false otherwise + */ + protected boolean injectSNIROCallbacks(String contentType, String messageType, String content, long timeout) { + String correlator = (String) getProcessVariable("ReceiveWorkflowMessage", + messageType + "_CORRELATOR", timeout); + + if (correlator == null) { + return false; + } + if (content != null) { + content = content.replace("((CORRELATOR))", correlator); + if(messageType.equalsIgnoreCase("SNIROResponse")){ + //TODO figure out a solution for when there is more than 1 resource being homed (i.e. more than 1 reason in the placement list) + ServiceDecomposition decomp = (ServiceDecomposition) getProcessVariable("Homing", "serviceDecomposition", timeout); + List resourceList = decomp.getServiceResources(); + if(resourceList.size() == 1){ + String resourceId = ""; + for(Resource resource:resourceList){ + resourceId = resource.getResourceId(); + } + String homingList = getJsonValue(content, "solutionInfo.placement"); + JSONArray placementArr = new JSONArray(homingList); + if(placementArr.length() == 1){ + content = content.replace("((SERVICE_RESOURCE_ID))", resourceId); + } + String licenseInfoList = getJsonValue(content, "solutionInfo.licenseInfo"); + JSONArray licenseArr = new JSONArray(licenseInfoList); + if(licenseArr.length() == 1){ + content = content.replace("((SERVICE_RESOURCE_ID))", resourceId); + } + } + } + } + System.out.println("Injecting " + messageType + " message"); + WorkflowMessageResource workflowMessageResource = new WorkflowMessageResource(); + workflowMessageResource.setProcessEngineServices4junit(processEngineRule); + Response response = workflowMessageResource.deliver(contentType, messageType, correlator, content); + System.out.println("Workflow response to " + messageType + " message: " + response); + return true; + } + + + /** + * Wait for the process to end. + * @param businessKey the process business key + * @param timeout the amount of time to wait, in milliseconds + */ + protected void waitForProcessEnd(String businessKey, long timeout) { + System.out.println("Waiting " + timeout + "ms for process with business key " + + businessKey + " to end"); + + long now = System.currentTimeMillis() + timeout; + long endTime = now + timeout; + + while (now <= endTime) { + if (isProcessEnded(businessKey)) { + System.out.println("Process with business key " + businessKey + " has ended"); + return; + } + + try { + Thread.sleep(200); + } catch (InterruptedException e) { + String msg = "Interrupted waiting for process with business key " + + businessKey + " to end"; + System.out.println(msg); + fail(msg); + } + + now = System.currentTimeMillis(); + } + + String msg = "Process with business key " + businessKey + + " did not end within " + timeout + "ms"; + System.out.println(msg); + fail(msg); + } + + /** + * Verifies that the specified historic process variable has the specified value. + * If the variable does not have the specified value, the test is failed. + * @param businessKey the process business key + * @param variable the variable name + * @param value the expected variable value + */ + protected void checkVariable(String businessKey, String variable, Object value) { + if (!isProcessEnded(businessKey)) { + fail("Cannot get historic variable " + variable + " because process with business key " + + businessKey + " has not ended"); + } + + Object variableValue = getVariableFromHistory(businessKey, variable); + assertEquals(value, variableValue); + } + + /** + * Checks to see if the specified process is ended. + * @param businessKey the process business Key + * @return true if the process is ended + */ + protected boolean isProcessEnded(String businessKey) { + HistoricProcessInstance processInstance = processEngineRule.getHistoryService() + .createHistoricProcessInstanceQuery().processInstanceBusinessKey(businessKey).singleResult(); + return processInstance != null && processInstance.getEndTime() != null; + } + + /** + * Gets a variable value from a historical process instance. + * @param businessKey the process business key + * @param variableName the variable name + * @return the variable value, or null if the variable could not be + * obtained + */ + protected Object getVariableFromHistory(String businessKey, String variableName) { + try { + HistoricProcessInstance processInstance = processEngineRule.getHistoryService() + .createHistoricProcessInstanceQuery().processInstanceBusinessKey(businessKey).singleResult(); + + if (processInstance == null) { + return null; + } + + HistoricVariableInstance v = processEngineRule.getHistoryService() + .createHistoricVariableInstanceQuery().processInstanceId(processInstance.getId()) + .variableName(variableName).singleResult(); + return v == null ? null : v.getValue(); + } catch (Exception e) { + System.out.println("Error retrieving variable " + variableName + + " from historical process with business key " + businessKey + ": " + e); + return null; + } + } + + /** + * Gets the value of a subflow variable from the specified subflow's + * historical process instance. + * + * @param subflowName - the name of the subflow that contains the variable + * @param variableName the variable name + * + * @return the variable value, or null if the variable could not be obtained + * + */ + protected Object getVariableFromSubflowHistory(String subflowName, String variableName) { + try { + List processInstanceList = processEngineRule.getHistoryService() + .createHistoricProcessInstanceQuery().processDefinitionName(subflowName).list(); + + if (processInstanceList == null) { + return null; + } + + processInstanceList.sort((m1, m2) -> m1.getStartTime().compareTo(m2.getStartTime())); + + HistoricProcessInstance processInstance = processInstanceList.get(0); + + HistoricVariableInstance v = processEngineRule.getHistoryService() + .createHistoricVariableInstanceQuery().processInstanceId(processInstance.getId()) + .variableName(variableName).singleResult(); + return v == null ? null : v.getValue(); + } catch (Exception e) { + System.out.println("Error retrieving variable " + variableName + + " from sub flow: " + subflowName + ", Exception is: " + e); + return null; + } + } + + /** + * Gets the value of a subflow variable from the subflow's + * historical process x instance. + * + * @param subflowName - the name of the subflow that contains the variable + * @param variableName the variable name + * @param subflowInstanceIndex - the instance of the subflow (use when same subflow is called more than once from mainflow) + * + * @return the variable value, or null if the variable could not be obtained + */ + protected Object getVariableFromSubflowHistory(int subflowInstanceIndex, String subflowName, String variableName) { + try { + List processInstanceList = processEngineRule.getHistoryService() + .createHistoricProcessInstanceQuery().processDefinitionName(subflowName).list(); + + if (processInstanceList == null) { + return null; + } + + processInstanceList.sort((m1, m2) -> m1.getStartTime().compareTo(m2.getStartTime())); + + HistoricProcessInstance processInstance = processInstanceList.get(subflowInstanceIndex); + + HistoricVariableInstance v = processEngineRule.getHistoryService() + .createHistoricVariableInstanceQuery().processInstanceId(processInstance.getId()) + .variableName(variableName).singleResult(); + return v == null ? null : v.getValue(); + } catch (Exception e) { + System.out.println("Error retrieving variable " + variableName + + " from " + subflowInstanceIndex + " instance index of sub flow: " + subflowName + ", Exception is: " + e); + return null; + } + } + + + /** + * Extracts text from an XML element. This method is not namespace aware + * (namespaces are ignored). The first matching element is selected. + * @param xml the XML document or fragment + * @param tag the desired element, e.g. "" + * @return the element text, or null if the element was not found + */ + protected String getXMLTextElement(String xml, String tag) { + xml = removeXMLNamespaces(xml); + + if (!tag.startsWith("<")) { + tag = "<" + tag + ">"; + } + + int start = xml.indexOf(tag); + + if (start == -1) { + return null; + } + + int end = xml.indexOf('<', start + tag.length()); + + if (end == -1) { + return null; + } + + return xml.substring(start + tag.length(), end); + } + + /** + * Removes namespace definitions and prefixes from XML, if any. + */ + private String removeXMLNamespaces(String xml) { + // remove xmlns declaration + xml = xml.replaceAll("xmlns.*?(\"|\').*?(\"|\')", ""); + + // remove opening tag prefix + xml = xml.replaceAll("(<)(\\w+:)(.*?>)", "$1$3"); + + // remove closing tags prefix + xml = xml.replaceAll("()", "$1$3"); + + // remove extra spaces left when xmlns declarations are removed + xml = xml.replaceAll("\\s+>", ">"); + + return xml; + } + + /** + * Asserts that two XML documents are semantically equivalent. Differences + * in whitespace or in namespace usage do not affect the comparison. + * @param expected the expected XML + * @param actual the XML to test + * @throws SAXException + * @throws IOException + */ public static void assertXMLEquals(String expected, String actual) - throws SAXException, IOException { - XMLUnit.setIgnoreWhitespace(true); - XMLUnit.setIgnoreAttributeOrder(true); - DetailedDiff diff = new DetailedDiff(XMLUnit.compareXML(expected, actual)); - List allDifferences = diff.getAllDifferences(); - assertEquals("Differences found: " + diff.toString(), 0, allDifferences.size()); - } - - /** - * A test implementation of AsynchronousResponse. - */ - public class TestAsyncResponse implements AsynchronousResponse { - Response response = null; - - /** - * {@inheritDoc} - */ - @Override - public synchronized void setResponse(Response response) { - this.response = response; - } - - /** - * Gets the response. - * - * @return the response, or null if none has been produced yet - */ - public synchronized Response getResponse() { - return response; - } + throws SAXException, IOException { + XMLUnit.setIgnoreWhitespace(true); + XMLUnit.setIgnoreAttributeOrder(true); + DetailedDiff diff = new DetailedDiff(XMLUnit.compareXML(expected, actual)); + List allDifferences = diff.getAllDifferences(); + assertEquals("Differences found: " + diff.toString(), 0, allDifferences.size()); } - /** - * An object that contains callback data for a "program". - */ - public class CallbackSet { - private final Map map = new HashMap<>(); - - /** - * Add untyped callback data to the set. - * - * @param action the action with which the data is associated - * @param content the callback data - */ - public void put(String action, String content) { - map.put(action, new CallbackData(null, null, content)); - } - - /** - * Add callback data to the set. - * - * @param action the action with which the data is associated - * @param messageType the callback message type - * @param content the callback data - */ - public void put(String action, String messageType, String content) { - map.put(action, new CallbackData(null, messageType, content)); - } - - /** - * Add callback data to the set. - * - * @param action the action with which the data is associated - * @param contentType the callback HTTP content type - * @param messageType the callback message type - * @param content the callback data - */ - public void put(String action, String contentType, String messageType, String content) { - map.put(action, new CallbackData(contentType, messageType, content)); - } - - /** - * Retrieve callback data from the set. - * - * @param action the action with which the data is associated - * @return the callback data, or null if there is none for the specified operation - */ - public CallbackData get(String action) { - return map.get(action); - } - } - - /** - * Represents a callback data item. - */ - public class CallbackData { - private final String contentType; - private final String messageType; - private final String content; - - /** - * Constructor - * - * @param contentType the HTTP content type (optional) - * @param messageType the callback message type (optional) - * @param content the content - */ - public CallbackData(String contentType, String messageType, String content) { - this.contentType = contentType; - this.messageType = messageType; - this.content = content; - } - - /** - * Gets the callback HTTP content type, possibly null. - */ - public String getContentType() { - return contentType; - } - - /** - * Gets the callback message type, possibly null. - */ - public String getMessageType() { - return messageType; - } - - /** - * Gets the callback content. - */ - public String getContent() { - return content; - } - } - - /** - * A tool for evaluating XPath expressions. - */ - protected class XPathTool { - private final DocumentBuilderFactory factory; - private final SimpleNamespaceContext context = new SimpleNamespaceContext(); - private final XPath xpath = XPathFactory.newInstance().newXPath(); - private String xml = null; - private Document doc = null; - - /** - * Constructor. - */ - public XPathTool() { - factory = DocumentBuilderFactory.newInstance(); - factory.setNamespaceAware(true); - xpath.setNamespaceContext(context); - } - - /** - * Adds a namespace. - * - * @param prefix the namespace prefix - * @param uri the namespace uri - */ - public synchronized void addNamespace(String prefix, String uri) { - context.add(prefix, uri); - } - - /** - * Sets the XML content to be operated on. - * - * @param xml the XML content - */ - public synchronized void setXML(String xml) { - this.xml = xml; - this.doc = null; - } - - /** - * Returns the document object. - * - * @return the document object, or null if XML has not been set - * @throws SAXException - * @throws IOException - * @throws ParserConfigurationException - */ - public synchronized Document getDocument() - throws ParserConfigurationException, IOException, SAXException { - if (xml == null) { - return null; - } - - buildDocument(); - return doc; - } - - /** - * Evaluates the specified XPath expression and returns a string result. - * This method throws exceptions on error. - * - * @param expression the expression - * @return the result object - * @throws ParserConfigurationException - * @throws IOException - * @throws SAXException - * @throws XPathExpressionException on error - */ - public synchronized String evaluate(String expression) - throws ParserConfigurationException, SAXException, - IOException, XPathExpressionException { - return (String) evaluate(expression, XPathConstants.STRING); - } - - /** - * Evaluates the specified XPath expression. - * This method throws exceptions on error. - * - * @param expression the expression - * @param returnType the return type - * @return the result object - * @throws ParserConfigurationException - * @throws IOException - * @throws SAXException - * @throws XPathExpressionException on error - */ - public synchronized Object evaluate(String expression, QName returnType) - throws ParserConfigurationException, SAXException, - IOException, XPathExpressionException { - - buildDocument(); - XPathExpression expr = xpath.compile(expression); - return expr.evaluate(doc, returnType); - } - - /** - * Private helper method that builds the document object. - * Assumes the calling method is synchronized. - * - * @throws ParserConfigurationException - * @throws IOException - * @throws SAXException - */ - private void buildDocument() throws ParserConfigurationException, - IOException, SAXException { - if (doc == null) { - if (xml == null) { - throw new IOException("XML input is null"); - } - - DocumentBuilder builder = factory.newDocumentBuilder(); - InputSource source = new InputSource(new StringReader(xml)); - doc = builder.parse(source); - } - } - } - - /** - * A NamespaceContext class based on a Map. - */ - private class SimpleNamespaceContext implements NamespaceContext { - private Map prefixMap = new HashMap<>(); - private Map uriMap = new HashMap<>(); - - public synchronized void add(String prefix, String uri) { - prefixMap.put(prefix, uri); - uriMap.put(uri, prefix); - } - - @Override - public synchronized String getNamespaceURI(String prefix) { - return prefixMap.get(prefix); - } - - @Override - public Iterator getPrefixes(String uri) { - List list = new ArrayList<>(); - String prefix = uriMap.get(uri); - if (prefix != null) { - list.add(prefix); - } - return list.iterator(); - } - - @Override - public String getPrefix(String uri) { - return uriMap.get(uri); - } - } - - /** - * A VnfNotify XPathTool. - */ - protected class VnfNotifyXPathTool extends XPathTool { - public VnfNotifyXPathTool() { - addNamespace("tns", "http://org.openecomp.mso/vnfNotify"); - } - } - - /** - * Helper class to make it easier to create this type. - */ - private static class CreateVnfNotificationOutputs - extends CreateVnfNotification.Outputs { - public void add(String key, String value) { - Entry entry = new Entry(); - entry.setKey(key); - entry.setValue(value); - getEntry().add(entry); - } - } - - /** - * Helper class to make it easier to create this type. - */ - private static class UpdateVnfNotificationOutputs - extends UpdateVnfNotification.Outputs { - public void add(String key, String value) { - Entry entry = new Entry(); - entry.setKey(key); - entry.setValue(value); - getEntry().add(entry); - } - } + /** + * A test implementation of AsynchronousResponse. + */ + public class TestAsyncResponse implements AsynchronousResponse { + Response response = null; + + /** + * {@inheritDoc} + */ + @Override + public synchronized void setResponse(Response response) { + this.response = response; + } + + /** + * Gets the response. + * @return the response, or null if none has been produced yet + */ + public synchronized Response getResponse() { + return response; + } + } + + /** + * An object that contains callback data for a "program". + */ + public class CallbackSet { + private final Map map = new HashMap<>(); + + /** + * Add untyped callback data to the set. + * @param action the action with which the data is associated + * @param content the callback data + */ + public void put(String action, String content) { + map.put(action, new CallbackData(null, null, content)); + } + + /** + * Add callback data to the set. + * @param action the action with which the data is associated + * @param messageType the callback message type + * @param content the callback data + */ + public void put(String action, String messageType, String content) { + map.put(action, new CallbackData(null, messageType, content)); + } + + /** + * Add callback data to the set. + * @param action the action with which the data is associated + * @param contentType the callback HTTP content type + * @param messageType the callback message type + * @param content the callback data + */ + public void put(String action, String contentType, String messageType, String content) { + map.put(action, new CallbackData(contentType, messageType, content)); + } + + /** + * Retrieve callback data from the set. + * @param action the action with which the data is associated + * @return the callback data, or null if there is none for the specified operation + */ + public CallbackData get(String action) { + return map.get(action); + } + } + + /** + * Represents a callback data item. + */ + public class CallbackData { + private final String contentType; + private final String messageType; + private final String content; + + /** + * Constructor + * @param contentType the HTTP content type (optional) + * @param messageType the callback message type (optional) + * @param content the content + */ + public CallbackData(String contentType, String messageType, String content) { + this.contentType = contentType; + this.messageType = messageType; + this.content = content; + } + + /** + * Gets the callback HTTP content type, possibly null. + */ + public String getContentType() { + return contentType; + } + + /** + * Gets the callback message type, possibly null. + */ + public String getMessageType() { + return messageType; + } + + /** + * Gets the callback content. + */ + public String getContent() { + return content; + } + } + + /** + * A tool for evaluating XPath expressions. + */ + protected class XPathTool { + private final DocumentBuilderFactory factory; + private final SimpleNamespaceContext context = new SimpleNamespaceContext(); + private final XPath xpath = XPathFactory.newInstance().newXPath(); + private String xml = null; + private Document doc = null; + + /** + * Constructor. + */ + public XPathTool() { + factory = DocumentBuilderFactory.newInstance(); + factory.setNamespaceAware(true); + xpath.setNamespaceContext(context); + } + + /** + * Adds a namespace. + * @param prefix the namespace prefix + * @param uri the namespace uri + */ + public synchronized void addNamespace(String prefix, String uri) { + context.add(prefix, uri); + } + + /** + * Sets the XML content to be operated on. + * @param xml the XML content + */ + public synchronized void setXML(String xml) { + this.xml = xml; + this.doc = null; + } + + /** + * Returns the document object. + * @return the document object, or null if XML has not been set + * @throws SAXException + * @throws IOException + * @throws ParserConfigurationException + */ + public synchronized Document getDocument() + throws ParserConfigurationException, IOException, SAXException { + if (xml == null) { + return null; + } + + buildDocument(); + return doc; + } + + /** + * Evaluates the specified XPath expression and returns a string result. + * This method throws exceptions on error. + * @param expression the expression + * @return the result object + * @throws ParserConfigurationException + * @throws IOException + * @throws SAXException + * @throws XPathExpressionException on error + */ + public synchronized String evaluate(String expression) + throws ParserConfigurationException, SAXException, + IOException, XPathExpressionException { + return (String) evaluate(expression, XPathConstants.STRING); + } + + /** + * Evaluates the specified XPath expression. + * This method throws exceptions on error. + * @param expression the expression + * @param returnType the return type + * @return the result object + * @throws ParserConfigurationException + * @throws IOException + * @throws SAXException + * @throws XPathExpressionException on error + */ + public synchronized Object evaluate(String expression, QName returnType) + throws ParserConfigurationException, SAXException, + IOException, XPathExpressionException { + + buildDocument(); + XPathExpression expr = xpath.compile(expression); + return expr.evaluate(doc, returnType); + } + + /** + * Private helper method that builds the document object. + * Assumes the calling method is synchronized. + * @throws ParserConfigurationException + * @throws IOException + * @throws SAXException + */ + private void buildDocument() throws ParserConfigurationException, + IOException, SAXException { + if (doc == null) { + if (xml == null) { + throw new IOException("XML input is null"); + } + + DocumentBuilder builder = factory.newDocumentBuilder(); + InputSource source = new InputSource(new StringReader(xml)); + doc = builder.parse(source); + } + } + } + + /** + * A NamespaceContext class based on a Map. + */ + private class SimpleNamespaceContext implements NamespaceContext { + private Map prefixMap = new HashMap<>(); + private Map uriMap = new HashMap<>(); + + public synchronized void add(String prefix, String uri) { + prefixMap.put(prefix, uri); + uriMap.put(uri, prefix); + } + + @Override + public synchronized String getNamespaceURI(String prefix) { + return prefixMap.get(prefix); + } + + @Override + public Iterator getPrefixes(String uri) { + List list = new ArrayList<>(); + String prefix = uriMap.get(uri); + if (prefix != null) { + list.add(prefix); + } + return list.iterator(); + } + + @Override + public String getPrefix(String uri) { + return uriMap.get(uri); + } + } + + /** + * A VnfNotify XPathTool. + */ + protected class VnfNotifyXPathTool extends XPathTool { + public VnfNotifyXPathTool() { + addNamespace("tns", "http://org.openecomp.mso/vnfNotify"); + } + } + + /** + * Helper class to make it easier to create this type. + */ + private static class CreateVnfNotificationOutputs + extends CreateVnfNotification.Outputs { + public void add(String key, String value) { + Entry entry = new Entry(); + entry.setKey(key); + entry.setValue(value); + getEntry().add(entry); + } + } + + /** + * Helper class to make it easier to create this type. + */ + private static class UpdateVnfNotificationOutputs + extends UpdateVnfNotification.Outputs { + public void add(String key, String value) { + Entry entry = new Entry(); + entry.setKey(key); + entry.setValue(value); + getEntry().add(entry); + } + } } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/FileUtil.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/FileUtil.java index 4aee9c619d..38d0584d0d 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/FileUtil.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/FileUtil.java @@ -14,62 +14,62 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.mock; import java.io.IOException; import java.io.InputStream; - import org.openecomp.mso.logger.MsoLogger; /** + * * File utility class.
*

*

- * + * * @author - * @version ONAP Sep 15, 2017 + * @version ONAP Sep 15, 2017 */ public class FileUtil { - private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.RA); - - /** - * Read the specified resource file and return the contents as a String. - * - * @param fileName Name of the resource file - * @return the contents of the resource file as a String - * @throws IOException if there is a problem reading the file - */ - public static String readResourceFile(String fileName) { - InputStream stream; - try { - stream = getResourceAsStream(fileName); - byte[] bytes; - bytes = new byte[stream.available()]; - stream.read(bytes); - stream.close(); - return new String(bytes); - } catch (IOException e) { - LOGGER.debug("Exception:", e); - return ""; - } - } - - /** - * Get an InputStream for the resource specified. - * - * @param resourceName Name of resource for which to get InputStream. - * @return an InputStream for the resource specified. - * @throws IOException If we can't get the InputStream for whatever reason. - */ - private static InputStream getResourceAsStream(String resourceName) throws IOException { - InputStream stream = - FileUtil.class.getClassLoader().getResourceAsStream(resourceName); - if (stream == null) { - throw new IOException("Can't access resource '" + resourceName + "'"); - } - return stream; - } + private static final MsoLogger LOGGER = MsoLogger.getMsoLogger (MsoLogger.Catalog.RA); + + /** + * Read the specified resource file and return the contents as a String. + * + * @param fileName Name of the resource file + * @return the contents of the resource file as a String + * @throws IOException if there is a problem reading the file + */ + public static String readResourceFile(String fileName) { + InputStream stream; + try { + stream = getResourceAsStream(fileName); + byte[] bytes; + bytes = new byte[stream.available()]; + stream.read(bytes); + stream.close(); + return new String(bytes); + } catch (IOException e) { + LOGGER.debug("Exception:", e); + return ""; + } + } + + /** + * Get an InputStream for the resource specified. + * + * @param resourceName Name of resource for which to get InputStream. + * @return an InputStream for the resource specified. + * @throws IOException If we can't get the InputStream for whatever reason. + */ + private static InputStream getResourceAsStream(String resourceName) throws IOException { + InputStream stream = + FileUtil.class.getClassLoader().getResourceAsStream(resourceName); + if (stream == null) { + throw new IOException("Can't access resource '" + resourceName + "'"); + } + return stream; + } } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/MockResource.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/MockResource.java index db782dc2f9..74f50ba438 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/MockResource.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/MockResource.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.mock; @@ -34,6 +34,7 @@ import com.github.tomakehurst.wiremock.WireMockServer; import com.github.tomakehurst.wiremock.client.WireMock; /** + * * Mock Resource which is used to start, stop the WireMock Server * Also up to 50 mock properties can be added at run-time to change the properties used in transformers such as sdnc_delay in SDNCAdapterMockTransformer * You can also selectively setup a stub (use reset before setting up), reset all stubs @@ -41,146 +42,139 @@ import com.github.tomakehurst.wiremock.client.WireMock; @Path("/server") public class MockResource { - private boolean started = false; - private final Integer defaultPort = 28090; - private WireMockServer wireMockServer = null; - private static Map mockProperties = new HashMap<>(); - - public static String getMockProperties(String key) { - return mockProperties.get(key); - } - - private synchronized void initMockServer(int portNumber) { - String path = FileUtil.class.getClassLoader().getResource("__files/sdncSimResponse.xml").getFile(); - path = path.substring(0, path.indexOf("__files/")); - - wireMockServer = new WireMockServer(wireMockConfig().port(portNumber).extensions("org.openecomp.mso.bpmn.mock.SDNCAdapterMockTransformer") - .extensions("org.openecomp.mso.bpmn.mock.SDNCAdapterNetworkTopologyMockTransformer") - .extensions("org.openecomp.mso.bpmn.mock.VnfAdapterCreateMockTransformer") - .extensions("org.openecomp.mso.bpmn.mock.VnfAdapterDeleteMockTransformer") - .extensions("org.openecomp.mso.bpmn.mock.VnfAdapterUpdateMockTransformer") - .extensions("org.openecomp.mso.bpmn.mock.VnfAdapterRollbackMockTransformer") - .extensions("org.openecomp.mso.bpmn.mock.VnfAdapterQueryMockTransformer")); - //.withRootDirectory(path)); - //Mocks were failing - commenting out for now, both mock and transformers seem to work fine - WireMock.configureFor("localhost", portNumber); - wireMockServer.start(); + private boolean started = false; + private final Integer defaultPort = 28090; + private WireMockServer wireMockServer = null; + private static Map mockProperties = new HashMap<>(); + + public static String getMockProperties(String key) { + return mockProperties.get(key); + } + + private synchronized void initMockServer(int portNumber) { + String path = FileUtil.class.getClassLoader().getResource("__files/sdncSimResponse.xml").getFile(); + path = path.substring(0,path.indexOf("__files/")); + + wireMockServer = new WireMockServer(wireMockConfig().port(portNumber).extensions("org.openecomp.mso.bpmn.mock.SDNCAdapterMockTransformer") + .extensions("org.openecomp.mso.bpmn.mock.SDNCAdapterNetworkTopologyMockTransformer") + .extensions("org.openecomp.mso.bpmn.mock.VnfAdapterCreateMockTransformer") + .extensions("org.openecomp.mso.bpmn.mock.VnfAdapterDeleteMockTransformer") + .extensions("org.openecomp.mso.bpmn.mock.VnfAdapterUpdateMockTransformer") + .extensions("org.openecomp.mso.bpmn.mock.VnfAdapterRollbackMockTransformer") + .extensions("org.openecomp.mso.bpmn.mock.VnfAdapterQueryMockTransformer")); + //.withRootDirectory(path)); + //Mocks were failing - commenting out for now, both mock and transformers seem to work fine + WireMock.configureFor("localhost", portNumber); + wireMockServer.start(); // StubResponse.setupAllMocks(); - started = true; - } + started= true; + } - public static void main(String[] args) { - MockResource mockresource = new MockResource(); - mockresource.start(28090); - mockresource.reset(); + public static void main(String [] args) { + MockResource mockresource = new MockResource(); + mockresource.start(28090); + mockresource.reset(); // mockresource.setupStub("MockCreateTenant"); - } - - /** - * Starts the wiremock server in default port - * - * @return - */ - @GET - @Path("/start") - @Produces("application/json") - public Response start() { - return startMockServer(defaultPort); - } - - private Response startMockServer(int port) { - if (!started) { - initMockServer(defaultPort); - System.out.println("Started Mock Server in port " + port); - return Response.status(200).entity("Started Mock Server in port " + port).build(); - } else { - return Response.status(200).entity("Mock Server is already running").build(); - } - } - - /** - * Starts the wiremock server in a different port - * - * @param portNumber - * @return - */ - @GET - @Path("/start/{portNumber}") - @Produces("application/json") - public Response start(@PathParam("portNumber") Integer portNumber) { - if (portNumber == null) portNumber = defaultPort; - return startMockServer(portNumber.intValue()); - } - - - /** - * Stop the wiremock server - * - * @return - */ - @GET - @Path("/stop") - @Produces("application/json") - public synchronized Response stop() { - if (wireMockServer.isRunning()) { - wireMockServer.stop(); - started = false; - return Response.status(200).entity("Stopped Mock Server in port ").build(); - } - return Response.status(200).entity("Mock Server is not running").build(); - } - - - /** - * Return list of mock properties - * - * @return - */ - @GET - @Path("/properties") - @Produces("application/json") - public Response getProperties() { - return Response.status(200).entity(mockProperties).build(); - } - - /** - * Update a particular mock property at run-time - * - * @param name - * @param value - * @return - */ - @POST - @Path("/properties/{name}/{value}") - public Response updateProperties(@PathParam("name") String name, @PathParam("value") String value) { - if (mockProperties.size() > 50) return Response.serverError().build(); - mockProperties.put(name, value); - return Response.status(200).build(); - } - - /** - * Reset all stubs - * - * @return - */ - @GET - @Path("/reset") - @Produces("application/json") - public Response reset() { - WireMock.reset(); - return Response.status(200).entity("Wiremock stubs are reset").build(); - } - - - /** - * Setup a stub selectively - * Prior to use, make sure that stub method is available in StubResponse class - * - * @param methodName - * @return - */ - - // commenting for now until we figure out a way to use new StubResponse classes to setupStubs + } + + /** + * Starts the wiremock server in default port + * @return + */ + @GET + @Path("/start") + @Produces("application/json") + public Response start() { + return startMockServer(defaultPort); + } + + private Response startMockServer(int port) { + if (!started) { + initMockServer(defaultPort); + System.out.println("Started Mock Server in port " + port); + return Response.status(200).entity("Started Mock Server in port " + port).build(); + } else { + return Response.status(200).entity("Mock Server is already running").build(); + } + } + + /** + * Starts the wiremock server in a different port + * @param portNumber + * @return + */ + @GET + @Path("/start/{portNumber}") + @Produces("application/json") + public Response start(@PathParam("portNumber") Integer portNumber) { + if (portNumber == null) portNumber = defaultPort; + return startMockServer(portNumber.intValue()); + } + + + /** + * Stop the wiremock server + * @return + */ + @GET + @Path("/stop") + @Produces("application/json") + public synchronized Response stop() { + if (wireMockServer.isRunning()) { + wireMockServer.stop(); + started = false; + return Response.status(200).entity("Stopped Mock Server in port ").build(); + } + return Response.status(200).entity("Mock Server is not running").build(); + } + + + /** + * Return list of mock properties + * @return + */ + @GET + @Path("/properties") + @Produces("application/json") + public Response getProperties() { + return Response.status(200).entity(mockProperties).build(); + } + + /** + * Update a particular mock property at run-time + * @param name + * @param value + * @return + */ + @POST + @Path("/properties/{name}/{value}") + public Response updateProperties(@PathParam("name") String name, @PathParam("value") String value) { + if (mockProperties.size() > 50) return Response.serverError().build(); + mockProperties.put(name, value); + return Response.status(200).build(); + } + + /** + * Reset all stubs + * @return + */ + @GET + @Path("/reset") + @Produces("application/json") + public Response reset() { + WireMock.reset(); + return Response.status(200).entity("Wiremock stubs are reset").build(); + } + + + /** + * Setup a stub selectively + * Prior to use, make sure that stub method is available in StubResponse class + * @param methodName + * @return + */ + + // commenting for now until we figure out a way to use new StubResponse classes to setupStubs // @GET // @Path("/stub/{methodName}") // @Produces("application/json") @@ -203,7 +197,9 @@ public class MockResource { // } // return Response.status(200).entity("Successfully invoked " + methodName).build(); // } - public static Map getMockProperties() { - return mockProperties; - } + + + public static Map getMockProperties(){ + return mockProperties; + } } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/MockResourceApplication.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/MockResourceApplication.java index 961e2989b9..ba48bffca0 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/MockResourceApplication.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/MockResourceApplication.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.mock; @@ -25,25 +25,26 @@ import javax.ws.rs.ApplicationPath; import javax.ws.rs.core.Application; /** + * * JAX RS Application wiring for Mock Resource */ @ApplicationPath("/console") public class MockResourceApplication extends Application { - private Set singletons = new HashSet<>(); - private Set> classes = new HashSet<>(); + private Set singletons = new HashSet<>(); + private Set> classes = new HashSet<>(); - public MockResourceApplication() { - singletons.add(new MockResource()); - } + public MockResourceApplication() { + singletons.add(new MockResource()); + } - @Override - public Set> getClasses() { - return classes; - } + @Override + public Set> getClasses() { + return classes; + } - @Override - public Set getSingletons() { - return singletons; - } + @Override + public Set getSingletons() { + return singletons; + } } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/SDNCAdapterMockTransformer.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/SDNCAdapterMockTransformer.java index 180bc52d22..9c4e7936b1 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/SDNCAdapterMockTransformer.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/SDNCAdapterMockTransformer.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.mock; @@ -29,109 +29,112 @@ import com.github.tomakehurst.wiremock.http.Request; import com.github.tomakehurst.wiremock.http.ResponseDefinition; import org.openecomp.mso.logger.MsoLogger; - /** + * * Simulates SDNC Adapter Callback response + * */ public class SDNCAdapterMockTransformer extends ResponseTransformer { - private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL); - private String callbackResponse; - private String requestId; - - public SDNCAdapterMockTransformer() { - callbackResponse = FileUtil.readResourceFile("__files/sdncSimResponse.xml"); - } - - public SDNCAdapterMockTransformer(String requestId) { - this.requestId = requestId; - } - - public String name() { - return "sdnc-adapter-transformer"; - } - - /** - * Grab the incoming request xml,extract the request id and replace the stub response with the incoming request id - * so that callback response can be correlated - *

- * Mock Resource can be used to add dynamic properties. If sdnc_delay is not in the list by default waits for 300ms before - * the callback response is sent - */ - @Override - public ResponseDefinition transform(Request request, ResponseDefinition responseDefinition, - FileSource fileSource) { - String requestBody = request.getBodyAsString(); - - String callbackUrl = requestBody.substring(requestBody.indexOf("") + 25, requestBody.indexOf("")); - String requestId = requestBody.substring(requestBody.indexOf("") + 23, requestBody.indexOf("")); - - callbackResponse = FileUtil.readResourceFile("__files/" + responseDefinition.getBodyFileName()); - System.out.println("callbackResponse:" + callbackResponse); - - if (this.requestId != null) { - callbackResponse = callbackResponse.replace(this.requestId, requestId); - } else { - callbackResponse = callbackResponse.replace("testRequestId", requestId); - } - - - Object sdncDelay = MockResource.getMockProperties().get("sdnc_delay"); - int delay = 300; - if (sdncDelay != null) { - delay = Integer.parseInt(sdncDelay.toString()); - } - - //Kick off callback thread - System.out.println("callback Url:" + callbackUrl + ":delay:" + delay); - CallbackResponseThread calbackResponseThread = new CallbackResponseThread(callbackUrl, callbackResponse, delay); - calbackResponseThread.start(); - - //return 200 OK with empty body - return ResponseDefinitionBuilder + private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL); + private String callbackResponse; + private String requestId; + + public SDNCAdapterMockTransformer() { + callbackResponse = FileUtil.readResourceFile("__files/sdncSimResponse.xml"); + } + + public SDNCAdapterMockTransformer(String requestId) { + this.requestId = requestId; + } + + public String name() { + return "sdnc-adapter-transformer"; + } + + /** + * Grab the incoming request xml,extract the request id and replace the stub response with the incoming request id + * so that callback response can be correlated + * + * Mock Resource can be used to add dynamic properties. If sdnc_delay is not in the list by default waits for 300ms before + * the callback response is sent + */ + @Override + public ResponseDefinition transform(Request request, ResponseDefinition responseDefinition, + FileSource fileSource) { + String requestBody = request.getBodyAsString(); + + String callbackUrl = requestBody.substring(requestBody.indexOf("")+25, requestBody.indexOf("")); + String requestId = requestBody.substring(requestBody.indexOf("")+23, requestBody.indexOf("")); + + callbackResponse = FileUtil.readResourceFile("__files/" + responseDefinition.getBodyFileName()); + System.out.println("callbackResponse:" + callbackResponse); + + if (this.requestId != null) { + callbackResponse = callbackResponse.replace(this.requestId, requestId); + } else { + callbackResponse = callbackResponse.replace("testRequestId", requestId); + } + + + Object sdncDelay = MockResource.getMockProperties().get("sdnc_delay"); + int delay = 300; + if (sdncDelay != null) { + delay = Integer.parseInt(sdncDelay.toString()); + } + + //Kick off callback thread + System.out.println("callback Url:" + callbackUrl + ":delay:" + delay); + CallbackResponseThread calbackResponseThread = new CallbackResponseThread(callbackUrl,callbackResponse, delay); + calbackResponseThread.start(); + + //return 200 OK with empty body + return ResponseDefinitionBuilder .like(responseDefinition).but() .withStatus(200).withBody("").withHeader("Content-Type", "text/xml") .build(); - } - - @Override - public boolean applyGlobally() { - return false; - } - - /** - * Callback response thread which sends the callback response asynchronously - */ - private class CallbackResponseThread extends Thread { - - private String callbackUrl; - private String payLoad; - private int delay; - - public CallbackResponseThread(String callbackUrl, String payLoad, int delay) { - this.callbackUrl = callbackUrl; - this.payLoad = payLoad; - this.delay = delay; - } - - public void run() { - try { - //Delay sending callback response - sleep(delay); - } catch (InterruptedException e1) { - LOGGER.debug("Exception :", e1); - } - LOGGER.debug("Sending callback response:" + callbackUrl); - ClientRequest request = new ClientRequest(callbackUrl); - request.body("text/xml", payLoad); - System.err.println(payLoad); - try { - ClientResponse result = request.post(); - //System.err.println("Successfully posted callback:" + result.getStatus()); - } catch (Exception e) { - LOGGER.debug("Exception :", e); - } - } - - } + } + + @Override + public boolean applyGlobally() { + return false; + } + + /** + * + * Callback response thread which sends the callback response asynchronously + * + */ + private class CallbackResponseThread extends Thread { + + private String callbackUrl; + private String payLoad; + private int delay; + + public CallbackResponseThread(String callbackUrl, String payLoad, int delay) { + this.callbackUrl = callbackUrl; + this.payLoad = payLoad; + this.delay = delay; + } + + public void run () { + try { + //Delay sending callback response + sleep(delay); + } catch (InterruptedException e1) { + LOGGER.debug("Exception :",e1); + } + LOGGER.debug("Sending callback response:" + callbackUrl); + ClientRequest request = new ClientRequest(callbackUrl); + request.body("text/xml", payLoad); + System.err.println(payLoad); + try { + ClientResponse result = request.post(); + //System.err.println("Successfully posted callback:" + result.getStatus()); + } catch (Exception e) { + LOGGER.debug("Exception :",e); + } + } + + } } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/SDNCAdapterNetworkTopologyMockTransformer.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/SDNCAdapterNetworkTopologyMockTransformer.java index 96f0511798..e59e3b67d2 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/SDNCAdapterNetworkTopologyMockTransformer.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/SDNCAdapterNetworkTopologyMockTransformer.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.mock; @@ -31,102 +31,102 @@ import org.openecomp.mso.logger.MsoLogger; public class SDNCAdapterNetworkTopologyMockTransformer extends ResponseTransformer { - private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL); - - private String callbackResponse; - private String requestId; - - public SDNCAdapterNetworkTopologyMockTransformer() { - callbackResponse = ""; // FileUtil.readResourceFile("__files/sdncDeleteNetworkTopologySimResponse.xml"); - } - - public SDNCAdapterNetworkTopologyMockTransformer(String requestId) { - this.requestId = requestId; - } - - public String name() { - return "network-topology-operation-transformer"; - } - - @Override - public ResponseDefinition transform(Request request, ResponseDefinition responseDefinition, FileSource fileSource) { - String requestBody = request.getBodyAsString(); - - String callbackUrl = requestBody.substring(requestBody.indexOf("") + 25, requestBody.indexOf("")); - String requestId = requestBody.substring(requestBody.indexOf("") + 23, requestBody.indexOf("")); - System.out.println("request callbackUrl : " + callbackUrl); - System.out.println("request requestId : " + requestId); - - System.out.println("file path/name : " + responseDefinition.getBodyFileName()); - callbackResponse = FileUtil.readResourceFile("__files/" + responseDefinition.getBodyFileName()); - // extract Response responseRequestId - String responseRequestId = callbackResponse.substring(callbackResponse.indexOf("") + 11, callbackResponse.indexOf("")); - System.out.println("response requestId: " + responseRequestId); - System.out.println("callbackResponse (before): " + callbackResponse); - callbackResponse = callbackResponse.replace(responseRequestId, requestId); - if (this.requestId != null) { - callbackResponse = callbackResponse.replace(this.requestId, requestId); - } else { - callbackResponse = callbackResponse.replace(responseRequestId, requestId); - } - System.out.println("callbackResponse (after):" + callbackResponse); - - Object sdncDelay = MockResource.getMockProperties().get("sdnc_delay"); - int delay = 300; - if (sdncDelay != null) { - delay = Integer.parseInt(sdncDelay.toString()); - } - - //Kick off callback thread - System.out.println("(NetworkTopologyMockTransformer) callback Url:" + callbackUrl + ":delay:" + delay); - CallbackResponseThread calbackResponseThread = new CallbackResponseThread(callbackUrl, callbackResponse, delay); - calbackResponseThread.start(); - - //return 200 OK with body - return ResponseDefinitionBuilder + private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL); + + private String callbackResponse; + private String requestId; + + public SDNCAdapterNetworkTopologyMockTransformer() { + callbackResponse = ""; // FileUtil.readResourceFile("__files/sdncDeleteNetworkTopologySimResponse.xml"); + } + + public SDNCAdapterNetworkTopologyMockTransformer(String requestId) { + this.requestId = requestId; + } + + public String name() { + return "network-topology-operation-transformer"; + } + + @Override + public ResponseDefinition transform(Request request, ResponseDefinition responseDefinition, FileSource fileSource) { + String requestBody = request.getBodyAsString(); + + String callbackUrl = requestBody.substring(requestBody.indexOf("")+25, requestBody.indexOf("")); + String requestId = requestBody.substring(requestBody.indexOf("")+23, requestBody.indexOf("")); + System.out.println("request callbackUrl : " + callbackUrl); + System.out.println("request requestId : " + requestId); + + System.out.println("file path/name : " + responseDefinition.getBodyFileName()); + callbackResponse = FileUtil.readResourceFile("__files/" + responseDefinition.getBodyFileName()); + // extract Response responseRequestId + String responseRequestId = callbackResponse.substring(callbackResponse.indexOf("")+11, callbackResponse.indexOf("")); + System.out.println("response requestId: " + responseRequestId); + System.out.println("callbackResponse (before): " + callbackResponse); + callbackResponse = callbackResponse.replace(responseRequestId, requestId); + if (this.requestId != null) { + callbackResponse = callbackResponse.replace(this.requestId, requestId); + } else { + callbackResponse = callbackResponse.replace(responseRequestId, requestId); + } + System.out.println("callbackResponse (after):" + callbackResponse); + + Object sdncDelay = MockResource.getMockProperties().get("sdnc_delay"); + int delay = 300; + if (sdncDelay != null) { + delay = Integer.parseInt(sdncDelay.toString()); + } + + //Kick off callback thread + System.out.println("(NetworkTopologyMockTransformer) callback Url:" + callbackUrl + ":delay:" + delay); + CallbackResponseThread calbackResponseThread = new CallbackResponseThread(callbackUrl,callbackResponse, delay); + calbackResponseThread.start(); + + //return 200 OK with body + return ResponseDefinitionBuilder .like(responseDefinition).but() .withStatus(200).withBody(callbackResponse).withHeader("Content-Type", "text/xml") .build(); - } - - @Override - public boolean applyGlobally() { - return false; - } - - private class CallbackResponseThread extends Thread { - - private String callbackUrl; - private String payLoad; - private int delay; - - public CallbackResponseThread(String callbackUrl, String payLoad, int delay) { - this.callbackUrl = callbackUrl; - this.payLoad = payLoad; - this.delay = delay; - } - - public void run() { - try { - //Delay sending callback response - sleep(delay); - } catch (InterruptedException e1) { - // TODO Auto-generated catch block - LOGGER.debug("Exception :", e1); - } - LOGGER.debug("Sending callback response to url: " + callbackUrl); - ClientRequest request = new ClientRequest(callbackUrl); - request.body("text/xml", payLoad); - //System.err.println(payLoad); - try { - ClientResponse result = request.post(); - LOGGER.debug("Successfully posted callback? Status: " + result.getStatus()); - } catch (Exception e) { - // TODO Auto-generated catch block - LOGGER.debug("catch error in - request.post() "); - LOGGER.debug("Exception :", e); - } - } - - } + } + + @Override + public boolean applyGlobally() { + return false; + } + + private class CallbackResponseThread extends Thread { + + private String callbackUrl; + private String payLoad; + private int delay; + + public CallbackResponseThread(String callbackUrl, String payLoad, int delay) { + this.callbackUrl = callbackUrl; + this.payLoad = payLoad; + this.delay = delay; + } + + public void run () { + try { + //Delay sending callback response + sleep(delay); + } catch (InterruptedException e1) { + // TODO Auto-generated catch block + LOGGER.debug("Exception :",e1); + } + LOGGER.debug("Sending callback response to url: " + callbackUrl); + ClientRequest request = new ClientRequest(callbackUrl); + request.body("text/xml", payLoad); + //System.err.println(payLoad); + try { + ClientResponse result = request.post(); + LOGGER.debug("Successfully posted callback? Status: " + result.getStatus()); + } catch (Exception e) { + // TODO Auto-generated catch block + LOGGER.debug("catch error in - request.post() "); + LOGGER.debug("Exception :",e); + } + } + + } } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/StubResponseAAI.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/StubResponseAAI.java index 472321f5cc..f9a6543387 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/StubResponseAAI.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/StubResponseAAI.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.mock; @@ -32,1059 +32,1038 @@ import static com.github.tomakehurst.wiremock.client.WireMock.urlMatching; /** * Reusable Mock StubResponses for AAI Endpoints + * */ public class StubResponseAAI { - public static void setupAllMocks() { - - } - - - /** - * Tunnel-XConnect Mock Stub Response - */ - public static void MockPutTunnelXConnect(String globalCustId, String subscriptionType, String serviceInstanceId, String allottedResourceId, String tunnelId) { - stubFor(put(urlMatching("/aai/v[0-9]+/business/customers/customer/" + globalCustId + "/service-subscriptions/service-subscription/" + subscriptionType + "/service-instances/service-instance/" + serviceInstanceId + "/allotted-resources/allotted-resource/" + allottedResourceId + "/tunnel-xconnects/tunnel-xconnect/" + tunnelId)) - .willReturn(aResponse() - .withStatus(200))); - } - - - /** - * Allotted Resource Mock StubResponses below - */ - public static void MockGetAllottedResource(String globalCustId, String subscriptionType, String serviceInstanceId, String allottedResourceId, String responseFile) { - stubFor(get(urlMatching("/aai/v[0-9]+/business/customers/customer/" + globalCustId + "/service-subscriptions/service-subscription/" + subscriptionType + "/service-instances/service-instance/" + serviceInstanceId + "/allotted-resources/allotted-resource/" + allottedResourceId)) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockPutAllottedResource(String globalCustId, String subscriptionType, String serviceInstanceId, String allottedResourceId) { - stubFor(put(urlMatching("/aai/v[0-9]+/business/customers/customer/" + globalCustId + "/service-subscriptions/service-subscription/" + subscriptionType + "/service-instances/service-instance/" + serviceInstanceId + "/allotted-resources/allotted-resource/" + allottedResourceId)) - .willReturn(aResponse() - .withStatus(200))); - } - - public static void MockPutAllottedResource_500(String globalCustId, String subscriptionType, String serviceInstanceId, String allottedResourceId) { - stubFor(put(urlMatching("/aai/v[0-9]+/business/customers/customer/" + globalCustId + "/service-subscriptions/service-subscription/" + subscriptionType + "/service-instances/service-instance/" + serviceInstanceId + "/allotted-resources/allotted-resource/" + allottedResourceId)) - .willReturn(aResponse() - .withStatus(500))); - } - - public static void MockDeleteAllottedResource(String globalCustId, String subscriptionType, String serviceInstanceId, String allottedResourceId, String resourceVersion) { - stubFor(delete(urlMatching("/aai/v[0-9]+/business/customers/customer/" + globalCustId + "/service-subscriptions/service-subscription/" + subscriptionType + "/service-instances/service-instance/" + serviceInstanceId + "/allotted-resources/allotted-resource/" + allottedResourceId + "[?]resource-version=" + resourceVersion)) - .willReturn(aResponse() - .withStatus(204))); - } - - public static void MockPatchAllottedResource(String globalCustId, String subscriptionType, String serviceInstanceId, String allottedResourceId) { - stubFor(patch(urlMatching("/aai/v[0-9]+/business/customers/customer/" + globalCustId + "/service-subscriptions/service-subscription/" + subscriptionType + "/service-instances/service-instance/" + serviceInstanceId + "/allotted-resources/allotted-resource/" + allottedResourceId)) - .willReturn(aResponse() - .withStatus(200))); - } - - public static void MockQueryAllottedResourceById(String allottedResourceId, String responseFile) { - stubFor(get(urlMatching("/aai/v[0-9]+/search/nodes-query[?]search-node-type=allotted-resource[&]filter=id:EQUALS:" + allottedResourceId)) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - - /** - * Service Instance Mock StubResponses below - */ - public static void MockGetServiceInstance(String globalCustId, String subscriptionType, String serviceInstanceId, String responseFile) { - stubFor(get(urlMatching("/aai/v[0-9]+/business/customers/customer/" + globalCustId + "/service-subscriptions/service-subscription/" + subscriptionType + "/service-instances/service-instance/" + serviceInstanceId)) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockGetServiceInstance_404(String customer, String serviceSubscription, String serviceInstanceId) { - stubFor(get(urlMatching("/aai/v[0-9]+/business/customers/customer/" + customer + "/service-subscriptions/service-subscription/" + serviceSubscription + "/service-instances/service-instance/" + serviceInstanceId)) - .willReturn(aResponse() - .withStatus(404))); - } - - public static void MockGetServiceInstance_500(String customer, String serviceSubscription, String serviceInstanceId) { - stubFor(get(urlMatching("/aai/v[0-9]+/business/customers/customer/" + customer + "/service-subscriptions/service-subscription/" + serviceSubscription + "/service-instances/service-instance/" + serviceInstanceId)) - .willReturn(aResponse() - .withStatus(500))); - } - - public static void MockGetServiceInstance_500(String customer, String serviceSubscription, String serviceInstanceId, String responseFile) { - stubFor(get(urlMatching("/aai/v[0-9]+/business/customers/customer/" + customer + "/service-subscriptions/service-subscription/" + serviceSubscription + "/service-instances/service-instance/" + serviceInstanceId)) - .willReturn(aResponse() - .withStatus(500) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockNodeQueryServiceInstanceByName(String serviceInstanceName, String responseFile) { - stubFor(get(urlMatching("/aai/v[0-9]+/search/nodes-query[?]search-node-type=service-instance[&]filter=service-instance-name:EQUALS:" + serviceInstanceName)) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockNodeQueryServiceInstanceByName_404(String serviceInstanceName) { - stubFor(get(urlMatching("/aai/v[0-9]+/search/nodes-query[?]search-node-type=service-instance&filter=service-instance-name:EQUALS:" + serviceInstanceName)) - .willReturn(aResponse() - .withStatus(404))); - } - - public static void MockNodeQueryServiceInstanceByName_500(String serviceInstanceName) { - stubFor(get(urlMatching("/aai/v[0-9]+/search/nodes-query[?]search-node-type=service-instance&filter=service-instance-name:EQUALS:" + serviceInstanceName)) - .willReturn(aResponse() - .withStatus(500))); - } - - public static void MockNodeQueryServiceInstanceById(String serviceInstanceId, String responseFile) { - stubFor(get(urlMatching("/aai/v[0-9]+/search/nodes-query[?]search-node-type=service-instance[&]filter=service-instance-id:EQUALS:" + serviceInstanceId)) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockNodeQueryServiceInstanceById_404(String serviceInstanceId) { - stubFor(get(urlMatching("/aai/v[0-9]+/search/nodes-query[?]search-node-type=service-instance&filter=service-instance-id:EQUALS:" + serviceInstanceId)) - .willReturn(aResponse() - .withStatus(404))); - } - - public static void MockNodeQueryServiceInstanceById_500(String serviceInstanceId) { - stubFor(get(urlMatching("/aai/v[0-9]+/search/nodes-query[?]search-node-type=service-instance&filter=service-instance-id:EQUALS:" + serviceInstanceId)) - .willReturn(aResponse() - .withStatus(500))); - } - - public static void MockDeleteServiceInstance(String customer, String serviceSubscription, String serviceInstanceId, String resourceVersion) { - stubFor(delete(urlMatching("/aai/v[0-9]+/business/customers/customer/" + customer + "/service-subscriptions/service-subscription/" + serviceSubscription + "/service-instances/service-instance/" + serviceInstanceId + "[?]resource-version=" + resourceVersion)) - .willReturn(aResponse() - .withStatus(204))); - } - - public static void MockGetServiceInstance(String customer, String serviceSubscription, String serviceInstanceId, String resourceVersion, int statusCode) { - stubFor(get(urlMatching("/aai/v[0-9]+/business/customers/customer/" + customer + "/service-subscriptions/service-subscription/" + serviceSubscription + "/service-instances/service-instance/" + serviceInstanceId + "[?]resource-version=" + resourceVersion)) - .willReturn(aResponse() - .withStatus(statusCode))); - } - - public static void MockGetServiceInstance(String customer, String serviceSubscription, String resourceVersion, int statusCode) { - stubFor(get(urlMatching("/aai/v[0-9]+/business/customers/customer/" + customer + "/service-subscriptions/service-subscription/" + serviceSubscription + "[?]resource-version=" + resourceVersion)) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml"))); - } - - public static void MockDeleteServiceInstance(String customer, String serviceSubscription, String serviceInstanceId, String resourceVersion, int statusCode) { - stubFor(delete(urlMatching("/aai/v[0-9]+/business/customers/customer/" + customer + "/service-subscriptions/service-subscription/" + serviceSubscription + "/service-instances/service-instance/" + serviceInstanceId + "[?]resource-version=" + resourceVersion)) - .willReturn(aResponse() - .withStatus(statusCode))); - } - - public static void MockDeleteServiceInstance(String customer, String serviceSubscription, String resourceVersion, int statusCode) { - stubFor(delete(urlMatching("/aai/v[0-9]+/business/customers/customer/" + customer + "/service-subscriptions/service-subscription/" + serviceSubscription + "[?]resource-version=" + 1234)) - .willReturn(aResponse() - .withStatus(statusCode))); - } - - public static void MockDeleteServiceInstance_404(String customer, String serviceSubscription, String serviceInstanceId, String resourceVersion) { - stubFor(delete(urlMatching("/aai/v[0-9]+/business/customers/customer/" + customer + "/service-subscriptions/service-subscription/" + serviceSubscription + "/service-instances/service-instance/" + serviceInstanceId + "[?]resource-version=" + resourceVersion)) - .willReturn(aResponse() - .withStatus(404))); - } - - public static void MockDeleteServiceInstance_500(String customer, String serviceSubscription, String serviceInstanceId, String resourceVersion) { - stubFor(delete(urlMatching("/aai/v[0-9]+/business/customers/customer/" + customer + "/service-subscriptions/service-subscription/" + serviceSubscription + "/service-instances/service-instance/" + serviceInstanceId + "[?]resource-version=" + resourceVersion)) - .willReturn(aResponse() - .withStatus(500))); - } - - public static void MockPutServiceInstance(String globalCustId, String subscriptionType, String serviceInstanceId, String responseFile) { - stubFor(put(urlMatching("/aai/v[0-9]+/business/customers/customer/" + globalCustId + "/service-subscriptions/service-subscription/" + subscriptionType + "/service-instances/service-instance/" + serviceInstanceId)) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockPutServiceInstance_500(String globalCustId, String subscriptionType, String serviceInstanceId) { - stubFor(put(urlMatching("/aai/v[0-9]+/business/customers/customer/" + globalCustId + "/service-subscriptions/service-subscription/" + subscriptionType + "/service-instances/service-instance/" + serviceInstanceId)) - .willReturn(aResponse() - .withStatus(500))); - } - - /** - * Service-Subscription Mock StubResponses below - */ - public static void MockGetServiceSubscription(String globalCustId, String subscriptionType, String responseFile) { - stubFor(get(urlMatching("/aai/v[0-9]+/business/customers/customer/" + globalCustId + "/service-subscriptions/service-subscription/" + subscriptionType)) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockDeleteServiceSubscription(String globalCustId, String subscriptionType, int statusCode) { - stubFor(delete(urlMatching("/aai/v[0-9]+/business/customers/customer/" + globalCustId + "/service-subscriptions/service-subscription/" + subscriptionType)) - .willReturn(aResponse() - .withStatus(statusCode))); - } - - public static void MockDeleteServiceInstanceId(String globalCustId, String subscriptionType, String serviceInstanceId) { - stubFor(delete(urlMatching("/aai/v[0-9]+/business/customers/customer/" + globalCustId + "/service-subscriptions/service-subscription/" + subscriptionType + "/service-instances/service-instance/" + serviceInstanceId)) - .willReturn(aResponse() - .withStatus(200))); - } - - public static void MockPutServiceSubscription(String globalCustId, String subscriptionType) { - stubFor(put(urlMatching("/aai/v[0-9]+/business/customers/customer/" + globalCustId + "/service-subscriptions/service-subscription/" + subscriptionType)) - .willReturn(aResponse() - .withStatus(200))); - } - - public static void MockGetServiceSubscription(String globalCustId, String subscriptionType, int statusCode) { - stubFor(get(urlMatching("/aai/v[0-9]+/business/customers/customer/" + globalCustId + "/service-subscriptions/service-subscription/" + subscriptionType)) - .willReturn(aResponse() - .withStatus(statusCode))); - } - - /** - * Customer Mock StubResponses below - */ - public static void MockGetCustomer(String globalCustId, String responseFile) { - stubFor(get(urlMatching("/aai/v[0-9]+/business/customers/customer/" + globalCustId)) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockDeleteCustomer(String globalCustId) { - stubFor(delete(urlMatching("/aai/v[0-9]+/business/customers/customer/" + globalCustId)) - .willReturn(aResponse() - .withStatus(200))); - } - - public static void MockPutCustomer(String globalCustId) { - stubFor(put(urlMatching("/aai/v[0-9]+/business/customers/customer/" + globalCustId)) - .willReturn(aResponse() - .withStatus(200))); - } - - public static void MockPutCustomer_500(String globalCustId) { - stubFor(put(urlMatching("/aai/v[0-9]+/business/customers/customer/" + globalCustId)) - .willReturn(aResponse() - .withStatus(500))); - } - - - /** - * Generic-Vnf Mock StubResponses below - */ - - public static void MockGetGenericVnfById(String vnfId, String responseFile) { - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/" + vnfId + "[?]depth=1")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockGetGenericVnfById(String vnfId, String responseFile, int statusCode) { - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf" + vnfId)) - .willReturn(aResponse() - .withStatus(statusCode) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockGetGenericVnfByIdWithPriority(String vnfId, int statusCode, String responseFile) { - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf" + vnfId)) - .atPriority(1) - .willReturn(aResponse() - .withStatus(statusCode) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockGetGenericVnfByIdWithPriority(String vnfId, String vfModuleId, int statusCode, String responseFile, int priority) { - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/" + vnfId + "/vf-modules/vf-module/" + vfModuleId)) - .atPriority(priority) - .willReturn(aResponse() - .withStatus(statusCode) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockGetGenericVnfByIdWithDepth(String vnfId, int depth, String responseFile) { - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/" + vnfId + "[?]depth=" + depth)) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockGetGenericVnfById_404(String vnfId) { - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/" + vnfId)) - .willReturn(aResponse() - .withStatus(404))); - } - - public static void MockGetGenericVnfById_500(String vnfId) { - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/" + vnfId)) - .willReturn(aResponse() - .withStatus(500))); - } - - public static void MockGetGenericVnfByName(String vnfName, String responseFile) { - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf[?]vnf-name=" + vnfName)) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockGetGenericVnfByNameWithDepth(String vnfName, int depth, String responseFile) { - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf[?]vnf-name=" + vnfName + "[&]depth=" + depth)) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockGetGenericVnfByName_404(String vnfName) { - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf[?]vnf-name=" + vnfName)) - .willReturn(aResponse() - .withStatus(404))); - } - - public static void MockDeleteGenericVnf(String vnfId, String resourceVersion) { - stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/" + vnfId + "[?]resource-version=" + resourceVersion)) - .willReturn(aResponse() - .withStatus(204))); - } - - public static void MockDeleteGenericVnf(String vnfId, String resourceVersion, int statusCode) { - stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/" + vnfId + "[?]resource-version=" + resourceVersion)) - .willReturn(aResponse() - .withStatus(statusCode))); - } - - public static void MockDeleteGenericVnf_500(String vnfId, String resourceVersion) { - stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/" + vnfId + "[?]resource-version=" + resourceVersion)) - .willReturn(aResponse() - .withStatus(500))); - } - - public static void MockPutGenericVnf(String vnfId) { - stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/" + vnfId)) - .willReturn(aResponse() - .withStatus(200))); - } - - public static void MockPutGenericVnf(String vnfId, String requestBodyContaining, int statusCode) { - stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf" + vnfId)) - .withRequestBody(containing(requestBodyContaining)) - .willReturn(aResponse() - .withStatus(statusCode))); - } - - public static void MockPutGenericVnf(String vnfId, int statusCode) { - stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf" + vnfId)) - .willReturn(aResponse() - .withStatus(statusCode))); - } - - public static void MockPutGenericVnf_Bad(String vnfId, int statusCode) { - stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/" + vnfId)) - .willReturn(aResponse() - .withStatus(statusCode))); - } - - public static void MockPatchGenericVnf(String vnfId) { - stubFor(patch(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/" + vnfId)) - .willReturn(aResponse() - .withStatus(200))); - } - - /** - * Vce Mock StubResponses below - */ - public static void MockGetVceById(String vnfId, String responseFile) { - stubFor(get(urlMatching("/aai/v[0-9]+/network/vces/vce/" + vnfId)) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockGetVceByName(String vnfName, String responseFile) { - stubFor(get(urlMatching("/aai/v[0-9]+/network/vces/vce[?]vnf-name=" + vnfName)) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockDeleteVce(String vnfId, String resourceVersion, int statusCode) { - stubFor(delete(urlMatching("/aai/v[0-9]+/network/vces/vce/" + vnfId + "[?]resource-version=" + resourceVersion)) - .willReturn(aResponse() - .withStatus(statusCode))); - } - - public static void MockPutVce(String vnfId) { - stubFor(put(urlMatching("/aai/v[0-9]+/network/vces/vce/" + vnfId)) - .willReturn(aResponse() - .withStatus(200))); - } - - public static void MockGetGenericVceByNameWithDepth(String vnfName, int depth, String responseFile) { - stubFor(get(urlMatching("/aai/v[0-9]+/network/vces/vce[?]vnf-name=" + vnfName + "[&]depth=" + depth)) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockGetVceGenericQuery(String serviceInstanceName, int depth, int statusCode, String responseFile) { - stubFor(get(urlMatching("/aai/v[0-9]+/search/generic-query[?]key=service-instance.service-instance-name:" + serviceInstanceName + "[&]start-node-type=service-instance[&]include=vce[&]depth=" + depth)) - .willReturn(aResponse() - .withStatus(statusCode) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - /** - * Tenant Mock StubResponses below - */ - public static void MockGetTenantGenericQuery(String customer, String serviceType, String responseFile) { - stubFor(get(urlMatching("/aai/v[0-9]+/search/generic-query[?]key=customer.global-customer-id:" + customer + "&key=service-subscription.service-type:" + serviceType + "&start-node-type=service-subscription&include=tenant&include=service-subscription&depth=1")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockGetTenant(String tenantId, String responseFile) { - stubFor(get(urlEqualTo("/aai/v2/cloud-infrastructure/tenants/tenant/" + tenantId)) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - /** - * Network Mock StubResponses below - */ - public static void MockGetNetwork(String networkId, String responseFile, int statusCode) { - stubFor(get(urlMatching("/aai/v[0-9]+/network/l3-networks/l3-network/" + networkId)) - .willReturn(aResponse() - .withStatus(statusCode) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockGetNetworkByIdWithDepth(String networkId, String responseFile, String depth) { - stubFor(get(urlMatching("/aai/v[0-9]+/network/l3-networks/l3-network/" + networkId + "[?]depth=" + depth)) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockGetNetworkCloudRegion(String responseFile, String cloudRegion) { - stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/" + cloudRegion)) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockGetNetworkByName(String networkName, String responseFile) { - stubFor(get(urlMatching("/aai/v[0-9]+/network/l3-networks/l3-network[?]network-name=" + networkName)) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockGetNetworkByName_404(String responseFile, String networkName) { - stubFor(get(urlMatching("/aai/v[0-9]+/network/l3-networks/l3-network[?]network-name=" + networkName)) - .willReturn(aResponse() - .withStatus(404) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockGetNetworkCloudRegion_404(String cloudRegion) { - stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/" + cloudRegion)) - .willReturn(aResponse() - .withStatus(404))); - } - - public static void MockPutNetwork(String networkId, int statusCode, String responseFile) { - stubFor(put(urlMatching("/aai/v[0-9]+/network/l3-networks/l3-network/" + networkId)) - .willReturn(aResponse() - .withStatus(statusCode) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockPutNetwork(String networkPolicyId, String responseFile, int statusCode) { - stubFor(put(urlMatching("/aai/v[0-9]+/network/network-policies/network-policy/" + networkPolicyId)) - .willReturn(aResponse() - .withStatus(statusCode) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockGetNetworkName(String networkPolicyName, String responseFile, int statusCode) { - stubFor(get(urlMatching("/aai/v[0-9]+/network/l3-networks/l3-network[?]network-name=" + networkPolicyName)) - .willReturn(aResponse() - .withStatus(statusCode) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockGetNetworkVpnBinding(String responseFile, String vpnBinding) { - stubFor(get(urlMatching("/aai/v[0-9]+/network/vpn-bindings/vpn-binding/" + vpnBinding + "[?]depth=all")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockGetNetworkPolicy(String responseFile, String policy) { - stubFor(get(urlMatching("/aai/v[0-9]+/network/network-policies/network-policy/" + policy + "[?]depth=all")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockGetNetworkVpnBinding(String networkBindingId, String responseFile, int statusCode) { - stubFor(get(urlMatching("/aai/v[0-9]+/network/vpn-bindings/vpn-binding/" + networkBindingId)) - .willReturn(aResponse() - .withStatus(statusCode) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockGetNetworkPolicy(String networkPolicy, String responseFile, int statusCode) { - stubFor(get(urlMatching("/aai/v[0-9]+/network/network-policies/network-policy/" + networkPolicy)) - .willReturn(aResponse() - .withStatus(statusCode) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockGetNetworkTableReference(String responseFile, String tableReference) { - stubFor(get(urlMatching("/aai/v[0-9]+/network/route-table-references/route-table-reference/" + tableReference + "[?]depth=all")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockPutNetworkIdWithDepth(String responseFile, String networkId, String depth) { - stubFor(put(urlMatching("/aai/v[0-9]+/network/l3-networks/l3-network/" + networkId + "[?]depth=" + depth)) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockGetNetworkPolicyfqdn(String networkPolicy, String responseFile, int statusCode) { - stubFor(get(urlMatching("/aai/v[0-9]+/network/network-policies/network-policy[?]network-policy-fqdn=" + networkPolicy)) - .willReturn(aResponse() - .withStatus(statusCode) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockGetNetworkRouteTable(String networkRouteId, String responseFile, int statusCode) { - stubFor(get(urlMatching("/aai/v[0-9]+/network/route-table-references/route-table-reference/" + networkRouteId)) - .willReturn(aResponse() - .withStatus(statusCode) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockPatchVfModuleId(String vnfId, String vfModuleId) { - stubFor(patch(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/" + vnfId + "/vf-modules/vf-module/" + vfModuleId)) - .willReturn(aResponse() - .withStatus(200))); - } - - ///////////// - - public static void MockVNFAdapterRestVfModule() { - stubFor(put(urlEqualTo("/vnfs/v1/vnfs/skask/vf-modules/supercool")) - .willReturn(aResponse() - .withStatus(202) - .withHeader("Content-Type", "application/xml"))); - stubFor(post(urlMatching("/vnfs/v1/vnfs/.*/vf-modules")) - .willReturn(aResponse() - .withStatus(202) - .withHeader("Content-Type", "application/xml"))); - stubFor(post(urlEqualTo("/vnfs/v1/vnfs/skask/vf-modules")) - .willReturn(aResponse() - .withStatus(202) - .withHeader("Content-Type", "application/xml"))); - stubFor(put(urlEqualTo("/vnfs/v1/volume-groups/78987")) - .willReturn(aResponse() - .withStatus(202) - .withHeader("Content-Type", "application/xml"))); - } - - public static void MockDBUpdateVfModule() { - stubFor(post(urlEqualTo("/dbadapters/RequestsDbAdapter")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile("VfModularity/DBUpdateResponse.xml"))); - } - - // start of mocks used locally and by other VF Module unit tests - public static void MockSDNCAdapterVfModule() { - // simplified the implementation to return "success" for all requests - stubFor(post(urlEqualTo("/SDNCAdapter")) + public static void setupAllMocks() { + + } + + + /** + * Tunnel-XConnect Mock Stub Response + */ + public static void MockPutTunnelXConnect(String globalCustId, String subscriptionType, String serviceInstanceId, String allottedResourceId, String tunnelId){ + stubFor(put(urlMatching("/aai/v[0-9]+/business/customers/customer/" + globalCustId + "/service-subscriptions/service-subscription/" + subscriptionType + "/service-instances/service-instance/" + serviceInstanceId + "/allotted-resources/allotted-resource/" + allottedResourceId + "/tunnel-xconnects/tunnel-xconnect/" + tunnelId)) + .willReturn(aResponse() + .withStatus(200))); + } + + + /** + * Allotted Resource Mock StubResponses below + */ + public static void MockGetAllottedResource(String globalCustId, String subscriptionType, String serviceInstanceId, String allottedResourceId, String responseFile) { + stubFor(get(urlMatching("/aai/v[0-9]+/business/customers/customer/" + globalCustId + "/service-subscriptions/service-subscription/" + subscriptionType + "/service-instances/service-instance/" + serviceInstanceId + "/allotted-resources/allotted-resource/" + allottedResourceId)) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockPutAllottedResource(String globalCustId, String subscriptionType, String serviceInstanceId, String allottedResourceId) { + stubFor(put(urlMatching("/aai/v[0-9]+/business/customers/customer/" + globalCustId + "/service-subscriptions/service-subscription/" + subscriptionType + "/service-instances/service-instance/" + serviceInstanceId + "/allotted-resources/allotted-resource/" + allottedResourceId)) + .willReturn(aResponse() + .withStatus(200))); + } + + public static void MockPutAllottedResource_500(String globalCustId, String subscriptionType, String serviceInstanceId, String allottedResourceId) { + stubFor(put(urlMatching("/aai/v[0-9]+/business/customers/customer/" + globalCustId + "/service-subscriptions/service-subscription/" + subscriptionType + "/service-instances/service-instance/" + serviceInstanceId + "/allotted-resources/allotted-resource/" + allottedResourceId)) + .willReturn(aResponse() + .withStatus(500))); + } + + public static void MockDeleteAllottedResource(String globalCustId, String subscriptionType, String serviceInstanceId, String allottedResourceId, String resourceVersion) { + stubFor(delete(urlMatching("/aai/v[0-9]+/business/customers/customer/" + globalCustId + "/service-subscriptions/service-subscription/" + subscriptionType + "/service-instances/service-instance/" + serviceInstanceId + "/allotted-resources/allotted-resource/" + allottedResourceId + "[?]resource-version=" + resourceVersion)) + .willReturn(aResponse() + .withStatus(204))); + } + + public static void MockPatchAllottedResource(String globalCustId, String subscriptionType, String serviceInstanceId, String allottedResourceId) { + stubFor(patch(urlMatching("/aai/v[0-9]+/business/customers/customer/" + globalCustId + "/service-subscriptions/service-subscription/" + subscriptionType + "/service-instances/service-instance/" + serviceInstanceId + "/allotted-resources/allotted-resource/" + allottedResourceId)) + .willReturn(aResponse() + .withStatus(200))); + } + + public static void MockQueryAllottedResourceById(String allottedResourceId, String responseFile){ + stubFor(get(urlMatching("/aai/v[0-9]+/search/nodes-query[?]search-node-type=allotted-resource[&]filter=id:EQUALS:" + allottedResourceId)) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + + /** + * Service Instance Mock StubResponses below + */ + public static void MockGetServiceInstance(String globalCustId, String subscriptionType, String serviceInstanceId, String responseFile) { + stubFor(get(urlMatching("/aai/v[0-9]+/business/customers/customer/" + globalCustId + "/service-subscriptions/service-subscription/" + subscriptionType + "/service-instances/service-instance/" + serviceInstanceId)) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockGetServiceInstance_404(String customer, String serviceSubscription, String serviceInstanceId){ + stubFor(get(urlMatching("/aai/v[0-9]+/business/customers/customer/" + customer + "/service-subscriptions/service-subscription/" + serviceSubscription + "/service-instances/service-instance/" + serviceInstanceId)) + .willReturn(aResponse() + .withStatus(404))); + } + + public static void MockGetServiceInstance_500(String customer, String serviceSubscription, String serviceInstanceId){ + stubFor(get(urlMatching("/aai/v[0-9]+/business/customers/customer/" + customer + "/service-subscriptions/service-subscription/" + serviceSubscription + "/service-instances/service-instance/" + serviceInstanceId)) + .willReturn(aResponse() + .withStatus(500))); + } + + public static void MockGetServiceInstance_500(String customer, String serviceSubscription, String serviceInstanceId, String responseFile){ + stubFor(get(urlMatching("/aai/v[0-9]+/business/customers/customer/" + customer + "/service-subscriptions/service-subscription/" + serviceSubscription + "/service-instances/service-instance/" + serviceInstanceId)) + .willReturn(aResponse() + .withStatus(500) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockNodeQueryServiceInstanceByName(String serviceInstanceName, String responseFile){ + stubFor(get(urlMatching("/aai/v[0-9]+/search/nodes-query[?]search-node-type=service-instance[&]filter=service-instance-name:EQUALS:" + serviceInstanceName)) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockNodeQueryServiceInstanceByName_404(String serviceInstanceName){ + stubFor(get(urlMatching("/aai/v[0-9]+/search/nodes-query[?]search-node-type=service-instance&filter=service-instance-name:EQUALS:" + serviceInstanceName)) + .willReturn(aResponse() + .withStatus(404))); + } + + public static void MockNodeQueryServiceInstanceByName_500(String serviceInstanceName){ + stubFor(get(urlMatching("/aai/v[0-9]+/search/nodes-query[?]search-node-type=service-instance&filter=service-instance-name:EQUALS:" + serviceInstanceName)) + .willReturn(aResponse() + .withStatus(500))); + } + + public static void MockNodeQueryServiceInstanceById(String serviceInstanceId, String responseFile){ + stubFor(get(urlMatching("/aai/v[0-9]+/search/nodes-query[?]search-node-type=service-instance[&]filter=service-instance-id:EQUALS:" + serviceInstanceId)) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockNodeQueryServiceInstanceById_404(String serviceInstanceId){ + stubFor(get(urlMatching("/aai/v[0-9]+/search/nodes-query[?]search-node-type=service-instance&filter=service-instance-id:EQUALS:" + serviceInstanceId)) + .willReturn(aResponse() + .withStatus(404))); + } + + public static void MockNodeQueryServiceInstanceById_500(String serviceInstanceId){ + stubFor(get(urlMatching("/aai/v[0-9]+/search/nodes-query[?]search-node-type=service-instance&filter=service-instance-id:EQUALS:" + serviceInstanceId)) + .willReturn(aResponse() + .withStatus(500))); + } + + public static void MockDeleteServiceInstance(String customer, String serviceSubscription, String serviceInstanceId, String resourceVersion){ + stubFor(delete(urlMatching("/aai/v[0-9]+/business/customers/customer/" + customer + "/service-subscriptions/service-subscription/" + serviceSubscription + "/service-instances/service-instance/" + serviceInstanceId + "[?]resource-version=" + resourceVersion)) + .willReturn(aResponse() + .withStatus(204))); + } + + public static void MockGetServiceInstance(String customer, String serviceSubscription, String serviceInstanceId, String resourceVersion, int statusCode){ + stubFor(get(urlMatching("/aai/v[0-9]+/business/customers/customer/" + customer + "/service-subscriptions/service-subscription/" + serviceSubscription + "/service-instances/service-instance/" + serviceInstanceId + "[?]resource-version=" + resourceVersion)) + .willReturn(aResponse() + .withStatus(statusCode))); + } + + public static void MockGetServiceInstance(String customer, String serviceSubscription, String resourceVersion, int statusCode){ + stubFor(get(urlMatching("/aai/v[0-9]+/business/customers/customer/" + customer + "/service-subscriptions/service-subscription/" + serviceSubscription + "[?]resource-version=" + resourceVersion)) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml"))); + } + + public static void MockDeleteServiceInstance(String customer, String serviceSubscription, String serviceInstanceId, String resourceVersion, int statusCode){ + stubFor(delete(urlMatching("/aai/v[0-9]+/business/customers/customer/" + customer + "/service-subscriptions/service-subscription/" + serviceSubscription + "/service-instances/service-instance/" + serviceInstanceId + "[?]resource-version=" + resourceVersion)) + .willReturn(aResponse() + .withStatus(statusCode))); + } + + public static void MockDeleteServiceInstance(String customer, String serviceSubscription, String resourceVersion, int statusCode){ + stubFor(delete(urlMatching("/aai/v[0-9]+/business/customers/customer/" + customer + "/service-subscriptions/service-subscription/" + serviceSubscription + "[?]resource-version=" +1234)) + .willReturn(aResponse() + .withStatus(statusCode))); + } + + public static void MockDeleteServiceInstance_404(String customer, String serviceSubscription, String serviceInstanceId, String resourceVersion){ + stubFor(delete(urlMatching("/aai/v[0-9]+/business/customers/customer/" + customer + "/service-subscriptions/service-subscription/" + serviceSubscription + "/service-instances/service-instance/" + serviceInstanceId + "[?]resource-version=" + resourceVersion)) + .willReturn(aResponse() + .withStatus(404))); + } + + public static void MockDeleteServiceInstance_500(String customer, String serviceSubscription, String serviceInstanceId, String resourceVersion){ + stubFor(delete(urlMatching("/aai/v[0-9]+/business/customers/customer/" + customer + "/service-subscriptions/service-subscription/" + serviceSubscription + "/service-instances/service-instance/" + serviceInstanceId + "[?]resource-version=" + resourceVersion)) + .willReturn(aResponse() + .withStatus(500))); + } + + public static void MockPutServiceInstance(String globalCustId, String subscriptionType, String serviceInstanceId, String responseFile) { + stubFor(put(urlMatching("/aai/v[0-9]+/business/customers/customer/" + globalCustId + "/service-subscriptions/service-subscription/" + subscriptionType + "/service-instances/service-instance/" + serviceInstanceId)) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockPutServiceInstance_500(String globalCustId, String subscriptionType, String serviceInstanceId) { + stubFor(put(urlMatching("/aai/v[0-9]+/business/customers/customer/" + globalCustId + "/service-subscriptions/service-subscription/" + subscriptionType + "/service-instances/service-instance/" + serviceInstanceId)) + .willReturn(aResponse() + .withStatus(500))); + } + + /** + * Service-Subscription Mock StubResponses below + */ + public static void MockGetServiceSubscription(String globalCustId, String subscriptionType, String responseFile) { + stubFor(get(urlMatching("/aai/v[0-9]+/business/customers/customer/" + globalCustId + "/service-subscriptions/service-subscription/" + subscriptionType)) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockDeleteServiceSubscription(String globalCustId, String subscriptionType, int statusCode) { + stubFor(delete(urlMatching("/aai/v[0-9]+/business/customers/customer/" + globalCustId + "/service-subscriptions/service-subscription/" + subscriptionType)) + .willReturn(aResponse() + .withStatus(statusCode))); + } + + public static void MockDeleteServiceInstanceId(String globalCustId, String subscriptionType, String serviceInstanceId) { + stubFor(delete(urlMatching("/aai/v[0-9]+/business/customers/customer/" + globalCustId + "/service-subscriptions/service-subscription/" + subscriptionType + "/service-instances/service-instance/" + serviceInstanceId)) + .willReturn(aResponse() + .withStatus(200))); + } + + public static void MockPutServiceSubscription(String globalCustId, String subscriptionType) { + stubFor(put(urlMatching("/aai/v[0-9]+/business/customers/customer/" + globalCustId + "/service-subscriptions/service-subscription/" + subscriptionType)) + .willReturn(aResponse() + .withStatus(200))); + } + + public static void MockGetServiceSubscription(String globalCustId, String subscriptionType, int statusCode) { + stubFor(get(urlMatching("/aai/v[0-9]+/business/customers/customer/" + globalCustId + "/service-subscriptions/service-subscription/" + subscriptionType)) + .willReturn(aResponse() + .withStatus(statusCode))); + } + + /** + * Customer Mock StubResponses below + */ + public static void MockGetCustomer(String globalCustId, String responseFile) { + stubFor(get(urlMatching("/aai/v[0-9]+/business/customers/customer/" + globalCustId)) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockDeleteCustomer(String globalCustId) { + stubFor(delete(urlMatching("/aai/v[0-9]+/business/customers/customer/" + globalCustId)) + .willReturn(aResponse() + .withStatus(200))); + } + + public static void MockPutCustomer(String globalCustId) { + stubFor(put(urlMatching("/aai/v[0-9]+/business/customers/customer/" + globalCustId)) + .willReturn(aResponse() + .withStatus(200))); + } + + public static void MockPutCustomer_500(String globalCustId) { + stubFor(put(urlMatching("/aai/v[0-9]+/business/customers/customer/" + globalCustId)) + .willReturn(aResponse() + .withStatus(500))); + } + + + /** + * Generic-Vnf Mock StubResponses below + */ + + public static void MockGetGenericVnfById(String vnfId, String responseFile){ + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/" + vnfId + "[?]depth=1")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockGetGenericVnfById(String vnfId, String responseFile, int statusCode){ + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf" + vnfId)) + .willReturn(aResponse() + .withStatus(statusCode) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockGetGenericVnfByIdWithPriority(String vnfId, int statusCode, String responseFile) { + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf" + vnfId)) + .atPriority(1) + .willReturn(aResponse() + .withStatus(statusCode) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockGetGenericVnfByIdWithPriority(String vnfId, String vfModuleId, int statusCode, String responseFile, int priority) { + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/" + vnfId + "/vf-modules/vf-module/" + vfModuleId)) + .atPriority(priority) + .willReturn(aResponse() + .withStatus(statusCode) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockGetGenericVnfByIdWithDepth(String vnfId, int depth, String responseFile){ + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/" + vnfId + "[?]depth=" + depth)) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockGetGenericVnfById_404(String vnfId){ + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/" + vnfId)) + .willReturn(aResponse() + .withStatus(404))); + } + + public static void MockGetGenericVnfById_500(String vnfId){ + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/" + vnfId)) + .willReturn(aResponse() + .withStatus(500))); + } + + public static void MockGetGenericVnfByName(String vnfName, String responseFile){ + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf[?]vnf-name=" + vnfName)) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockGetGenericVnfByNameWithDepth(String vnfName, int depth, String responseFile){ + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf[?]vnf-name=" + vnfName + "[&]depth=" + depth)) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockGetGenericVnfByName_404(String vnfName){ + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf[?]vnf-name=" + vnfName)) + .willReturn(aResponse() + .withStatus(404))); + } + + public static void MockDeleteGenericVnf(String vnfId, String resourceVersion){ + stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/" + vnfId + "[?]resource-version=" + resourceVersion)) + .willReturn(aResponse() + .withStatus(204))); + } + + public static void MockDeleteGenericVnf(String vnfId, String resourceVersion, int statusCode){ + stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/" + vnfId + "[?]resource-version=" + resourceVersion)) + .willReturn(aResponse() + .withStatus(statusCode))); + } + + public static void MockDeleteGenericVnf_500(String vnfId, String resourceVersion){ + stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/" + vnfId + "[?]resource-version=" + resourceVersion)) + .willReturn(aResponse() + .withStatus(500))); + } + + public static void MockPutGenericVnf(String vnfId){ + stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/" + vnfId)) + .willReturn(aResponse() + .withStatus(200))); + } + + public static void MockPutGenericVnf(String vnfId, String requestBodyContaining, int statusCode) { + stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf" + vnfId)) + .withRequestBody(containing(requestBodyContaining)) + .willReturn(aResponse() + .withStatus(statusCode))); + } + + public static void MockPutGenericVnf(String vnfId, int statusCode) { + stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf" + vnfId)) + .willReturn(aResponse() + .withStatus(statusCode))); + } + + public static void MockPutGenericVnf_Bad(String vnfId, int statusCode){ + stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/" + vnfId)) + .willReturn(aResponse() + .withStatus(statusCode))); + } + + public static void MockPatchGenericVnf(String vnfId){ + stubFor(patch(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/" + vnfId)) + .willReturn(aResponse() + .withStatus(200))); + } + /** + * Vce Mock StubResponses below + */ + public static void MockGetVceById(String vnfId, String responseFile){ + stubFor(get(urlMatching("/aai/v[0-9]+/network/vces/vce/" + vnfId)) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockGetVceByName(String vnfName, String responseFile){ + stubFor(get(urlMatching("/aai/v[0-9]+/network/vces/vce[?]vnf-name=" + vnfName)) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockDeleteVce(String vnfId, String resourceVersion, int statusCode){ + stubFor(delete(urlMatching("/aai/v[0-9]+/network/vces/vce/" + vnfId + "[?]resource-version=" + resourceVersion)) + .willReturn(aResponse() + .withStatus(statusCode))); + } + + public static void MockPutVce(String vnfId){ + stubFor(put(urlMatching("/aai/v[0-9]+/network/vces/vce/" + vnfId)) + .willReturn(aResponse() + .withStatus(200))); + } + + public static void MockGetGenericVceByNameWithDepth(String vnfName, int depth, String responseFile){ + stubFor(get(urlMatching("/aai/v[0-9]+/network/vces/vce[?]vnf-name=" + vnfName + "[&]depth=" + depth)) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockGetVceGenericQuery(String serviceInstanceName, int depth, int statusCode, String responseFile){ + stubFor(get(urlMatching("/aai/v[0-9]+/search/generic-query[?]key=service-instance.service-instance-name:" + serviceInstanceName + "[&]start-node-type=service-instance[&]include=vce[&]depth=" + depth)) + .willReturn(aResponse() + .withStatus(statusCode) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + /** + * Tenant Mock StubResponses below + */ + public static void MockGetTenantGenericQuery(String customer, String serviceType, String responseFile) { + stubFor(get(urlMatching("/aai/v[0-9]+/search/generic-query[?]key=customer.global-customer-id:" + customer + "&key=service-subscription.service-type:" + serviceType + "&start-node-type=service-subscription&include=tenant&include=service-subscription&depth=1")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockGetTenant(String tenantId, String responseFile) { + stubFor(get(urlEqualTo("/aai/v2/cloud-infrastructure/tenants/tenant/" + tenantId)) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + /** + * Network Mock StubResponses below + */ + public static void MockGetNetwork(String networkId, String responseFile, int statusCode) { + stubFor(get(urlMatching("/aai/v[0-9]+/network/l3-networks/l3-network/" + networkId)) + .willReturn(aResponse() + .withStatus(statusCode) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockGetNetworkByIdWithDepth(String networkId, String responseFile, String depth) { + stubFor(get(urlMatching("/aai/v[0-9]+/network/l3-networks/l3-network/" + networkId + "[?]depth=" + depth)) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockGetNetworkCloudRegion(String responseFile, String cloudRegion) { + stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/"+cloudRegion)) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockGetNetworkByName(String networkName, String responseFile) { + stubFor(get(urlMatching("/aai/v[0-9]+/network/l3-networks/l3-network[?]network-name="+networkName)) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockGetNetworkByName_404(String responseFile, String networkName) { + stubFor(get(urlMatching("/aai/v[0-9]+/network/l3-networks/l3-network[?]network-name="+networkName)) + .willReturn(aResponse() + .withStatus(404) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockGetNetworkCloudRegion_404(String cloudRegion) { + stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/"+cloudRegion)) + .willReturn(aResponse() + .withStatus(404))); + } + + public static void MockPutNetwork(String networkId, int statusCode, String responseFile) { + stubFor(put(urlMatching("/aai/v[0-9]+/network/l3-networks/l3-network/" + networkId)) + .willReturn(aResponse() + .withStatus(statusCode) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockPutNetwork(String networkPolicyId, String responseFile, int statusCode) { + stubFor(put(urlMatching("/aai/v[0-9]+/network/network-policies/network-policy/" + networkPolicyId)) + .willReturn(aResponse() + .withStatus(statusCode) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockGetNetworkName(String networkPolicyName, String responseFile, int statusCode) { + stubFor(get(urlMatching("/aai/v[0-9]+/network/l3-networks/l3-network[?]network-name=" + networkPolicyName)) + .willReturn(aResponse() + .withStatus(statusCode) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockGetNetworkVpnBinding(String responseFile, String vpnBinding) { + stubFor(get(urlMatching("/aai/v[0-9]+/network/vpn-bindings/vpn-binding/"+vpnBinding + "[?]depth=all")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockGetNetworkPolicy(String responseFile, String policy) { + stubFor(get(urlMatching("/aai/v[0-9]+/network/network-policies/network-policy/"+policy + "[?]depth=all")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockGetNetworkVpnBinding(String networkBindingId, String responseFile, int statusCode) { + stubFor(get(urlMatching("/aai/v[0-9]+/network/vpn-bindings/vpn-binding/" + networkBindingId)) + .willReturn(aResponse() + .withStatus(statusCode) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockGetNetworkPolicy(String networkPolicy, String responseFile, int statusCode) { + stubFor(get(urlMatching("/aai/v[0-9]+/network/network-policies/network-policy/" + networkPolicy)) + .willReturn(aResponse() + .withStatus(statusCode) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockGetNetworkTableReference(String responseFile, String tableReference) { + stubFor(get(urlMatching("/aai/v[0-9]+/network/route-table-references/route-table-reference/"+tableReference + "[?]depth=all")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockPutNetworkIdWithDepth(String responseFile, String networkId, String depth) { + stubFor(put(urlMatching("/aai/v[0-9]+/network/l3-networks/l3-network/"+networkId+"[?]depth="+depth )) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockGetNetworkPolicyfqdn(String networkPolicy, String responseFile, int statusCode) { + stubFor(get(urlMatching("/aai/v[0-9]+/network/network-policies/network-policy[?]network-policy-fqdn=" + networkPolicy)) + .willReturn(aResponse() + .withStatus(statusCode) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockGetNetworkRouteTable(String networkRouteId, String responseFile, int statusCode) { + stubFor(get(urlMatching("/aai/v[0-9]+/network/route-table-references/route-table-reference/" + networkRouteId)) + .willReturn(aResponse() + .withStatus(statusCode) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockPatchVfModuleId(String vnfId, String vfModuleId) { + stubFor(patch(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/" + vnfId + "/vf-modules/vf-module/" + vfModuleId)) + .willReturn(aResponse() + .withStatus(200))); + } + + ///////////// + + public static void MockVNFAdapterRestVfModule() { + stubFor(put(urlEqualTo("/vnfs/v1/vnfs/skask/vf-modules/supercool")) + .willReturn(aResponse() + .withStatus(202) + .withHeader("Content-Type", "application/xml"))); + stubFor(post(urlMatching("/vnfs/v1/vnfs/.*/vf-modules")) + .willReturn(aResponse() + .withStatus(202) + .withHeader("Content-Type", "application/xml"))); + stubFor(post(urlEqualTo("/vnfs/v1/vnfs/skask/vf-modules")) + .willReturn(aResponse() + .withStatus(202) + .withHeader("Content-Type", "application/xml"))); + stubFor(put(urlEqualTo("/vnfs/v1/volume-groups/78987")) + .willReturn(aResponse() + .withStatus(202) + .withHeader("Content-Type", "application/xml"))); + } + + public static void MockDBUpdateVfModule(){ + stubFor(post(urlEqualTo("/dbadapters/RequestsDbAdapter")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile("VfModularity/DBUpdateResponse.xml"))); + } + + // start of mocks used locally and by other VF Module unit tests + public static void MockSDNCAdapterVfModule() { + // simplified the implementation to return "success" for all requests + stubFor(post(urlEqualTo("/SDNCAdapter")) // .withRequestBody(containing("SvcInstanceId><")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile("VfModularity/StandardSDNCSynchResponse.xml"))); - - } - - // start of mocks used locally and by other VF Module unit tests - public static void MockAAIVfModule() { - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/skask/vf-modules/vf-module/supercool")) - .atPriority(1) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile("VfModularity/VfModule-supercool.xml"))); - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/skask/vf-modules/vf-module/lukewarm")) - .atPriority(2) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile("VfModularity/VfModule-lukewarm.xml"))); - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/skask/vf-modules/vf-module/.*")) - .atPriority(5) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile("VfModularity/VfModule-new.xml"))); - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/skask[?]depth=1")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile("VfModularity/GenericVnf.xml"))); - stubFor(patch(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/skask/vf-modules/vf-module/supercool")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile("VfModularity/StandardSDNCSynchResponse.xml"))); + + } + + // start of mocks used locally and by other VF Module unit tests + public static void MockAAIVfModule() { + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/skask/vf-modules/vf-module/supercool")) + .atPriority(1) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile("VfModularity/VfModule-supercool.xml"))); + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/skask/vf-modules/vf-module/lukewarm")) + .atPriority(2) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile("VfModularity/VfModule-lukewarm.xml"))); + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/skask/vf-modules/vf-module/.*")) + .atPriority(5) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile("VfModularity/VfModule-new.xml"))); + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/skask[?]depth=1")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile("VfModularity/GenericVnf.xml"))); + stubFor(patch(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/skask/vf-modules/vf-module/supercool")) // .withRequestBody(containing("PCRF")) - .willReturn(aResponse() - .withStatus(200))); - stubFor(patch(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/skask/vf-modules/vf-module/.*")) + .willReturn(aResponse() + .withStatus(200))); + stubFor(patch(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/skask/vf-modules/vf-module/.*")) // .withRequestBody(containing("PCRF")) - .willReturn(aResponse() - .withStatus(200))); - // HTTP PUT stub still used by CreateAAIvfModuleVolumeGroup - stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/skask/vf-modules/vf-module/.*")) - .withRequestBody(containing("PCRF")) - .willReturn(aResponse() - .withStatus(200))); - // HTTP PUT stub still used by DoCreateVfModuleTest - stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/skask/vf-modules/vf-module/.*")) - .withRequestBody(containing("MODULELABEL")) - .willReturn(aResponse() - .withStatus(200))); - stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/volume-groups/volume-group[?]volume-group-id=78987")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile("VfModularity/ConfirmVolumeGroupTenantResponse.xml"))); - stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/volume-groups/volume-group[?]volume-group-id=78987")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile("VfModularity/ConfirmVolumeGroupTenantResponse.xml"))); - stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/MDTWNJ21/volume-groups/volume-group/78987")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile("VfModularity/VolumeGroup.xml"))); - stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/volume-groups/volume-group/78987")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile("VfModularity/VolumeGroup.xml"))); - stubFor(delete(urlMatching("/aai/v[0-9]+/cloud-infrastructure/volume-groups/volume-group/78987[?]resource-version=0000020")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile("DeleteCinderVolumeV1/DeleteVolumeId_AAIResponse_Success.xml"))); - stubFor(put(urlMatching("/aai/v[0-9]+/network/network-policies/network-policy/.*")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile("VfModularity/AddNetworkPolicy_AAIResponse_Success.xml"))); - stubFor(patch(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/skask/vf-modules/vf-module/NEWvBNGModuleId")) - .withRequestBody(containing("NEWvBNGModuleId")) - .willReturn(aResponse() - .withStatus(200))); - } - - - ////////////// - - /** - * Cloud infrastructure below - */ - - public static void MockGetCloudRegion(String cloudRegionId, int statusCode, String responseFile) { - stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/" + cloudRegionId)) - .willReturn(aResponse() - .withStatus(statusCode) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - /** - * Volume Group StubResponse below - */ - public static void MockGetVolumeGroupById(String cloudRegionId, String volumeGroupId, String responseFile) { - stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/" + cloudRegionId + "/volume-groups/volume-group/" + volumeGroupId)) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockPutVolumeGroupById(String cloudRegionId, String volumeGroupId, String responseFile, int statusCode) { - stubFor(put(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/" + cloudRegionId + "/volume-groups/volume-group/" + volumeGroupId)) - .willReturn(aResponse() - .withStatus(statusCode) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockGetVolumeGroupByName(String cloudRegionId, String volumeGroupName, String responseFile, int statusCode) { - stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/" + cloudRegionId + "/volume-groups[?]volume-group-name=" + volumeGroupName)) - .willReturn(aResponse() - .withStatus(statusCode) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockDeleteVolumeGroupById(String cloudRegionId, String volumeGroupId, String resourceVersion, int statusCode) { - stubFor(delete(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/" + cloudRegionId + "/volume-groups/volume-group/" + volumeGroupId + "[?]resource-version=" + resourceVersion)) - .willReturn(aResponse() - .withStatus(statusCode))); - } - - public static void MockGetVolumeGroupByName_404(String cloudRegionId, String volumeGroupName) { - stubFor(get(urlMatching("/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/att-aic/" + cloudRegionId + "/volume-groups[?]volume-group-name=" + volumeGroupName)) - .willReturn(aResponse() - .withStatus(404))); - } - - public static void MockDeleteVolumeGroup(String cloudRegionId, String volumeGroupId, String resourceVersion) { - stubFor(delete(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/" + cloudRegionId + "/volume-groups/volume-group/" + volumeGroupId + "[?]resource-version=" + resourceVersion)) - .willReturn(aResponse() - .withStatus(200))); - } - - /** - * VF-Module StubResponse below - * - * @param statusCode TODO - */ - public static void MockGetVfModuleId(String vnfId, String vfModuleId, String responseFile, int statusCode) { - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/" + vnfId + "/vf-modules/vf-module/" + vfModuleId)) - .willReturn(aResponse() - .withStatus(statusCode) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockGetVfModuleByNameWithDepth(String vnfId, String vfModuleName, int depth, String responseFile, int statusCode) { - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/" + vnfId + "/vf-modules/vf-module[?]vf-module-name=" + vfModuleName + "[?]depth=" + depth)) - .willReturn(aResponse() - .withStatus(statusCode) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockGetVfModuleIdNoResponse(String vnfId, String requestContaining, String vfModuleId) { - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/" + vnfId + "/vf-modules/vf-module/" + vfModuleId)) - .withRequestBody(containing(requestContaining)) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml"))); - } - - public static void MockPutVfModuleIdNoResponse(String vnfId, String requestContaining, String vfModuleId) { - stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/" + vnfId + "/vf-modules/vf-module/" + vfModuleId)) - .withRequestBody(containing(requestContaining)) - .willReturn(aResponse() - .withStatus(200))); - } - - public static void MockPutVfModuleId(String vnfId, String vfModuleId) { - stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/" + vnfId + "/vf-modules/vf-module/" + vfModuleId)) - .willReturn(aResponse() - .withStatus(200))); - } - - public static void MockPutVfModuleId(String vnfId, String vfModuleId, int returnCode) { - stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/" + vnfId + "/vf-modules/vf-module/" + vfModuleId)) - .willReturn(aResponse() - .withStatus(returnCode))); - } - - public static void MockDeleteVfModuleId(String vnfId, String vfModuleId, String resourceVersion, int returnCode) { - stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/" + vnfId + "/vf-modules/vf-module/" + vfModuleId + "/[?]resource-version=" + resourceVersion)) - .willReturn(aResponse() - .withStatus(returnCode))); - } - - public static void MockAAIVfModuleBadPatch(String endpoint, int statusCode) { - stubFor(patch(urlMatching(endpoint)) - .willReturn(aResponse() - .withStatus(statusCode))); - } - - /* AAI Pserver Queries */ - public static void MockGetPserverByVnfId(String vnfId, String responseFile, int statusCode) { - stubFor(put(urlMatching("/v10/query.*")) - .willReturn(aResponse() - .withStatus(statusCode) - .withHeader("Content-Type", "application/json") - .withBodyFile(responseFile))); - } - - public static void MockGetGenericVnfsByVnfId(String vnfId, String responseFile, int statusCode) { - stubFor(get(urlMatching("/v10/network/generic-vnfs/.*")) - .willReturn(aResponse() - .withStatus(statusCode) - .withHeader("Content-Type", "application/json; charset=utf-8") - .withBodyFile(responseFile))); - } - - public static void MockSetInMaintFlagByVnfId(String vnfId, int statusCode) { - stubFor(patch(urlMatching("/v10/network/generic-vnfs/.*")) - .willReturn(aResponse() - .withStatus(statusCode) - )); - } - - //// Deprecated Stubs below - to be deleted once unit test that reference them are refactored to use common ones above //// - @Deprecated - public static void MockGetVceById() { - stubFor(get(urlMatching("/aai/v[0-9]+/network/vces/vce/testVnfId123?depth=1")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile("GenericFlows/getVceResponse.xml"))); - } - - @Deprecated - public static void MockGetVceByName() { - stubFor(get(urlMatching("/aai/v[0-9]+/network/vces/vce[?]vnf-name=testVnfName123")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile("GenericFlows/getVceByNameResponse.xml"))); - } - - @Deprecated - public static void MockPutVce() { - stubFor(put(urlMatching("/aai/v[0-9]+/network/vces/vce/testVnfId123")) - .willReturn(aResponse() - .withStatus(200))); - } - - @Deprecated - public static void MockDeleteVce() { - stubFor(delete(urlMatching("/aai/v[0-9]+/network/vces/vce/testVnfId123[?]resource-version=testReVer123")) - .willReturn(aResponse() - .withStatus(204))); - } - - @Deprecated - public static void MockDeleteVce_404() { - stubFor(delete(urlMatching("/aai/v[0-9]+/network/vces/vce/testVnfId123[?]resource-version=testReVer123")) - .willReturn(aResponse() - .withStatus(404))); - } - - @Deprecated - public static void MockDeleteServiceSubscription() { - stubFor(delete(urlMatching("/aai/v[0-9]+/business/customers/customer/1604-MVM-26/service-subscriptions/service-subscription/SDN-ETHERNET-INTERNET[?]resource-version=1234")) - .willReturn(aResponse() - .withStatus(204))); - } - - @Deprecated - public static void MockGetServiceSubscription() { - stubFor(get(urlMatching("/aai/v[0-9]+/business/customers/customer/1604-MVM-26/service-subscriptions/service-subscription/SDN-ETHERNET-INTERNET")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile("GenericFlows/getServiceSubscription.xml"))); - } - - @Deprecated - public static void MockGetServiceSubscription_200Empty() { - stubFor(get(urlMatching("/aai/v[0-9]+/business/customers/customer/1604-MVM-26/service-subscriptions/service-subscription/SDN-ETHERNET-INTERNET[?]resource-version=1234")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBody(" "))); - } - - @Deprecated - public static void MockGetServiceSubscription_404() { - stubFor(get(urlMatching("/aai/v[0-9]+/business/customers/customer/1604-MVM-26/service-subscriptions/service-subscription/SDN-ETHERNET-INTERNET")) - .willReturn(aResponse() - .withStatus(404))); - } - - @Deprecated - public static void MockGENPSIPutServiceInstance() { - stubFor(put(urlMatching("/aai/v[0-9]+/business/customers/customer/1604-MVM-26/service-subscriptions/service-subscription/SDN-ETHERNET-INTERNET/service-instances/service-instance/MIS%252F1604%252F0026%252FSW_INTERNET")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile("GenericPutServiceInstance/GenericPutServiceInstance_PutServiceInstance_AAIResponse_Success.xml"))); - } - - @Deprecated - public static void MockGENPSIPutServiceSubscription() { - stubFor(put(urlMatching("/aai/v[0-9]+/business/customers/customer/1604-MVM-26/service-subscriptions/service-subscription/SDN-ETHERNET-INTERNET")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile("GenericPutServiceInstance/GenericPutServiceInstance_PutServiceInstance_AAIResponse_Success.xml"))); - } - - @Deprecated - public static void MockGENPSIPutServiceInstance_get500() { - stubFor(put(urlMatching("/aai/v[0-9]+/business/customers/customer/1604-MVM-26/service-subscriptions/service-subscription/SDN-ETHERNET-INTERNET/service-instances/service-instance/MIS%252F1604%252F0026%252FSW_INTERNET")) - .willReturn(aResponse() - .withStatus(500) - .withHeader("Content-Type", "text/xml") - .withBodyFile("GenericPutServiceInstance/aaiFault.xml"))); - } - - @Deprecated - public static void MockGetGenericVnfById() { - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/testVnfId123")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile("GenericFlows/getGenericVnfByNameResponse.xml"))); - } - - @Deprecated - public static void MockGetGenericVnfById_404() { - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/testVnfId123")) - .willReturn(aResponse() - .withStatus(404))); - } - - @Deprecated - public static void MockGetGenericVnfByName() { - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf[?]vnf-name=testVnfName123")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile("GenericFlows/getGenericVnfResponse.xml"))); - } - - @Deprecated - public static void MockGetGenericVnfByName_hasRelationships() { - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf[?]vnf-name=testVnfName123")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile("GenericFlows/getGenericVnfResponse_hasRelationships.xml"))); - } - - @Deprecated - public static void MockGetGenericVnfById_hasRelationships() { - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/testVnfId123")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile("GenericFlows/getGenericVnfResponse_hasRelationships.xml"))); - } - - @Deprecated - public static void MockGetGenericVnfById_500() { - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/testVnfId123")) - .willReturn(aResponse() - .withStatus(500))); - } - - @Deprecated - public static void MockGetGenericVnfByName_404() { - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf[?]vnf-name=testVnfName123")) - .willReturn(aResponse() - .withStatus(404))); - } - - @Deprecated - public static void MockPutGenericVnf() { - stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/testVnfId123")) - .willReturn(aResponse() - .withStatus(200))); - } - - @Deprecated - public static void MockPutGenericVnf_400() { - stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/testVnfId123")) - .willReturn(aResponse() - .withStatus(400))); - } - - @Deprecated - public static void MockDeleteGenericVnf() { - stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/testVnfId123[?]resource-version=testReVer123")) - .willReturn(aResponse() - .withStatus(204))); - } - - @Deprecated - public static void MockDeleteGenericVnf_404() { - stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/testVnfId123[?]resource-version=testReVer123")) - .willReturn(aResponse() - .withStatus(404))); - } - - @Deprecated - public static void MockDeleteGenericVnf_500() { - stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/testVnfId123[?]resource-version=testReVer123")) - .willReturn(aResponse() - .withStatus(500))); - } - - @Deprecated - public static void MockDeleteGenericVnf_412() { - stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/testVnfId123[[?]]resource-version=testReVer123")) - .willReturn(aResponse() - .withStatus(412))); - } + .willReturn(aResponse() + .withStatus(200))); + // HTTP PUT stub still used by CreateAAIvfModuleVolumeGroup + stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/skask/vf-modules/vf-module/.*")) + .withRequestBody(containing("PCRF")) + .willReturn(aResponse() + .withStatus(200))); + // HTTP PUT stub still used by DoCreateVfModuleTest + stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/skask/vf-modules/vf-module/.*")) + .withRequestBody(containing("MODULELABEL")) + .willReturn(aResponse() + .withStatus(200))); + stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/volume-groups/volume-group[?]volume-group-id=78987")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile("VfModularity/ConfirmVolumeGroupTenantResponse.xml"))); + stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/volume-groups/volume-group[?]volume-group-id=78987")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile("VfModularity/ConfirmVolumeGroupTenantResponse.xml"))); + stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/MDTWNJ21/volume-groups/volume-group/78987")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile("VfModularity/VolumeGroup.xml"))); + stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/volume-groups/volume-group/78987")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile("VfModularity/VolumeGroup.xml"))); + stubFor(delete(urlMatching("/aai/v[0-9]+/cloud-infrastructure/volume-groups/volume-group/78987[?]resource-version=0000020")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile("DeleteCinderVolumeV1/DeleteVolumeId_AAIResponse_Success.xml"))); + stubFor(put(urlMatching("/aai/v[0-9]+/network/network-policies/network-policy/.*")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile("VfModularity/AddNetworkPolicy_AAIResponse_Success.xml"))); + stubFor(patch(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/skask/vf-modules/vf-module/NEWvBNGModuleId")) + .withRequestBody(containing("NEWvBNGModuleId")) + .willReturn(aResponse() + .withStatus(200))); + } + + + + ////////////// + + /** + * Cloud infrastructure below + */ + + public static void MockGetCloudRegion(String cloudRegionId, int statusCode, String responseFile) { + stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/" + cloudRegionId)) + .willReturn(aResponse() + .withStatus(statusCode) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + /** + * Volume Group StubResponse below + */ + public static void MockGetVolumeGroupById(String cloudRegionId, String volumeGroupId, String responseFile) { + stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/" + cloudRegionId + "/volume-groups/volume-group/" + volumeGroupId)) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockPutVolumeGroupById(String cloudRegionId, String volumeGroupId, String responseFile, int statusCode) { + stubFor(put(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/" + cloudRegionId + "/volume-groups/volume-group/" + volumeGroupId)) + .willReturn(aResponse() + .withStatus(statusCode) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockGetVolumeGroupByName(String cloudRegionId, String volumeGroupName, String responseFile, int statusCode) { + stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/" + cloudRegionId + "/volume-groups[?]volume-group-name=" + volumeGroupName)) + .willReturn(aResponse() + .withStatus(statusCode) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockDeleteVolumeGroupById(String cloudRegionId, String volumeGroupId, String resourceVersion, int statusCode) { + stubFor(delete(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/" + cloudRegionId + "/volume-groups/volume-group/" + volumeGroupId + "[?]resource-version=" + resourceVersion)) + .willReturn(aResponse() + .withStatus(statusCode))); + } + + public static void MockGetVolumeGroupByName_404(String cloudRegionId, String volumeGroupName) { + stubFor(get(urlMatching("/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/att-aic/" + cloudRegionId + "/volume-groups[?]volume-group-name=" + volumeGroupName)) + .willReturn(aResponse() + .withStatus(404))); + } + + public static void MockDeleteVolumeGroup(String cloudRegionId, String volumeGroupId, String resourceVersion) { + stubFor(delete(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/" + cloudRegionId + "/volume-groups/volume-group/" + volumeGroupId + "[?]resource-version=" + resourceVersion)) + .willReturn(aResponse() + .withStatus(200))); + } + + /** + * VF-Module StubResponse below + * @param statusCode TODO + */ + public static void MockGetVfModuleId(String vnfId, String vfModuleId, String responseFile, int statusCode) { + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/" + vnfId + "/vf-modules/vf-module/" + vfModuleId)) + .willReturn(aResponse() + .withStatus(statusCode) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockGetVfModuleByNameWithDepth(String vnfId, String vfModuleName, int depth, String responseFile, int statusCode) { + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/" + vnfId + "/vf-modules/vf-module[?]vf-module-name=" + vfModuleName + "[?]depth=" + depth)) + .willReturn(aResponse() + .withStatus(statusCode) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockGetVfModuleIdNoResponse(String vnfId, String requestContaining, String vfModuleId) { + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/" + vnfId + "/vf-modules/vf-module/" + vfModuleId)) + .withRequestBody(containing(requestContaining)) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml"))); + } + + public static void MockPutVfModuleIdNoResponse(String vnfId, String requestContaining, String vfModuleId) { + stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/" + vnfId +"/vf-modules/vf-module/" +vfModuleId)) + .withRequestBody(containing(requestContaining)) + .willReturn(aResponse() + .withStatus(200))); + } + + public static void MockPutVfModuleId(String vnfId, String vfModuleId) { + stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/" + vnfId + "/vf-modules/vf-module/" + vfModuleId)) + .willReturn(aResponse() + .withStatus(200))); + } + + public static void MockPutVfModuleId(String vnfId, String vfModuleId, int returnCode) { + stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/" + vnfId + "/vf-modules/vf-module/" + vfModuleId)) + .willReturn(aResponse() + .withStatus(returnCode))); + } + + public static void MockDeleteVfModuleId(String vnfId, String vfModuleId, String resourceVersion, int returnCode) { + stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/" + vnfId + "/vf-modules/vf-module/" + vfModuleId + "/[?]resource-version=" + resourceVersion)) + .willReturn(aResponse() + .withStatus(returnCode))); + } + + public static void MockAAIVfModuleBadPatch(String endpoint, int statusCode) { + stubFor(patch(urlMatching(endpoint)) + .willReturn(aResponse() + .withStatus(statusCode))); + } + + /* AAI Pserver Queries */ + public static void MockGetPserverByVnfId(String vnfId, String responseFile, int statusCode) { + stubFor(put(urlMatching("/v10/query.*")) + .willReturn(aResponse() + .withStatus(statusCode) + .withHeader("Content-Type", "application/json") + .withBodyFile(responseFile))); + } + + public static void MockGetGenericVnfsByVnfId(String vnfId, String responseFile, int statusCode) { + stubFor(get(urlMatching("/v10/network/generic-vnfs/.*")) + .willReturn(aResponse() + .withStatus(statusCode) + .withHeader("Content-Type", "application/json; charset=utf-8") + .withBodyFile(responseFile))); + } + + public static void MockSetInMaintFlagByVnfId(String vnfId, int statusCode) { + stubFor(patch(urlMatching("/v10/network/generic-vnfs/.*")) + .willReturn(aResponse() + .withStatus(statusCode) + )); + } + + //// Deprecated Stubs below - to be deleted once unit test that reference them are refactored to use common ones above //// + @Deprecated + public static void MockGetVceById(){ + stubFor(get(urlMatching("/aai/v[0-9]+/network/vces/vce/testVnfId123?depth=1")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile("GenericFlows/getVceResponse.xml"))); + } + @Deprecated + public static void MockGetVceByName(){ + stubFor(get(urlMatching("/aai/v[0-9]+/network/vces/vce[?]vnf-name=testVnfName123")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile("GenericFlows/getVceByNameResponse.xml"))); + } + @Deprecated + public static void MockPutVce(){ + stubFor(put(urlMatching("/aai/v[0-9]+/network/vces/vce/testVnfId123")) + .willReturn(aResponse() + .withStatus(200))); + } + @Deprecated + public static void MockDeleteVce(){ + stubFor(delete(urlMatching("/aai/v[0-9]+/network/vces/vce/testVnfId123[?]resource-version=testReVer123")) + .willReturn(aResponse() + .withStatus(204))); + } + @Deprecated + public static void MockDeleteVce_404(){ + stubFor(delete(urlMatching("/aai/v[0-9]+/network/vces/vce/testVnfId123[?]resource-version=testReVer123")) + .willReturn(aResponse() + .withStatus(404))); + } + + @Deprecated + public static void MockDeleteServiceSubscription(){ + stubFor(delete(urlMatching("/aai/v[0-9]+/business/customers/customer/1604-MVM-26/service-subscriptions/service-subscription/SDN-ETHERNET-INTERNET[?]resource-version=1234")) + .willReturn(aResponse() + .withStatus(204))); + } + @Deprecated + public static void MockGetServiceSubscription(){ + stubFor(get(urlMatching("/aai/v[0-9]+/business/customers/customer/1604-MVM-26/service-subscriptions/service-subscription/SDN-ETHERNET-INTERNET")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile("GenericFlows/getServiceSubscription.xml"))); + } + @Deprecated + public static void MockGetServiceSubscription_200Empty(){ + stubFor(get(urlMatching("/aai/v[0-9]+/business/customers/customer/1604-MVM-26/service-subscriptions/service-subscription/SDN-ETHERNET-INTERNET[?]resource-version=1234")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBody(" "))); + } + @Deprecated + public static void MockGetServiceSubscription_404() { + stubFor(get(urlMatching("/aai/v[0-9]+/business/customers/customer/1604-MVM-26/service-subscriptions/service-subscription/SDN-ETHERNET-INTERNET")) + .willReturn(aResponse() + .withStatus(404))); + } + @Deprecated + public static void MockGENPSIPutServiceInstance(){ + stubFor(put(urlMatching("/aai/v[0-9]+/business/customers/customer/1604-MVM-26/service-subscriptions/service-subscription/SDN-ETHERNET-INTERNET/service-instances/service-instance/MIS%252F1604%252F0026%252FSW_INTERNET")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile("GenericPutServiceInstance/GenericPutServiceInstance_PutServiceInstance_AAIResponse_Success.xml"))); + } + + @Deprecated + public static void MockGENPSIPutServiceSubscription(){ + stubFor(put(urlMatching("/aai/v[0-9]+/business/customers/customer/1604-MVM-26/service-subscriptions/service-subscription/SDN-ETHERNET-INTERNET")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile("GenericPutServiceInstance/GenericPutServiceInstance_PutServiceInstance_AAIResponse_Success.xml"))); + } + @Deprecated + public static void MockGENPSIPutServiceInstance_get500(){ + stubFor(put(urlMatching("/aai/v[0-9]+/business/customers/customer/1604-MVM-26/service-subscriptions/service-subscription/SDN-ETHERNET-INTERNET/service-instances/service-instance/MIS%252F1604%252F0026%252FSW_INTERNET")) + .willReturn(aResponse() + .withStatus(500) + .withHeader("Content-Type", "text/xml") + .withBodyFile("GenericPutServiceInstance/aaiFault.xml"))); + } + + @Deprecated + public static void MockGetGenericVnfById(){ + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/testVnfId123")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile("GenericFlows/getGenericVnfByNameResponse.xml"))); + } + @Deprecated + public static void MockGetGenericVnfById_404(){ + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/testVnfId123")) + .willReturn(aResponse() + .withStatus(404))); + } + @Deprecated + public static void MockGetGenericVnfByName(){ + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf[?]vnf-name=testVnfName123")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile("GenericFlows/getGenericVnfResponse.xml"))); + } + @Deprecated + public static void MockGetGenericVnfByName_hasRelationships(){ + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf[?]vnf-name=testVnfName123")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile("GenericFlows/getGenericVnfResponse_hasRelationships.xml"))); + } + @Deprecated + public static void MockGetGenericVnfById_hasRelationships(){ + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/testVnfId123")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile("GenericFlows/getGenericVnfResponse_hasRelationships.xml"))); + } + @Deprecated + public static void MockGetGenericVnfById_500(){ + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/testVnfId123")) + .willReturn(aResponse() + .withStatus(500))); + } + @Deprecated + public static void MockGetGenericVnfByName_404(){ + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf[?]vnf-name=testVnfName123")) + .willReturn(aResponse() + .withStatus(404))); + } + @Deprecated + public static void MockPutGenericVnf(){ + stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/testVnfId123")) + .willReturn(aResponse() + .withStatus(200))); + } + @Deprecated + public static void MockPutGenericVnf_400(){ + stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/testVnfId123")) + .willReturn(aResponse() + .withStatus(400))); + } + @Deprecated + public static void MockDeleteGenericVnf(){ + stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/testVnfId123[?]resource-version=testReVer123")) + .willReturn(aResponse() + .withStatus(204))); + } + @Deprecated + public static void MockDeleteGenericVnf_404(){ + stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/testVnfId123[?]resource-version=testReVer123")) + .willReturn(aResponse() + .withStatus(404))); + } + @Deprecated + public static void MockDeleteGenericVnf_500(){ + stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/testVnfId123[?]resource-version=testReVer123")) + .willReturn(aResponse() + .withStatus(500))); + } + @Deprecated + public static void MockDeleteGenericVnf_412(){ + stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/testVnfId123[[?]]resource-version=testReVer123")) + .willReturn(aResponse() + .withStatus(412))); + } } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/StubResponseDatabase.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/StubResponseDatabase.java index c872567504..ffa6701a89 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/StubResponseDatabase.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/StubResponseDatabase.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.mock; @@ -31,80 +31,80 @@ import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo; */ public class StubResponseDatabase { - public static void setupAllMocks() { - - } - - public static void MockUpdateRequestDB(String fileName) { - stubFor(post(urlEqualTo("/dbadapters/RequestsDbAdapter")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile(fileName))); - } - - public static void mockUpdateRequestDB(int statusCode, String reponseFile) { - stubFor(post(urlEqualTo("/dbadapters/RequestsDbAdapter")) - .willReturn(aResponse() - .withStatus(statusCode) - .withHeader("Content-Type", "text/xml") - .withBodyFile(reponseFile))); - } - - public static void MockGetAllottedResourcesByModelInvariantId(String modelInvariantId, String responseFile) { - stubFor(get(urlEqualTo("/v1/serviceAllottedResources?serviceModelInvariantUuid=" + modelInvariantId)) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "application/json") - .withBodyFile(responseFile))); - } - - public static void MockGetAllottedResourcesByModelInvariantId_500(String modelInvariantId, String responseFile) { - stubFor(get(urlEqualTo("/v1/serviceAllottedResources?serviceModelInvariantUuid=" + modelInvariantId)) - .willReturn(aResponse() - .withStatus(500))); - } - - public static void MockGetVnfCatalogDataCustomizationUuid(String vnfModelCustomizationUuid, String responseFile) { - stubFor(get(urlEqualTo("/v2/serviceVnfs?vnfModelCustomizationUuid=" + vnfModelCustomizationUuid)) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "application/json") - .withBodyFile(responseFile))); - } - - public static void MockGetVfModuleByModelNameCatalogData(String vfModuleModelName, String responseFile) { - stubFor(get(urlEqualTo("/v2/vfModules?vfModuleModelName=" + vfModuleModelName)) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "application/json") - .withBodyFile(responseFile))); - } - - public static void MockGetServiceResourcesCatalogData(String serviceModelInvariantUuid, String serviceModelVersion, String responseFile) { - stubFor(get(urlEqualTo("/v2/serviceResources?serviceModelInvariantUuid=" + serviceModelInvariantUuid + - "&serviceModelVersion=" + serviceModelVersion)) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "application/json") - .withBodyFile(responseFile))); - } - - public static void MockGetServiceResourcesCatalogData(String serviceModelInvariantUuid, String responseFile) { - stubFor(get(urlEqualTo("/v2/serviceResources?serviceModelInvariantUuid=" + serviceModelInvariantUuid)) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "application/json") - .withBodyFile(responseFile))); - } - - public static void MockGetServiceResourcesCatalogDataByModelUuid(String serviceModelUuid, String responseFile) { + public static void setupAllMocks() { + + } + + public static void MockUpdateRequestDB(String fileName){ + stubFor(post(urlEqualTo("/dbadapters/RequestsDbAdapter")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile(fileName))); + } + + public static void mockUpdateRequestDB(int statusCode, String reponseFile) { + stubFor(post(urlEqualTo("/dbadapters/RequestsDbAdapter")) + .willReturn(aResponse() + .withStatus(statusCode) + .withHeader("Content-Type", "text/xml") + .withBodyFile(reponseFile))); + } + + public static void MockGetAllottedResourcesByModelInvariantId(String modelInvariantId, String responseFile){ + stubFor(get(urlEqualTo("/v1/serviceAllottedResources?serviceModelInvariantUuid=" + modelInvariantId)) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "application/json") + .withBodyFile(responseFile))); + } + + public static void MockGetAllottedResourcesByModelInvariantId_500(String modelInvariantId, String responseFile){ + stubFor(get(urlEqualTo("/v1/serviceAllottedResources?serviceModelInvariantUuid=" + modelInvariantId)) + .willReturn(aResponse() + .withStatus(500))); + } + + public static void MockGetVnfCatalogDataCustomizationUuid(String vnfModelCustomizationUuid, String responseFile){ + stubFor(get(urlEqualTo("/v2/serviceVnfs?vnfModelCustomizationUuid=" + vnfModelCustomizationUuid)) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "application/json") + .withBodyFile(responseFile))); + } + + public static void MockGetVfModuleByModelNameCatalogData(String vfModuleModelName, String responseFile){ + stubFor(get(urlEqualTo("/v2/vfModules?vfModuleModelName=" + vfModuleModelName)) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "application/json") + .withBodyFile(responseFile))); + } + + public static void MockGetServiceResourcesCatalogData(String serviceModelInvariantUuid, String serviceModelVersion, String responseFile){ + stubFor(get(urlEqualTo("/v2/serviceResources?serviceModelInvariantUuid=" + serviceModelInvariantUuid + + "&serviceModelVersion=" + serviceModelVersion)) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "application/json") + .withBodyFile(responseFile))); + } + + public static void MockGetServiceResourcesCatalogData(String serviceModelInvariantUuid, String responseFile){ + stubFor(get(urlEqualTo("/v2/serviceResources?serviceModelInvariantUuid=" + serviceModelInvariantUuid)) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "application/json") + .withBodyFile(responseFile))); + } + + public static void MockGetServiceResourcesCatalogDataByModelUuid(String serviceModelUuid, String responseFile){ stubFor(get(urlEqualTo("/v2/serviceResources?serviceModelUuid=" + serviceModelUuid)) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "application/json") - .withBodyFile(responseFile))); - } - + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "application/json") + .withBodyFile(responseFile))); + } + } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/StubResponseNetworkAdapter.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/StubResponseNetworkAdapter.java index f64d80c066..8baeb1b137 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/StubResponseNetworkAdapter.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/StubResponseNetworkAdapter.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.mock; @@ -28,85 +28,86 @@ import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo; /** * Please describe the StubResponseNetwork.java class + * */ public class StubResponseNetworkAdapter { - private static final String EOL = "\n"; - - public static void setupAllMocks() { - - } - - - public static void MockNetworkAdapter() { - stubFor(post(urlEqualTo("/networks/NetworkAdapter")) - .willReturn(aResponse() - .withStatus(200))); - } - - public static void MockNetworkAdapter(String response) { - stubFor(post(urlEqualTo("/networks/NetworkAdapter")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile(response))); - } - - public static void MockNetworkAdapter_500() { - stubFor(post(urlEqualTo("/networks/NetworkAdapter")) - .willReturn(aResponse() - .withStatus(500))); - } - - public static void MockNetworkAdapterPost(String responseFile, String requestContaining) { - stubFor(post(urlEqualTo("/networks/NetworkAdapter")) - .withRequestBody(containing(requestContaining)) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockNetworkAdapter(String networkId, int statusCode, String responseFile) { - stubFor(delete(urlEqualTo("/networks/NetworkAdapter/" + networkId)) - .willReturn(aResponse() - .withStatus(statusCode) - .withHeader("Content-Type", "application/xml") - .withBodyFile(responseFile))); - } - - public static void MockNetworkAdapterContainingRequest(String requestContaining, int statusCode, String responseFile) { - stubFor(post(urlEqualTo("/networks/NetworkAdapter")) - .withRequestBody(containing(requestContaining)) - .willReturn(aResponse() - .withStatus(statusCode) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockPutNetworkAdapter(String networkId, String requestContaining, int statusCode, String responseFile) { - stubFor(put(urlEqualTo("/networks/NetworkAdapter/" + networkId)) - .withRequestBody(containing(requestContaining)) - .willReturn(aResponse() - .withStatus(statusCode) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockNetworkAdapterRestRollbackDelete(String responseFile, String networkId) { - stubFor(delete(urlEqualTo("/networks/NetworkAdapter/" + networkId + "/rollback")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void MockNetworkAdapterRestPut(String responseFile, String networkId) { - stubFor(put(urlEqualTo("/networks/NetworkAdapter/" + networkId)) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - + private static final String EOL = "\n"; + + public static void setupAllMocks() { + + } + + + public static void MockNetworkAdapter() { + stubFor(post(urlEqualTo("/networks/NetworkAdapter")) + .willReturn(aResponse() + .withStatus(200))); + } + + public static void MockNetworkAdapter(String response) { + stubFor(post(urlEqualTo("/networks/NetworkAdapter")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile(response))); + } + + public static void MockNetworkAdapter_500() { + stubFor(post(urlEqualTo("/networks/NetworkAdapter")) + .willReturn(aResponse() + .withStatus(500))); + } + + public static void MockNetworkAdapterPost(String responseFile, String requestContaining) { + stubFor(post(urlEqualTo("/networks/NetworkAdapter")) + .withRequestBody(containing(requestContaining)) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockNetworkAdapter(String networkId, int statusCode, String responseFile) { + stubFor(delete(urlEqualTo("/networks/NetworkAdapter/" + networkId)) + .willReturn(aResponse() + .withStatus(statusCode) + .withHeader("Content-Type", "application/xml") + .withBodyFile(responseFile))); + } + + public static void MockNetworkAdapterContainingRequest(String requestContaining, int statusCode, String responseFile) { + stubFor(post(urlEqualTo("/networks/NetworkAdapter")) + .withRequestBody(containing(requestContaining)) + .willReturn(aResponse() + .withStatus(statusCode) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockPutNetworkAdapter(String networkId, String requestContaining, int statusCode, String responseFile) { + stubFor(put(urlEqualTo("/networks/NetworkAdapter/" + networkId)) + .withRequestBody(containing(requestContaining)) + .willReturn(aResponse() + .withStatus(statusCode) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockNetworkAdapterRestRollbackDelete(String responseFile, String networkId) { + stubFor(delete(urlEqualTo("/networks/NetworkAdapter/"+networkId+"/rollback")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void MockNetworkAdapterRestPut(String responseFile, String networkId) { + stubFor(put(urlEqualTo("/networks/NetworkAdapter/"+networkId)) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/StubResponsePolicy.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/StubResponsePolicy.java index d84af85258..fdaede1b39 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/StubResponsePolicy.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/StubResponsePolicy.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.mock; @@ -31,63 +31,64 @@ import static com.github.tomakehurst.wiremock.client.WireMock.urlMatching; /** * Reusable Mock StubResponses for Policy + * */ public class StubResponsePolicy { - public static void setupAllMocks() { - - } - - // start of Policy mocks - public static void MockPolicyAbort() { - stubFor(post(urlEqualTo("/pdp/api/getDecision")) - .withRequestBody(containing("BB1")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "application/json") - .withBodyFile("policyAbortResponse.json"))); - - stubFor(post(urlEqualTo("/pdp/api/getDecision")) - .withRequestBody(containing("UPDVnfI")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "application/json") - .withBodyFile("policyAbortResponse.json"))); - - stubFor(post(urlEqualTo("/pdp/api/getDecision")) - .withRequestBody(containing("RPLVnfI")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "application/json") - .withBodyFile("policyAbortResponse.json"))); - - - } - - public static void MockPolicySkip() { - stubFor(post(urlEqualTo("/pdp/api/getDecision")) - .withRequestBody(containing("BB1")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "application/json") - .withBodyFile("Policy/policySkipResponse.json"))); - - stubFor(post(urlEqualTo("/pdp/api/getDecision")) - .withRequestBody(containing("UPDVnfI")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "application/json") - .withBodyFile("Policy/policySkipResponse.json"))); - - stubFor(post(urlEqualTo("/pdp/api/getDecision")) - .withRequestBody(containing("RPLVnfI")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "application/json") - .withBodyFile("Policy/policySkipResponse.json"))); - - - } - - + public static void setupAllMocks() { + + } + + // start of Policy mocks + public static void MockPolicyAbort() { + stubFor(post(urlEqualTo("/pdp/api/getDecision")) + .withRequestBody(containing("BB1")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "application/json") + .withBodyFile("policyAbortResponse.json"))); + + stubFor(post(urlEqualTo("/pdp/api/getDecision")) + .withRequestBody(containing("UPDVnfI")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "application/json") + .withBodyFile("policyAbortResponse.json"))); + + stubFor(post(urlEqualTo("/pdp/api/getDecision")) + .withRequestBody(containing("RPLVnfI")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "application/json") + .withBodyFile("policyAbortResponse.json"))); + + + } + + public static void MockPolicySkip() { + stubFor(post(urlEqualTo("/pdp/api/getDecision")) + .withRequestBody(containing("BB1")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "application/json") + .withBodyFile("Policy/policySkipResponse.json"))); + + stubFor(post(urlEqualTo("/pdp/api/getDecision")) + .withRequestBody(containing("UPDVnfI")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "application/json") + .withBodyFile("Policy/policySkipResponse.json"))); + + stubFor(post(urlEqualTo("/pdp/api/getDecision")) + .withRequestBody(containing("RPLVnfI")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "application/json") + .withBodyFile("Policy/policySkipResponse.json"))); + + + } + + } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/StubResponseSDNCAdapter.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/StubResponseSDNCAdapter.java index 60adca2c67..f41d6d7dba 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/StubResponseSDNCAdapter.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/StubResponseSDNCAdapter.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.mock; @@ -29,118 +29,118 @@ import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo; */ public class StubResponseSDNCAdapter { - public static void setupAllMocks() { - - } - - public static void mockSDNCAdapter_500() { - stubFor(post(urlEqualTo("/SDNCAdapter")) - .willReturn(aResponse() - .withStatus(500))); - } - - public static void mockSDNCAdapter_500(String requestContaining) { - stubFor(post(urlEqualTo("/SDNCAdapter")) - .withRequestBody(containing(requestContaining)) - .willReturn(aResponse() - .withStatus(500))); - } - - public static void mockSDNCAdapter(int statusCode) { - stubFor(post(urlEqualTo("/SDNCAdapter")) - .willReturn(aResponse() - .withStatus(statusCode))); - } - - public static void mockSDNCAdapter(String endpoint, int statusCode, String responseFile) { - stubFor(post(urlEqualTo(endpoint)) - .willReturn(aResponse() - .withStatus(statusCode) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void mockSDNCAdapter(String responseFile) { - stubFor(post(urlEqualTo("/SDNCAdapter")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void mockSDNCAdapter(String endpoint, String requestContaining, int statusCode, String responseFile) { - stubFor(post(urlEqualTo(endpoint)) - .withRequestBody(containing(requestContaining)) - .willReturn(aResponse() - .withStatus(statusCode) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void mockSDNCAdapterSimulator(String responseFile) { - MockResource mockResource = new MockResource(); - mockResource.updateProperties("sdnc_delay", "300"); - stubFor(post(urlEqualTo("/SDNCAdapter")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "application/soap+xml") - .withTransformers("sdnc-adapter-transformer") - .withBodyFile(responseFile))); - } - - public static void mockSDNCAdapterSimulator(String responseFile, String requestContaining) { - MockResource mockResource = new MockResource(); - mockResource.updateProperties("sdnc_delay", "300"); - stubFor(post(urlEqualTo("/SDNCAdapter")) - .withRequestBody(containing(requestContaining)) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "application/soap+xml") - .withTransformers("sdnc-adapter-transformer") - .withBodyFile(responseFile))); - } - - public static void mockSDNCAdapterRest() { - stubFor(post(urlEqualTo("/SDNCAdapter/v1/sdnc/services")) - .willReturn(aResponse() - .withStatus(202) - .withHeader("Content-Type", "application/json"))); - } - - public static void mockSDNCAdapterRest_500() { - stubFor(post(urlEqualTo("/SDNCAdapter/v1/sdnc/services")) - .willReturn(aResponse() - .withStatus(500) - .withHeader("Content-Type", "application/json"))); - } - - public static void mockSDNCAdapterRest(String requestContaining) { - stubFor(post(urlEqualTo("/SDNCAdapter/v1/sdnc/services")) - .withRequestBody(containing(requestContaining)) - .willReturn(aResponse() - .withStatus(202) - .withHeader("Content-Type", "application/json"))); - } - - public static void mockSDNCAdapterRest_500(String requestContaining) { - stubFor(post(urlEqualTo("/SDNCAdapter/v1/sdnc/services")) - .withRequestBody(containing(requestContaining)) - .willReturn(aResponse() - .withStatus(500) - .withHeader("Content-Type", "application/json"))); - } - - public static void mockSDNCAdapterTopology(String responseFile, String requestContaining) { - MockResource mockResource = new MockResource(); - mockResource.updateProperties("sdnc_delay", "300"); - stubFor(post(urlEqualTo("/SDNCAdapter")) - .withRequestBody(containing(requestContaining)) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withTransformers("network-topology-operation-transformer") - .withBodyFile(responseFile))); - } - - + public static void setupAllMocks() { + + } + + public static void mockSDNCAdapter_500() { + stubFor(post(urlEqualTo("/SDNCAdapter")) + .willReturn(aResponse() + .withStatus(500))); + } + + public static void mockSDNCAdapter_500(String requestContaining) { + stubFor(post(urlEqualTo("/SDNCAdapter")) + .withRequestBody(containing(requestContaining)) + .willReturn(aResponse() + .withStatus(500))); + } + + public static void mockSDNCAdapter(int statusCode) { + stubFor(post(urlEqualTo("/SDNCAdapter")) + .willReturn(aResponse() + .withStatus(statusCode))); + } + + public static void mockSDNCAdapter(String endpoint, int statusCode, String responseFile) { + stubFor(post(urlEqualTo(endpoint)) + .willReturn(aResponse() + .withStatus(statusCode) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void mockSDNCAdapter(String responseFile) { + stubFor(post(urlEqualTo("/SDNCAdapter")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void mockSDNCAdapter(String endpoint, String requestContaining, int statusCode, String responseFile) { + stubFor(post(urlEqualTo(endpoint)) + .withRequestBody(containing(requestContaining)) + .willReturn(aResponse() + .withStatus(statusCode) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void mockSDNCAdapterSimulator(String responseFile) { + MockResource mockResource = new MockResource(); + mockResource.updateProperties("sdnc_delay", "300"); + stubFor(post(urlEqualTo("/SDNCAdapter")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "application/soap+xml") + .withTransformers("sdnc-adapter-transformer") + .withBodyFile(responseFile))); + } + + public static void mockSDNCAdapterSimulator(String responseFile, String requestContaining) { + MockResource mockResource = new MockResource(); + mockResource.updateProperties("sdnc_delay", "300"); + stubFor(post(urlEqualTo("/SDNCAdapter")) + .withRequestBody(containing(requestContaining)) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "application/soap+xml") + .withTransformers("sdnc-adapter-transformer") + .withBodyFile(responseFile))); + } + + public static void mockSDNCAdapterRest() { + stubFor(post(urlEqualTo("/SDNCAdapter/v1/sdnc/services")) + .willReturn(aResponse() + .withStatus(202) + .withHeader("Content-Type", "application/json"))); + } + + public static void mockSDNCAdapterRest_500() { + stubFor(post(urlEqualTo("/SDNCAdapter/v1/sdnc/services")) + .willReturn(aResponse() + .withStatus(500) + .withHeader("Content-Type", "application/json"))); + } + + public static void mockSDNCAdapterRest(String requestContaining) { + stubFor(post(urlEqualTo("/SDNCAdapter/v1/sdnc/services")) + .withRequestBody(containing(requestContaining)) + .willReturn(aResponse() + .withStatus(202) + .withHeader("Content-Type", "application/json"))); + } + + public static void mockSDNCAdapterRest_500(String requestContaining) { + stubFor(post(urlEqualTo("/SDNCAdapter/v1/sdnc/services")) + .withRequestBody(containing(requestContaining)) + .willReturn(aResponse() + .withStatus(500) + .withHeader("Content-Type", "application/json"))); + } + + public static void mockSDNCAdapterTopology(String responseFile, String requestContaining) { + MockResource mockResource = new MockResource(); + mockResource.updateProperties("sdnc_delay", "300"); + stubFor(post(urlEqualTo("/SDNCAdapter")) + .withRequestBody(containing(requestContaining)) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withTransformers("network-topology-operation-transformer") + .withBodyFile(responseFile))); + } + + } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/StubResponseSNIRO.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/StubResponseSNIRO.java index 14720080de..c16ac43d41 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/StubResponseSNIRO.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/StubResponseSNIRO.java @@ -33,37 +33,37 @@ import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo; */ public class StubResponseSNIRO { - public static void setupAllMocks() { + public static void setupAllMocks() { - } + } - public static void mockSNIRO() { - stubFor(post(urlEqualTo("/sniro/api/v2/placement")) - .willReturn(aResponse() - .withStatus(202) - .withHeader("Content-Type", "application/json"))); - } + public static void mockSNIRO() { + stubFor(post(urlEqualTo("/sniro/api/v2/placement")) + .willReturn(aResponse() + .withStatus(202) + .withHeader("Content-Type", "application/json"))); + } - public static void mockSNIRO(String responseFile) { - stubFor(post(urlEqualTo("/sniro/api/v2/placement")) - .willReturn(aResponse() - .withStatus(202) - .withHeader("Content-Type", "application/json") - .withBodyFile(responseFile))); - } + public static void mockSNIRO(String responseFile) { + stubFor(post(urlEqualTo("/sniro/api/v2/placement")) + .willReturn(aResponse() + .withStatus(202) + .withHeader("Content-Type", "application/json") + .withBodyFile(responseFile))); + } - public static void mockSNIRO_400() { - stubFor(post(urlEqualTo("/sniro/api/v2/placement")) - .willReturn(aResponse() - .withStatus(400) - .withHeader("Content-Type", "application/json"))); - } + public static void mockSNIRO_400() { + stubFor(post(urlEqualTo("/sniro/api/v2/placement")) + .willReturn(aResponse() + .withStatus(400) + .withHeader("Content-Type", "application/json"))); + } - public static void mockSNIRO_500() { - stubFor(post(urlEqualTo("/sniro/api/v2/placement")) - .willReturn(aResponse() - .withStatus(500) - .withHeader("Content-Type", "application/json"))); - } + public static void mockSNIRO_500() { + stubFor(post(urlEqualTo("/sniro/api/v2/placement")) + .willReturn(aResponse() + .withStatus(500) + .withHeader("Content-Type", "application/json"))); + } } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/StubResponseVNFAdapter.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/StubResponseVNFAdapter.java index 27be8d008f..b4aca5081e 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/StubResponseVNFAdapter.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/StubResponseVNFAdapter.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.mock; @@ -32,128 +32,127 @@ import static com.github.tomakehurst.wiremock.client.WireMock.urlMatching; */ public class StubResponseVNFAdapter { - public static void mockVNFAdapter() { - stubFor(post(urlEqualTo("/vnfs/VnfAdapterAsync")) - .willReturn(aResponse() - .withStatus(200))); - } - - public static void mockVNFAdapter(String responseFile) { - stubFor(post(urlEqualTo("/vnfs/VnfAdapterAsync")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile(responseFile))); - } - - public static void mockVNFAdapter_500() { - stubFor(post(urlEqualTo("/vnfs/VnfAdapterAsync")) - .willReturn(aResponse() - .withStatus(500))); - } - - public static void mockVNFAdapterTransformer(String transformer, String responseFile) { - MockResource mockResource = new MockResource(); - mockResource.updateProperties("vnf_delay", "300"); - stubFor(post(urlEqualTo("/vnfs/VnfAdapterAsync")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "application/soap+xml") - .withTransformers(transformer) - .withBodyFile(responseFile))); - } - - public static void mockVNFAdapterTransformer(String transformer, String responseFile, String requestContaining) { - MockResource mockResource = new MockResource(); - mockResource.updateProperties("vnf_delay", "300"); - stubFor(post(urlEqualTo("/vnfs/VnfAdapterAsync")) - .withRequestBody(containing(requestContaining)) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "application/soap+xml") - .withTransformers(transformer) - .withBodyFile(responseFile))); - } - - public static void mockVNFPost(String vfModuleId, int statusCode, String vnfId) { - stubFor(post(urlEqualTo("/vnfs/v1/vnfs/" + vnfId + "/vf-modules" + vfModuleId)) - .willReturn(aResponse() - .withStatus(statusCode) - .withHeader("Content-Type", "application/xml"))); - } - - public static void mockVNFPut(String vfModuleId, int statusCode) { - stubFor(put(urlEqualTo("/vnfs/v1/vnfs/vnfId/vf-modules" + vfModuleId)) - .willReturn(aResponse() - .withStatus(statusCode) - .withHeader("Content-Type", "application/xml"))); - } - - public static void mockVNFPut(String vnfId, String vfModuleId, int statusCode) { - stubFor(put(urlEqualTo("/vnfs/v1/vnfs/" + vnfId + "/vf-modules" + vfModuleId)) - .willReturn(aResponse() - .withStatus(statusCode) - .withHeader("Content-Type", "application/xml"))); - } - - public static void mockVNFDelete(String vnfId, String vfModuleId, int statusCode) { - stubFor(delete(urlEqualTo("/vnfs/v1/vnfs/" + vnfId + "/vf-modules" + vfModuleId)) - .willReturn(aResponse() - .withStatus(statusCode) - .withHeader("Content-Type", "application/xml"))); - } - - public static void mockVNFRollbackDelete(String vfModuleId, int statusCode) { - stubFor(delete(urlEqualTo("/vnfs/v1/vnfs/vnfId/vf-modules" + vfModuleId + "/rollback")) - .willReturn(aResponse() - .withStatus(statusCode) - .withHeader("Content-Type", "application/xml"))); - } - - public static void mockPutVNFVolumeGroup(String volumeGroupId, int statusCode) { - stubFor(put(urlEqualTo("/vnfs/v1/volume-groups/" + volumeGroupId)) - .willReturn(aResponse() - .withStatus(statusCode) - .withHeader("Content-Type", "application/xml"))); - } - - public static void mockPutVNFVolumeGroupRollback(String volumeGroupId, int statusCode) { - stubFor(delete(urlMatching("/vnfs/v1/volume-groups/" + volumeGroupId + "/rollback")) - .willReturn(aResponse() - .withStatus(statusCode) - .withHeader("Content-Type", "application/xml"))); - } - - public static void mockPostVNFVolumeGroup(int statusCode) { - stubFor(post(urlEqualTo("/vnfs/v1/volume-groups")) - .willReturn(aResponse() - .withStatus(statusCode) - .withHeader("Content-Type", "application/xml"))); - } - - public static void mockVNFAdapterRest(String vnfId) { - stubFor(post(urlEqualTo("/vnfs/v1/vnfs/" + vnfId + "/vf-modules")) - .willReturn(aResponse() - .withStatus(200))); - } - - public static void mockVNFAdapterRest_500(String vnfId) { - stubFor(post(urlEqualTo("/vnfs/v1/vnfs/" + vnfId + "/vf-modules")) - .willReturn(aResponse() - .withStatus(500))); - } - - public static void mockVfModuleDelete(String volumeGroupId) { - stubFor(delete(urlMatching("/vnfs/v1/volume-groups/" + volumeGroupId)) - .willReturn(aResponse() - .withStatus(202) - .withHeader("Content-Type", "application/xml"))); - } - - public static void mockVfModuleDelete(String volumeGroupId, int statusCode) { - stubFor(delete(urlMatching("/vnfs/v1/volume-groups/78987")) - .willReturn(aResponse() - .withStatus(statusCode) - .withHeader("Content-Type", "application/xml"))); - } + public static void mockVNFAdapter() { + stubFor(post(urlEqualTo("/vnfs/VnfAdapterAsync")) + .willReturn(aResponse() + .withStatus(200))); + } + + public static void mockVNFAdapter(String responseFile) { + stubFor(post(urlEqualTo("/vnfs/VnfAdapterAsync")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile(responseFile))); + } + + public static void mockVNFAdapter_500() { + stubFor(post(urlEqualTo("/vnfs/VnfAdapterAsync")) + .willReturn(aResponse() + .withStatus(500))); + } + + public static void mockVNFAdapterTransformer(String transformer, String responseFile) { + MockResource mockResource = new MockResource(); + mockResource.updateProperties("vnf_delay", "300"); + stubFor(post(urlEqualTo("/vnfs/VnfAdapterAsync")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "application/soap+xml") + .withTransformers(transformer) + .withBodyFile(responseFile))); + } + + public static void mockVNFAdapterTransformer(String transformer, String responseFile, String requestContaining) { + MockResource mockResource = new MockResource(); + mockResource.updateProperties("vnf_delay", "300"); + stubFor(post(urlEqualTo("/vnfs/VnfAdapterAsync")) + .withRequestBody(containing(requestContaining)) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "application/soap+xml") + .withTransformers(transformer) + .withBodyFile(responseFile))); + } + + public static void mockVNFPost(String vfModuleId, int statusCode, String vnfId) { + stubFor(post(urlEqualTo("/vnfs/v1/vnfs/" + vnfId + "/vf-modules" + vfModuleId)) + .willReturn(aResponse() + .withStatus(statusCode) + .withHeader("Content-Type", "application/xml"))); + } + + public static void mockVNFPut(String vfModuleId, int statusCode) { + stubFor(put(urlEqualTo("/vnfs/v1/vnfs/vnfId/vf-modules" + vfModuleId)) + .willReturn(aResponse() + .withStatus(statusCode) + .withHeader("Content-Type", "application/xml"))); + } + + public static void mockVNFPut(String vnfId, String vfModuleId, int statusCode) { + stubFor(put(urlEqualTo("/vnfs/v1/vnfs/" + vnfId + "/vf-modules" + vfModuleId)) + .willReturn(aResponse() + .withStatus(statusCode) + .withHeader("Content-Type", "application/xml"))); + } + + public static void mockVNFDelete(String vnfId, String vfModuleId, int statusCode) { + stubFor(delete(urlEqualTo("/vnfs/v1/vnfs/" + vnfId + "/vf-modules" + vfModuleId)) + .willReturn(aResponse() + .withStatus(statusCode) + .withHeader("Content-Type", "application/xml"))); + } + + public static void mockVNFRollbackDelete(String vfModuleId, int statusCode) { + stubFor(delete(urlEqualTo("/vnfs/v1/vnfs/vnfId/vf-modules" + vfModuleId + "/rollback")) + .willReturn(aResponse() + .withStatus(statusCode) + .withHeader("Content-Type", "application/xml"))); + } + + public static void mockPutVNFVolumeGroup(String volumeGroupId, int statusCode) { + stubFor(put(urlEqualTo("/vnfs/v1/volume-groups/" + volumeGroupId)) + .willReturn(aResponse() + .withStatus(statusCode) + .withHeader("Content-Type", "application/xml"))); + } + + public static void mockPutVNFVolumeGroupRollback(String volumeGroupId, int statusCode) { + stubFor(delete(urlMatching("/vnfs/v1/volume-groups/" + volumeGroupId + "/rollback")) + .willReturn(aResponse() + .withStatus(statusCode) + .withHeader("Content-Type", "application/xml"))); + } + public static void mockPostVNFVolumeGroup(int statusCode) { + stubFor(post(urlEqualTo("/vnfs/v1/volume-groups")) + .willReturn(aResponse() + .withStatus(statusCode) + .withHeader("Content-Type", "application/xml"))); + } + + public static void mockVNFAdapterRest(String vnfId) { + stubFor(post(urlEqualTo("/vnfs/v1/vnfs/" + vnfId + "/vf-modules")) + .willReturn(aResponse() + .withStatus(200))); + } + + public static void mockVNFAdapterRest_500(String vnfId) { + stubFor(post(urlEqualTo("/vnfs/v1/vnfs/" + vnfId + "/vf-modules")) + .willReturn(aResponse() + .withStatus(500))); + } + + public static void mockVfModuleDelete(String volumeGroupId) { + stubFor(delete(urlMatching("/vnfs/v1/volume-groups/"+ volumeGroupId)) + .willReturn(aResponse() + .withStatus(202) + .withHeader("Content-Type", "application/xml"))); + } + + public static void mockVfModuleDelete(String volumeGroupId, int statusCode) { + stubFor(delete(urlMatching("/vnfs/v1/volume-groups/78987")) + .willReturn(aResponse() + .withStatus(statusCode) + .withHeader("Content-Type", "application/xml"))); + } } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/VnfAdapterCreateMockTransformer.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/VnfAdapterCreateMockTransformer.java index 845f9fa28c..23921da8d8 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/VnfAdapterCreateMockTransformer.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/VnfAdapterCreateMockTransformer.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.mock; @@ -31,118 +31,118 @@ import com.github.tomakehurst.wiremock.http.Request; import com.github.tomakehurst.wiremock.http.ResponseDefinition; import org.openecomp.mso.logger.MsoLogger; - /** * Please describe the VnfAdapterCreateMockTransformer.java class + * */ public class VnfAdapterCreateMockTransformer extends ResponseTransformer { - private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL); - - private String notifyCallbackResponse; - private String ackResponse; - - public VnfAdapterCreateMockTransformer() { - notifyCallbackResponse = FileUtil.readResourceFile("__files/vnfAdapterMocks/vnfCreateSimResponse.xml"); // default response - } - - @Override - public String name() { - return "vnf-adapter-create-transformer"; - } - - @Override - public ResponseDefinition transform(Request request, ResponseDefinition responseDefinition, - FileSource fileSource) { - - String requestBody = request.getBodyAsString(); - - String notficationUrl = requestBody.substring(requestBody.indexOf("") + 17, requestBody.indexOf("")); - String messageId = requestBody.substring(requestBody.indexOf("") + 11, requestBody.indexOf("")); - String responseMessageId = ""; - String updatedResponse = ""; - - try { - // try supplied response file (if any) - System.out.println(" Supplied fileName: " + responseDefinition.getBodyFileName()); - ackResponse = FileUtil.readResourceFile("__files/" + responseDefinition.getBodyFileName()); - notifyCallbackResponse = ackResponse; - responseMessageId = ackResponse.substring(ackResponse.indexOf("") + 11, ackResponse.indexOf("")); - updatedResponse = ackResponse.replace(responseMessageId, messageId); - } catch (Exception ex) { - LOGGER.debug("Exception :", ex); - System.out.println(" ******* Use default response file in '__files/vnfAdapterMocks/vnfCreateSimResponse.xml'"); - responseMessageId = notifyCallbackResponse.substring(notifyCallbackResponse.indexOf("") + 11, notifyCallbackResponse.indexOf("")); - updatedResponse = notifyCallbackResponse.replace(responseMessageId, messageId); - } - - System.out.println("response (mock) messageId : " + responseMessageId); - System.out.println("request (replacement) messageId: " + messageId); - - System.out.println("vnf Response (before):" + notifyCallbackResponse); - System.out.println("vnf Response (after):" + updatedResponse); - - Object vnfDelay = MockResource.getMockProperties().get("vnf_delay"); - int delay = 300; - if (vnfDelay != null) { - delay = Integer.parseInt(vnfDelay.toString()); - } - - //Kick off callback thread - System.out.println("VnfAdapterCreateMockTransformer notficationUrl: " + notficationUrl + ":delay: " + delay); - CallbackResponseThread callbackResponseThread = new CallbackResponseThread(notficationUrl, updatedResponse, delay); - callbackResponseThread.start(); - - return ResponseDefinitionBuilder - .like(responseDefinition).but() - .withStatus(200).withBody(updatedResponse).withHeader("Content-Type", "text/xml") - .build(); - - } - - @Override - public boolean applyGlobally() { - return false; - } - - private class CallbackResponseThread extends Thread { - - private String callbackUrl; - private String payLoad; - private int delay; - - public CallbackResponseThread(String callbackUrl, String payLoad, int delay) { - this.callbackUrl = callbackUrl; - this.payLoad = payLoad; - this.delay = delay; - } - - @SuppressWarnings("deprecation") - public void run() { - try { - //Delay sending callback response - sleep(delay); - } catch (InterruptedException e1) { - // TODO Auto-generated catch block - LOGGER.debug("Exception :", e1); - } - LOGGER.debug("Sending callback response to url: " + callbackUrl); - ClientRequest request = new ClientRequest(callbackUrl); - request.body("text/xml", payLoad); - //System.out.println("payLoad: " + payLoad); - - try { - ClientResponse result = request.post(); - LOGGER.debug("Successfully posted callback? Status: " + result.getStatus()); - //System.err.println("Successfully posted callback:" + result.getStatus()); - } catch (Exception e) { - // TODO Auto-generated catch block - LOGGER.debug("catch error in - request.post() "); - LOGGER.debug("Exception :", e); - } - } - - } + private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL); + + private String notifyCallbackResponse; + private String ackResponse; + + public VnfAdapterCreateMockTransformer() { + notifyCallbackResponse = FileUtil.readResourceFile("__files/vnfAdapterMocks/vnfCreateSimResponse.xml"); // default response + } + + @Override + public String name() { + return "vnf-adapter-create-transformer"; + } + + @Override + public ResponseDefinition transform(Request request, ResponseDefinition responseDefinition, + FileSource fileSource) { + + String requestBody = request.getBodyAsString(); + + String notficationUrl = requestBody.substring(requestBody.indexOf("")+17, requestBody.indexOf("")); + String messageId = requestBody.substring(requestBody.indexOf("")+11, requestBody.indexOf("")); + String responseMessageId = ""; + String updatedResponse = ""; + + try { + // try supplied response file (if any) + System.out.println(" Supplied fileName: " + responseDefinition.getBodyFileName()); + ackResponse = FileUtil.readResourceFile("__files/" + responseDefinition.getBodyFileName()); + notifyCallbackResponse = ackResponse; + responseMessageId = ackResponse.substring(ackResponse.indexOf("")+11, ackResponse.indexOf("")); + updatedResponse = ackResponse.replace(responseMessageId, messageId); + } catch (Exception ex) { + LOGGER.debug("Exception :",ex); + System.out.println(" ******* Use default response file in '__files/vnfAdapterMocks/vnfCreateSimResponse.xml'"); + responseMessageId = notifyCallbackResponse.substring(notifyCallbackResponse.indexOf("")+11, notifyCallbackResponse.indexOf("")); + updatedResponse = notifyCallbackResponse.replace(responseMessageId, messageId); + } + + System.out.println("response (mock) messageId : " + responseMessageId); + System.out.println("request (replacement) messageId: " + messageId); + + System.out.println("vnf Response (before):" + notifyCallbackResponse); + System.out.println("vnf Response (after):" + updatedResponse); + + Object vnfDelay = MockResource.getMockProperties().get("vnf_delay"); + int delay = 300; + if (vnfDelay != null) { + delay = Integer.parseInt(vnfDelay.toString()); + } + + //Kick off callback thread + System.out.println("VnfAdapterCreateMockTransformer notficationUrl: " + notficationUrl + ":delay: " + delay); + CallbackResponseThread callbackResponseThread = new CallbackResponseThread(notficationUrl,updatedResponse, delay); + callbackResponseThread.start(); + + return ResponseDefinitionBuilder + .like(responseDefinition).but() + .withStatus(200).withBody(updatedResponse).withHeader("Content-Type", "text/xml") + .build(); + + } + + @Override + public boolean applyGlobally() { + return false; + } + + private class CallbackResponseThread extends Thread { + + private String callbackUrl; + private String payLoad; + private int delay; + + public CallbackResponseThread(String callbackUrl, String payLoad, int delay) { + this.callbackUrl = callbackUrl; + this.payLoad = payLoad; + this.delay = delay; + } + + @SuppressWarnings("deprecation") + public void run () { + try { + //Delay sending callback response + sleep(delay); + } catch (InterruptedException e1) { + // TODO Auto-generated catch block + LOGGER.debug("Exception :",e1); + } + LOGGER.debug("Sending callback response to url: " + callbackUrl); + ClientRequest request = new ClientRequest(callbackUrl); + request.body("text/xml", payLoad); + //System.out.println("payLoad: " + payLoad); + + try { + ClientResponse result = request.post(); + LOGGER.debug("Successfully posted callback? Status: " + result.getStatus()); + //System.err.println("Successfully posted callback:" + result.getStatus()); + } catch (Exception e) { + // TODO Auto-generated catch block + LOGGER.debug("catch error in - request.post() "); + LOGGER.debug("Exception :",e); + } + } + + } } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/VnfAdapterDeleteMockTransformer.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/VnfAdapterDeleteMockTransformer.java index 70729047b3..ee6972e46e 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/VnfAdapterDeleteMockTransformer.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/VnfAdapterDeleteMockTransformer.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.mock; @@ -27,117 +27,117 @@ import com.github.tomakehurst.wiremock.common.FileSource; import com.github.tomakehurst.wiremock.extension.ResponseTransformer; import com.github.tomakehurst.wiremock.http.Request; import com.github.tomakehurst.wiremock.http.ResponseDefinition; - /** * Please describe the VnfAdapterCreateMockTransformer.java class + * */ public class VnfAdapterDeleteMockTransformer extends ResponseTransformer { - private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL); - - private String notifyCallbackResponse; - private String ackResponse; - - public VnfAdapterDeleteMockTransformer() { - notifyCallbackResponse = FileUtil.readResourceFile("__files/vnfAdapterMocks/vnfDeleteSimResponse.xml"); - } - - @Override - public String name() { - return "vnf-adapter-delete-transformer"; - } - - @Override - public ResponseDefinition transform(Request request, ResponseDefinition responseDefinition, - FileSource fileSource) { - - // System.err.println("notifyCallbackResponse:" + notifyCallbackResponse); - - String requestBody = request.getBodyAsString(); - - String notficationUrl = requestBody.substring(requestBody.indexOf("") + 17, requestBody.indexOf("")); - String messageId = requestBody.substring(requestBody.indexOf("") + 11, requestBody.indexOf("")); - String responseMessageId = ""; - String updatedResponse = ""; - - try { - // try supplied response file (if any) - System.out.println(" Supplied fileName: " + responseDefinition.getBodyFileName()); - ackResponse = FileUtil.readResourceFile("__files/" + responseDefinition.getBodyFileName()); - notifyCallbackResponse = ackResponse; - responseMessageId = ackResponse.substring(ackResponse.indexOf("") + 11, ackResponse.indexOf("")); - updatedResponse = ackResponse.replace(responseMessageId, messageId); - } catch (Exception ex) { - LOGGER.debug("Exception :", ex); - System.out.println(" ******* Use default response file in '__files/vnfAdapterMocks/vnfDeleteSimResponse.xml'"); - responseMessageId = notifyCallbackResponse.substring(notifyCallbackResponse.indexOf("") + 11, notifyCallbackResponse.indexOf("")); - updatedResponse = notifyCallbackResponse.replace(responseMessageId, messageId); - } - - System.out.println("response (mock) messageId : " + responseMessageId); - System.out.println("request (replacement) messageId: " + messageId); - - System.out.println("vnf Response (before):" + notifyCallbackResponse); - System.out.println("vnf Response (after):" + updatedResponse); - - Object vnfDelay = MockResource.getMockProperties().get("vnf_delay"); - int delay = 300; - if (vnfDelay != null) { - delay = Integer.parseInt(vnfDelay.toString()); - } - - //Kick off callback thread - System.out.println("VnfAdapterDeleteMockTransformer notficationUrl: " + notficationUrl + ":delay: " + delay); - CallbackResponseThread callbackResponseThread = new CallbackResponseThread(notficationUrl, updatedResponse, delay); - callbackResponseThread.start(); - - return ResponseDefinitionBuilder - .like(responseDefinition).but() - .withStatus(200).withBody(updatedResponse).withHeader("Content-Type", "text/xml") - .build(); - - } - - @Override - public boolean applyGlobally() { - return false; - } - - private class CallbackResponseThread extends Thread { - - private String callbackUrl; - private String payLoad; - private int delay; - - public CallbackResponseThread(String callbackUrl, String payLoad, int delay) { - this.callbackUrl = callbackUrl; - this.payLoad = payLoad; - this.delay = delay; - } - - @SuppressWarnings("deprecation") - public void run() { - try { - //Delay sending callback response - sleep(delay); - } catch (InterruptedException e1) { - // TODO Auto-generated catch block - LOGGER.debug("Exception :", e1); - } - System.out.println("Sending callback response to url: " + callbackUrl); - ClientRequest request = new ClientRequest(callbackUrl); - request.body("text/xml", payLoad); - //System.err.println(payLoad); - try { - ClientResponse result = request.post(); - System.out.println("Successfully posted callback? Status: " + result.getStatus()); - //System.err.println("Successfully posted callback:" + result.getStatus()); - } catch (Exception e) { - // TODO Auto-generated catch block - System.out.println("catch error in - request.post() "); - LOGGER.debug("Exception :", e); - } - } - - } + private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL); + + private String notifyCallbackResponse; + private String ackResponse; + + public VnfAdapterDeleteMockTransformer() { + notifyCallbackResponse = FileUtil.readResourceFile("__files/vnfAdapterMocks/vnfDeleteSimResponse.xml"); + } + + @Override + public String name() { + return "vnf-adapter-delete-transformer"; + } + + @Override + public ResponseDefinition transform(Request request, ResponseDefinition responseDefinition, + FileSource fileSource) { + + // System.err.println("notifyCallbackResponse:" + notifyCallbackResponse); + + String requestBody = request.getBodyAsString(); + + String notficationUrl = requestBody.substring(requestBody.indexOf("")+17, requestBody.indexOf("")); + String messageId = requestBody.substring(requestBody.indexOf("")+11, requestBody.indexOf("")); + String responseMessageId = ""; + String updatedResponse = ""; + + try { + // try supplied response file (if any) + System.out.println(" Supplied fileName: " + responseDefinition.getBodyFileName()); + ackResponse = FileUtil.readResourceFile("__files/" + responseDefinition.getBodyFileName()); + notifyCallbackResponse = ackResponse; + responseMessageId = ackResponse.substring(ackResponse.indexOf("")+11, ackResponse.indexOf("")); + updatedResponse = ackResponse.replace(responseMessageId, messageId); + } catch (Exception ex) { + LOGGER.debug("Exception :",ex); + System.out.println(" ******* Use default response file in '__files/vnfAdapterMocks/vnfDeleteSimResponse.xml'"); + responseMessageId = notifyCallbackResponse.substring(notifyCallbackResponse.indexOf("")+11, notifyCallbackResponse.indexOf("")); + updatedResponse = notifyCallbackResponse.replace(responseMessageId, messageId); + } + + System.out.println("response (mock) messageId : " + responseMessageId); + System.out.println("request (replacement) messageId: " + messageId); + + System.out.println("vnf Response (before):" + notifyCallbackResponse); + System.out.println("vnf Response (after):" + updatedResponse); + + Object vnfDelay = MockResource.getMockProperties().get("vnf_delay"); + int delay = 300; + if (vnfDelay != null) { + delay = Integer.parseInt(vnfDelay.toString()); + } + + //Kick off callback thread + System.out.println("VnfAdapterDeleteMockTransformer notficationUrl: " + notficationUrl + ":delay: " + delay); + CallbackResponseThread callbackResponseThread = new CallbackResponseThread(notficationUrl,updatedResponse, delay); + callbackResponseThread.start(); + + return ResponseDefinitionBuilder + .like(responseDefinition).but() + .withStatus(200).withBody(updatedResponse).withHeader("Content-Type", "text/xml") + .build(); + + } + + @Override + public boolean applyGlobally() { + return false; + } + + private class CallbackResponseThread extends Thread { + + private String callbackUrl; + private String payLoad; + private int delay; + + public CallbackResponseThread(String callbackUrl, String payLoad, int delay) { + this.callbackUrl = callbackUrl; + this.payLoad = payLoad; + this.delay = delay; + } + + @SuppressWarnings("deprecation") + public void run () { + try { + //Delay sending callback response + sleep(delay); + } catch (InterruptedException e1) { + // TODO Auto-generated catch block + LOGGER.debug("Exception :",e1); + } + System.out.println("Sending callback response to url: " + callbackUrl); + ClientRequest request = new ClientRequest(callbackUrl); + request.body("text/xml", payLoad); + //System.err.println(payLoad); + try { + ClientResponse result = request.post(); + System.out.println("Successfully posted callback? Status: " + result.getStatus()); + //System.err.println("Successfully posted callback:" + result.getStatus()); + } catch (Exception e) { + // TODO Auto-generated catch block + System.out.println("catch error in - request.post() "); + LOGGER.debug("Exception :",e); + } + } + + } } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/VnfAdapterQueryMockTransformer.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/VnfAdapterQueryMockTransformer.java index 687c2372c5..1582071d3a 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/VnfAdapterQueryMockTransformer.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/VnfAdapterQueryMockTransformer.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.mock; @@ -32,130 +32,130 @@ import com.github.tomakehurst.wiremock.http.Request; import com.github.tomakehurst.wiremock.http.ResponseDefinition; import org.openecomp.mso.logger.MsoLogger; - /** * Please describe the VnfAdapterQueryMockTransformer.java class + * */ -public class VnfAdapterQueryMockTransformer extends ResponseTransformer { - - private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL); - - private String notifyCallbackResponse; - private String ackResponse; - private String messageId; - - public VnfAdapterQueryMockTransformer() { - notifyCallbackResponse = FileUtil.readResourceFile("__files/vnfAdapterMocks/vnfQuerySimResponse.xml"); - } - - public VnfAdapterQueryMockTransformer(String messageId) { - this.messageId = messageId; - } - - @Override - public String name() { - return "vnf-adapter-query-transformer"; - } - - @Override - public ResponseDefinition transform(Request request, ResponseDefinition responseDefinition, - FileSource fileSource) { - - String requestBody = request.getBodyAsString(); - - String notficationUrl = requestBody.substring(requestBody.indexOf("") + 17, requestBody.indexOf("")); - String messageId = requestBody.substring(requestBody.indexOf("") + 11, requestBody.indexOf("")); - // String updatedResponse = notifyCallbackResponse.replace("b1a82ce6-7f5c-45fd-9273-acaf88fc2137", messageId); - - String responseMessageId = ""; - String updatedResponse = ""; - - // if (ackResponse == null) { - //System.err.println("file:" + responseDefinition.getBodyFileName()); - // ackResponse = FileUtil.readResourceFile("__files/" + responseDefinition.getBodyFileName()); - //} - - - try { - // try supplied response file (if any) - System.out.println(" Supplied fileName: " + responseDefinition.getBodyFileName()); - ackResponse = FileUtil.readResourceFile("__files/" + responseDefinition.getBodyFileName()); - notifyCallbackResponse = ackResponse; - responseMessageId = ackResponse.substring(ackResponse.indexOf("") + 11, ackResponse.indexOf("")); - updatedResponse = ackResponse.replace(responseMessageId, messageId); - } catch (Exception ex) { - LOGGER.debug("Exception :", ex); - System.out.println(" ******* Use default response file in '__files/vnfAdapterMocks/vnfQuerySimResponse.xml'"); - responseMessageId = notifyCallbackResponse.substring(notifyCallbackResponse.indexOf("") + 11, notifyCallbackResponse.indexOf("")); - updatedResponse = notifyCallbackResponse.replace(responseMessageId, messageId); - } - - System.out.println("response (mock) messageId : " + responseMessageId); - System.out.println("request (replacement) messageId: " + messageId); - - System.out.println("vnf Response (before):" + notifyCallbackResponse); - System.out.println("vnf Response (after):" + updatedResponse); - - - Object vnfDelay = MockResource.getMockProperties().get("vnf_delay"); - int delay = 300; - if (vnfDelay != null) { - delay = Integer.parseInt(vnfDelay.toString()); - } - - //Kick off callback thread - - //System.out.println("notficationUrl" + notficationUrl); - //System.out.println("updatedResponse" + updatedResponse); - System.out.println("VnfAdapterQueryMockTransformer notficationUrl: " + notficationUrl + ":delay: " + delay); - CallbackResponseThread callbackResponseThread = new CallbackResponseThread(notficationUrl, updatedResponse, delay); - System.out.println("Inside Callback"); - callbackResponseThread.start(); - - return ResponseDefinitionBuilder - .like(responseDefinition).but() - .withStatus(200).withBody(updatedResponse).withHeader("Content-Type", "text/xml") - .build(); - } - - @Override - public boolean applyGlobally() { - return false; - } - - private class CallbackResponseThread extends Thread { - - private String callbackUrl; - private String payLoad; - private int delay; - - public CallbackResponseThread(String callbackUrl, String payLoad, int delay) { - this.callbackUrl = callbackUrl; - this.payLoad = payLoad; - this.delay = delay; - } - - public void run() { - try { - //Delay sending callback response - sleep(delay); - } catch (InterruptedException e1) { - LOGGER.debug("Exception :", e1); - } - ClientRequest request = new ClientRequest(callbackUrl); - request.body("text/xml", payLoad); - //System.err.println(payLoad); - try { - ClientResponse result = request.post(); - //System.err.println("Successfully posted callback:" + result.getStatus()); - } catch (Exception e) { - LOGGER.debug("Exception :", e); - } - } - - } +public class VnfAdapterQueryMockTransformer extends ResponseTransformer{ + + private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL); + + private String notifyCallbackResponse; + private String ackResponse; + private String messageId; + + public VnfAdapterQueryMockTransformer() { + notifyCallbackResponse = FileUtil.readResourceFile("__files/vnfAdapterMocks/vnfQuerySimResponse.xml"); + } + + public VnfAdapterQueryMockTransformer(String messageId) { + this.messageId = messageId; + } + + @Override + public String name() { + return "vnf-adapter-query-transformer"; + } + + @Override + public ResponseDefinition transform(Request request, ResponseDefinition responseDefinition, + FileSource fileSource) { + + String requestBody = request.getBodyAsString(); + + String notficationUrl = requestBody.substring(requestBody.indexOf("")+17, requestBody.indexOf("")); + String messageId = requestBody.substring(requestBody.indexOf("")+11, requestBody.indexOf("")); + // String updatedResponse = notifyCallbackResponse.replace("b1a82ce6-7f5c-45fd-9273-acaf88fc2137", messageId); + + String responseMessageId = ""; + String updatedResponse = ""; + + // if (ackResponse == null) { + //System.err.println("file:" + responseDefinition.getBodyFileName()); + // ackResponse = FileUtil.readResourceFile("__files/" + responseDefinition.getBodyFileName()); + //} + + + try { + // try supplied response file (if any) + System.out.println(" Supplied fileName: " + responseDefinition.getBodyFileName()); + ackResponse = FileUtil.readResourceFile("__files/" + responseDefinition.getBodyFileName()); + notifyCallbackResponse = ackResponse; + responseMessageId = ackResponse.substring(ackResponse.indexOf("")+11, ackResponse.indexOf("")); + updatedResponse = ackResponse.replace(responseMessageId, messageId); + } catch (Exception ex) { + LOGGER.debug("Exception :",ex); + System.out.println(" ******* Use default response file in '__files/vnfAdapterMocks/vnfQuerySimResponse.xml'"); + responseMessageId = notifyCallbackResponse.substring(notifyCallbackResponse.indexOf("")+11, notifyCallbackResponse.indexOf("")); + updatedResponse = notifyCallbackResponse.replace(responseMessageId, messageId); + } + + System.out.println("response (mock) messageId : " + responseMessageId); + System.out.println("request (replacement) messageId: " + messageId); + + System.out.println("vnf Response (before):" + notifyCallbackResponse); + System.out.println("vnf Response (after):" + updatedResponse); + + + Object vnfDelay = MockResource.getMockProperties().get("vnf_delay"); + int delay = 300; + if (vnfDelay != null) { + delay = Integer.parseInt(vnfDelay.toString()); + } + + //Kick off callback thread + + //System.out.println("notficationUrl" + notficationUrl); + //System.out.println("updatedResponse" + updatedResponse); + System.out.println("VnfAdapterQueryMockTransformer notficationUrl: " + notficationUrl + ":delay: " + delay); + CallbackResponseThread callbackResponseThread = new CallbackResponseThread(notficationUrl,updatedResponse, delay); + System.out.println("Inside Callback" ); + callbackResponseThread.start(); + + return ResponseDefinitionBuilder + .like(responseDefinition).but() + .withStatus(200).withBody(updatedResponse).withHeader("Content-Type", "text/xml") + .build(); + } + + @Override + public boolean applyGlobally() { + return false; + } + + private class CallbackResponseThread extends Thread { + + private String callbackUrl; + private String payLoad; + private int delay; + + public CallbackResponseThread(String callbackUrl, String payLoad, int delay) { + this.callbackUrl = callbackUrl; + this.payLoad = payLoad; + this.delay = delay; + } + + public void run () { + try { + //Delay sending callback response + sleep(delay); + } catch (InterruptedException e1) { + LOGGER.debug("Exception :",e1); + } + ClientRequest request = new ClientRequest(callbackUrl); + request.body("text/xml", payLoad); + //System.err.println(payLoad); + try { + ClientResponse result = request.post(); + //System.err.println("Successfully posted callback:" + result.getStatus()); + } catch (Exception e) { + LOGGER.debug("Exception :",e); + } + } + + } } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/VnfAdapterRollbackMockTransformer.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/VnfAdapterRollbackMockTransformer.java index 6d5d02a7b4..186fd35b6f 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/VnfAdapterRollbackMockTransformer.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/VnfAdapterRollbackMockTransformer.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.mock; @@ -28,117 +28,117 @@ import com.github.tomakehurst.wiremock.http.Request; import com.github.tomakehurst.wiremock.http.ResponseDefinition; import org.openecomp.mso.logger.MsoLogger; - /** * Please describe the VnfAdapterCreateMockTransformer.java class + * */ public class VnfAdapterRollbackMockTransformer extends ResponseTransformer { - private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL); - - private String notifyCallbackResponse; - private String ackResponse; - private String messageId; - - public VnfAdapterRollbackMockTransformer() { - notifyCallbackResponse = FileUtil.readResourceFile("__files/vnfAdapterMocks/vnfRollbackSimResponse.xml"); - } - - public VnfAdapterRollbackMockTransformer(String messageId) { - this.messageId = messageId; - } - - @Override - public String name() { - return "vnf-adapter-rollback-transformer"; - } - - @Override - public ResponseDefinition transform(Request request, ResponseDefinition responseDefinition, - FileSource fileSource) { - - String requestBody = request.getBodyAsString(); - - String notficationUrl = requestBody.substring(requestBody.indexOf("") + 17, requestBody.indexOf("")); - String messageId = requestBody.substring(requestBody.indexOf("") + 11, requestBody.indexOf("")); - String responseMessageId = ""; - String updatedResponse = ""; - - try { - // try supplied response file (if any) - System.out.println(" Supplied fileName: " + responseDefinition.getBodyFileName()); - ackResponse = FileUtil.readResourceFile("__files/" + responseDefinition.getBodyFileName()); - notifyCallbackResponse = ackResponse; - responseMessageId = ackResponse.substring(ackResponse.indexOf("") + 11, ackResponse.indexOf("")); - updatedResponse = ackResponse.replace(responseMessageId, messageId); - } catch (Exception ex) { - LOGGER.debug("Exception :", ex); - System.out.println(" ******* Use default response file in '__files/vnfAdapterMocks/vnfRollbackSimResponse.xml'"); - responseMessageId = notifyCallbackResponse.substring(notifyCallbackResponse.indexOf("") + 11, notifyCallbackResponse.indexOf("")); - updatedResponse = notifyCallbackResponse.replace(responseMessageId, messageId); - } - - System.out.println("response (mock) messageId : " + responseMessageId); - System.out.println("request (replacement) messageId: " + messageId); - - System.out.println("vnf Response (before):" + notifyCallbackResponse); - System.out.println("vnf Response (after):" + updatedResponse); - - Object vnfDelay = MockResource.getMockProperties().get("vnf_delay"); - int delay = 300; - if (vnfDelay != null) { - delay = Integer.parseInt(vnfDelay.toString()); - } - - //Kick off callback thread - System.out.println("VnfAdapterRollbackMockTransformer notficationUrl: " + notficationUrl + ":delay: " + delay); - CallbackResponseThread callbackResponseThread = new CallbackResponseThread(notficationUrl, updatedResponse, delay); - callbackResponseThread.start(); - - return ResponseDefinitionBuilder - .like(responseDefinition).but() - .withStatus(200).withBody(updatedResponse).withHeader("Content-Type", "text/xml") - .build(); - - } - - @Override - public boolean applyGlobally() { - return false; - } - - private class CallbackResponseThread extends Thread { - - private String callbackUrl; - private String payLoad; - private int delay; - - public CallbackResponseThread(String callbackUrl, String payLoad, int delay) { - this.callbackUrl = callbackUrl; - this.payLoad = payLoad; - this.delay = delay; - } - - public void run() { - try { - //Delay sending callback response - sleep(delay); - } catch (InterruptedException e1) { - LOGGER.debug("Exception :", e1); - } - System.out.println("Sending callback response to url: " + callbackUrl); - ClientRequest request = new ClientRequest(callbackUrl); - request.body("text/xml", payLoad); - //System.err.println(payLoad); - try { - ClientResponse result = request.post(); - System.out.println("Successfully posted callback? Status: " + result.getStatus()); - //System.err.println("Successfully posted callback:" + result.getStatus()); - } catch (Exception e) { - System.out.println("catch error in - request.post() "); - LOGGER.debug("Exception :", e); - } - } - - } + private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL); + + private String notifyCallbackResponse; + private String ackResponse; + private String messageId; + + public VnfAdapterRollbackMockTransformer() { + notifyCallbackResponse = FileUtil.readResourceFile("__files/vnfAdapterMocks/vnfRollbackSimResponse.xml"); + } + + public VnfAdapterRollbackMockTransformer(String messageId) { + this.messageId = messageId; + } + + @Override + public String name() { + return "vnf-adapter-rollback-transformer"; + } + + @Override + public ResponseDefinition transform(Request request, ResponseDefinition responseDefinition, + FileSource fileSource) { + + String requestBody = request.getBodyAsString(); + + String notficationUrl = requestBody.substring(requestBody.indexOf("")+17, requestBody.indexOf("")); + String messageId = requestBody.substring(requestBody.indexOf("")+11, requestBody.indexOf("")); + String responseMessageId = ""; + String updatedResponse = ""; + + try { + // try supplied response file (if any) + System.out.println(" Supplied fileName: " + responseDefinition.getBodyFileName()); + ackResponse = FileUtil.readResourceFile("__files/" + responseDefinition.getBodyFileName()); + notifyCallbackResponse = ackResponse; + responseMessageId = ackResponse.substring(ackResponse.indexOf("")+11, ackResponse.indexOf("")); + updatedResponse = ackResponse.replace(responseMessageId, messageId); + } catch (Exception ex) { + LOGGER.debug("Exception :",ex); + System.out.println(" ******* Use default response file in '__files/vnfAdapterMocks/vnfRollbackSimResponse.xml'"); + responseMessageId = notifyCallbackResponse.substring(notifyCallbackResponse.indexOf("")+11, notifyCallbackResponse.indexOf("")); + updatedResponse = notifyCallbackResponse.replace(responseMessageId, messageId); + } + + System.out.println("response (mock) messageId : " + responseMessageId); + System.out.println("request (replacement) messageId: " + messageId); + + System.out.println("vnf Response (before):" + notifyCallbackResponse); + System.out.println("vnf Response (after):" + updatedResponse); + + Object vnfDelay = MockResource.getMockProperties().get("vnf_delay"); + int delay = 300; + if (vnfDelay != null) { + delay = Integer.parseInt(vnfDelay.toString()); + } + + //Kick off callback thread + System.out.println("VnfAdapterRollbackMockTransformer notficationUrl: " + notficationUrl + ":delay: " + delay); + CallbackResponseThread callbackResponseThread = new CallbackResponseThread(notficationUrl,updatedResponse, delay); + callbackResponseThread.start(); + + return ResponseDefinitionBuilder + .like(responseDefinition).but() + .withStatus(200).withBody(updatedResponse).withHeader("Content-Type", "text/xml") + .build(); + + } + + @Override + public boolean applyGlobally() { + return false; + } + + private class CallbackResponseThread extends Thread { + + private String callbackUrl; + private String payLoad; + private int delay; + + public CallbackResponseThread(String callbackUrl, String payLoad, int delay) { + this.callbackUrl = callbackUrl; + this.payLoad = payLoad; + this.delay = delay; + } + + public void run () { + try { + //Delay sending callback response + sleep(delay); + } catch (InterruptedException e1) { + LOGGER.debug("Exception :",e1); + } + System.out.println("Sending callback response to url: " + callbackUrl); + ClientRequest request = new ClientRequest(callbackUrl); + request.body("text/xml", payLoad); + //System.err.println(payLoad); + try { + ClientResponse result = request.post(); + System.out.println("Successfully posted callback? Status: " + result.getStatus()); + //System.err.println("Successfully posted callback:" + result.getStatus()); + } catch (Exception e) { + System.out.println("catch error in - request.post() "); + LOGGER.debug("Exception :",e); + } + } + + } } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/VnfAdapterUpdateMockTransformer.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/VnfAdapterUpdateMockTransformer.java index a2c4358ea0..7808b47d24 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/VnfAdapterUpdateMockTransformer.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/VnfAdapterUpdateMockTransformer.java @@ -17,7 +17,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.mock; @@ -32,118 +32,118 @@ import com.github.tomakehurst.wiremock.http.Request; import com.github.tomakehurst.wiremock.http.ResponseDefinition; import org.openecomp.mso.logger.MsoLogger; - /** * Please describe the VnfAdapterUpdateMockTransformer.java class + * */ public class VnfAdapterUpdateMockTransformer extends ResponseTransformer { - private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL); - - private String notifyCallbackResponse; - private String requestId; - private String ackResponse; - - public VnfAdapterUpdateMockTransformer() { - notifyCallbackResponse = FileUtil.readResourceFile("vnfAdapter/vnfUpdateSimResponse.xml"); - } - - public VnfAdapterUpdateMockTransformer(String requestId) { - this.requestId = requestId; - } - - - public String name() { - return "vnf-adapter-update-transformer"; - } - - @Override - public ResponseDefinition transform(Request request, ResponseDefinition responseDefinition, - FileSource fileSource) { - - String requestBody = request.getBodyAsString(); - - String notficationUrl = requestBody.substring(requestBody.indexOf("") + 17, requestBody.indexOf("")); - String messageId = requestBody.substring(requestBody.indexOf("") + 11, requestBody.indexOf("")); - String responseMessageId = ""; - String updatedResponse = ""; - - try { - // try supplied response file (if any) - System.out.println(" Supplied fileName: " + responseDefinition.getBodyFileName()); - ackResponse = FileUtil.readResourceFile("__files/" + responseDefinition.getBodyFileName()); - notifyCallbackResponse = ackResponse; - responseMessageId = ackResponse.substring(ackResponse.indexOf("") + 11, ackResponse.indexOf("")); - updatedResponse = ackResponse.replace(responseMessageId, messageId); - } catch (Exception ex) { - LOGGER.debug("Exception :", ex); - System.out.println(" ******* Use default response file in 'vnfAdapter/vnfUpdateSimResponse.xml'"); - responseMessageId = notifyCallbackResponse.substring(notifyCallbackResponse.indexOf("") + 11, notifyCallbackResponse.indexOf("")); - updatedResponse = notifyCallbackResponse.replace(responseMessageId, messageId); - } - - System.out.println("response (mock) messageId : " + responseMessageId); - System.out.println("request (replacement) messageId: " + messageId); - - System.out.println("vnf Response (before):" + notifyCallbackResponse); - System.out.println("vnf Response (after):" + updatedResponse); - - Object vnfDelay = MockResource.getMockProperties().get("vnf_delay"); - int delay = 300; - if (vnfDelay != null) { - delay = Integer.parseInt(vnfDelay.toString()); - } - - //Kick off callback thread - System.out.println("VnfAdapterUpdateMockTransformer notficationUrl: " + notficationUrl + ":delay: " + delay); - CallbackResponseThread callbackResponseThread = new CallbackResponseThread(notficationUrl, updatedResponse, delay); - callbackResponseThread.start(); - - return ResponseDefinitionBuilder - .like(responseDefinition).but() - .withStatus(200).withBody(updatedResponse).withHeader("Content-Type", "text/xml") - .build(); - - } - - @Override - public boolean applyGlobally() { - return false; - } - - private class CallbackResponseThread extends Thread { - - private String callbackUrl; - private String payLoad; - private int delay; - - public CallbackResponseThread(String callbackUrl, String payLoad, int delay) { - this.callbackUrl = callbackUrl; - this.payLoad = payLoad; - this.delay = delay; - } - - public void run() { - try { - //Delay sending callback response - sleep(delay); - } catch (InterruptedException e1) { - LOGGER.debug("Exception :", e1); - } - System.out.println("Sending callback response to url: " + callbackUrl); - ClientRequest request = new ClientRequest(callbackUrl); - request.body("text/xml", payLoad); - //System.err.println(payLoad); - try { - ClientResponse result = request.post(); - System.out.println("Successfully posted callback? Status: " + result.getStatus()); - //System.err.println("Successfully posted callback:" + result.getStatus()); - } catch (Exception e) { - System.out.println("catch error in - request.post() "); - LOGGER.debug("Exception :", e); - } - } - - } + private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL); + + private String notifyCallbackResponse; + private String requestId; + private String ackResponse; + + public VnfAdapterUpdateMockTransformer() { + notifyCallbackResponse = FileUtil.readResourceFile("vnfAdapter/vnfUpdateSimResponse.xml"); + } + + public VnfAdapterUpdateMockTransformer(String requestId) { + this.requestId = requestId; + } + + + public String name() { + return "vnf-adapter-update-transformer"; + } + + @Override + public ResponseDefinition transform(Request request, ResponseDefinition responseDefinition, + FileSource fileSource) { + + String requestBody = request.getBodyAsString(); + + String notficationUrl = requestBody.substring(requestBody.indexOf("")+17, requestBody.indexOf("")); + String messageId = requestBody.substring(requestBody.indexOf("")+11, requestBody.indexOf("")); + String responseMessageId = ""; + String updatedResponse = ""; + + try { + // try supplied response file (if any) + System.out.println(" Supplied fileName: " + responseDefinition.getBodyFileName()); + ackResponse = FileUtil.readResourceFile("__files/" + responseDefinition.getBodyFileName()); + notifyCallbackResponse = ackResponse; + responseMessageId = ackResponse.substring(ackResponse.indexOf("")+11, ackResponse.indexOf("")); + updatedResponse = ackResponse.replace(responseMessageId, messageId); + } catch (Exception ex) { + LOGGER.debug("Exception :",ex); + System.out.println(" ******* Use default response file in 'vnfAdapter/vnfUpdateSimResponse.xml'"); + responseMessageId = notifyCallbackResponse.substring(notifyCallbackResponse.indexOf("")+11, notifyCallbackResponse.indexOf("")); + updatedResponse = notifyCallbackResponse.replace(responseMessageId, messageId); + } + + System.out.println("response (mock) messageId : " + responseMessageId); + System.out.println("request (replacement) messageId: " + messageId); + + System.out.println("vnf Response (before):" + notifyCallbackResponse); + System.out.println("vnf Response (after):" + updatedResponse); + + Object vnfDelay = MockResource.getMockProperties().get("vnf_delay"); + int delay = 300; + if (vnfDelay != null) { + delay = Integer.parseInt(vnfDelay.toString()); + } + + //Kick off callback thread + System.out.println("VnfAdapterUpdateMockTransformer notficationUrl: " + notficationUrl + ":delay: " + delay); + CallbackResponseThread callbackResponseThread = new CallbackResponseThread(notficationUrl,updatedResponse, delay); + callbackResponseThread.start(); + + return ResponseDefinitionBuilder + .like(responseDefinition).but() + .withStatus(200).withBody(updatedResponse).withHeader("Content-Type", "text/xml") + .build(); + + } + + @Override + public boolean applyGlobally() { + return false; + } + + private class CallbackResponseThread extends Thread { + + private String callbackUrl; + private String payLoad; + private int delay; + + public CallbackResponseThread(String callbackUrl, String payLoad, int delay) { + this.callbackUrl = callbackUrl; + this.payLoad = payLoad; + this.delay = delay; + } + + public void run () { + try { + //Delay sending callback response + sleep(delay); + } catch (InterruptedException e1) { + LOGGER.debug("Exception :", e1); + } + System.out.println("Sending callback response to url: " + callbackUrl); + ClientRequest request = new ClientRequest(callbackUrl); + request.body("text/xml", payLoad); + //System.err.println(payLoad); + try { + ClientResponse result = request.post(); + System.out.println("Successfully posted callback? Status: " + result.getStatus()); + //System.err.println("Successfully posted callback:" + result.getStatus()); + } catch (Exception e) { + System.out.println("catch error in - request.post() "); + LOGGER.debug("Exception :",e); + } + } + + } } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/ResponseExceptionMapperImplTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/ResponseExceptionMapperImplTest.java index 05e418b494..8943014ad0 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/ResponseExceptionMapperImplTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/ResponseExceptionMapperImplTest.java @@ -26,7 +26,6 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import com.google.common.base.Charsets; - import javax.ws.rs.BadRequestException; import javax.ws.rs.ForbiddenException; import javax.ws.rs.InternalServerErrorException; @@ -38,7 +37,6 @@ import javax.ws.rs.NotSupportedException; import javax.ws.rs.WebApplicationException; import javax.ws.rs.client.ClientResponseContext; import javax.ws.rs.core.Response.Status; - import junitparams.JUnitParamsRunner; import junitparams.Parameters; import org.apache.commons.io.IOUtils; diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/aai/AAIPServerTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/aai/AAIPServerTest.java index 680beb5d5b..bee0a828ea 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/aai/AAIPServerTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/aai/AAIPServerTest.java @@ -30,39 +30,36 @@ import org.junit.BeforeClass; import org.junit.Ignore; import org.junit.Test; import org.onap.aai.domain.yang.Pserver; - import static org.junit.Assert.assertEquals; - import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.databind.JsonMappingException; - public class AAIPServerTest { - @BeforeClass - public static void setUp() { - System.setProperty("mso.config.path", "src/test/resources"); - System.setProperty("javax.net.ssl.keyStore", "C:/etc/ecomp/mso/config/msoClientKeyStore.jks"); - System.setProperty("javax.net.ssl.keyStorePassword", "mso4you"); - System.setProperty("javax.net.ssl.trustStore", "C:/etc/ecomp/mso/config/msoTrustStore.jks"); - System.setProperty("javax.net.ssl.trustStorePassword", "mso_Domain2.0_4you"); - } - - @Test - @Ignore // IGNORED FOR 1710 MERGE TO ONAP - public void pserverTest() throws JsonParseException, JsonMappingException, IOException, NoSuchAlgorithmException { - AAIRestClientImpl client = new AAIRestClientImpl(); - File file = new File("src/test/resources/__files/AAI/pserver.json"); - List list = client.getListOfPservers(file); - - assertEquals("", list.get(0).getHostname(), "test"); - } - - @Test - @Ignore // IGNORED FOR 1710 MERGE TO ONAP - public void pserverActualTest() throws JsonParseException, JsonMappingException, IOException, NoSuchAlgorithmException { - AAIRestClientImpl client = new AAIRestClientImpl(); - List list = client.getPhysicalServerByVnfId("d946afed-8ebe-4c5d-9665-54fcc043b8e7", UUID.randomUUID().toString()); - assertEquals("", list.size(), 0); - } + @BeforeClass + public static void setUp() { + System.setProperty("mso.config.path", "src/test/resources"); + System.setProperty("javax.net.ssl.keyStore", "C:/etc/ecomp/mso/config/msoClientKeyStore.jks"); + System.setProperty("javax.net.ssl.keyStorePassword", "mso4you"); + System.setProperty("javax.net.ssl.trustStore", "C:/etc/ecomp/mso/config/msoTrustStore.jks"); + System.setProperty("javax.net.ssl.trustStorePassword", "mso_Domain2.0_4you"); + } + + @Test + @Ignore // IGNORED FOR 1710 MERGE TO ONAP + public void pserverTest() throws JsonParseException, JsonMappingException, IOException, NoSuchAlgorithmException { + AAIRestClientImpl client = new AAIRestClientImpl(); + File file = new File("src/test/resources/__files/AAI/pserver.json"); + List list = client.getListOfPservers(file); + + assertEquals("", list.get(0).getHostname(), "test"); + } + + @Test + @Ignore // IGNORED FOR 1710 MERGE TO ONAP + public void pserverActualTest() throws JsonParseException, JsonMappingException, IOException, NoSuchAlgorithmException { + AAIRestClientImpl client = new AAIRestClientImpl(); + List list = client.getPhysicalServerByVnfId("d946afed-8ebe-4c5d-9665-54fcc043b8e7", UUID.randomUUID().toString()); + assertEquals("", list.size(), 0); + } } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/aai/AAIValidatorTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/aai/AAIValidatorTest.java index cfa61c2799..2272f31685 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/aai/AAIValidatorTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/aai/AAIValidatorTest.java @@ -39,61 +39,61 @@ import org.onap.aai.domain.yang.Pserver; import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.databind.JsonMappingException; -@RunWith(MockitoJUnitRunner.class) +@RunWith(MockitoJUnitRunner.class) public class AAIValidatorTest { + + @Mock + protected AAIRestClient client; + String vnfName = "testVnf"; + String uuid = "UUID"; + AAIValidatorImpl validator; + + @Before + public void init(){ + validator = new AAIValidatorImpl(); + validator.setClient(client); + } + + public List getPservers(boolean locked){ + Pserver pserver = new Pserver(); + pserver.setInMaint(locked); + List pservers = new ArrayList(); + pservers.add(pserver); + return pservers; + } + + public GenericVnf createGenericVnfs(boolean locked){ + GenericVnf genericVnf = new GenericVnf(); + genericVnf.setInMaint(locked); + + return genericVnf; + } - @Mock - protected AAIRestClient client; - String vnfName = "testVnf"; - String uuid = "UUID"; - AAIValidatorImpl validator; + @Test + public void test_IsPhysicalServerLocked_True() throws IOException{ + when(client.getPhysicalServerByVnfId(vnfName,uuid)).thenReturn(getPservers(true)); + boolean locked = validator.isPhysicalServerLocked(vnfName, uuid); + assertEquals(true, locked); + } + + @Test + public void test_IsPhysicalServerLocked_False() throws JsonParseException, JsonMappingException, UnsupportedEncodingException, IOException { + when(client.getPhysicalServerByVnfId(vnfName,uuid)).thenReturn(getPservers(false)); + boolean locked = validator.isPhysicalServerLocked(vnfName, uuid); + assertEquals(false, locked); + } + + @Test + public void test_IsVNFLocked_False() throws Exception{ + when(client.getVnfByName(vnfName,uuid)).thenReturn(createGenericVnfs(false)); + boolean locked = validator.isVNFLocked(vnfName, uuid); + assertEquals(false, locked); + } - @Before - public void init() { - validator = new AAIValidatorImpl(); - validator.setClient(client); - } - - public List getPservers(boolean locked) { - Pserver pserver = new Pserver(); - pserver.setInMaint(locked); - List pservers = new ArrayList(); - pservers.add(pserver); - return pservers; - } - - public GenericVnf createGenericVnfs(boolean locked) { - GenericVnf genericVnf = new GenericVnf(); - genericVnf.setInMaint(locked); - - return genericVnf; - } - - @Test - public void test_IsPhysicalServerLocked_True() throws IOException { - when(client.getPhysicalServerByVnfId(vnfName, uuid)).thenReturn(getPservers(true)); - boolean locked = validator.isPhysicalServerLocked(vnfName, uuid); - assertEquals(true, locked); - } - - @Test - public void test_IsPhysicalServerLocked_False() throws JsonParseException, JsonMappingException, UnsupportedEncodingException, IOException { - when(client.getPhysicalServerByVnfId(vnfName, uuid)).thenReturn(getPservers(false)); - boolean locked = validator.isPhysicalServerLocked(vnfName, uuid); - assertEquals(false, locked); - } - - @Test - public void test_IsVNFLocked_False() throws Exception { - when(client.getVnfByName(vnfName, uuid)).thenReturn(createGenericVnfs(false)); - boolean locked = validator.isVNFLocked(vnfName, uuid); - assertEquals(false, locked); - } - - @Test - public void test_IsVNFLocked_True() throws Exception { - when(client.getVnfByName(vnfName, uuid)).thenReturn(createGenericVnfs(true)); - boolean locked = validator.isVNFLocked(vnfName, uuid); - assertEquals(true, locked); - } + @Test + public void test_IsVNFLocked_True() throws Exception{ + when(client.getVnfByName(vnfName,uuid)).thenReturn(createGenericVnfs(true)); + boolean locked = validator.isVNFLocked(vnfName, uuid); + assertEquals(true,locked ); + } } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/aai/EntitiesTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/aai/EntitiesTest.java index c20e54c9a5..09c2ab5c30 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/aai/EntitiesTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/aai/EntitiesTest.java @@ -30,12 +30,12 @@ import com.openpojo.validation.test.impl.SetterTester; public class EntitiesTest { - private String packageName = "org.openecomp.mso.client.aai.entities"; + private String packageName = "org.openecomp.mso.client.aai.entities"; - @Test - public void validate() { - Validator validator = ValidatorBuilder.create().with(new SetterMustExistRule(), new GetterMustExistRule()) - .with(new SetterTester(), new GetterTester()).build(); - validator.validate(packageName); - } + @Test + public void validate() { + Validator validator = ValidatorBuilder.create().with(new SetterMustExistRule(), new GetterMustExistRule()) + .with(new SetterTester(), new GetterTester()).build(); + validator.validate(packageName); + } } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/appc/ApplicationControllerClientTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/appc/ApplicationControllerClientTest.java index 071b5845c8..2b082f1b8d 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/appc/ApplicationControllerClientTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/appc/ApplicationControllerClientTest.java @@ -38,61 +38,61 @@ import org.openecomp.appc.client.lcm.model.Status; public class ApplicationControllerClientTest { - private static ApplicationControllerClient client; - private static ApplicationControllerSupport support; + private static ApplicationControllerClient client; + private static ApplicationControllerSupport support; - @BeforeClass - public static void beforeClass() { - client = new ApplicationControllerClient(); - support = new ApplicationControllerSupport(); - client.appCSupport = support; - System.setProperty("mso.config.path", "src/test/resources"); + @BeforeClass + public static void beforeClass() { + client = new ApplicationControllerClient(); + support = new ApplicationControllerSupport(); + client.appCSupport = support; + System.setProperty("mso.config.path", "src/test/resources"); - } + } - @AfterClass - public static void afterClass() throws Exception { - client.shutdownclient(); - } + @AfterClass + public static void afterClass() throws Exception { + client.shutdownclient(); + } - @Test - @Ignore // IGNORED FOR 1710 MERGE TO ONAP - public void createRequest_CheckLock_RequestBuilt() throws Exception { + @Test + @Ignore // IGNORED FOR 1710 MERGE TO ONAP + public void createRequest_CheckLock_RequestBuilt() throws Exception { - org.springframework.test.util.ReflectionTestUtils.setField(support, "lcmModelPackage", - "org.openecomp.appc.client.lcm.model"); - Flags flags = new Flags(); - ActionIdentifiers actionIdentifiers = new ActionIdentifiers(); - actionIdentifiers.setVnfId("vnfId"); - CheckLockInput checkLockInput = (CheckLockInput) client.createRequest(Action.CheckLock, actionIdentifiers, - flags, null, "requestId"); - assertEquals(checkLockInput.getAction().name(), "CheckLock"); - } + org.springframework.test.util.ReflectionTestUtils.setField(support, "lcmModelPackage", + "org.openecomp.appc.client.lcm.model"); + Flags flags = new Flags(); + ActionIdentifiers actionIdentifiers = new ActionIdentifiers(); + actionIdentifiers.setVnfId("vnfId"); + CheckLockInput checkLockInput = (CheckLockInput) client.createRequest(Action.CheckLock, actionIdentifiers, + flags, null, "requestId"); + assertEquals(checkLockInput.getAction().name(), "CheckLock"); + } - @Test - @Ignore // IGNORED FOR 1710 MERGE TO ONAP - public void runCommand_liveAppc() throws Exception { - org.springframework.test.util.ReflectionTestUtils.setField(support, "lcmModelPackage", - "org.openecomp.appc.client.lcm.model"); - Flags flags = new Flags(); - ActionIdentifiers actionIdentifiers = new ActionIdentifiers(); - actionIdentifiers.setVnfId("ca522254-2ba4-4fbd-b15b-0ef0d9cfda5f"); + @Test + @Ignore // IGNORED FOR 1710 MERGE TO ONAP + public void runCommand_liveAppc() throws Exception { + org.springframework.test.util.ReflectionTestUtils.setField(support, "lcmModelPackage", + "org.openecomp.appc.client.lcm.model"); + Flags flags = new Flags(); + ActionIdentifiers actionIdentifiers = new ActionIdentifiers(); + actionIdentifiers.setVnfId("ca522254-2ba4-4fbd-b15b-0ef0d9cfda5f"); - // CheckLockInput checkLockInput = (CheckLockInput) - // client.createRequest(Action.CheckLock,actionIdentifiers,flags,null,"requestId"); - Status status = client.runCommand(Action.Lock, actionIdentifiers, flags, null, UUID.randomUUID().toString()); - assertEquals("Status of run command is correct", status.getCode(), 306); - } + // CheckLockInput checkLockInput = (CheckLockInput) + // client.createRequest(Action.CheckLock,actionIdentifiers,flags,null,"requestId"); + Status status = client.runCommand(Action.Lock, actionIdentifiers, flags, null, UUID.randomUUID().toString()); + assertEquals("Status of run command is correct", status.getCode(), 306); + } - @Test - @Ignore // IGNORED FOR 1710 MERGE TO ONAP - public void runCommand_CheckLock_RequestBuilt() throws Exception { - org.springframework.test.util.ReflectionTestUtils.setField(support, "lcmModelPackage", - "org.openecomp.appc.client.lcm.model"); - Flags flags = new Flags(); - ActionIdentifiers actionIdentifiers = new ActionIdentifiers(); - actionIdentifiers.setVnfId("fusion-vpp-vnf-001"); - Status status = client.runCommand(Action.CheckLock, actionIdentifiers, flags, null, "requestId"); - assertEquals("Status of run command is correct", status.getCode(), 400); - } + @Test + @Ignore // IGNORED FOR 1710 MERGE TO ONAP + public void runCommand_CheckLock_RequestBuilt() throws Exception { + org.springframework.test.util.ReflectionTestUtils.setField(support, "lcmModelPackage", + "org.openecomp.appc.client.lcm.model"); + Flags flags = new Flags(); + ActionIdentifiers actionIdentifiers = new ActionIdentifiers(); + actionIdentifiers.setVnfId("fusion-vpp-vnf-001"); + Status status = client.runCommand(Action.CheckLock, actionIdentifiers, flags, null, "requestId"); + assertEquals("Status of run command is correct", status.getCode(), 400); + } } diff --git a/bpmn/MSOCoreBPMN/src/test/java/org/openecomp/mso/bpmn/core/JsonUtilsTest.java b/bpmn/MSOCoreBPMN/src/test/java/org/openecomp/mso/bpmn/core/JsonUtilsTest.java index 861ea0a749..58f1ae264d 100644 --- a/bpmn/MSOCoreBPMN/src/test/java/org/openecomp/mso/bpmn/core/JsonUtilsTest.java +++ b/bpmn/MSOCoreBPMN/src/test/java/org/openecomp/mso/bpmn/core/JsonUtilsTest.java @@ -46,7 +46,6 @@ import java.io.File; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.nio.file.Files; - import org.junit.BeforeClass; import org.junit.Test; import org.openecomp.mso.bpmn.core.json.JsonUtils; diff --git a/bpmn/MSOCoreBPMN/src/test/java/org/openecomp/mso/bpmn/core/PropertyConfigurationTest.java b/bpmn/MSOCoreBPMN/src/test/java/org/openecomp/mso/bpmn/core/PropertyConfigurationTest.java index 80871db00d..506dba2552 100644 --- a/bpmn/MSOCoreBPMN/src/test/java/org/openecomp/mso/bpmn/core/PropertyConfigurationTest.java +++ b/bpmn/MSOCoreBPMN/src/test/java/org/openecomp/mso/bpmn/core/PropertyConfigurationTest.java @@ -36,7 +36,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.core; @@ -49,56 +49,56 @@ import org.junit.Test; public class PropertyConfigurationTest { - @Before - public void beforeTest() throws IOException { - Map defaultProperties = PropertyConfigurationSetup.createBpmnProperties(); - defaultProperties.put("testValue", "testKey"); - PropertyConfigurationSetup.init(defaultProperties); - } - - @Test - public void testPropertyFileWatcher() throws InterruptedException, IOException { - Assert.assertEquals(true, PropertyConfiguration.getInstance().isFileWatcherRunning()); - } - - @Test - public void testPropertyLoading() throws IOException, InterruptedException { - PropertyConfiguration propertyConfiguration = PropertyConfiguration.getInstance(); - Map props = propertyConfiguration.getProperties(PropertyConfiguration.MSO_BPMN_PROPERTIES); - Assert.assertNotNull(props); - Assert.assertEquals("testValue", props.get("testKey")); - } - - @Test - public void testPropertyReload() throws IOException, InterruptedException { - PropertyConfiguration propertyConfiguration = PropertyConfiguration.getInstance(); - Map properties = propertyConfiguration.getProperties(PropertyConfiguration.MSO_BPMN_PROPERTIES); - Assert.assertNotNull(properties); - Assert.assertEquals("testValue", properties.get("testKey")); - - Map newProperties = PropertyConfigurationSetup.createBpmnProperties(); - newProperties.put("newKey", "newValue"); - PropertyConfigurationSetup.addProperties(newProperties, 10000); - - // Reload and check for the new value - properties = propertyConfiguration.getProperties(PropertyConfiguration.MSO_BPMN_PROPERTIES); - Assert.assertNotNull(properties); - Assert.assertEquals("newValue", properties.get("newKey")); - } + @Before + public void beforeTest() throws IOException { + Map defaultProperties = PropertyConfigurationSetup.createBpmnProperties(); + defaultProperties.put("testValue", "testKey"); + PropertyConfigurationSetup.init(defaultProperties); + } + + @Test + public void testPropertyFileWatcher() throws InterruptedException, IOException { + Assert.assertEquals(true, PropertyConfiguration.getInstance().isFileWatcherRunning()); + } + + @Test + public void testPropertyLoading() throws IOException, InterruptedException { + PropertyConfiguration propertyConfiguration = PropertyConfiguration.getInstance(); + Map props = propertyConfiguration.getProperties(PropertyConfiguration.MSO_BPMN_PROPERTIES); + Assert.assertNotNull(props); + Assert.assertEquals("testValue", props.get("testKey")); + } + + @Test + public void testPropertyReload() throws IOException, InterruptedException { + PropertyConfiguration propertyConfiguration = PropertyConfiguration.getInstance(); + Map properties = propertyConfiguration.getProperties(PropertyConfiguration.MSO_BPMN_PROPERTIES); + Assert.assertNotNull(properties); + Assert.assertEquals("testValue", properties.get("testKey")); - @Test(expected = IllegalArgumentException.class) - public void testPropertyFileDoesNotExists_NotIntheList() throws IOException { - PropertyConfiguration propertyConfiguration = PropertyConfiguration.getInstance(); - propertyConfiguration.getProperties("badfile.properties"); - Assert.fail("Expected IllegalArgumentException"); - } + Map newProperties = PropertyConfigurationSetup.createBpmnProperties(); + newProperties.put("newKey", "newValue"); + PropertyConfigurationSetup.addProperties(newProperties, 10000); - @Test(expected = java.lang.UnsupportedOperationException.class) - public void testPropertyModificationException() throws IOException { - PropertyConfiguration propertyConfiguration = PropertyConfiguration.getInstance(); - Map props = propertyConfiguration.getProperties(PropertyConfiguration.MSO_BPMN_PROPERTIES); - Assert.assertNotNull(props); - Assert.assertEquals("testValue", props.get("testKey")); - props.put("newKey", "newvalue"); - } + // Reload and check for the new value + properties = propertyConfiguration.getProperties(PropertyConfiguration.MSO_BPMN_PROPERTIES); + Assert.assertNotNull(properties); + Assert.assertEquals("newValue", properties.get("newKey")); + } + + @Test(expected=IllegalArgumentException.class) + public void testPropertyFileDoesNotExists_NotIntheList() throws IOException { + PropertyConfiguration propertyConfiguration = PropertyConfiguration.getInstance(); + propertyConfiguration.getProperties("badfile.properties"); + Assert.fail("Expected IllegalArgumentException"); + } + + @Test(expected=java.lang.UnsupportedOperationException.class) + public void testPropertyModificationException() throws IOException { + PropertyConfiguration propertyConfiguration = PropertyConfiguration.getInstance(); + Map props = propertyConfiguration.getProperties(PropertyConfiguration.MSO_BPMN_PROPERTIES); + Assert.assertNotNull(props); + Assert.assertEquals("testValue", props.get("testKey")); + props.put("newKey", "newvalue"); + } } diff --git a/bpmn/MSOCoreBPMN/src/test/java/org/openecomp/mso/bpmn/core/TestBaseTask.java b/bpmn/MSOCoreBPMN/src/test/java/org/openecomp/mso/bpmn/core/TestBaseTask.java index 17580c03a5..2d204c338a 100644 --- a/bpmn/MSOCoreBPMN/src/test/java/org/openecomp/mso/bpmn/core/TestBaseTask.java +++ b/bpmn/MSOCoreBPMN/src/test/java/org/openecomp/mso/bpmn/core/TestBaseTask.java @@ -43,222 +43,222 @@ import org.openecomp.mso.logger.MsoLogger; */ public class TestBaseTask { - @Rule - public ProcessEngineRule processEngineRule = new ProcessEngineRule(); - - @Before - public void beforeTest() throws Exception { - CamundaDBSetup.configure(); - PropertyConfigurationSetup.init(); - } - - @Test - @Deployment(resources = {"BaseTaskTest.bpmn"}) - public void shouldInvokeService() { - Map variables = new HashMap<>(); - variables.put("firstName", "Jane"); - variables.put("lastName", "Doe"); - variables.put("age", (Integer) 25); - variables.put("lastVisit", (Long) 1438270117000L); - - RuntimeService runtimeService = processEngineRule.getRuntimeService(); - assertNotNull(runtimeService); - processEngineRule.getTaskService(); - runtimeService.startProcessInstanceByKey("BaseTaskTest", variables); - } - - /** - * Unit test code for BaseTask. - */ - public static class TestTask extends BaseTask { - private static MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL); - - private Expression existingString; - private Expression nonExistingString; - private Expression existingStringFromVar; - private Expression nonExistingStringFromVar; - - private Expression existingInteger; - private Expression nonExistingInteger; - private Expression existingIntegerFromVar; - private Expression nonExistingIntegerFromVar; - - private Expression existingLong; - private Expression nonExistingLong; - private Expression existingLongFromVar; - private Expression nonExistingLongFromVar; - - private Expression existingOutputVar; - private Expression nonExistingOutputVar; - private Expression existingBadOutputVar; - - public void execute(DelegateExecution execution) throws Exception { - msoLogger.debug("Started executing " + getClass().getSimpleName()); - - /*********************************************************************/ - msoLogger.debug("Running String Field Tests"); - /*********************************************************************/ - - String s = getStringField(existingString, execution, "existingString"); - Assert.assertEquals("Hello World", s); - - try { - s = getStringField(nonExistingString, execution, "nonExistingString"); - Assert.fail("Expected BadInjectedFieldException for nonExistingString"); - } catch (Exception e) { - if (!(e instanceof BadInjectedFieldException)) { - Assert.fail("Expected BadInjectedFieldException for nonExistingString"); - } - } - - s = getOptionalStringField(existingString, execution, "existingString"); - Assert.assertEquals("Hello World", s); - - s = getOptionalStringField(nonExistingString, execution, "nonExistingString"); - Assert.assertEquals(null, s); - - /*********************************************************************/ - msoLogger.debug("Running String Expression Tests"); - /*********************************************************************/ - - s = getStringField(existingStringFromVar, execution, "existingStringFromVar"); - Assert.assertEquals("Jane", s); - - try { - s = getStringField(nonExistingStringFromVar, execution, "nonExistingStringFromVar"); - Assert.fail("Expected BadInjectedFieldException for nonExistingString"); - } catch (Exception e) { - if (!(e instanceof BadInjectedFieldException)) { - Assert.fail("Expected BadInjectedFieldException for nonExistingStringFromVar"); - } - } - - s = getOptionalStringField(existingStringFromVar, execution, "existingStringFromVar"); - Assert.assertEquals("Jane", s); - - s = getOptionalStringField(nonExistingStringFromVar, execution, "nonExistingStringFromVar"); - Assert.assertEquals(null, s); - - /*********************************************************************/ - msoLogger.debug("Running Integer Field Tests"); - /*********************************************************************/ - - Integer i = getIntegerField(existingInteger, execution, "existingInteger"); - Assert.assertEquals((Integer) 42, i); - - try { - i = getIntegerField(nonExistingInteger, execution, "nonExistingInteger"); - Assert.fail("Expected BadInjectedFieldException for nonExistingInteger"); - } catch (Exception e) { - if (!(e instanceof BadInjectedFieldException)) { - Assert.fail("Expected BadInjectedFieldException for nonExistingInteger"); - } - } - - i = getOptionalIntegerField(existingInteger, execution, "existingInteger"); - Assert.assertEquals((Integer) 42, i); - - i = getOptionalIntegerField(nonExistingInteger, execution, "nonExistingInteger"); - Assert.assertEquals(null, i); - - /*********************************************************************/ - msoLogger.debug("Running Integer Expression Tests"); - /*********************************************************************/ - - i = getIntegerField(existingIntegerFromVar, execution, "existingIntegerFromVar"); - Assert.assertEquals((Integer) 25, i); - - try { - i = getIntegerField(nonExistingIntegerFromVar, execution, "nonExistingIntegerFromVar"); - Assert.fail("Expected BadInjectedFieldException for nonExistingInteger"); - } catch (Exception e) { - if (!(e instanceof BadInjectedFieldException)) { - Assert.fail("Expected BadInjectedFieldException for nonExistingIntegerFromVar"); - } - } - - i = getOptionalIntegerField(existingIntegerFromVar, execution, "existingIntegerFromVar"); - Assert.assertEquals((Integer) 25, i); - - i = getOptionalIntegerField(nonExistingIntegerFromVar, execution, "nonExistingIntegerFromVar"); - Assert.assertEquals(null, i); - - /*********************************************************************/ - msoLogger.debug("Running Long Field Tests"); - /*********************************************************************/ - - Long l = getLongField(existingLong, execution, "existingLong"); - Assert.assertEquals((Long) 123456789L, l); - - try { - l = getLongField(nonExistingLong, execution, "nonExistingLong"); - Assert.fail("Expected BadInjectedFieldException for nonExistingLong"); - } catch (Exception e) { - if (!(e instanceof BadInjectedFieldException)) { - Assert.fail("Expected BadInjectedFieldException for nonExistingLong"); - } - } - - l = getOptionalLongField(existingLong, execution, "existingLong"); - Assert.assertEquals((Long) 123456789L, l); - - l = getOptionalLongField(nonExistingLong, execution, "nonExistingLong"); - Assert.assertEquals(null, l); - - /*********************************************************************/ - msoLogger.debug("Running Long Expression Tests"); - /*********************************************************************/ - - l = getLongField(existingLongFromVar, execution, "existingLongFromVar"); - Assert.assertEquals((Long) 1438270117000L, l); - - try { - l = getLongField(nonExistingLongFromVar, execution, "nonExistingLongFromVar"); - Assert.fail("Expected BadInjectedFieldException for nonExistingLong"); - } catch (Exception e) { - if (!(e instanceof BadInjectedFieldException)) { - Assert.fail("Expected BadInjectedFieldException for nonExistingLongFromVar"); - } - } - - l = getOptionalLongField(existingLongFromVar, execution, "existingLongFromVar"); - Assert.assertEquals((Long) 1438270117000L, l); - - l = getOptionalLongField(nonExistingLongFromVar, execution, "nonExistingLongFromVar"); - Assert.assertEquals(null, i); - - /*********************************************************************/ - msoLogger.debug("Running Output Variable Field Tests"); - /*********************************************************************/ - - String var = getOutputField(existingOutputVar, execution, "existingOutputVar"); - Assert.assertEquals("goodVariable", var); - - try { - var = getOutputField(nonExistingOutputVar, execution, "nonExistingOutputVar"); - Assert.fail("Expected BadInjectedFieldException for nonExistingString"); - } catch (Exception e) { - if (!(e instanceof BadInjectedFieldException)) { - Assert.fail("Expected BadInjectedFieldException for nonExistingString"); - } - } - - var = getOptionalOutputField(existingOutputVar, execution, "existingOutputVar"); - Assert.assertEquals("goodVariable", var); - - var = getOptionalOutputField(nonExistingOutputVar, execution, "nonExistingOutputVar"); - Assert.assertEquals(null, var); - - try { - var = getOutputField(existingBadOutputVar, execution, "existingBadOutputVar"); - Assert.fail("Expected BadInjectedFieldException for nonExistingString"); - } catch (Exception e) { - if (!(e instanceof BadInjectedFieldException)) { - Assert.fail("Expected BadInjectedFieldException for nonExistingString"); - } - } - - msoLogger.debug("Finished executing " + getClass().getSimpleName()); - } - } + @Rule + public ProcessEngineRule processEngineRule = new ProcessEngineRule(); + + @Before + public void beforeTest() throws Exception { + CamundaDBSetup.configure(); + PropertyConfigurationSetup.init(); + } + + @Test + @Deployment(resources={"BaseTaskTest.bpmn"}) + public void shouldInvokeService() { + Map variables = new HashMap<>(); + variables.put("firstName", "Jane"); + variables.put("lastName", "Doe"); + variables.put("age", (Integer)25); + variables.put("lastVisit", (Long)1438270117000L); + + RuntimeService runtimeService = processEngineRule.getRuntimeService(); + assertNotNull(runtimeService); + processEngineRule.getTaskService(); + runtimeService.startProcessInstanceByKey("BaseTaskTest", variables); + } + + /** + * Unit test code for BaseTask. + */ + public static class TestTask extends BaseTask { + private static MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL); + + private Expression existingString; + private Expression nonExistingString; + private Expression existingStringFromVar; + private Expression nonExistingStringFromVar; + + private Expression existingInteger; + private Expression nonExistingInteger; + private Expression existingIntegerFromVar; + private Expression nonExistingIntegerFromVar; + + private Expression existingLong; + private Expression nonExistingLong; + private Expression existingLongFromVar; + private Expression nonExistingLongFromVar; + + private Expression existingOutputVar; + private Expression nonExistingOutputVar; + private Expression existingBadOutputVar; + + public void execute(DelegateExecution execution) throws Exception { + msoLogger.debug("Started executing " + getClass().getSimpleName()); + + /*********************************************************************/ + msoLogger.debug("Running String Field Tests"); + /*********************************************************************/ + + String s = getStringField(existingString, execution, "existingString"); + Assert.assertEquals("Hello World", s); + + try { + s = getStringField(nonExistingString, execution, "nonExistingString"); + Assert.fail("Expected BadInjectedFieldException for nonExistingString"); + } catch (Exception e) { + if (!(e instanceof BadInjectedFieldException)) { + Assert.fail("Expected BadInjectedFieldException for nonExistingString"); + } + } + + s = getOptionalStringField(existingString, execution, "existingString"); + Assert.assertEquals("Hello World", s); + + s = getOptionalStringField(nonExistingString, execution, "nonExistingString"); + Assert.assertEquals(null, s); + + /*********************************************************************/ + msoLogger.debug("Running String Expression Tests"); + /*********************************************************************/ + + s = getStringField(existingStringFromVar, execution, "existingStringFromVar"); + Assert.assertEquals("Jane", s); + + try { + s = getStringField(nonExistingStringFromVar, execution, "nonExistingStringFromVar"); + Assert.fail("Expected BadInjectedFieldException for nonExistingString"); + } catch (Exception e) { + if (!(e instanceof BadInjectedFieldException)) { + Assert.fail("Expected BadInjectedFieldException for nonExistingStringFromVar"); + } + } + + s = getOptionalStringField(existingStringFromVar, execution, "existingStringFromVar"); + Assert.assertEquals("Jane", s); + + s = getOptionalStringField(nonExistingStringFromVar, execution, "nonExistingStringFromVar"); + Assert.assertEquals(null, s); + + /*********************************************************************/ + msoLogger.debug("Running Integer Field Tests"); + /*********************************************************************/ + + Integer i = getIntegerField(existingInteger, execution, "existingInteger"); + Assert.assertEquals((Integer)42, i); + + try { + i = getIntegerField(nonExistingInteger, execution, "nonExistingInteger"); + Assert.fail("Expected BadInjectedFieldException for nonExistingInteger"); + } catch (Exception e) { + if (!(e instanceof BadInjectedFieldException)) { + Assert.fail("Expected BadInjectedFieldException for nonExistingInteger"); + } + } + + i = getOptionalIntegerField(existingInteger, execution, "existingInteger"); + Assert.assertEquals((Integer)42, i); + + i = getOptionalIntegerField(nonExistingInteger, execution, "nonExistingInteger"); + Assert.assertEquals(null, i); + + /*********************************************************************/ + msoLogger.debug("Running Integer Expression Tests"); + /*********************************************************************/ + + i = getIntegerField(existingIntegerFromVar, execution, "existingIntegerFromVar"); + Assert.assertEquals((Integer)25, i); + + try { + i = getIntegerField(nonExistingIntegerFromVar, execution, "nonExistingIntegerFromVar"); + Assert.fail("Expected BadInjectedFieldException for nonExistingInteger"); + } catch (Exception e) { + if (!(e instanceof BadInjectedFieldException)) { + Assert.fail("Expected BadInjectedFieldException for nonExistingIntegerFromVar"); + } + } + + i = getOptionalIntegerField(existingIntegerFromVar, execution, "existingIntegerFromVar"); + Assert.assertEquals((Integer)25, i); + + i = getOptionalIntegerField(nonExistingIntegerFromVar, execution, "nonExistingIntegerFromVar"); + Assert.assertEquals(null, i); + + /*********************************************************************/ + msoLogger.debug("Running Long Field Tests"); + /*********************************************************************/ + + Long l = getLongField(existingLong, execution, "existingLong"); + Assert.assertEquals((Long)123456789L, l); + + try { + l = getLongField(nonExistingLong, execution, "nonExistingLong"); + Assert.fail("Expected BadInjectedFieldException for nonExistingLong"); + } catch (Exception e) { + if (!(e instanceof BadInjectedFieldException)) { + Assert.fail("Expected BadInjectedFieldException for nonExistingLong"); + } + } + + l = getOptionalLongField(existingLong, execution, "existingLong"); + Assert.assertEquals((Long)123456789L, l); + + l = getOptionalLongField(nonExistingLong, execution, "nonExistingLong"); + Assert.assertEquals(null, l); + + /*********************************************************************/ + msoLogger.debug("Running Long Expression Tests"); + /*********************************************************************/ + + l = getLongField(existingLongFromVar, execution, "existingLongFromVar"); + Assert.assertEquals((Long)1438270117000L, l); + + try { + l = getLongField(nonExistingLongFromVar, execution, "nonExistingLongFromVar"); + Assert.fail("Expected BadInjectedFieldException for nonExistingLong"); + } catch (Exception e) { + if (!(e instanceof BadInjectedFieldException)) { + Assert.fail("Expected BadInjectedFieldException for nonExistingLongFromVar"); + } + } + + l = getOptionalLongField(existingLongFromVar, execution, "existingLongFromVar"); + Assert.assertEquals((Long)1438270117000L, l); + + l = getOptionalLongField(nonExistingLongFromVar, execution, "nonExistingLongFromVar"); + Assert.assertEquals(null, i); + + /*********************************************************************/ + msoLogger.debug("Running Output Variable Field Tests"); + /*********************************************************************/ + + String var = getOutputField(existingOutputVar, execution, "existingOutputVar"); + Assert.assertEquals("goodVariable", var); + + try { + var = getOutputField(nonExistingOutputVar, execution, "nonExistingOutputVar"); + Assert.fail("Expected BadInjectedFieldException for nonExistingString"); + } catch (Exception e) { + if (!(e instanceof BadInjectedFieldException)) { + Assert.fail("Expected BadInjectedFieldException for nonExistingString"); + } + } + + var = getOptionalOutputField(existingOutputVar, execution, "existingOutputVar"); + Assert.assertEquals("goodVariable", var); + + var = getOptionalOutputField(nonExistingOutputVar, execution, "nonExistingOutputVar"); + Assert.assertEquals(null, var); + + try { + var = getOutputField(existingBadOutputVar, execution, "existingBadOutputVar"); + Assert.fail("Expected BadInjectedFieldException for nonExistingString"); + } catch (Exception e) { + if (!(e instanceof BadInjectedFieldException)) { + Assert.fail("Expected BadInjectedFieldException for nonExistingString"); + } + } + + msoLogger.debug("Finished executing " + getClass().getSimpleName()); + } + } } diff --git a/bpmn/MSOCoreBPMN/src/test/java/org/openecomp/mso/bpmn/core/internal/VariableNameExtractorTest.java b/bpmn/MSOCoreBPMN/src/test/java/org/openecomp/mso/bpmn/core/internal/VariableNameExtractorTest.java index edaf45848f..57f479f7cb 100644 --- a/bpmn/MSOCoreBPMN/src/test/java/org/openecomp/mso/bpmn/core/internal/VariableNameExtractorTest.java +++ b/bpmn/MSOCoreBPMN/src/test/java/org/openecomp/mso/bpmn/core/internal/VariableNameExtractorTest.java @@ -23,7 +23,6 @@ package org.openecomp.mso.bpmn.core.internal; import static org.assertj.core.api.Assertions.assertThat; import java.util.Optional; - import org.junit.Test; public class VariableNameExtractorTest { diff --git a/bpmn/MSOCoreBPMN/src/test/java/org/openecomp/mso/bpmn/core/utils/CamundaDBSetup.java b/bpmn/MSOCoreBPMN/src/test/java/org/openecomp/mso/bpmn/core/utils/CamundaDBSetup.java index 0fb15f93b9..f29ccc75e0 100644 --- a/bpmn/MSOCoreBPMN/src/test/java/org/openecomp/mso/bpmn/core/utils/CamundaDBSetup.java +++ b/bpmn/MSOCoreBPMN/src/test/java/org/openecomp/mso/bpmn/core/utils/CamundaDBSetup.java @@ -31,84 +31,84 @@ import org.openecomp.mso.logger.MsoLogger; * Sets up the unit test (H2) database for Camunda. */ public class CamundaDBSetup { - private static boolean isDBConfigured = false; - private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL); - - private CamundaDBSetup() { - } - - public static synchronized void configure() throws SQLException { - if (isDBConfigured) { - return; - } - - LOGGER.debug("Configuring the Camunda H2 database for MSO"); - - Connection connection = null; - PreparedStatement stmt = null; - - try { - connection = DriverManager.getConnection( - "jdbc:h2:mem:camunda;DB_CLOSE_DELAY=-1", "sa", ""); - - stmt = connection.prepareStatement("delete from ACT_HI_VARINST"); - stmt.executeUpdate(); - stmt.close(); - stmt = null; - - stmt = connection.prepareStatement("ALTER TABLE ACT_HI_VARINST alter column TEXT_ clob"); - stmt.executeUpdate(); - stmt.close(); - stmt = null; - + private static boolean isDBConfigured = false; + private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL); + + private CamundaDBSetup() { + } + + public static synchronized void configure() throws SQLException { + if (isDBConfigured) { + return; + } + + LOGGER.debug ("Configuring the Camunda H2 database for MSO"); + + Connection connection = null; + PreparedStatement stmt = null; + + try { + connection = DriverManager.getConnection( + "jdbc:h2:mem:camunda;DB_CLOSE_DELAY=-1", "sa", ""); + + stmt = connection.prepareStatement("delete from ACT_HI_VARINST"); + stmt.executeUpdate(); + stmt.close(); + stmt = null; + + stmt = connection.prepareStatement("ALTER TABLE ACT_HI_VARINST alter column TEXT_ clob"); + stmt.executeUpdate(); + stmt.close(); + stmt = null; + // stmt = connection.prepareStatement("ALTER TABLE ACT_HI_VARINST alter column NAME_ clob"); // stmt.executeUpdate(); // stmt.close(); // stmt = null; - stmt = connection.prepareStatement("delete from ACT_HI_DETAIL"); - stmt.executeUpdate(); - stmt.close(); - stmt = null; + stmt = connection.prepareStatement("delete from ACT_HI_DETAIL"); + stmt.executeUpdate(); + stmt.close(); + stmt = null; - stmt = connection.prepareStatement("ALTER TABLE ACT_HI_DETAIL alter column TEXT_ clob"); - stmt.executeUpdate(); - stmt.close(); - stmt = null; + stmt = connection.prepareStatement("ALTER TABLE ACT_HI_DETAIL alter column TEXT_ clob"); + stmt.executeUpdate(); + stmt.close(); + stmt = null; // stmt = connection.prepareStatement("ALTER TABLE ACT_HI_DETAIL alter column NAME_ clob"); // stmt.executeUpdate(); // stmt.close(); // stmt = null; - stmt = connection.prepareStatement("ALTER TABLE ACT_RU_VARIABLE alter column TEXT_ clob"); - stmt.executeUpdate(); - stmt.close(); - stmt = null; - - connection.close(); - connection = null; - - isDBConfigured = true; - } catch (SQLException e) { - LOGGER.debug("CamundaDBSetup caught " + e.getClass().getSimpleName()); - LOGGER.debug("SQLException :", e); - } finally { - if (stmt != null) { - try { - stmt.close(); - } catch (Exception e) { - LOGGER.debug("Exception :", e); - } - } - - if (connection != null) { - try { - connection.close(); - } catch (Exception e) { - LOGGER.debug("Exception :", e); - } - } - } - } + stmt = connection.prepareStatement("ALTER TABLE ACT_RU_VARIABLE alter column TEXT_ clob"); + stmt.executeUpdate(); + stmt.close(); + stmt = null; + + connection.close(); + connection = null; + + isDBConfigured = true; + } catch (SQLException e) { + LOGGER.debug ("CamundaDBSetup caught " + e.getClass().getSimpleName()); + LOGGER.debug("SQLException :",e); + } finally { + if (stmt != null) { + try { + stmt.close(); + } catch (Exception e) { + LOGGER.debug("Exception :",e); + } + } + + if (connection != null) { + try { + connection.close(); + } catch (Exception e) { + LOGGER.debug("Exception :",e); + } + } + } + } } \ No newline at end of file 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 314f8e9075..549664588e 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 @@ -49,81 +49,81 @@ import org.openecomp.mso.bpmn.mock.FileUtil; */ public class CreateGenericALaCarteServiceInstanceTest extends WorkflowTest { - private final CallbackSet callbacks = new CallbackSet(); - - public CreateGenericALaCarteServiceInstanceTest() throws IOException { - callbacks.put("assign", FileUtil.readResourceFile("__files/VfModularity/SDNCSITopologyAssignCallback.xml")); - } - - /** - * Sunny day VID scenario. - * - * @throws Exception - */ - //@Ignore // File not found - unable to run the test. Also, Stubs need updating.. - @Test - @Deployment(resources = { - "process/CreateGenericALaCarteServiceInstance.bpmn", - "subprocess/DoCreateServiceInstance.bpmn", - "subprocess/DoCreateServiceInstanceRollback.bpmn", - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/GenericPutService.bpmn", - "subprocess/GenericGetService.bpmn", - "subprocess/CompleteMsoProcess.bpmn", - "subprocess/FalloutHandler.bpmn"}) - public void sunnyDayAlaCarte() throws Exception { - - logStart(); - - //AAI - MockGetCustomer("MCBH-1610", "CreateServiceInstance/createServiceInstance_queryGlobalCustomerId_AAIResponse_Success.xml"); - MockPutServiceInstance("MCBH-1610", "viprsvc", "RaaTest-1-id", ""); - MockGetServiceInstance("MCBH-1610", "viprsvc", "RaaTest-1-id", "GenericFlows/getServiceInstance.xml"); - MockNodeQueryServiceInstanceByName("RAATest-1", null); - MockNodeQueryServiceInstanceById("RaaTest-1-id", null); - //SDNC - mockSDNCAdapter(200); - //DB - mockUpdateRequestDB(200, "DBUpdateResponse.xml"); - - - String businessKey = UUID.randomUUID().toString(); - - //String createVfModuleRequest = FileUtil.readResourceFile("__files/SIRequest.json"); - - Map variables = setupVariables(); - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "CreateGenericALaCarteServiceInstance", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - String workflowResp = BPMNUtil.getVariable(processEngineRule, "CreateGenericALaCarteServiceInstance", "WorkflowResponse"); - //assertNotNull(workflowResp); - System.out.println("Workflow (Synch) Response:\n" + workflowResp); - String workflowException = BPMNUtil.getVariable(processEngineRule, "CreateGenericALaCarteServiceInstance", "WorkflowException"); - String completionReq = BPMNUtil.getVariable(processEngineRule, "CreateGenericALaCarteServiceInstance", "completionRequest"); - System.out.println("completionReq:\n" + completionReq); - System.out.println("workflowException:\n" + workflowException); - assertNotNull(completionReq); - assertEquals(null, workflowException); - - - //injectSDNCCallbacks(callbacks, "assign"); - - logEnd(); - } - - // Success Scenario - private Map setupVariables() { - Map variables = new HashMap<>(); - variables.put("isDebugLogEnabled", "true"); - variables.put("bpmnRequest", getRequest()); - variables.put("mso-request-id", "RaaCSIRequestId-1"); - variables.put("serviceInstanceId", "RaaTest-1-id"); - 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\":[]}}}"; - return request; - } + private final CallbackSet callbacks = new CallbackSet(); + + public CreateGenericALaCarteServiceInstanceTest() throws IOException { + callbacks.put("assign", FileUtil.readResourceFile("__files/VfModularity/SDNCSITopologyAssignCallback.xml")); + } + + /** + * Sunny day VID scenario. + * + * @throws Exception + */ + //@Ignore // File not found - unable to run the test. Also, Stubs need updating.. + @Test + @Deployment(resources = { + "process/CreateGenericALaCarteServiceInstance.bpmn", + "subprocess/DoCreateServiceInstance.bpmn", + "subprocess/DoCreateServiceInstanceRollback.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/GenericPutService.bpmn", + "subprocess/GenericGetService.bpmn", + "subprocess/CompleteMsoProcess.bpmn", + "subprocess/FalloutHandler.bpmn" }) + public void sunnyDayAlaCarte() throws Exception { + + logStart(); + + //AAI + MockGetCustomer("MCBH-1610", "CreateServiceInstance/createServiceInstance_queryGlobalCustomerId_AAIResponse_Success.xml"); + MockPutServiceInstance("MCBH-1610", "viprsvc", "RaaTest-1-id", ""); + MockGetServiceInstance("MCBH-1610", "viprsvc", "RaaTest-1-id", "GenericFlows/getServiceInstance.xml"); + MockNodeQueryServiceInstanceByName("RAATest-1", null); + MockNodeQueryServiceInstanceById("RaaTest-1-id", null); + //SDNC + mockSDNCAdapter(200); + //DB + mockUpdateRequestDB(200, "DBUpdateResponse.xml"); + + + String businessKey = UUID.randomUUID().toString(); + + //String createVfModuleRequest = FileUtil.readResourceFile("__files/SIRequest.json"); + + Map variables = setupVariables(); + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "CreateGenericALaCarteServiceInstance", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + String workflowResp = BPMNUtil.getVariable(processEngineRule, "CreateGenericALaCarteServiceInstance", "WorkflowResponse"); + //assertNotNull(workflowResp); + System.out.println("Workflow (Synch) Response:\n" + workflowResp); + String workflowException = BPMNUtil.getVariable(processEngineRule, "CreateGenericALaCarteServiceInstance", "WorkflowException"); + String completionReq = BPMNUtil.getVariable(processEngineRule, "CreateGenericALaCarteServiceInstance", "completionRequest"); + System.out.println("completionReq:\n" + completionReq); + System.out.println("workflowException:\n" + workflowException); + assertNotNull(completionReq); + assertEquals(null, workflowException); + + + //injectSDNCCallbacks(callbacks, "assign"); + + logEnd(); + } + + // Success Scenario + private Map setupVariables() { + Map variables = new HashMap<>(); + variables.put("isDebugLogEnabled", "true"); + variables.put("bpmnRequest", getRequest()); + variables.put("mso-request-id", "RaaCSIRequestId-1"); + variables.put("serviceInstanceId","RaaTest-1-id"); + 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\":[]}}}"; + 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 32ed557b9b..b95ebb5fc7 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 @@ -27,7 +27,6 @@ import static org.openecomp.mso.bpmn.mock.StubResponseNetworkAdapter.MockNetwork // new mock methods import static org.openecomp.mso.bpmn.mock.StubResponseSDNCAdapter.mockSDNCAdapterTopology; import static org.openecomp.mso.bpmn.mock.StubResponseSDNCAdapter.mockSDNCAdapter_500; - import org.openecomp.mso.bpmn.mock.SDNCAdapterNetworkTopologyMockTransformer; import static org.openecomp.mso.bpmn.common.BPMNUtil.executeAsyncWorkflow; @@ -50,616 +49,617 @@ import com.github.tomakehurst.wiremock.extension.ResponseTransformer; /** * Unit test cases for CreateNetworkInstance.bpmn + * */ public class CreateNetworkInstanceTest extends WorkflowTest { - @WorkflowTestTransformer - public static final ResponseTransformer sdncAdapterMockTransformer = - new SDNCAdapterNetworkTopologyMockTransformer(); - - @Rule - public final SDNCAdapterCallbackRule sdncAdapterCallbackRule = - new SDNCAdapterCallbackRule(processEngineRule); - - /** - * End-to-End flow - Unit test for CreateNetworkInstance.bpmn - * - String input & String response - */ - - - @Test - //@Ignore - @Deployment(resources = {"process/CreateNetworkInstance.bpmn", - "subprocess/DoCreateNetworkInstance.bpmn", - "subprocess/DoCreateNetworkInstanceRollback.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/CompleteMsoProcess.bpmn", - "subprocess/GenericGetService.bpmn", - "subprocess/SDNCAdapterV1.bpmn"}) - - public void shouldInvokeServiceCreateNetworkInstance_vIPER_Success1() throws Exception { - - System.out.println("-----------------------------------------------------------------"); - System.out.println(" Success vIPER 1 - CreateNetworkInstance flow Started! "); - System.out.println("-----------------------------------------------------------------"); - - // setup simulators - mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologyRsrcAssignResponse.xml", "SvcAction>assign"); - mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologySimResponse.xml", "SvcAction>activate"); - 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"); - 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"); - 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"); - - Map variables = setupVariables1(); - //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables); - executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables); - System.out.println("----------------------------------------------------------"); - System.out.println("- got workflow response -"); - System.out.println("----------------------------------------------------------"); - //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - assertEquals("true", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_Success")); - assertEquals("true", getVariable(processEngineRule, "DoCreateNetworkInstance", "CRENWKI_Success")); - Assert.assertNotNull("CRENI_CompleteMsoProcessRequest - ", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_CompleteMsoProcessRequest")); - - String workflowResp = BPMNUtil.getVariable(processEngineRule, "CreateNetworkInstance", "WorkflowResponse"); - Assert.assertNotNull(workflowResp); - - System.out.println("----------------------------------------------------------"); - System.out.println(" Success vIPER 1 - CreateNetworkInstance flow Completed "); - System.out.println("----------------------------------------------------------"); - - } - - @Test - //@Ignore - @Deployment(resources = {"process/CreateNetworkInstance.bpmn", - "subprocess/DoCreateNetworkInstance.bpmn", - "subprocess/DoCreateNetworkInstanceRollback.bpmn", - "subprocess/GenericGetService.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/CompleteMsoProcess.bpmn", - "subprocess/SDNCAdapterV1.bpmn"}) - - public void shouldInvokeServiceCreateNetworkInstance_vIPER_Success2() throws Exception { - - System.out.println("----------------------------------------------------------------"); - System.out.println(" Success viPER 2 - CreateNetworkInstance flow Started! "); - System.out.println("----------------------------------------------------------------"); - - // setup simulators - mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologyRsrcAssignResponse.xml", "SvcAction>assign"); - mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologySimResponse.xml", "SvcAction>activate"); - 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"); - 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"); - 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"); - - Map variables = setupVariables2(); - //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables); - executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables); - //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - assertEquals("true", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_Success")); - assertEquals("true", getVariable(processEngineRule, "DoCreateNetworkInstance", "CRENWKI_Success")); - Assert.assertNotNull("CRENI_CompleteMsoProcessRequest - ", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_CompleteMsoProcessRequest")); - - String completeMsoProcessRequest = - "" + '\n' - + " " + '\n' - + " testRequestId" + '\n' - + " CREATE" + '\n' - + " VID" + '\n' - + " " + '\n' - + " Network has been created successfully." + '\n' - + " BPMN Network action: CREATE" + '\n' - + ""; - - Assert.assertEquals(completeMsoProcessRequest, getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_CompleteMsoProcessRequest")); - - System.out.println("---------------------------------------------------------"); - System.out.println(" Success viPER 2 - CreateNetworkInstance flow Completed "); - System.out.println("---------------------------------------------------------"); - - } - - @Test - //@Ignore - @Deployment(resources = {"process/CreateNetworkInstance.bpmn", - "subprocess/DoCreateNetworkInstance.bpmn", - "subprocess/DoCreateNetworkInstanceRollback.bpmn", - "subprocess/GenericGetService.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/CompleteMsoProcess.bpmn", - "subprocess/SDNCAdapterV1.bpmn"}) - - public void shouldInvokeServiceCreateNetworkInstance_VID_1610_Network_SDNC_Rollback() throws Exception { - - System.out.println("--------------------------------------------------------------------------"); - System.out.println(" Network and SDNC Rollback - CreateNetworkInstance flow Started! "); - System.out.println("--------------------------------------------------------------------------"); - - // setup simulators - mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologySimResponse.xml", "SvcAction>assign"); - mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologySimResponse.xml", "SvcAction>rollback"); - 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"); - 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"); - 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"); - MockNetworkAdapterRestRollbackDelete("deleteNetworkResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4"); - - Map variables = setupVariablesVID1(); - executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables); - //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables); - //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - assertEquals("false", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_Success")); - assertEquals("false", getVariable(processEngineRule, "DoCreateNetworkInstance", "CRENWKI_Success")); - Assert.assertNotNull("CRENI_FalloutHandlerRequest - ", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_FalloutHandlerRequest")); - - System.out.println("--------------------------------------------------------------------"); - System.out.println(" Network and SCNC Rollback - CreateNetworkInstance flow Completed "); - System.out.println("--------------------------------------------------------------------"); - - } - - @Test - //@Ignore - @Deployment(resources = {"process/CreateNetworkInstance.bpmn", - "subprocess/DoCreateNetworkInstance.bpmn", - "subprocess/DoCreateNetworkInstanceRollback.bpmn", - "subprocess/GenericGetService.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/CompleteMsoProcess.bpmn", - "subprocess/SDNCAdapterV1.bpmn"}) - - public void shouldInvokeServiceCreateNetworkInstance_vIPER_1702_Network_SDNC_Rollback() throws Exception { - - System.out.println("--------------------------------------------------------------------------"); - System.out.println(" Network and SDNC Rollback - CreateNetworkInstance flow Started! "); - System.out.println("--------------------------------------------------------------------------"); - - // setup simulators - mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologyRsrcAssignResponse.xml", "SvcAction>assign"); - mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologySimResponse.xml", "SvcAction>unassign"); - mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologySimResponse.xml", "SvcAction>activate"); - mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologySimResponse.xml", "SvcAction>deactivate"); - 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"); - 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"); - 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"); - MockNetworkAdapterRestRollbackDelete("deleteNetworkResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4"); - - Map variables = setupVariables1(); - executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables); - //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables); - //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - assertEquals("false", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_Success")); - assertEquals("false", getVariable(processEngineRule, "DoCreateNetworkInstance", "CRENWKI_Success")); - Assert.assertNotNull("CRENI_FalloutHandlerRequest - ", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_FalloutHandlerRequest")); - - System.out.println("--------------------------------------------------------------------"); - System.out.println(" Network and SCNC Rollback - CreateNetworkInstance flow Completed "); - System.out.println("--------------------------------------------------------------------"); - - } - - @Test - //@Ignore - @Deployment(resources = {"process/CreateNetworkInstance.bpmn", - "subprocess/DoCreateNetworkInstance.bpmn", - "subprocess/DoCreateNetworkInstanceRollback.bpmn", - "subprocess/GenericGetService.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/CompleteMsoProcess.bpmn", - "subprocess/SDNCAdapterV1.bpmn"}) - - public void shouldInvokeServiceCreateNetworkInstance_sdncFailure() throws Exception { - - System.out.println("----------------------------------------------------------------"); - System.out.println(" SNDC Failure - CreateNetworkInstance flow Started! "); - System.out.println("----------------------------------------------------------------"); - - // setup simulators - mockSDNCAdapter_500("SvcAction>query"); - MockGetNetworkByName_404("CreateNetworkV2/createNetwork_queryName_AAIResponse_Success.xml", "myOwn_Network"); - MockGetNetworkCloudRegion("CreateNetworkV2/cloudRegion25_AAIResponse_Success.xml", "RDM2WAGPLCP"); - 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"); - - Map variables = setupVariables2(); - //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables); - executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables); - //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - assertEquals("false", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_Success")); - assertEquals("false", getVariable(processEngineRule, "DoCreateNetworkInstance", "CRENWKI_Success")); - Assert.assertNotNull("CRENI_FalloutHandlerRequest - ", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_FalloutHandlerRequest")); - - System.out.println("---------------------------------------------------------"); - System.out.println(" SNDC Failure - CreateNetworkInstance flow Completed "); - System.out.println("---------------------------------------------------------"); - - } - - @Test - //@Ignore - @Deployment(resources = {"process/CreateNetworkInstance.bpmn", - "subprocess/DoCreateNetworkInstance.bpmn", - "subprocess/DoCreateNetworkInstanceRollback.bpmn", - "subprocess/GenericGetService.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/CompleteMsoProcess.bpmn", - "subprocess/SDNCAdapterV1.bpmn"}) - - public void shouldInvokeServiceCreateNetworkInstance_queryServiceInstance404() throws Exception { - - System.out.println("----------------------------------------------------------------------------------"); - System.out.println(" Query ServiceIntance Not found - CreateNetworkInstance flow Started! "); - System.out.println("----------------------------------------------------------------------------------"); - - //setup simulators - mockSDNCAdapter_500("SvcAction>query"); - MockGetNetworkByName_404("CreateNetworkV2/createNetwork_queryName_AAIResponse_Success.xml", "myOwn_Network"); - MockUpdateRequestDB("DBUpdateResponse.xml"); - MockNodeQueryServiceInstanceById_404("f70e927b-6087-4974-9ef8-c5e4d5847ca4"); - - Map variables = setupVariables2(); - //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables); - executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables); - //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - assertEquals("false", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_Success")); - assertEquals("false", getVariable(processEngineRule, "DoCreateNetworkInstance", "CRENWKI_Success")); - Assert.assertNotNull("CRENI_FalloutHandlerRequest - ", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_FalloutHandlerRequest")); - - System.out.println("---------------------------------------------------------------------------------"); - System.out.println(" Query ServiceIntance Not found - CreateNetworkInstance flow Completed "); - System.out.println("---------------------------------------------------------------------------------"); - - } - - @Test - //@Ignore - @Deployment(resources = {"process/CreateNetworkInstance.bpmn", - "subprocess/DoCreateNetworkInstance.bpmn", - "subprocess/DoCreateNetworkInstanceRollback.bpmn", - "subprocess/GenericGetService.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/CompleteMsoProcess.bpmn", - "subprocess/SDNCAdapterV1.bpmn"}) - - public void shouldInvokeServiceCreateNetworkInstance_VID_Success1() throws Exception { - - System.out.println("----------------------------------------------------------"); - System.out.println(" Success VID1 - CreateNetworkInstance flow Started! "); - System.out.println("----------------------------------------------------------"); - - // setup simulators - mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologySimResponse.xml", "SvcAction>assign"); - 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"); - 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"); - 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"); - - Map variables = setupVariablesVID1(); - //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables); - executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables); - System.out.println("----------------------------------------------------------"); - System.out.println("- got workflow response -"); - System.out.println("----------------------------------------------------------"); - //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - assertEquals("true", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_Success")); - Assert.assertNotNull("CRENI_CompleteMsoProcessRequest - ", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_CompleteMsoProcessRequest")); - - String workflowResp = BPMNUtil.getVariable(processEngineRule, "CreateNetworkInstance", "WorkflowResponse"); - Assert.assertNotNull(workflowResp); - - System.out.println("-----------------------------------------------------------"); - System.out.println(" Success VID1 - CreateNetworkInstanceInfra flow Completed "); - System.out.println("-----------------------------------------------------------"); - - } - - // ***************** - // Utility Section - // ***************** - - String networkModelInfo = - " {\"modelUuid\": \"mod-inst-uuid-123\", " + '\n' + - " \"modelName\": \"mod_inst_z_123\", " + '\n' + - " \"modelVersion\": \"mod-inst-uuid-123\", " + '\n' + - " \"modelCustomizationUuid\": \"z_network_123\", " + '\n' + - " \"modelInvariantUuid\": \"mod-invar-uuid-123\" " + '\n' + - " }"; - - String serviceModelInfo = - " {\"modelUuid\": \"36a3a8ea-49a6-4ac8-b06c-89a54544b9b6\", " + '\n' + - " \"modelName\": \"HNGW Protected OAM\", " + '\n' + - " \"modelVersion\": \"1.0\", " + '\n' + - " \"modelInvariantUuid\": \"fcc85cb0-ad74-45d7-a5a1-17c8744fdb71\" " + '\n' + - " }"; - - // Success Scenario - private Map setupVariables1() { - Map variables = new HashMap<>(); - variables.put("testMessageId", "88f65519-9a38-4c4b-8445-9eb4a5a5af56"); - variables.put("msoRequestId", "testRequestId"); - variables.put("requestId", "testRequestId"); - variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4"); - variables.put("networkId", "networkId"); - variables.put("networkName", "MNS-25180-L-01-dmz_direct_net_1"); - variables.put("lcpCloudRegionId", "RDM2WAGPLCP"); - variables.put("tenantId", "7dd5365547234ee8937416c65507d266"); - variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"); - variables.put("disableRollback", "false"); // macro - variables.put("failIfExists", "false"); - variables.put("sdncVersion", "1702"); - variables.put("subscriptionServiceType", "MSO-dev-service-type"); - variables.put("globalSubscriberId", "globalId_45678905678"); - variables.put("networkModelInfo", networkModelInfo); - variables.put("serviceModelInfo", serviceModelInfo); - - - return variables; - - } - - // Success Scenario 2 - private Map setupVariables2() { - Map variables = new HashMap<>(); - variables.put("testMessageId", "88f65519-9a38-4c4b-8445-9eb4a5a5af56"); - variables.put("msoRequestId", "testRequestId"); - variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4"); - variables.put("networkId", "networkId"); - variables.put("networkName", "myOwn_Network"); // Name Not found in AA&I - variables.put("lcpCloudRegionId", "RDM2WAGPLCP"); - variables.put("tenantId", "7dd5365547234ee8937416c65507d266"); - variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"); - variables.put("disableRollback", "false"); // 1702 - variables.put("failIfExists", "false"); - //variables.put("sdncVersion", "1702"); - variables.put("sdncVersion", "1707"); - variables.put("subscriptionServiceType", "MSO-dev-service-type"); - variables.put("globalSubscriberId", "globalId_45678905678"); - variables.put("networkModelInfo", networkModelInfo); - variables.put("serviceModelInfo", serviceModelInfo); - - return variables; - - } - - // Active Scenario - private Map setupVariablesActive() { - Map variables = new HashMap<>(); - variables.put("testMessageId", "88f65519-9a38-4c4b-8445-9eb4a5a5af56"); - variables.put("msoRequestId", "testRequestId"); - variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4"); - variables.put("networkId", "networkId"); - variables.put("networkName", "MNS-25180-L-01-dmz_direct_net_2"); // Unique name for Active - variables.put("lcpCloudRegionId", "RDM2WAGPLCP"); - variables.put("tenantId", "7dd5365547234ee8937416c65507d266"); - variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"); - variables.put("suppressRollback", "false"); - variables.put("disableRollback", "false"); - variables.put("failIfExists", "false"); - variables.put("sdncVersion", "1702"); - variables.put("subscriptionServiceType", "MSO-dev-service-type"); - variables.put("globalSubscriberId", "globalId_45678905678"); - variables.put("networkModelInfo", networkModelInfo); - variables.put("serviceModelInfo", serviceModelInfo); - - return variables; - - } - - // Missing Name Scenario - private Map setupVariablesMissingName() { - Map variables = new HashMap<>(); - //variables.put("bpmnRequest", getCreateNetworkRequestMissingName()); - variables.put("testMessageId", "88f65519-9a38-4c4b-8445-9eb4a5a5af56"); - variables.put("msoRequestId", "testRequestId"); - variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4"); - variables.put("networkId", "networkId"); - // variables.put("networkName", "MNS-25180-L-01-dmz_direct_net_2"); // Missing 'name' variable - // variables.put("networkName", ""); // Missing 'value' of name variable - variables.put("modelName", "CONTRAIL_EXTERNAL"); - variables.put("cloudConfiguration", "RDM2WAGPLCP"); - variables.put("tenantId", "7dd5365547234ee8937416c65507d266"); - variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"); - variables.put("suppressRollback", "true"); - variables.put("failIfExists", "false"); - - return variables; - - } - - // SDNC Rollback Scenario - private Map setupVariablesSDNCRollback() { - Map variables = new HashMap<>(); - variables.put("testMessageId", "88f65519-9a38-4c4b-8445-9eb4a5a5af56"); - variables.put("msoRequestId", "testRequestId"); - variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4"); - variables.put("networkId", "networkId"); - variables.put("networkName", "MNS-25180-L-01-dmz_direct_net_3"); // Unique name for Rollback - variables.put("modelName", "CONTRAIL_EXTERNAL"); - variables.put("cloudConfiguration", "RDM2WAGPLCP"); - variables.put("tenantId", "7dd5365547234ee8937416c65507d266"); - variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"); - variables.put("suppressRollback", "true"); - variables.put("disableRollback", "false"); - - return variables; - - } - - // old - public String getCreateNetworkRequestActive() { - - String request = - "{ \"requestDetails\": { " + '\n' + - " \"modelInfo\": { " + '\n' + - " \"modelType\": \"modelType\", " + '\n' + - " \"modelId\": \"modelId\", " + '\n' + - " \"modelCustomizationUuid\": \"modelCustUuid\", " + '\n' + - " \"modelName\": \"CONTRAIL_EXTERNAL\", " + '\n' + - " \"modelVersion\": \"1\" " + '\n' + - " }, " + '\n' + - " \"cloudConfiguration\": { " + '\n' + - " \"lcpCloudRegionId\": \"RDM2WAGPLCP\", " + '\n' + - " \"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\" " + '\n' + - " }, " + '\n' + - " \"requestInfo\": { " + '\n' + - " \"instanceName\": \"MNS-25180-L-01-dmz_direct_net_2\", " + '\n' + - " \"source\": \"VID\", " + '\n' + - " \"callbackUrl\": \"\", " + '\n' + - " \"suppressRollback\": \"false\" ," + '\n' + - " \"productFamilyId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\" " + '\n' + - " }, " + '\n' + - " \"requestParameters\": { " + '\n' + - " \"userParams\": [] " + '\n' + - " } " + '\n' + - " } " + '\n' + - "}"; - - return request; - - } - - public String getCreateNetworkRequestSDNCRollback() { - - String request = - "{ \"requestDetails\": { " + '\n' + - " \"modelInfo\": { " + '\n' + - " \"modelType\": \"modelType\", " + '\n' + - " \"modelId\": \"modelId\", " + '\n' + - " \"modelNameVersionId\": \"modelNameVersionId\", " + '\n' + - " \"modelName\": \"CONTRAIL_EXTERNAL\", " + '\n' + - " \"modelVersion\": \"1\" " + '\n' + - " }, " + '\n' + - " \"cloudConfiguration\": { " + '\n' + - " \"lcpCloudRegionId\": \"RDM2WAGPLCP\", " + '\n' + - " \"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\" " + '\n' + - " }, " + '\n' + - " \"requestInfo\": { " + '\n' + - " \"instanceName\": \"MNS-25180-L-01-dmz_direct_net_3\", " + '\n' + - " \"source\": \"VID\", " + '\n' + - " \"callbackUrl\": \"\", " + '\n' + - " \"suppressRollback\": \"true\" ," + '\n' + - " \"productFamilyId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\" " + '\n' + - " }, " + '\n' + - " \"requestParameters\": { " + '\n' + - " \"userParams\": [] " + '\n' + - " } " + '\n' + - " } " + '\n' + - "}"; - - - return request; - } - - - // VID json input - private Map setupVariablesVID1() { - Map variables = new HashMap<>(); - variables.put("bpmnRequest", getCreateNetworkRequestVID1()); - variables.put("mso-request-id", "testRequestId"); - //variables.put("msoRequestId", "testRequestId"); - variables.put("requestId", "testRequestId"); - variables.put("isBaseVfModule", "true"); - variables.put("recipeTimeout", "0"); - variables.put("requestAction", "CREATE"); - variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4"); - variables.put("vnfId", ""); - variables.put("vfModuleId", ""); - variables.put("volumeGroupId", ""); - //variables.put("networkId", "networkId"); - variables.put("serviceType", "vMOG"); - variables.put("vfModuleType", ""); - variables.put("networkType", "modelName"); - - return variables; - - } - - public String getCreateNetworkRequestVID1() { - - String request = - "{ \"requestDetails\": { " + '\n' + - " \"modelInfo\": { " + '\n' + - " \"modelType\": \"modelType\", " + '\n' + - " \"modelCustomizationId\": \"f21df226-8093-48c3-be7e-0408fcda0422\", " + '\n' + - " \"modelName\": \"CONTRAIL_EXTERNAL\", " + '\n' + - " \"modelVersion\": \"1.0\" " + '\n' + - " }, " + '\n' + - " \"cloudConfiguration\": { " + '\n' + - " \"lcpCloudRegionId\": \"RDM2WAGPLCP\", " + '\n' + - " \"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\" " + '\n' + - " }, " + '\n' + - " \"requestInfo\": { " + '\n' + - " \"instanceName\": \"MNS-25180-L-01-dmz_direct_net_1\", " + '\n' + - " \"source\": \"VID\", " + '\n' + - " \"callbackUrl\": \"\", " + '\n' + - " \"suppressRollback\": \"false\" ," + '\n' + - " \"productFamilyId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\" " + '\n' + - " }, " + '\n' + - " \"requestParameters\": { " + '\n' + - " \"backoutOnFailure\": false, " + '\n' + - " \"serviceId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\", " + '\n' + - " \"userParams\": [] " + '\n' + - " } " + '\n' + - " } " + '\n' + - "}"; - - return request; - } + @WorkflowTestTransformer + public static final ResponseTransformer sdncAdapterMockTransformer = + new SDNCAdapterNetworkTopologyMockTransformer(); + + @Rule + public final SDNCAdapterCallbackRule sdncAdapterCallbackRule = + new SDNCAdapterCallbackRule(processEngineRule); + + /** + * End-to-End flow - Unit test for CreateNetworkInstance.bpmn + * - String input & String response + */ + + + @Test + //@Ignore + @Deployment(resources = {"process/CreateNetworkInstance.bpmn", + "subprocess/DoCreateNetworkInstance.bpmn", + "subprocess/DoCreateNetworkInstanceRollback.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/CompleteMsoProcess.bpmn", + "subprocess/GenericGetService.bpmn", + "subprocess/SDNCAdapterV1.bpmn"}) + + public void shouldInvokeServiceCreateNetworkInstance_vIPER_Success1() throws Exception { + + System.out.println("-----------------------------------------------------------------"); + System.out.println(" Success vIPER 1 - CreateNetworkInstance flow Started! "); + System.out.println("-----------------------------------------------------------------"); + + // setup simulators + mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologyRsrcAssignResponse.xml", "SvcAction>assign"); + mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologySimResponse.xml", "SvcAction>activate"); + 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"); + 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"); + 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"); + + Map variables = setupVariables1(); + //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables); + executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables); + System.out.println("----------------------------------------------------------"); + System.out.println("- got workflow response -"); + System.out.println("----------------------------------------------------------"); + //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + assertEquals("true", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_Success")); + assertEquals("true", getVariable(processEngineRule, "DoCreateNetworkInstance", "CRENWKI_Success")); + Assert.assertNotNull("CRENI_CompleteMsoProcessRequest - ", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_CompleteMsoProcessRequest")); + + String workflowResp = BPMNUtil.getVariable(processEngineRule, "CreateNetworkInstance", "WorkflowResponse"); + Assert.assertNotNull(workflowResp); + + System.out.println("----------------------------------------------------------"); + System.out.println(" Success vIPER 1 - CreateNetworkInstance flow Completed "); + System.out.println("----------------------------------------------------------"); + + } + + @Test + //@Ignore + @Deployment(resources = {"process/CreateNetworkInstance.bpmn", + "subprocess/DoCreateNetworkInstance.bpmn", + "subprocess/DoCreateNetworkInstanceRollback.bpmn", + "subprocess/GenericGetService.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/CompleteMsoProcess.bpmn", + "subprocess/SDNCAdapterV1.bpmn"}) + + public void shouldInvokeServiceCreateNetworkInstance_vIPER_Success2() throws Exception { + + System.out.println("----------------------------------------------------------------"); + System.out.println(" Success viPER 2 - CreateNetworkInstance flow Started! "); + System.out.println("----------------------------------------------------------------"); + + // setup simulators + mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologyRsrcAssignResponse.xml", "SvcAction>assign"); + mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologySimResponse.xml", "SvcAction>activate"); + 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"); + 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"); + 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"); + + Map variables = setupVariables2(); + //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables); + executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables); + //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + assertEquals("true", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_Success")); + assertEquals("true", getVariable(processEngineRule, "DoCreateNetworkInstance", "CRENWKI_Success")); + Assert.assertNotNull("CRENI_CompleteMsoProcessRequest - ", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_CompleteMsoProcessRequest")); + + String completeMsoProcessRequest = + "" + '\n' + + " " + '\n' + + " testRequestId" + '\n' + + " CREATE" + '\n' + + " VID" + '\n' + + " " + '\n' + + " Network has been created successfully." + '\n' + + " BPMN Network action: CREATE" + '\n' + + ""; + + Assert.assertEquals(completeMsoProcessRequest, getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_CompleteMsoProcessRequest")); + + System.out.println("---------------------------------------------------------"); + System.out.println(" Success viPER 2 - CreateNetworkInstance flow Completed "); + System.out.println("---------------------------------------------------------"); + + } + + @Test + //@Ignore + @Deployment(resources = {"process/CreateNetworkInstance.bpmn", + "subprocess/DoCreateNetworkInstance.bpmn", + "subprocess/DoCreateNetworkInstanceRollback.bpmn", + "subprocess/GenericGetService.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/CompleteMsoProcess.bpmn", + "subprocess/SDNCAdapterV1.bpmn"}) + + public void shouldInvokeServiceCreateNetworkInstance_VID_1610_Network_SDNC_Rollback() throws Exception { + + System.out.println("--------------------------------------------------------------------------"); + System.out.println(" Network and SDNC Rollback - CreateNetworkInstance flow Started! "); + System.out.println("--------------------------------------------------------------------------"); + + // setup simulators + mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologySimResponse.xml", "SvcAction>assign"); + mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologySimResponse.xml", "SvcAction>rollback"); + 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"); + 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"); + 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"); + MockNetworkAdapterRestRollbackDelete("deleteNetworkResponse_Success.xml","49c86598-f766-46f8-84f8-8d1c1b10f9b4"); + + Map variables = setupVariablesVID1(); + executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables); + //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables); + //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + assertEquals("false", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_Success")); + assertEquals("false", getVariable(processEngineRule, "DoCreateNetworkInstance", "CRENWKI_Success")); + Assert.assertNotNull("CRENI_FalloutHandlerRequest - ", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_FalloutHandlerRequest")); + + System.out.println("--------------------------------------------------------------------"); + System.out.println(" Network and SCNC Rollback - CreateNetworkInstance flow Completed "); + System.out.println("--------------------------------------------------------------------"); + + } + + @Test + //@Ignore + @Deployment(resources = {"process/CreateNetworkInstance.bpmn", + "subprocess/DoCreateNetworkInstance.bpmn", + "subprocess/DoCreateNetworkInstanceRollback.bpmn", + "subprocess/GenericGetService.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/CompleteMsoProcess.bpmn", + "subprocess/SDNCAdapterV1.bpmn"}) + + public void shouldInvokeServiceCreateNetworkInstance_vIPER_1702_Network_SDNC_Rollback() throws Exception { + + System.out.println("--------------------------------------------------------------------------"); + System.out.println(" Network and SDNC Rollback - CreateNetworkInstance flow Started! "); + System.out.println("--------------------------------------------------------------------------"); + + // setup simulators + mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologyRsrcAssignResponse.xml", "SvcAction>assign"); + mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologySimResponse.xml", "SvcAction>unassign"); + mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologySimResponse.xml", "SvcAction>activate"); + mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologySimResponse.xml", "SvcAction>deactivate"); + 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"); + 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"); + 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"); + MockNetworkAdapterRestRollbackDelete("deleteNetworkResponse_Success.xml","49c86598-f766-46f8-84f8-8d1c1b10f9b4"); + + Map variables = setupVariables1(); + executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables); + //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables); + //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + assertEquals("false", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_Success")); + assertEquals("false", getVariable(processEngineRule, "DoCreateNetworkInstance", "CRENWKI_Success")); + Assert.assertNotNull("CRENI_FalloutHandlerRequest - ", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_FalloutHandlerRequest")); + + System.out.println("--------------------------------------------------------------------"); + System.out.println(" Network and SCNC Rollback - CreateNetworkInstance flow Completed "); + System.out.println("--------------------------------------------------------------------"); + + } + + @Test + //@Ignore + @Deployment(resources = {"process/CreateNetworkInstance.bpmn", + "subprocess/DoCreateNetworkInstance.bpmn", + "subprocess/DoCreateNetworkInstanceRollback.bpmn", + "subprocess/GenericGetService.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/CompleteMsoProcess.bpmn", + "subprocess/SDNCAdapterV1.bpmn"}) + + public void shouldInvokeServiceCreateNetworkInstance_sdncFailure() throws Exception { + + System.out.println("----------------------------------------------------------------"); + System.out.println(" SNDC Failure - CreateNetworkInstance flow Started! "); + System.out.println("----------------------------------------------------------------"); + + // setup simulators + mockSDNCAdapter_500("SvcAction>query"); + MockGetNetworkByName_404("CreateNetworkV2/createNetwork_queryName_AAIResponse_Success.xml", "myOwn_Network"); + MockGetNetworkCloudRegion("CreateNetworkV2/cloudRegion25_AAIResponse_Success.xml", "RDM2WAGPLCP"); + 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"); + + Map variables = setupVariables2(); + //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables); + executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables); + //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + assertEquals("false", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_Success")); + assertEquals("false", getVariable(processEngineRule, "DoCreateNetworkInstance", "CRENWKI_Success")); + Assert.assertNotNull("CRENI_FalloutHandlerRequest - ", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_FalloutHandlerRequest")); + + System.out.println("---------------------------------------------------------"); + System.out.println(" SNDC Failure - CreateNetworkInstance flow Completed "); + System.out.println("---------------------------------------------------------"); + + } + + @Test + //@Ignore + @Deployment(resources = {"process/CreateNetworkInstance.bpmn", + "subprocess/DoCreateNetworkInstance.bpmn", + "subprocess/DoCreateNetworkInstanceRollback.bpmn", + "subprocess/GenericGetService.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/CompleteMsoProcess.bpmn", + "subprocess/SDNCAdapterV1.bpmn"}) + + public void shouldInvokeServiceCreateNetworkInstance_queryServiceInstance404() throws Exception { + + System.out.println("----------------------------------------------------------------------------------"); + System.out.println(" Query ServiceIntance Not found - CreateNetworkInstance flow Started! "); + System.out.println("----------------------------------------------------------------------------------"); + + //setup simulators + mockSDNCAdapter_500("SvcAction>query"); + MockGetNetworkByName_404("CreateNetworkV2/createNetwork_queryName_AAIResponse_Success.xml", "myOwn_Network"); + MockUpdateRequestDB("DBUpdateResponse.xml"); + MockNodeQueryServiceInstanceById_404("f70e927b-6087-4974-9ef8-c5e4d5847ca4"); + + Map variables = setupVariables2(); + //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables); + executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables); + //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + assertEquals("false", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_Success")); + assertEquals("false", getVariable(processEngineRule, "DoCreateNetworkInstance", "CRENWKI_Success")); + Assert.assertNotNull("CRENI_FalloutHandlerRequest - ", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_FalloutHandlerRequest")); + + System.out.println("---------------------------------------------------------------------------------"); + System.out.println(" Query ServiceIntance Not found - CreateNetworkInstance flow Completed "); + System.out.println("---------------------------------------------------------------------------------"); + + } + + @Test + //@Ignore + @Deployment(resources = {"process/CreateNetworkInstance.bpmn", + "subprocess/DoCreateNetworkInstance.bpmn", + "subprocess/DoCreateNetworkInstanceRollback.bpmn", + "subprocess/GenericGetService.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/CompleteMsoProcess.bpmn", + "subprocess/SDNCAdapterV1.bpmn"}) + + public void shouldInvokeServiceCreateNetworkInstance_VID_Success1() throws Exception { + + System.out.println("----------------------------------------------------------"); + System.out.println(" Success VID1 - CreateNetworkInstance flow Started! "); + System.out.println("----------------------------------------------------------"); + + // setup simulators + mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologySimResponse.xml", "SvcAction>assign"); + 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"); + 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"); + 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"); + + Map variables = setupVariablesVID1(); + //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables); + executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables); + System.out.println("----------------------------------------------------------"); + System.out.println("- got workflow response -"); + System.out.println("----------------------------------------------------------"); + //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + assertEquals("true", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_Success")); + Assert.assertNotNull("CRENI_CompleteMsoProcessRequest - ", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_CompleteMsoProcessRequest")); + + String workflowResp = BPMNUtil.getVariable(processEngineRule, "CreateNetworkInstance", "WorkflowResponse"); + Assert.assertNotNull(workflowResp); + + System.out.println("-----------------------------------------------------------"); + System.out.println(" Success VID1 - CreateNetworkInstanceInfra flow Completed "); + System.out.println("-----------------------------------------------------------"); + + } + + // ***************** + // Utility Section + // ***************** + + String networkModelInfo = + " {\"modelUuid\": \"mod-inst-uuid-123\", " + '\n' + + " \"modelName\": \"mod_inst_z_123\", " + '\n' + + " \"modelVersion\": \"mod-inst-uuid-123\", " + '\n' + + " \"modelCustomizationUuid\": \"z_network_123\", " + '\n' + + " \"modelInvariantUuid\": \"mod-invar-uuid-123\" " + '\n' + + " }"; + + String serviceModelInfo = + " {\"modelUuid\": \"36a3a8ea-49a6-4ac8-b06c-89a54544b9b6\", " + '\n' + + " \"modelName\": \"HNGW Protected OAM\", " + '\n' + + " \"modelVersion\": \"1.0\", " + '\n' + + " \"modelInvariantUuid\": \"fcc85cb0-ad74-45d7-a5a1-17c8744fdb71\" " + '\n' + + " }"; + + // Success Scenario + private Map setupVariables1() { + Map variables = new HashMap<>(); + variables.put("testMessageId", "88f65519-9a38-4c4b-8445-9eb4a5a5af56"); + variables.put("msoRequestId", "testRequestId"); + variables.put("requestId", "testRequestId"); + variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4"); + variables.put("networkId", "networkId"); + variables.put("networkName", "MNS-25180-L-01-dmz_direct_net_1"); + variables.put("lcpCloudRegionId", "RDM2WAGPLCP"); + variables.put("tenantId", "7dd5365547234ee8937416c65507d266"); + variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"); + variables.put("disableRollback", "false"); // macro + variables.put("failIfExists", "false"); + variables.put("sdncVersion", "1702"); + variables.put("subscriptionServiceType", "MSO-dev-service-type"); + variables.put("globalSubscriberId", "globalId_45678905678"); + variables.put("networkModelInfo", networkModelInfo); + variables.put("serviceModelInfo", serviceModelInfo); + + + return variables; + + } + + // Success Scenario 2 + private Map setupVariables2() { + Map variables = new HashMap<>(); + variables.put("testMessageId", "88f65519-9a38-4c4b-8445-9eb4a5a5af56"); + variables.put("msoRequestId", "testRequestId"); + variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4"); + variables.put("networkId", "networkId"); + variables.put("networkName", "myOwn_Network"); // Name Not found in AA&I + variables.put("lcpCloudRegionId", "RDM2WAGPLCP"); + variables.put("tenantId", "7dd5365547234ee8937416c65507d266"); + variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"); + variables.put("disableRollback", "false"); // 1702 + variables.put("failIfExists", "false"); + //variables.put("sdncVersion", "1702"); + variables.put("sdncVersion", "1707"); + variables.put("subscriptionServiceType", "MSO-dev-service-type"); + variables.put("globalSubscriberId", "globalId_45678905678"); + variables.put("networkModelInfo", networkModelInfo); + variables.put("serviceModelInfo", serviceModelInfo); + + return variables; + + } + + // Active Scenario + private Map setupVariablesActive() { + Map variables = new HashMap<>(); + variables.put("testMessageId", "88f65519-9a38-4c4b-8445-9eb4a5a5af56"); + variables.put("msoRequestId", "testRequestId"); + variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4"); + variables.put("networkId", "networkId"); + variables.put("networkName", "MNS-25180-L-01-dmz_direct_net_2"); // Unique name for Active + variables.put("lcpCloudRegionId", "RDM2WAGPLCP"); + variables.put("tenantId", "7dd5365547234ee8937416c65507d266"); + variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"); + variables.put("suppressRollback", "false"); + variables.put("disableRollback", "false"); + variables.put("failIfExists", "false"); + variables.put("sdncVersion", "1702"); + variables.put("subscriptionServiceType", "MSO-dev-service-type"); + variables.put("globalSubscriberId", "globalId_45678905678"); + variables.put("networkModelInfo", networkModelInfo); + variables.put("serviceModelInfo", serviceModelInfo); + + return variables; + + } + + // Missing Name Scenario + private Map setupVariablesMissingName() { + Map variables = new HashMap<>(); + //variables.put("bpmnRequest", getCreateNetworkRequestMissingName()); + variables.put("testMessageId", "88f65519-9a38-4c4b-8445-9eb4a5a5af56"); + variables.put("msoRequestId", "testRequestId"); + variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4"); + variables.put("networkId", "networkId"); + // variables.put("networkName", "MNS-25180-L-01-dmz_direct_net_2"); // Missing 'name' variable + // variables.put("networkName", ""); // Missing 'value' of name variable + variables.put("modelName", "CONTRAIL_EXTERNAL"); + variables.put("cloudConfiguration", "RDM2WAGPLCP"); + variables.put("tenantId", "7dd5365547234ee8937416c65507d266"); + variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"); + variables.put("suppressRollback", "true"); + variables.put("failIfExists", "false"); + + return variables; + + } + + // SDNC Rollback Scenario + private Map setupVariablesSDNCRollback() { + Map variables = new HashMap<>(); + variables.put("testMessageId", "88f65519-9a38-4c4b-8445-9eb4a5a5af56"); + variables.put("msoRequestId", "testRequestId"); + variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4"); + variables.put("networkId", "networkId"); + variables.put("networkName", "MNS-25180-L-01-dmz_direct_net_3"); // Unique name for Rollback + variables.put("modelName", "CONTRAIL_EXTERNAL"); + variables.put("cloudConfiguration", "RDM2WAGPLCP"); + variables.put("tenantId", "7dd5365547234ee8937416c65507d266"); + variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"); + variables.put("suppressRollback", "true"); + variables.put("disableRollback", "false"); + + return variables; + + } + + // old + public String getCreateNetworkRequestActive() { + + String request = + "{ \"requestDetails\": { " + '\n' + + " \"modelInfo\": { " + '\n' + + " \"modelType\": \"modelType\", " + '\n' + + " \"modelId\": \"modelId\", " + '\n' + + " \"modelCustomizationUuid\": \"modelCustUuid\", " + '\n' + + " \"modelName\": \"CONTRAIL_EXTERNAL\", " + '\n' + + " \"modelVersion\": \"1\" " + '\n' + + " }, " + '\n' + + " \"cloudConfiguration\": { " + '\n' + + " \"lcpCloudRegionId\": \"RDM2WAGPLCP\", " + '\n' + + " \"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\" " + '\n' + + " }, " + '\n' + + " \"requestInfo\": { " + '\n' + + " \"instanceName\": \"MNS-25180-L-01-dmz_direct_net_2\", " + '\n' + + " \"source\": \"VID\", " + '\n' + + " \"callbackUrl\": \"\", " + '\n' + + " \"suppressRollback\": \"false\" ," + '\n' + + " \"productFamilyId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\" " + '\n' + + " }, " + '\n' + + " \"requestParameters\": { " + '\n' + + " \"userParams\": [] " + '\n' + + " } " + '\n' + + " } " + '\n' + + "}"; + + return request; + + } + + public String getCreateNetworkRequestSDNCRollback() { + + String request = + "{ \"requestDetails\": { " + '\n' + + " \"modelInfo\": { " + '\n' + + " \"modelType\": \"modelType\", " + '\n' + + " \"modelId\": \"modelId\", " + '\n' + + " \"modelNameVersionId\": \"modelNameVersionId\", " + '\n' + + " \"modelName\": \"CONTRAIL_EXTERNAL\", " + '\n' + + " \"modelVersion\": \"1\" " + '\n' + + " }, " + '\n' + + " \"cloudConfiguration\": { " + '\n' + + " \"lcpCloudRegionId\": \"RDM2WAGPLCP\", " + '\n' + + " \"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\" " + '\n' + + " }, " + '\n' + + " \"requestInfo\": { " + '\n' + + " \"instanceName\": \"MNS-25180-L-01-dmz_direct_net_3\", " + '\n' + + " \"source\": \"VID\", " + '\n' + + " \"callbackUrl\": \"\", " + '\n' + + " \"suppressRollback\": \"true\" ," + '\n' + + " \"productFamilyId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\" " + '\n' + + " }, " + '\n' + + " \"requestParameters\": { " + '\n' + + " \"userParams\": [] " + '\n' + + " } " + '\n' + + " } " + '\n' + + "}"; + + + return request; + } + + + // VID json input + private Map setupVariablesVID1() { + Map variables = new HashMap<>(); + variables.put("bpmnRequest", getCreateNetworkRequestVID1()); + variables.put("mso-request-id", "testRequestId"); + //variables.put("msoRequestId", "testRequestId"); + variables.put("requestId", "testRequestId"); + variables.put("isBaseVfModule", "true"); + variables.put("recipeTimeout", "0"); + variables.put("requestAction", "CREATE"); + variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4"); + variables.put("vnfId", ""); + variables.put("vfModuleId", ""); + variables.put("volumeGroupId", ""); + //variables.put("networkId", "networkId"); + variables.put("serviceType", "vMOG"); + variables.put("vfModuleType", ""); + variables.put("networkType", "modelName"); + + return variables; + + } + + public String getCreateNetworkRequestVID1() { + + String request = + "{ \"requestDetails\": { " + '\n' + + " \"modelInfo\": { " + '\n' + + " \"modelType\": \"modelType\", " + '\n' + + " \"modelCustomizationId\": \"f21df226-8093-48c3-be7e-0408fcda0422\", " + '\n' + + " \"modelName\": \"CONTRAIL_EXTERNAL\", " + '\n' + + " \"modelVersion\": \"1.0\" " + '\n' + + " }, " + '\n' + + " \"cloudConfiguration\": { " + '\n' + + " \"lcpCloudRegionId\": \"RDM2WAGPLCP\", " + '\n' + + " \"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\" " + '\n' + + " }, " + '\n' + + " \"requestInfo\": { " + '\n' + + " \"instanceName\": \"MNS-25180-L-01-dmz_direct_net_1\", " + '\n' + + " \"source\": \"VID\", " + '\n' + + " \"callbackUrl\": \"\", " + '\n' + + " \"suppressRollback\": \"false\" ," + '\n' + + " \"productFamilyId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\" " + '\n' + + " }, " + '\n' + + " \"requestParameters\": { " + '\n' + + " \"backoutOnFailure\": false, " + '\n' + + " \"serviceId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\", " + '\n' + + " \"userParams\": [] " + '\n' + + " } " + '\n' + + " } " + '\n' + + "}"; + + return request; + } } 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 a4d92a9b5b..a28e95ad0d 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 @@ -16,7 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.infrastructure; @@ -31,7 +31,6 @@ import java.io.IOException; import java.util.HashMap; import java.util.Map; import java.util.UUID; - import org.junit.Ignore; import org.camunda.bpm.engine.test.Deployment; import org.junit.Test; @@ -43,250 +42,250 @@ import org.openecomp.mso.bpmn.mock.FileUtil; * Unit test cases for CreateVfModuleInfra.bpmn */ public class CreateVfModuleInfraTest extends WorkflowTest { - - private final CallbackSet callbacks = new CallbackSet(); - - public CreateVfModuleInfraTest() throws IOException { - callbacks.put("assign", FileUtil.readResourceFile( - "__files/VfModularity/SDNCTopologyAssignCallback.xml")); - callbacks.put("query", FileUtil.readResourceFile( - "__files/VfModularity/SDNCTopologyQueryCallbackVfModule.xml")); - callbacks.put("activate", FileUtil.readResourceFile( - "__files/VfModularity/SDNCTopologyActivateCallback.xml")); - callbacks.put("vnfCreate", FileUtil.readResourceFile( - "__files/VfModularity/VNFAdapterRestCreateCallback.xml")); - } - - - /** - * Sunny day VID scenario with preloads. - * - * @throws Exception - */ - @Test - @Deployment(resources = { - "process/CreateVfModuleInfra.bpmn", - "subprocess/DoCreateVfModule.bpmn", - "subprocess/GenericGetVnf.bpmn", - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/GenericNotificationService.bpmn", - "subprocess/VnfAdapterRestV1.bpmn", - "subprocess/ConfirmVolumeGroupTenant.bpmn", - "subprocess/ConfirmVolumeGroupName.bpmn", - "subprocess/CreateAAIVfModule.bpmn", - "subprocess/UpdateAAIVfModule.bpmn", - "subprocess/UpdateAAIGenericVnf.bpmn", - "subprocess/CompleteMsoProcess.bpmn", - "subprocess/FalloutHandler.bpmn" - }) - public void sunnyDayVIDWithPreloads() throws Exception { - - logStart(); - - MockAAIVfModule(); - MockPatchGenericVnf("skask"); - MockPatchVfModuleId("skask", ".*"); - MockSDNCAdapterVfModule(); - MockVNFAdapterRestVfModule(); - MockDBUpdateVfModule(); - - String businessKey = UUID.randomUUID().toString(); - String createVfModuleRequest = - FileUtil.readResourceFile("__files/CreateVfModule_VID_request.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(); - } - - /** - * 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 sunnyDayVIDNoPreloads() throws Exception { - - logStart(); - - MockAAIVfModule(); - MockPatchGenericVnf("skask"); - MockPatchVfModuleId("skask", ".*"); - MockSDNCAdapterVfModule(); - MockVNFAdapterRestVfModule(); - MockDBUpdateVfModule(); - - String businessKey = UUID.randomUUID().toString(); - String createVfModuleRequest = - FileUtil.readResourceFile("__files/CreateVfModule_VID_request_noPreloads.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(); - } - - // 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("isBaseVfModule", false); - variables.put("isDebugLogEnabled", "true"); - variables.put("recipeTimeout", "0"); - variables.put("requestAction", "CREATE_VF_MODULE"); - variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4"); - variables.put("vnfId", "skask"); - variables.put("vnfType", "vSAMP12"); - variables.put("vfModuleId", ""); - variables.put("volumeGroupId", ""); - variables.put("serviceType", "MOG"); - variables.put("vfModuleType", ""); - return variables; - - } - - /** - * Sunny day VID with volume attach scenario. - * - * @throws Exception - */ - @Test - @Ignore - @Deployment(resources = { - "process/CreateVfModuleInfra.bpmn", - "subprocess/DoCreateVfModule.bpmn", - "subprocess/GenericGetVnf.bpmn", - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/VnfAdapterRestV1.bpmn", - "subprocess/ConfirmVolumeGroupTenant.bpmn", - "subprocess/ConfirmVolumeGroupName.bpmn", - "subprocess/CreateAAIVfModule.bpmn", - "subprocess/CreateAAIVfModuleVolumeGroup.bpmn", - "subprocess/GenericNotificationService.bpmn", - "subprocess/UpdateAAIVfModule.bpmn", - "subprocess/UpdateAAIGenericVnf.bpmn", - "subprocess/CompleteMsoProcess.bpmn", - "subprocess/FalloutHandler.bpmn" - }) - - public void sunnyDayVIDWithVolumeGroupAttach() throws Exception { - - logStart(); - - - MockAAIVfModule(); - MockPatchGenericVnf("skask"); - MockPatchVfModuleId("skask", ".*"); - MockSDNCAdapterVfModule(); - MockVNFAdapterRestVfModule(); - MockDBUpdateVfModule(); - - String businessKey = UUID.randomUUID().toString(); - String createVfModuleRequest = - FileUtil.readResourceFile("__files/CreateVfModuleVolumeGroup_VID_request.json"); - - Map variables = setupVariablesSunnyDayVIDWVolumeAttach(); - - 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(); - } - - // Active Scenario - private Map setupVariablesSunnyDayVIDWVolumeAttach() { - 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("isBaseVfModule", false); - variables.put("isDebugLogEnabled", "true"); - variables.put("recipeTimeout", "0"); - variables.put("requestAction", "CREATE_VF_MODULE"); - variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4"); - variables.put("vnfId", "skask"); - variables.put("vnfType", "vSAMP12"); - variables.put("vfModuleId", ""); - variables.put("volumeGroupId", "78987"); - variables.put("serviceType", "MOG"); - variables.put("vfModuleType", ""); - return variables; - - } - - + + private final CallbackSet callbacks = new CallbackSet(); + + public CreateVfModuleInfraTest() throws IOException { + callbacks.put("assign", FileUtil.readResourceFile( + "__files/VfModularity/SDNCTopologyAssignCallback.xml")); + callbacks.put("query", FileUtil.readResourceFile( + "__files/VfModularity/SDNCTopologyQueryCallbackVfModule.xml")); + callbacks.put("activate", FileUtil.readResourceFile( + "__files/VfModularity/SDNCTopologyActivateCallback.xml")); + callbacks.put("vnfCreate", FileUtil.readResourceFile( + "__files/VfModularity/VNFAdapterRestCreateCallback.xml")); + } + + + /** + * Sunny day VID scenario with preloads. + * + * @throws Exception + */ + @Test + @Deployment(resources = { + "process/CreateVfModuleInfra.bpmn", + "subprocess/DoCreateVfModule.bpmn", + "subprocess/GenericGetVnf.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/GenericNotificationService.bpmn", + "subprocess/VnfAdapterRestV1.bpmn", + "subprocess/ConfirmVolumeGroupTenant.bpmn", + "subprocess/ConfirmVolumeGroupName.bpmn", + "subprocess/CreateAAIVfModule.bpmn", + "subprocess/UpdateAAIVfModule.bpmn", + "subprocess/UpdateAAIGenericVnf.bpmn", + "subprocess/CompleteMsoProcess.bpmn", + "subprocess/FalloutHandler.bpmn" + }) + public void sunnyDayVIDWithPreloads() throws Exception { + + logStart(); + + MockAAIVfModule(); + MockPatchGenericVnf("skask"); + MockPatchVfModuleId("skask", ".*"); + MockSDNCAdapterVfModule(); + MockVNFAdapterRestVfModule(); + MockDBUpdateVfModule(); + + String businessKey = UUID.randomUUID().toString(); + String createVfModuleRequest = + FileUtil.readResourceFile("__files/CreateVfModule_VID_request.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(); + } + + /** + * 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 sunnyDayVIDNoPreloads() throws Exception { + + logStart(); + + MockAAIVfModule(); + MockPatchGenericVnf("skask"); + MockPatchVfModuleId("skask", ".*"); + MockSDNCAdapterVfModule(); + MockVNFAdapterRestVfModule(); + MockDBUpdateVfModule(); + + String businessKey = UUID.randomUUID().toString(); + String createVfModuleRequest = + FileUtil.readResourceFile("__files/CreateVfModule_VID_request_noPreloads.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(); + } + + // 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("isBaseVfModule", false); + variables.put("isDebugLogEnabled", "true"); + variables.put("recipeTimeout", "0"); + variables.put("requestAction", "CREATE_VF_MODULE"); + variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4"); + variables.put("vnfId", "skask"); + variables.put("vnfType", "vSAMP12"); + variables.put("vfModuleId", ""); + variables.put("volumeGroupId", ""); + variables.put("serviceType", "MOG"); + variables.put("vfModuleType", ""); + return variables; + + } + + /** + * Sunny day VID with volume attach scenario. + * + * @throws Exception + */ + @Test + @Ignore + @Deployment(resources = { + "process/CreateVfModuleInfra.bpmn", + "subprocess/DoCreateVfModule.bpmn", + "subprocess/GenericGetVnf.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/VnfAdapterRestV1.bpmn", + "subprocess/ConfirmVolumeGroupTenant.bpmn", + "subprocess/ConfirmVolumeGroupName.bpmn", + "subprocess/CreateAAIVfModule.bpmn", + "subprocess/CreateAAIVfModuleVolumeGroup.bpmn", + "subprocess/GenericNotificationService.bpmn", + "subprocess/UpdateAAIVfModule.bpmn", + "subprocess/UpdateAAIGenericVnf.bpmn", + "subprocess/CompleteMsoProcess.bpmn", + "subprocess/FalloutHandler.bpmn" + }) + + public void sunnyDayVIDWithVolumeGroupAttach() throws Exception { + + logStart(); + + + MockAAIVfModule(); + MockPatchGenericVnf("skask"); + MockPatchVfModuleId("skask", ".*"); + MockSDNCAdapterVfModule(); + MockVNFAdapterRestVfModule(); + MockDBUpdateVfModule(); + + String businessKey = UUID.randomUUID().toString(); + String createVfModuleRequest = + FileUtil.readResourceFile("__files/CreateVfModuleVolumeGroup_VID_request.json"); + + Map variables = setupVariablesSunnyDayVIDWVolumeAttach(); + + 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(); + } + + // Active Scenario + private Map setupVariablesSunnyDayVIDWVolumeAttach() { + 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("isBaseVfModule", false); + variables.put("isDebugLogEnabled", "true"); + variables.put("recipeTimeout", "0"); + variables.put("requestAction", "CREATE_VF_MODULE"); + variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4"); + variables.put("vnfId", "skask"); + variables.put("vnfType", "vSAMP12"); + variables.put("vfModuleId", ""); + variables.put("volumeGroupId", "78987"); + variables.put("serviceType", "MOG"); + variables.put("vfModuleType", ""); + return variables; + + } + + } diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateVfModuleVolumeInfraV1Test.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateVfModuleVolumeInfraV1Test.java index a5f51a8a57..23999c99ad 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateVfModuleVolumeInfraV1Test.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateVfModuleVolumeInfraV1Test.java @@ -16,7 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.infrastructure; @@ -48,321 +48,321 @@ import org.openecomp.mso.bpmn.mock.StubResponseAAI; public class CreateVfModuleVolumeInfraV1Test extends WorkflowTest { - public static final String _prefix = "CVFMODVOL2_"; - - private final CallbackSet callbacks = new CallbackSet(); - - public CreateVfModuleVolumeInfraV1Test() throws IOException { - callbacks.put("volumeGroupCreate", FileUtil.readResourceFile( - "__files/CreateVfModuleVolumeInfraV1/CreateVfModuleVolumeCallbackResponse.xml")); - callbacks.put("volumeGroupDelete", FileUtil.readResourceFile( - "__files/DeleteVfModuleVolumeInfraV1/DeleteVfModuleVolumeCallbackResponse.xml")); - callbacks.put("volumeGroupException", FileUtil.readResourceFile( - "__files/CreateVfModuleVolumeInfraV1/CreateVfModuleCallbackException.xml")); - callbacks.put("volumeGroupRollback", FileUtil.readResourceFile( - "__files/CreateVfModuleVolumeInfraV1/RollbackVfModuleVolumeCallbackResponse.xml")); - } - - /** - * Happy path scenario for VID - *****************************/ - @Test - //@Ignore - @Deployment(resources = {"process/CreateVfModuleVolumeInfraV1.bpmn", - "subprocess/GenericGetService.bpmn", - "subprocess/DoCreateVfModuleVolumeV2.bpmn", + public static final String _prefix = "CVFMODVOL2_"; + + private final CallbackSet callbacks = new CallbackSet(); + + public CreateVfModuleVolumeInfraV1Test() throws IOException { + callbacks.put("volumeGroupCreate", FileUtil.readResourceFile( + "__files/CreateVfModuleVolumeInfraV1/CreateVfModuleVolumeCallbackResponse.xml")); + callbacks.put("volumeGroupDelete", FileUtil.readResourceFile( + "__files/DeleteVfModuleVolumeInfraV1/DeleteVfModuleVolumeCallbackResponse.xml")); + callbacks.put("volumeGroupException", FileUtil.readResourceFile( + "__files/CreateVfModuleVolumeInfraV1/CreateVfModuleCallbackException.xml")); + callbacks.put("volumeGroupRollback", FileUtil.readResourceFile( + "__files/CreateVfModuleVolumeInfraV1/RollbackVfModuleVolumeCallbackResponse.xml")); + } + + /** + * Happy path scenario for VID + *****************************/ + @Test + //@Ignore + @Deployment(resources = {"process/CreateVfModuleVolumeInfraV1.bpmn", + "subprocess/GenericGetService.bpmn", + "subprocess/DoCreateVfModuleVolumeV2.bpmn", "subprocess/FalloutHandler.bpmn", "subprocess/CompleteMsoProcess.bpmn", "subprocess/VnfAdapterRestV1.bpmn"}) - public void TestSuccess() throws Exception { - - logStart(); - - MockNodeQueryServiceInstanceById("test-service-instance-id", "CreateVfModuleVolumeInfraV1/getSIUrlById.xml"); - MockGetGenericVnfById("/TEST-VNF-ID-0123", "CreateVfModuleVolumeInfraV1/GenericVnf.xml", 200); - MockPutVolumeGroupById("AAIAIC25", "TEST-VOLUME-GROUP-ID-0123", "CreateVfModuleVolumeInfraV1/createVfModuleVolume_createVolumeName_AAIResponse_Success.xml", 201); - MockGetVolumeGroupByName("AAIAIC25", "MSOTESTVOL101a-vSAMP12_base_vol_module-0", "CreateVfModuleVolumeInfraV1/createVfModuleVolume_queryVolumeName_AAIResponse_Success.xml", 200); - MockPutVolumeGroupById("AAIAIC25", "8424bb3c-c3e7-4553-9662-469649ed9379", "CreateVfModuleVolumeInfraV1/createVfModuleVolume_updateVolumeName_AAIResponse_Success.xml", 200); - mockPostVNFVolumeGroup(202); - - String businessKey = UUID.randomUUID().toString(); - String createVfModuleVolRequest = FileUtil.readResourceFile("__files/CreateVfModuleVolumeInfraV1/createVfModuleVolume_VID_request.json"); - - Map testVariables = new HashMap<>(); - testVariables.put("requestId", "TEST-REQUEST-ID-0123"); - testVariables.put("serviceInstanceId", "test-service-instance-id"); - testVariables.put("vnfId", "TEST-VNF-ID-0123"); - testVariables.put("test-volume-group-name", "TEST-MSOTESTVOL101a-vSAMP12_base_vol_module-0"); - testVariables.put("test-volume-group-id", "TEST-VOLUME-GROUP-ID-0123"); - - TestAsyncResponse asyncResponse = invokeAsyncProcess("CreateVfModuleVolumeInfraV1", "v1", businessKey, createVfModuleVolRequest, testVariables); - WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 1000000); - - String responseBody = response.getResponse(); - System.out.println("Workflow (Synch) Response:\n" + responseBody); - - injectVNFRestCallbacks(callbacks, "volumeGroupCreate"); - - waitForProcessEnd(businessKey, 100000); - checkVariable(businessKey, "CVMVINFRAV1_SuccessIndicator", true); - - logEnd(); - } - - /** - * Fail - trigger rollback - *****************************/ - @Test - //@Ignore - @Deployment(resources = {"process/CreateVfModuleVolumeInfraV1.bpmn", - "subprocess/GenericGetService.bpmn", - "subprocess/DoCreateVfModuleVolumeV2.bpmn", - "subprocess/DoCreateVfModuleVolumeRollback.bpmn", + public void TestSuccess() throws Exception { + + logStart(); + + MockNodeQueryServiceInstanceById("test-service-instance-id", "CreateVfModuleVolumeInfraV1/getSIUrlById.xml"); + MockGetGenericVnfById("/TEST-VNF-ID-0123", "CreateVfModuleVolumeInfraV1/GenericVnf.xml", 200); + MockPutVolumeGroupById("AAIAIC25", "TEST-VOLUME-GROUP-ID-0123", "CreateVfModuleVolumeInfraV1/createVfModuleVolume_createVolumeName_AAIResponse_Success.xml", 201); + MockGetVolumeGroupByName("AAIAIC25", "MSOTESTVOL101a-vSAMP12_base_vol_module-0", "CreateVfModuleVolumeInfraV1/createVfModuleVolume_queryVolumeName_AAIResponse_Success.xml", 200); + MockPutVolumeGroupById("AAIAIC25", "8424bb3c-c3e7-4553-9662-469649ed9379", "CreateVfModuleVolumeInfraV1/createVfModuleVolume_updateVolumeName_AAIResponse_Success.xml", 200); + mockPostVNFVolumeGroup(202); + + String businessKey = UUID.randomUUID().toString(); + String createVfModuleVolRequest = FileUtil.readResourceFile("__files/CreateVfModuleVolumeInfraV1/createVfModuleVolume_VID_request.json"); + + Map testVariables = new HashMap<>(); + testVariables.put("requestId", "TEST-REQUEST-ID-0123"); + testVariables.put("serviceInstanceId", "test-service-instance-id"); + testVariables.put("vnfId", "TEST-VNF-ID-0123"); + testVariables.put("test-volume-group-name", "TEST-MSOTESTVOL101a-vSAMP12_base_vol_module-0"); + testVariables.put("test-volume-group-id", "TEST-VOLUME-GROUP-ID-0123"); + + TestAsyncResponse asyncResponse = invokeAsyncProcess("CreateVfModuleVolumeInfraV1", "v1", businessKey, createVfModuleVolRequest, testVariables); + WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 1000000); + + String responseBody = response.getResponse(); + System.out.println("Workflow (Synch) Response:\n" + responseBody); + + injectVNFRestCallbacks(callbacks, "volumeGroupCreate"); + + waitForProcessEnd(businessKey, 100000); + checkVariable(businessKey, "CVMVINFRAV1_SuccessIndicator", true); + + logEnd(); + } + + /** + * Fail - trigger rollback + *****************************/ + @Test + //@Ignore + @Deployment(resources = {"process/CreateVfModuleVolumeInfraV1.bpmn", + "subprocess/GenericGetService.bpmn", + "subprocess/DoCreateVfModuleVolumeV2.bpmn", + "subprocess/DoCreateVfModuleVolumeRollback.bpmn", "subprocess/FalloutHandler.bpmn", "subprocess/CompleteMsoProcess.bpmn", "subprocess/VnfAdapterRestV1.bpmn"}) - public void TestRollback() throws Exception { - - logStart(); - - MockNodeQueryServiceInstanceById("test-service-instance-id", "CreateVfModuleVolumeInfraV1/getSIUrlById.xml"); - MockGetGenericVnfById("/TEST-VNF-ID-0123", "CreateVfModuleVolumeInfraV1/GenericVnf.xml", 200); - MockPutVolumeGroupById("AAIAIC25", "TEST-VOLUME-GROUP-ID-0123", "CreateVfModuleVolumeInfraV1/createVfModuleVolume_createVolumeName_AAIResponse_Success.xml", 201); - mockPostVNFVolumeGroup(202); - mockPutVNFVolumeGroupRollback("TEST-VOLUME-GROUP-ID-0123", 202); - MockDeleteVolumeGroupById("AAIAIC25", "8424bb3c-c3e7-4553-9662-469649ed9379", "1460134360", 202); - StubResponseAAI.MockGetVolumeGroupByName_404("AAIAIC25", "TEST-MSOTESTVOL101a-vSAMP12_base_vol_module-0"); - StubResponseAAI.MockGetVolumeGroupByName("AAIAIC25", "MSOTESTVOL101a-vSAMP12_base_vol_module-0", "CreateVfModuleVolumeInfraV1/createVfModuleVolume_queryVolumeName_AAIResponse_Success.xml", 200); - StubResponseAAI.MockDeleteVolumeGroup("AAIAIC25", "8424bb3c-c3e7-4553-9662-469649ed9379", "1460134360"); - - String businessKey = UUID.randomUUID().toString(); - String createVfModuleVolRequest = FileUtil.readResourceFile("__files/CreateVfModuleVolumeInfraV1/createVfModuleVolume_VID_request.json"); - - Map testVariables = new HashMap<>(); - testVariables.put("requestId", "TEST-REQUEST-ID-0123"); - testVariables.put("serviceInstanceId", "test-service-instance-id"); - testVariables.put("vnfId", "TEST-VNF-ID-0123"); - testVariables.put("test-volume-group-name", "TEST-MSOTESTVOL101a-vSAMP12_base_vol_module-0"); - testVariables.put("test-volume-group-id", "TEST-VOLUME-GROUP-ID-0123"); - - TestAsyncResponse asyncResponse = invokeAsyncProcess("CreateVfModuleVolumeInfraV1", "v1", businessKey, createVfModuleVolRequest, testVariables); - WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 1000000); - - String responseBody = response.getResponse(); - System.out.println("Workflow (Synch) Response:\n" + responseBody); - - injectVNFRestCallbacks(callbacks, "volumeGroupCreate"); - injectVNFRestCallbacks(callbacks, "volumeGroupDelete"); - - waitForProcessEnd(businessKey, 100000); - checkVariable(businessKey, "CVMVINFRAV1_SuccessIndicator", false); - - logEnd(); - } - - /** - * Happy path scenario for VID - *****************************/ - @Test - @Ignore - @Deployment(resources = {"process/CreateVfModuleVolumeInfraV1.bpmn", - "subprocess/GenericGetService.bpmn", - "subprocess/DoCreateVfModuleVolumeV1.bpmn", + public void TestRollback() throws Exception { + + logStart(); + + MockNodeQueryServiceInstanceById("test-service-instance-id", "CreateVfModuleVolumeInfraV1/getSIUrlById.xml"); + MockGetGenericVnfById("/TEST-VNF-ID-0123", "CreateVfModuleVolumeInfraV1/GenericVnf.xml", 200); + MockPutVolumeGroupById("AAIAIC25", "TEST-VOLUME-GROUP-ID-0123", "CreateVfModuleVolumeInfraV1/createVfModuleVolume_createVolumeName_AAIResponse_Success.xml", 201); + mockPostVNFVolumeGroup(202); + mockPutVNFVolumeGroupRollback("TEST-VOLUME-GROUP-ID-0123", 202); + MockDeleteVolumeGroupById("AAIAIC25", "8424bb3c-c3e7-4553-9662-469649ed9379", "1460134360", 202); + StubResponseAAI.MockGetVolumeGroupByName_404("AAIAIC25", "TEST-MSOTESTVOL101a-vSAMP12_base_vol_module-0"); + StubResponseAAI.MockGetVolumeGroupByName("AAIAIC25", "MSOTESTVOL101a-vSAMP12_base_vol_module-0", "CreateVfModuleVolumeInfraV1/createVfModuleVolume_queryVolumeName_AAIResponse_Success.xml", 200); + StubResponseAAI.MockDeleteVolumeGroup("AAIAIC25", "8424bb3c-c3e7-4553-9662-469649ed9379", "1460134360"); + + String businessKey = UUID.randomUUID().toString(); + String createVfModuleVolRequest = FileUtil.readResourceFile("__files/CreateVfModuleVolumeInfraV1/createVfModuleVolume_VID_request.json"); + + Map testVariables = new HashMap<>(); + testVariables.put("requestId", "TEST-REQUEST-ID-0123"); + testVariables.put("serviceInstanceId", "test-service-instance-id"); + testVariables.put("vnfId", "TEST-VNF-ID-0123"); + testVariables.put("test-volume-group-name", "TEST-MSOTESTVOL101a-vSAMP12_base_vol_module-0"); + testVariables.put("test-volume-group-id", "TEST-VOLUME-GROUP-ID-0123"); + + TestAsyncResponse asyncResponse = invokeAsyncProcess("CreateVfModuleVolumeInfraV1", "v1", businessKey, createVfModuleVolRequest, testVariables); + WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 1000000); + + String responseBody = response.getResponse(); + System.out.println("Workflow (Synch) Response:\n" + responseBody); + + injectVNFRestCallbacks(callbacks, "volumeGroupCreate"); + injectVNFRestCallbacks(callbacks, "volumeGroupDelete"); + + waitForProcessEnd(businessKey, 100000); + checkVariable(businessKey, "CVMVINFRAV1_SuccessIndicator", false); + + logEnd(); + } + + /** + * Happy path scenario for VID + *****************************/ + @Test + @Ignore + @Deployment(resources = {"process/CreateVfModuleVolumeInfraV1.bpmn", + "subprocess/GenericGetService.bpmn", + "subprocess/DoCreateVfModuleVolumeV1.bpmn", "subprocess/FalloutHandler.bpmn", "subprocess/CompleteMsoProcess.bpmn", "subprocess/VnfAdapterRestV1.bpmn"}) - public void TestVolumeGroupAlreadyExists() throws Exception { - - logStart(); - - MockGetVolumeGroupByName("AAIAIC25", "TEST-MSOTESTVOL101a-vSAMP12_base_vol_module-0", "CreateVfModuleVolumeInfraV1/createVfModuleVolume_queryVolumeName_AAIResponse_Success.xml", 200); - MockGetGenericVnfById("TEST-VNF-ID-0123", "CreateVfModuleVolumeInfraV1/GenericVnf.xml", 200); - MockNodeQueryServiceInstanceById("test-service-instance-id", "CreateVfModuleVolumeInfraV1/getSIUrlById.xml"); - - String businessKey = UUID.randomUUID().toString(); - String createVfModuleVolRequest = FileUtil.readResourceFile("__files/CreateVfModuleVolumeInfraV1/createVfModuleVolume_VID_request.json"); - - Map testVariables = new HashMap<>(); - testVariables.put("requestId", "TEST-REQUEST-ID-0123"); - testVariables.put("serviceInstanceId", "test-service-instance-id"); - testVariables.put("vnfId", "TEST-VNF-ID-0123"); - testVariables.put("test-volume-group-name", "TEST-MSOTESTVOL101a-vSAMP12_base_vol_module-0"); - testVariables.put("test-volume-group-id", "TEST-VOLUME-GROUP-ID-0123"); - - TestAsyncResponse asyncResponse = invokeAsyncProcess("CreateVfModuleVolumeInfraV1", "v1", businessKey, createVfModuleVolRequest, testVariables); - WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 1000000); - - String responseBody = response.getResponse(); - System.out.println("Workflow (Synch) Response:\n" + responseBody); - - //injectVNFRestCallbacks(callbacks, "volumeGroupCreate"); - - waitForProcessEnd(businessKey, 100000); - checkVariable(businessKey, "CVMVINFRAV1_SuccessIndicator", false); - - logEnd(); - } - - /** - * Vnf Create fail - *****************************/ - @Test - @Ignore - @Deployment(resources = {"process/CreateVfModuleVolumeInfraV1.bpmn", - "subprocess/GenericGetService.bpmn", - "subprocess/DoCreateVfModuleVolumeV1.bpmn", + public void TestVolumeGroupAlreadyExists() throws Exception { + + logStart(); + + MockGetVolumeGroupByName("AAIAIC25", "TEST-MSOTESTVOL101a-vSAMP12_base_vol_module-0", "CreateVfModuleVolumeInfraV1/createVfModuleVolume_queryVolumeName_AAIResponse_Success.xml", 200); + MockGetGenericVnfById("TEST-VNF-ID-0123", "CreateVfModuleVolumeInfraV1/GenericVnf.xml", 200); + MockNodeQueryServiceInstanceById("test-service-instance-id", "CreateVfModuleVolumeInfraV1/getSIUrlById.xml"); + + String businessKey = UUID.randomUUID().toString(); + String createVfModuleVolRequest = FileUtil.readResourceFile("__files/CreateVfModuleVolumeInfraV1/createVfModuleVolume_VID_request.json"); + + Map testVariables = new HashMap<>(); + testVariables.put("requestId", "TEST-REQUEST-ID-0123"); + testVariables.put("serviceInstanceId", "test-service-instance-id"); + testVariables.put("vnfId", "TEST-VNF-ID-0123"); + testVariables.put("test-volume-group-name", "TEST-MSOTESTVOL101a-vSAMP12_base_vol_module-0"); + testVariables.put("test-volume-group-id", "TEST-VOLUME-GROUP-ID-0123"); + + TestAsyncResponse asyncResponse = invokeAsyncProcess("CreateVfModuleVolumeInfraV1", "v1", businessKey, createVfModuleVolRequest, testVariables); + WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 1000000); + + String responseBody = response.getResponse(); + System.out.println("Workflow (Synch) Response:\n" + responseBody); + + //injectVNFRestCallbacks(callbacks, "volumeGroupCreate"); + + waitForProcessEnd(businessKey, 100000); + checkVariable(businessKey, "CVMVINFRAV1_SuccessIndicator", false); + + logEnd(); + } + + /** + *Vnf Create fail + *****************************/ + @Test + @Ignore + @Deployment(resources = {"process/CreateVfModuleVolumeInfraV1.bpmn", + "subprocess/GenericGetService.bpmn", + "subprocess/DoCreateVfModuleVolumeV1.bpmn", "subprocess/FalloutHandler.bpmn", "subprocess/CompleteMsoProcess.bpmn", "subprocess/VnfAdapterRestV1.bpmn"}) - public void TestVNfCreateFail() throws Exception { - - logStart(); - - MockNodeQueryServiceInstanceById("test-service-instance-id", "CreateVfModuleVolumeInfraV1/getSIUrlById.xml"); - MockGetGenericVnfById("/TEST-VNF-ID-0123", "CreateVfModuleVolumeInfraV1/GenericVnf.xml", 200); - MockPutVolumeGroupById("AAIAIC25", "TEST-VOLUME-GROUP-ID-0123", "CreateVfModuleVolumeInfraV1/createVfModuleVolume_createVolumeName_AAIResponse_Success.xml", 201); - MockGetVolumeGroupByName("AAIAIC25", "MSOTESTVOL101a-vSAMP12_base_vol_module-0", "CreateVfModuleVolumeInfraV1/createVfModuleVolume_queryVolumeName_AAIResponse_Success.xml", 200); - MockPutVolumeGroupById("AAIAIC25", "8424bb3c-c3e7-4553-9662-469649ed9379", "CreateVfModuleVolumeInfraV1/createVfModuleVolume_updateVolumeName_AAIResponse_Success.xml", 200); - mockPostVNFVolumeGroup(202); - MockDeleteVolumeGroupById("AAIAIC25", "8424bb3c-c3e7-4553-9662-469649ed9379", "1460134360", 204); - - String businessKey = UUID.randomUUID().toString(); - String createVfModuleVolRequest = FileUtil.readResourceFile("__files/CreateVfModuleVolumeInfraV1/createVfModuleVolume_VID_request.json"); - - Map testVariables = new HashMap<>(); - testVariables.put("requestId", "TEST-REQUEST-ID-0123"); - testVariables.put("serviceInstanceId", "test-service-instance-id"); - testVariables.put("vnfId", "TEST-VNF-ID-0123"); - testVariables.put("test-volume-group-name", "TEST-MSOTESTVOL101a-vSAMP12_base_vol_module-0"); - testVariables.put("test-volume-group-id", "TEST-VOLUME-GROUP-ID-0123"); - - TestAsyncResponse asyncResponse = invokeAsyncProcess("CreateVfModuleVolumeInfraV1", "v1", businessKey, createVfModuleVolRequest, testVariables); - WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 1000000); - - String responseBody = response.getResponse(); - System.out.println("Workflow (Synch) Response:\n" + responseBody); - - injectVNFRestCallbacks(callbacks, "volumeGroupException"); - - waitForProcessEnd(businessKey, 100000); - checkVariable(businessKey, "CVMVINFRAV1_SuccessIndicator", false); - - logEnd(); - } - - - /** - * Error scenario - vnf not found - ********************************/ - @Test - @Ignore - @Deployment(resources = {"process/CreateVfModuleVolumeInfraV1.bpmn", - "subprocess/GenericGetService.bpmn", - "subprocess/DoCreateVfModuleVolumeV1.bpmn", + public void TestVNfCreateFail() throws Exception { + + logStart(); + + MockNodeQueryServiceInstanceById("test-service-instance-id", "CreateVfModuleVolumeInfraV1/getSIUrlById.xml"); + MockGetGenericVnfById("/TEST-VNF-ID-0123", "CreateVfModuleVolumeInfraV1/GenericVnf.xml", 200); + MockPutVolumeGroupById("AAIAIC25", "TEST-VOLUME-GROUP-ID-0123", "CreateVfModuleVolumeInfraV1/createVfModuleVolume_createVolumeName_AAIResponse_Success.xml", 201); + MockGetVolumeGroupByName("AAIAIC25", "MSOTESTVOL101a-vSAMP12_base_vol_module-0", "CreateVfModuleVolumeInfraV1/createVfModuleVolume_queryVolumeName_AAIResponse_Success.xml", 200); + MockPutVolumeGroupById("AAIAIC25", "8424bb3c-c3e7-4553-9662-469649ed9379", "CreateVfModuleVolumeInfraV1/createVfModuleVolume_updateVolumeName_AAIResponse_Success.xml", 200); + mockPostVNFVolumeGroup(202); + MockDeleteVolumeGroupById("AAIAIC25", "8424bb3c-c3e7-4553-9662-469649ed9379", "1460134360", 204); + + String businessKey = UUID.randomUUID().toString(); + String createVfModuleVolRequest = FileUtil.readResourceFile("__files/CreateVfModuleVolumeInfraV1/createVfModuleVolume_VID_request.json"); + + Map testVariables = new HashMap<>(); + testVariables.put("requestId", "TEST-REQUEST-ID-0123"); + testVariables.put("serviceInstanceId", "test-service-instance-id"); + testVariables.put("vnfId", "TEST-VNF-ID-0123"); + testVariables.put("test-volume-group-name", "TEST-MSOTESTVOL101a-vSAMP12_base_vol_module-0"); + testVariables.put("test-volume-group-id", "TEST-VOLUME-GROUP-ID-0123"); + + TestAsyncResponse asyncResponse = invokeAsyncProcess("CreateVfModuleVolumeInfraV1", "v1", businessKey, createVfModuleVolRequest, testVariables); + WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 1000000); + + String responseBody = response.getResponse(); + System.out.println("Workflow (Synch) Response:\n" + responseBody); + + injectVNFRestCallbacks(callbacks, "volumeGroupException"); + + waitForProcessEnd(businessKey, 100000); + checkVariable(businessKey, "CVMVINFRAV1_SuccessIndicator", false); + + logEnd(); + } + + + /** + * Error scenario - vnf not found + ********************************/ + @Test + @Ignore + @Deployment(resources = {"process/CreateVfModuleVolumeInfraV1.bpmn", + "subprocess/GenericGetService.bpmn", + "subprocess/DoCreateVfModuleVolumeV1.bpmn", "subprocess/FalloutHandler.bpmn", "subprocess/CompleteMsoProcess.bpmn", "subprocess/VnfAdapterRestV1.bpmn"}) - public void TestFailVnfNotFound() throws Exception { - - logStart(); - - MockNodeQueryServiceInstanceById("test-service-instance-id", "CreateVfModuleVolumeInfraV1/getSIUrlById.xml"); - - String businessKey = UUID.randomUUID().toString(); - String createVfModuleVolRequest = FileUtil.readResourceFile("__files/CreateVfModuleVolumeInfraV1/createVfModuleVolume_VID_request_noreqparm.json"); - - Map testVariables = new HashMap<>(); - testVariables.put("requestId", "TEST-REQUEST-ID-0123"); - testVariables.put("serviceInstanceId", "test-service-instance-id"); - testVariables.put("vnfId", "TEST-VNF-ID-0123"); - testVariables.put("test-volume-group-name", "TEST-MSOTESTVOL101a-vSAMP12_base_vol_module-0"); - - TestAsyncResponse asyncResponse = invokeAsyncProcess("CreateVfModuleVolumeInfraV1", "v1", businessKey, createVfModuleVolRequest, testVariables); - WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 1000000); - - String responseBody = response.getResponse(); - System.out.println("Workflow (Synch) Response:\n" + responseBody); - - //injectVNFRestCallbacks(callbacks, "volumeGroupCreate"); - - waitForProcessEnd(businessKey, 100000); - checkVariable(businessKey, "CVMVINFRAV1_SuccessIndicator", false); - - logEnd(); - } - - /** - * Error scenario - error in validation - **************************************/ - @Test - @Ignore - @Deployment(resources = {"process/CreateVfModuleVolumeInfraV1.bpmn", - "subprocess/GenericGetService.bpmn", - "subprocess/DoCreateVfModuleVolumeV1.bpmn", + public void TestFailVnfNotFound() throws Exception { + + logStart(); + + MockNodeQueryServiceInstanceById("test-service-instance-id", "CreateVfModuleVolumeInfraV1/getSIUrlById.xml"); + + String businessKey = UUID.randomUUID().toString(); + String createVfModuleVolRequest = FileUtil.readResourceFile("__files/CreateVfModuleVolumeInfraV1/createVfModuleVolume_VID_request_noreqparm.json"); + + Map testVariables = new HashMap<>(); + testVariables.put("requestId", "TEST-REQUEST-ID-0123"); + testVariables.put("serviceInstanceId", "test-service-instance-id"); + testVariables.put("vnfId", "TEST-VNF-ID-0123"); + testVariables.put("test-volume-group-name", "TEST-MSOTESTVOL101a-vSAMP12_base_vol_module-0"); + + TestAsyncResponse asyncResponse = invokeAsyncProcess("CreateVfModuleVolumeInfraV1", "v1", businessKey, createVfModuleVolRequest, testVariables); + WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 1000000); + + String responseBody = response.getResponse(); + System.out.println("Workflow (Synch) Response:\n" + responseBody); + + //injectVNFRestCallbacks(callbacks, "volumeGroupCreate"); + + waitForProcessEnd(businessKey, 100000); + checkVariable(businessKey, "CVMVINFRAV1_SuccessIndicator", false); + + logEnd(); + } + + /** + * Error scenario - error in validation + **************************************/ + @Test + @Ignore + @Deployment(resources = {"process/CreateVfModuleVolumeInfraV1.bpmn", + "subprocess/GenericGetService.bpmn", + "subprocess/DoCreateVfModuleVolumeV1.bpmn", "subprocess/FalloutHandler.bpmn", "subprocess/CompleteMsoProcess.bpmn", "subprocess/VnfAdapterRestV1.bpmn"}) - public void TestFailNoVnfPassed() throws Exception { - - logStart(); - - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - String createVfModuleVolRequest = FileUtil.readResourceFile("__files/CreateVfModuleVolumeInfraV1/createVfModuleVolume_VID_request.json"); - - Map testVariables = new HashMap<>(); - testVariables.put("requestId", "TEST-REQUEST-ID-0123"); - testVariables.put("serviceInstanceId", "test-service-instance-id"); - //testVariables.put("vnfId", "TEST-VNF-ID-0123"); - testVariables.put("test-volume-group-name", "TEST-MSOTESTVOL101a-vSAMP12_base_vol_module-0"); - - TestAsyncResponse asyncResponse = invokeAsyncProcess("CreateVfModuleVolumeInfraV1", "v1", businessKey, createVfModuleVolRequest, testVariables); - WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 1000000); - - String responseBody = response.getResponse(); - System.out.println("Workflow (Synch) Response:\n" + responseBody); - waitForProcessEnd(businessKey, 100000); - checkVariable(businessKey, "CVMVINFRAV1_SuccessIndicator", false); - - logEnd(); - } - - /** - * Error scenario - service instance not found - *********************************************/ - @Test - @Ignore - @Deployment(resources = {"process/CreateVfModuleVolumeInfraV1.bpmn", - "subprocess/GenericGetService.bpmn", - "subprocess/DoCreateVfModuleVolumeV1.bpmn", + public void TestFailNoVnfPassed() throws Exception { + + logStart(); + + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + String createVfModuleVolRequest = FileUtil.readResourceFile("__files/CreateVfModuleVolumeInfraV1/createVfModuleVolume_VID_request.json"); + + Map testVariables = new HashMap<>(); + testVariables.put("requestId", "TEST-REQUEST-ID-0123"); + testVariables.put("serviceInstanceId", "test-service-instance-id"); + //testVariables.put("vnfId", "TEST-VNF-ID-0123"); + testVariables.put("test-volume-group-name", "TEST-MSOTESTVOL101a-vSAMP12_base_vol_module-0"); + + TestAsyncResponse asyncResponse = invokeAsyncProcess("CreateVfModuleVolumeInfraV1", "v1", businessKey, createVfModuleVolRequest, testVariables); + WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 1000000); + + String responseBody = response.getResponse(); + System.out.println("Workflow (Synch) Response:\n" + responseBody); + waitForProcessEnd(businessKey, 100000); + checkVariable(businessKey, "CVMVINFRAV1_SuccessIndicator", false); + + logEnd(); + } + + /** + * Error scenario - service instance not found + *********************************************/ + @Test + @Ignore + @Deployment(resources = {"process/CreateVfModuleVolumeInfraV1.bpmn", + "subprocess/GenericGetService.bpmn", + "subprocess/DoCreateVfModuleVolumeV1.bpmn", "subprocess/FalloutHandler.bpmn", "subprocess/CompleteMsoProcess.bpmn", "subprocess/VnfAdapterRestV1.bpmn"}) - public void TestFailServiceInstanceNotFound() throws Exception { - - logStart(); - - MockNodeQueryServiceInstanceById("test-service-instance-id", "CreateVfModuleVolumeInfraV1/getSIUrlById.xml"); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - String createVfModuleVolRequest = FileUtil.readResourceFile("__files/CreateVfModuleVolumeInfraV1/createVfModuleVolume_VID_request.json"); - - Map testVariables = new HashMap<>(); - testVariables.put("requestId", "TEST-REQUEST-ID-0123"); - testVariables.put("serviceInstanceId", "test-service-instance-id"); - //testVariables.put("vnfId", "TEST-VNF-ID-0123"); - testVariables.put("test-volume-group-name", "TEST-MSOTESTVOL101a-vSAMP12_base_vol_module-0"); - - TestAsyncResponse asyncResponse = invokeAsyncProcess("CreateVfModuleVolumeInfraV1", "v1", businessKey, createVfModuleVolRequest, testVariables); - WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 1000000); - - String responseBody = response.getResponse(); - System.out.println("Workflow (Synch) Response:\n" + responseBody); - waitForProcessEnd(businessKey, 100000); - checkVariable(businessKey, "CVMVINFRAV1_SuccessIndicator", false); - - logEnd(); - } + public void TestFailServiceInstanceNotFound() throws Exception { + + logStart(); + + MockNodeQueryServiceInstanceById("test-service-instance-id", "CreateVfModuleVolumeInfraV1/getSIUrlById.xml"); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + String createVfModuleVolRequest = FileUtil.readResourceFile("__files/CreateVfModuleVolumeInfraV1/createVfModuleVolume_VID_request.json"); + + Map testVariables = new HashMap<>(); + testVariables.put("requestId", "TEST-REQUEST-ID-0123"); + testVariables.put("serviceInstanceId", "test-service-instance-id"); + //testVariables.put("vnfId", "TEST-VNF-ID-0123"); + testVariables.put("test-volume-group-name", "TEST-MSOTESTVOL101a-vSAMP12_base_vol_module-0"); + + TestAsyncResponse asyncResponse = invokeAsyncProcess("CreateVfModuleVolumeInfraV1", "v1", businessKey, createVfModuleVolRequest, testVariables); + WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 1000000); + + String responseBody = response.getResponse(); + System.out.println("Workflow (Synch) Response:\n" + responseBody); + waitForProcessEnd(businessKey, 100000); + checkVariable(businessKey, "CVMVINFRAV1_SuccessIndicator", false); + + 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 1c64dd7952..d5f94965fe 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 @@ -19,7 +19,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.infrastructure; @@ -56,168 +56,168 @@ import org.openecomp.mso.bpmn.mock.FileUtil; */ public class CreateVnfInfraTest extends WorkflowTest { - private String createVnfInfraRequest; - private final CallbackSet callbacks = new CallbackSet(); - - - public CreateVnfInfraTest() throws IOException { - createVnfInfraRequest = FileUtil.readResourceFile("__files/InfrastructureFlows/CreateVnfInfraRequest.json"); - callbacks.put("assign", FileUtil.readResourceFile( - "__files/VfModularity/SDNCTopologyAssignCallback.xml")); - callbacks.put("activate", FileUtil.readResourceFile( - "__files/VfModularity/SDNCTopologyActivateCallback.xml")); - } - - @Test - @Deployment(resources = {"subprocess/DoCreateVnf.bpmn", - "subprocess/GenericGetService.bpmn", - "subprocess/GenericGetVnf.bpmn", - "subprocess/GenericPutVnf.bpmn", - "subprocess/SDNCAdapterV1.bpmn", - "process/CreateVnfInfra.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/CompleteMsoProcess.bpmn"}) - public void testCreateVnfInfra_success() throws Exception { - - MockNodeQueryServiceInstanceById("MIS%2F1604%2F0026%2FSW_INTERNET", "GenericFlows/getSIUrlById.xml"); - MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getServiceInstance.xml"); - MockGetGenericVnfByName_404(); - MockPutGenericVnf(); - mockSDNCAdapter("/SDNCAdapter", "vnf-type>STMTN", 200, "VfModularity/StandardSDNCSynchResponse.xml"); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - setVariablesSuccess(variables, createVnfInfraRequest, "testRequestId123", "MIS%2F1604%2F0026%2FSW_INTERNET"); - TestAsyncResponse asyncResponse = invokeAsyncProcess("CreateVnfInfra", - "v1", businessKey, createVnfInfraRequest, variables); - - WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 10000); - - String responseBody = response.getResponse(); - System.out.println("Workflow (Synch) Response:\n" + responseBody); - - //injectSDNCCallbacks(callbacks, "assign, query"); - //injectSDNCCallbacks(callbacks, "activate"); - - // TODO add appropriate assertions - - waitForProcessEnd(businessKey, 10000); - String status = BPMNUtil.getVariable(processEngineRule, "CreateVnfInfra", "CreateVnfInfraStatus"); - assertEquals("Success", status); - - logEnd(); + private String createVnfInfraRequest; + private final CallbackSet callbacks = new CallbackSet(); - //WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "CreateVnfInfra", variables); - // injectSDNCCallbacks(callbacks, "assign"); - // injectSDNCCallbacks(callbacks, "activate"); - //waitForProcessEnd(businessKey, 10000); - //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - //assertVariables("true", "true", "false", "true", "Success", null); - - } - - @Test - @Deployment(resources = {"subprocess/GenericGetService.bpmn", "subprocess/GenericGetVnf.bpmn", "subprocess/GenericPutVnf.bpmn", "process/CreateVnfInfra.bpmn", "subprocess/FalloutHandler.bpmn", "subprocess/CompleteMsoProcess.bpmn"}) - public void testCreateVnfInfra_error_badRequest() throws Exception { - - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - Map variables = new HashMap<>(); - setVariables(variables, null, "testRequestId123", "MIS%2F1604%2F0026%2FSW_INTERNET"); - - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "CreateVnfInfra", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - assertVariables(null, null, null, null, null, "WorkflowException[processKey=CreateVnfInfra,errorCode=2500,errorMessage=Internal Error - WorkflowException Object and/or RequestInfo is null! CreateVnfInfra]"); - - } - - @Test - @Ignore - @Deployment(resources = {"subprocess/DoCreateVnf.bpmn", "subprocess/GenericGetService.bpmn", "subprocess/GenericGetVnf.bpmn", "subprocess/GenericPutVnf.bpmn", "process/CreateVnfInfra.bpmn", "subprocess/FalloutHandler.bpmn", "subprocess/CompleteMsoProcess.bpmn"}) - public void testCreateVnfInfra_error_siNotFound() throws Exception { - - MockNodeQueryServiceInstanceById_404("MIS%2F1604%2F0026%2FSW_INTERNET"); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - Map variables = new HashMap<>(); - setVariables(variables, createVnfInfraRequest, "testRequestId123", "MIS%2F1604%2F0026%2FSW_INTERNET"); - - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "CreateVnfInfra", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - assertVariables(null, null, null, null, null, "WorkflowException[processKey=DoCreateVnf,errorCode=404,errorMessage=Service Instance Not Found]"); - - } - - @Test - @Ignore - @Deployment(resources = {"subprocess/DoCreateVnf.bpmn", - "subprocess/GenericGetService.bpmn", - "subprocess/GenericGetVnf.bpmn", - "subprocess/GenericPutVnf.bpmn", - "process/CreateVnfInfra.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/CompleteMsoProcess.bpmn"}) - public void testCreateVnfInfra_error_vnfExist() throws Exception { - MockNodeQueryServiceInstanceById("MIS%2F1604%2F0026%2FSW_INTERNET", "GenericFlows/getSIUrlById.xml"); - MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getServiceInstance.xml"); - - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf[?]vnf-name=testVnfName123&depth=1")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile("GenericFlows/getGenericVnfResponse.xml"))); - - MockPutGenericVnf(); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - Map variables = new HashMap<>(); - setVariables(variables, createVnfInfraRequest, "testRequestId123", "MIS%2F1604%2F0026%2FSW_INTERNET"); + public CreateVnfInfraTest() throws IOException { + createVnfInfraRequest = FileUtil.readResourceFile("__files/InfrastructureFlows/CreateVnfInfraRequest.json"); + callbacks.put("assign", FileUtil.readResourceFile( + "__files/VfModularity/SDNCTopologyAssignCallback.xml")); + callbacks.put("activate", FileUtil.readResourceFile( + "__files/VfModularity/SDNCTopologyActivateCallback.xml")); + } - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "CreateVnfInfra", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - assertVariables(null, null, null, null, null, "WorkflowException[processKey=DoCreateVnf,errorCode=5000,errorMessage=Generic Vnf Already Exist.]"); + @Test + @Deployment(resources = {"subprocess/DoCreateVnf.bpmn", + "subprocess/GenericGetService.bpmn", + "subprocess/GenericGetVnf.bpmn", + "subprocess/GenericPutVnf.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "process/CreateVnfInfra.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/CompleteMsoProcess.bpmn"}) + public void testCreateVnfInfra_success() throws Exception{ + + MockNodeQueryServiceInstanceById("MIS%2F1604%2F0026%2FSW_INTERNET", "GenericFlows/getSIUrlById.xml"); + MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getServiceInstance.xml"); + MockGetGenericVnfByName_404(); + MockPutGenericVnf(); + mockSDNCAdapter("/SDNCAdapter", "vnf-type>STMTN", 200, "VfModularity/StandardSDNCSynchResponse.xml"); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - } + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariablesSuccess(variables, createVnfInfraRequest, "testRequestId123", "MIS%2F1604%2F0026%2FSW_INTERNET"); + TestAsyncResponse asyncResponse = invokeAsyncProcess("CreateVnfInfra", + "v1", businessKey, createVnfInfraRequest, variables); - private void assertVariables(String exSIFound, String exSISucc, String exVnfFound, String exVnfSucc, String exResponse, String exWorkflowException) { + WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 10000); - String siFound = BPMNUtil.getVariable(processEngineRule, "CreateVnfInfra", "GENGS_FoundIndicator"); - String siSucc = BPMNUtil.getVariable(processEngineRule, "CreateVnfInfra", "GENGS_SuccessIndicator"); - String vnfFound = BPMNUtil.getVariable(processEngineRule, "CreateVnfInfra", "GENGV_FoundIndicator"); - String vnfSucc = BPMNUtil.getVariable(processEngineRule, "CreateVnfInfra", "GENGV_SuccessIndicator"); - String response = BPMNUtil.getVariable(processEngineRule, "CreateVnfInfra", "WorkflowResponse"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "CreateVnfInfra", "SavedWorkflowException1"); + String responseBody = response.getResponse(); + System.out.println("Workflow (Synch) Response:\n" + responseBody); - assertEquals(exSIFound, siFound); - assertEquals(exSISucc, siSucc); - assertEquals(exVnfFound, vnfFound); - assertEquals(exVnfSucc, vnfSucc); - assertEquals(exResponse, response); - assertEquals(exWorkflowException, workflowException); - } + //injectSDNCCallbacks(callbacks, "assign, query"); + //injectSDNCCallbacks(callbacks, "activate"); + + // TODO add appropriate assertions - private void setVariables(Map variables, String request, String requestId, String siId) { - variables.put("isDebugLogEnabled", "true"); - variables.put("bpmnRequest", request); - variables.put("mso-request-id", requestId); - variables.put("serviceInstanceId", siId); - variables.put("testVnfId", "testVnfId123"); - variables.put("vnfType", "STMTN"); - } - - private void setVariablesSuccess(Map variables, String request, String requestId, String siId) { - variables.put("isDebugLogEnabled", "true"); - //variables.put("bpmnRequest", request); - //variables.put("mso-request-id", requestId); - variables.put("serviceInstanceId", siId); - variables.put("requestId", requestId); - variables.put("testVnfId", "testVnfId123"); - variables.put("vnfType", "STMTN"); - } + waitForProcessEnd(businessKey, 10000); + String status = BPMNUtil.getVariable(processEngineRule, "CreateVnfInfra", "CreateVnfInfraStatus"); + assertEquals("Success", status); + + logEnd(); + + //WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "CreateVnfInfra", variables); + // injectSDNCCallbacks(callbacks, "assign"); + // injectSDNCCallbacks(callbacks, "activate"); + //waitForProcessEnd(businessKey, 10000); + //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + //assertVariables("true", "true", "false", "true", "Success", null); + + } + + @Test + @Deployment(resources = {"subprocess/GenericGetService.bpmn", "subprocess/GenericGetVnf.bpmn", "subprocess/GenericPutVnf.bpmn", "process/CreateVnfInfra.bpmn", "subprocess/FalloutHandler.bpmn", "subprocess/CompleteMsoProcess.bpmn"}) + public void testCreateVnfInfra_error_badRequest() throws Exception{ + + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + Map variables = new HashMap<>(); + setVariables(variables, null, "testRequestId123", "MIS%2F1604%2F0026%2FSW_INTERNET"); + + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "CreateVnfInfra", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + assertVariables(null, null, null, null, null, "WorkflowException[processKey=CreateVnfInfra,errorCode=2500,errorMessage=Internal Error - WorkflowException Object and/or RequestInfo is null! CreateVnfInfra]"); + + } + + @Test + @Ignore + @Deployment(resources = {"subprocess/DoCreateVnf.bpmn", "subprocess/GenericGetService.bpmn", "subprocess/GenericGetVnf.bpmn", "subprocess/GenericPutVnf.bpmn", "process/CreateVnfInfra.bpmn", "subprocess/FalloutHandler.bpmn", "subprocess/CompleteMsoProcess.bpmn"}) + public void testCreateVnfInfra_error_siNotFound() throws Exception{ + + MockNodeQueryServiceInstanceById_404("MIS%2F1604%2F0026%2FSW_INTERNET"); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + Map variables = new HashMap<>(); + setVariables(variables, createVnfInfraRequest, "testRequestId123", "MIS%2F1604%2F0026%2FSW_INTERNET"); + + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "CreateVnfInfra", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + assertVariables(null, null, null, null, null, "WorkflowException[processKey=DoCreateVnf,errorCode=404,errorMessage=Service Instance Not Found]"); + + } + + @Test + @Ignore + @Deployment(resources = {"subprocess/DoCreateVnf.bpmn", + "subprocess/GenericGetService.bpmn", + "subprocess/GenericGetVnf.bpmn", + "subprocess/GenericPutVnf.bpmn", + "process/CreateVnfInfra.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/CompleteMsoProcess.bpmn"}) + public void testCreateVnfInfra_error_vnfExist() throws Exception{ + MockNodeQueryServiceInstanceById("MIS%2F1604%2F0026%2FSW_INTERNET", "GenericFlows/getSIUrlById.xml"); + MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getServiceInstance.xml"); + + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf[?]vnf-name=testVnfName123&depth=1")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile("GenericFlows/getGenericVnfResponse.xml"))); + + MockPutGenericVnf(); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + Map variables = new HashMap<>(); + setVariables(variables, createVnfInfraRequest, "testRequestId123", "MIS%2F1604%2F0026%2FSW_INTERNET"); + + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "CreateVnfInfra", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + assertVariables(null, null, null, null, null, "WorkflowException[processKey=DoCreateVnf,errorCode=5000,errorMessage=Generic Vnf Already Exist.]"); + + } + + private void assertVariables(String exSIFound, String exSISucc, String exVnfFound, String exVnfSucc, String exResponse, String exWorkflowException) { + + String siFound = BPMNUtil.getVariable(processEngineRule, "CreateVnfInfra", "GENGS_FoundIndicator"); + String siSucc = BPMNUtil.getVariable(processEngineRule, "CreateVnfInfra", "GENGS_SuccessIndicator"); + String vnfFound = BPMNUtil.getVariable(processEngineRule, "CreateVnfInfra", "GENGV_FoundIndicator"); + String vnfSucc = BPMNUtil.getVariable(processEngineRule, "CreateVnfInfra", "GENGV_SuccessIndicator"); + String response = BPMNUtil.getVariable(processEngineRule, "CreateVnfInfra", "WorkflowResponse"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "CreateVnfInfra", "SavedWorkflowException1"); + + assertEquals(exSIFound, siFound); + assertEquals(exSISucc, siSucc); + assertEquals(exVnfFound, vnfFound); + assertEquals(exVnfSucc, vnfSucc); + assertEquals(exResponse, response); + assertEquals(exWorkflowException, workflowException); + } + + private void setVariables(Map variables, String request, String requestId, String siId) { + variables.put("isDebugLogEnabled", "true"); + variables.put("bpmnRequest", request); + variables.put("mso-request-id", requestId); + variables.put("serviceInstanceId",siId); + variables.put("testVnfId","testVnfId123"); + variables.put("vnfType", "STMTN"); + } + + private void setVariablesSuccess(Map variables, String request, String requestId, String siId) { + variables.put("isDebugLogEnabled", "true"); + //variables.put("bpmnRequest", request); + //variables.put("mso-request-id", requestId); + variables.put("serviceInstanceId",siId); + variables.put("requestId", requestId); + variables.put("testVnfId","testVnfId123"); + variables.put("vnfType", "STMTN"); + } } diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DeleteGenericALaCarteServiceInstanceTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DeleteGenericALaCarteServiceInstanceTest.java index 2cceba0f1b..aa05953493 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DeleteGenericALaCarteServiceInstanceTest.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DeleteGenericALaCarteServiceInstanceTest.java @@ -46,66 +46,66 @@ import org.openecomp.mso.bpmn.common.workflow.service.WorkflowResponse; */ public class DeleteGenericALaCarteServiceInstanceTest extends WorkflowTest { - public DeleteGenericALaCarteServiceInstanceTest() throws IOException { - } - - /** - * Sunny day VID scenario. - * - * @throws Exception - */ + public DeleteGenericALaCarteServiceInstanceTest() throws IOException { + } + + /** + * Sunny day VID scenario. + * + * @throws Exception + */ @Ignore // IGNORED FOR 1710 MERGE TO ONAP - @Test - @Deployment(resources = { - "process/DeleteGenericALaCarteServiceInstance.bpmn", - "subprocess/DoDeleteServiceInstance.bpmn", - "subprocess/GenericDeleteService.bpmn", - "subprocess/GenericGetService.bpmn", - "subprocess/CompleteMsoProcess.bpmn", - "subprocess/FalloutHandler.bpmn"}) - public void sunnyDayAlaCarte() throws Exception { - - logStart(); - - //AAI - MockDeleteServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", ""); - MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getSINoRelations.xml"); - MockNodeQueryServiceInstanceById("MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getSIUrlById.xml"); - //DB - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - - Map variables = setupVariables(); - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "DeleteGenericALaCarteServiceInstance", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - String workflowResp = BPMNUtil.getVariable(processEngineRule, "DeleteGenericALaCarteServiceInstance", "WorkflowResponse"); - //assertNotNull(workflowResp); - System.out.println("Workflow (Synch) Response:\n" + workflowResp); - String workflowException = BPMNUtil.getVariable(processEngineRule, "DeleteGenericALaCarteServiceInstance", "WorkflowException"); - String completionReq = BPMNUtil.getVariable(processEngineRule, "DeleteGenericALaCarteServiceInstance", "completionRequest"); - System.out.println("completionReq:\n" + completionReq); - System.out.println("workflowException:\n" + workflowException); - assertNotNull(completionReq); - assertEquals(null, workflowException); - - logEnd(); - } - - // Success Scenario - private Map setupVariables() { - Map variables = new HashMap<>(); - variables.put("isDebugLogEnabled", "true"); - variables.put("bpmnRequest", getRequest()); - variables.put("mso-request-id", "RaaTestRequestId-1"); - variables.put("serviceInstanceId", "MIS%252F1604%252F0026%252FSW_INTERNET"); - return variables; - } - - public String getRequest() { - String request = "{\"requestDetails\":{\"modelInfo\":{\"modelType\":\"service\",\"modelInvariantUuid\":\"uuid-miu-svc-011-abcdef\",\"modelUuid\":\"ASDC_TOSCA_UUID\",\"modelName\":\"SIModelName1\",\"modelVersion\":\"2\"},\"subscriberInfo\":{\"globalSubscriberId\":\"SDN-ETHERNET-INTERNET\",\"subscriberName\":\"\"},\"requestInfo\":{\"instanceName\":\"1604-MVM-26\",\"source\":\"VID\",\"suppressRollback\":\"true\",\"productFamilyId\":\"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\"},\"cloudConfiguration\":{\"lcpCloudRegionId\":\"mdt1\",\"tenantId\":\"8b1df54faa3b49078e3416e21370a3ba\"},\"requestParameters\":{\"subscriptionServiceType\":\"123456789\",\"aLaCarte\":\"false\",\"userParams\":\"somep\"}}}"; - return request; - } + @Test + @Deployment(resources = { + "process/DeleteGenericALaCarteServiceInstance.bpmn", + "subprocess/DoDeleteServiceInstance.bpmn", + "subprocess/GenericDeleteService.bpmn", + "subprocess/GenericGetService.bpmn", + "subprocess/CompleteMsoProcess.bpmn", + "subprocess/FalloutHandler.bpmn" }) + public void sunnyDayAlaCarte() throws Exception { + + logStart(); + + //AAI + MockDeleteServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", ""); + MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getSINoRelations.xml"); + MockNodeQueryServiceInstanceById("MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getSIUrlById.xml"); + //DB + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + + Map variables = setupVariables(); + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "DeleteGenericALaCarteServiceInstance", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + String workflowResp = BPMNUtil.getVariable(processEngineRule, "DeleteGenericALaCarteServiceInstance", "WorkflowResponse"); + //assertNotNull(workflowResp); + System.out.println("Workflow (Synch) Response:\n" + workflowResp); + String workflowException = BPMNUtil.getVariable(processEngineRule, "DeleteGenericALaCarteServiceInstance", "WorkflowException"); + String completionReq = BPMNUtil.getVariable(processEngineRule, "DeleteGenericALaCarteServiceInstance", "completionRequest"); + System.out.println("completionReq:\n" + completionReq); + System.out.println("workflowException:\n" + workflowException); + assertNotNull(completionReq); + assertEquals(null, workflowException); + + logEnd(); + } + + // Success Scenario + private Map setupVariables() { + Map variables = new HashMap<>(); + variables.put("isDebugLogEnabled", "true"); + variables.put("bpmnRequest", getRequest()); + variables.put("mso-request-id", "RaaTestRequestId-1"); + variables.put("serviceInstanceId","MIS%252F1604%252F0026%252FSW_INTERNET"); + return variables; + } + + public String getRequest() { + String request = "{\"requestDetails\":{\"modelInfo\":{\"modelType\":\"service\",\"modelInvariantUuid\":\"uuid-miu-svc-011-abcdef\",\"modelUuid\":\"ASDC_TOSCA_UUID\",\"modelName\":\"SIModelName1\",\"modelVersion\":\"2\"},\"subscriberInfo\":{\"globalSubscriberId\":\"SDN-ETHERNET-INTERNET\",\"subscriberName\":\"\"},\"requestInfo\":{\"instanceName\":\"1604-MVM-26\",\"source\":\"VID\",\"suppressRollback\":\"true\",\"productFamilyId\":\"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\"},\"cloudConfiguration\":{\"lcpCloudRegionId\":\"mdt1\",\"tenantId\":\"8b1df54faa3b49078e3416e21370a3ba\"},\"requestParameters\":{\"subscriptionServiceType\":\"123456789\",\"aLaCarte\":\"false\",\"userParams\":\"somep\"}}}"; + return request; + } } 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 0e72b769a5..4317a57405 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 @@ -48,293 +48,294 @@ import com.github.tomakehurst.wiremock.extension.ResponseTransformer; /** * Unit test cases for DeleteNetworkInstance.bpmn + * */ //@Ignore public class DeleteNetworkInstanceTest extends WorkflowTest { - @WorkflowTestTransformer - public static final ResponseTransformer sdncAdapterMockTransformer = - new SDNCAdapterNetworkTopologyMockTransformer(); - - @Rule - public final SDNCAdapterCallbackRule sdncAdapterCallbackRule = - new SDNCAdapterCallbackRule(processEngineRule); - - /** - * End-to-End flow - Unit test for DeleteNetworkInstance.bpmn - * - String input & String response - */ - - @Test - //@Ignore - @Deployment(resources = {"process/DeleteNetworkInstance.bpmn", - "subprocess/DoDeleteNetworkInstance.bpmn", - "subprocess/DoDeleteNetworkInstanceRollback.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/CompleteMsoProcess.bpmn", - "subprocess/SDNCAdapterV1.bpmn"}) - - public void shouldInvokeServiceDeleteNetworkInstance_VID_Success() throws Exception { - - System.out.println("----------------------------------------------------------"); - System.out.println(" Success VID - DeleteNetworkInstance flow Started! "); - System.out.println("----------------------------------------------------------"); - - // 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"); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - MockGetCloudRegion("RDM2WAGPLCP", 200, "DeleteNetworkV2/cloudRegion30_AAIResponse_Success.xml"); - - Map variables = new HashMap<>(); - variables.put("mso-request-id", "testRequestId"); - variables.put("requestId", "testRequestId"); - variables.put("isBaseVfModule", "true"); - variables.put("recipeTimeout", "0"); - variables.put("requestAction", "DELETE"); - variables.put("serviceInstanceId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"); - variables.put("vnfId", ""); - variables.put("vfModuleId", ""); - variables.put("volumeGroupId", ""); - variables.put("networkId", "bdc5efe8-404a-409b-85f6-0dcc9eebae30"); - variables.put("serviceType", "MOG"); - variables.put("vfModuleType", ""); - variables.put("networkType", "modelName"); - variables.put("bpmnRequest", getDeleteNetworkInstanceInfraRequest()); - - executeAsyncWorkflow(processEngineRule, "DeleteNetworkInstance", variables); - - Assert.assertNotNull("DELNI_CompleteMsoProcessRequest - ", getVariable(processEngineRule, "DeleteNetworkInstance", "DELNI_CompleteMsoProcessRequest")); - Assert.assertEquals("true", getVariable(processEngineRule, "DeleteNetworkInstance", "DELNI_Success")); - - String workflowResp = BPMNUtil.getVariable(processEngineRule, "DeleteNetworkInstance", "WorkflowResponse"); - Assert.assertNotNull(workflowResp); - System.out.println("DeleteNetworkInstanceTest.shouldInvokeServiceDeleteNetworkInstance_Success() WorkflowResponse:\n" + workflowResp); - - String completeMsoProcessRequest = - "" + '\n' - + " " + '\n' - + " testRequestId" + '\n' - + " DELETE" + '\n' - + " VID" + '\n' - + " " + '\n' - + " Network has been deleted successfully." + '\n' - + " BPMN Network action: DELETE" + '\n' - + ""; - - Assert.assertEquals(completeMsoProcessRequest, getVariable(processEngineRule, "DeleteNetworkInstance", "DELNI_CompleteMsoProcessRequest")); - - System.out.println("----------------------------------------------------------"); - System.out.println(" Success VID - DeleteNetworkInstance flow Completed "); - System.out.println("----------------------------------------------------------"); - - - } - - @Test - //@Ignore - @Deployment(resources = {"process/DeleteNetworkInstance.bpmn", - "subprocess/DoDeleteNetworkInstance.bpmn", - //"subprocess/DoDeleteNetworkInstanceRollback.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/CompleteMsoProcess.bpmn", - "subprocess/SDNCAdapterV1.bpmn"}) - - public void shouldInvokeServiceDeleteNetworkInstance_vIPER_Success() throws Exception { - - System.out.println("----------------------------------------------------------"); - System.out.println(" Success vIPER - DeleteNetworkInstance flow Started! "); - System.out.println("----------------------------------------------------------"); - - // setup simulators - 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"); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - MockGetCloudRegion("RDM2WAGPLCP", 200, "DeleteNetworkV2/cloudRegion30_AAIResponse_Success.xml"); - - String networkModelInfo = " {\"modelName\": \"modelName\", " + '\n' + - " \"networkType\": \"modelName\" }"; - - Map variables = new HashMap<>(); - variables.put("testMessageId", "88f65519-9a38-4c4b-8445-9eb4a5a5af56"); - variables.put("msoRequestId", "testRequestId"); - variables.put("requestId", "testRequestId"); - variables.put("serviceInstanceId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"); - variables.put("networkId", "bdc5efe8-404a-409b-85f6-0dcc9eebae30"); - variables.put("networkName", "HSL_direct_net_2"); - variables.put("lcpCloudRegionId", "RDM2WAGPLCP"); - variables.put("tenantId", "88a6ca3ee0394ade9403f075db23167e"); - variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"); - variables.put("disableRollback", "false"); // 1702 - variables.put("failIfExists", "false"); - //variables.put("sdncVersion", "1702"); - variables.put("sdncVersion", "1707"); - variables.put("subscriptionServiceType", "MSO-dev-service-type"); - variables.put("networkModelInfo", networkModelInfo); - - executeAsyncWorkflow(processEngineRule, "DeleteNetworkInstance", variables); - - Assert.assertNotNull("DELNI_CompleteMsoProcessRequest - ", getVariable(processEngineRule, "DeleteNetworkInstance", "DELNI_CompleteMsoProcessRequest")); - Assert.assertEquals("true", getVariable(processEngineRule, "DeleteNetworkInstance", "DELNI_Success")); - - String workflowResp = BPMNUtil.getVariable(processEngineRule, "DeleteNetworkInstance", "WorkflowResponse"); - Assert.assertNotNull(workflowResp); - System.out.println("DeleteNetworkInstanceTest.shouldInvokeServiceDeleteNetworkInstance_vIPER_Success() WorkflowResponse:\n" + workflowResp); - - String completeMsoProcessRequest = - "" + '\n' - + " " + '\n' - + " testRequestId" + '\n' - + " DELETE" + '\n' - + " VID" + '\n' - + " " + '\n' - + " Network has been deleted successfully." + '\n' - + " BPMN Network action: DELETE" + '\n' - + ""; - - Assert.assertEquals(completeMsoProcessRequest, getVariable(processEngineRule, "DeleteNetworkInstance", "DELNI_CompleteMsoProcessRequest")); - - System.out.println("----------------------------------------------------------"); - System.out.println(" Success VID - DeleteNetworkInstance flow Completed "); - System.out.println("----------------------------------------------------------"); - - - } - - @Test - //@Ignore - @Deployment(resources = {"process/DeleteNetworkInstance.bpmn", - "subprocess/DoDeleteNetworkInstance.bpmn", - "subprocess/DoDeleteNetworkInstanceRollback.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/CompleteMsoProcess.bpmn", - "subprocess/SDNCAdapterV1.bpmn"}) - - public void shouldInvokeServiceDeleteNetworkInstanceInfra_vIPER_Rollback() throws Exception { + @WorkflowTestTransformer + public static final ResponseTransformer sdncAdapterMockTransformer = + new SDNCAdapterNetworkTopologyMockTransformer(); + + @Rule + public final SDNCAdapterCallbackRule sdncAdapterCallbackRule = + new SDNCAdapterCallbackRule(processEngineRule); + + /** + * End-to-End flow - Unit test for DeleteNetworkInstance.bpmn + * - String input & String response + */ + + @Test + //@Ignore + @Deployment(resources = {"process/DeleteNetworkInstance.bpmn", + "subprocess/DoDeleteNetworkInstance.bpmn", + "subprocess/DoDeleteNetworkInstanceRollback.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/CompleteMsoProcess.bpmn", + "subprocess/SDNCAdapterV1.bpmn"}) + + public void shouldInvokeServiceDeleteNetworkInstance_VID_Success() throws Exception { + + System.out.println("----------------------------------------------------------"); + System.out.println(" Success VID - DeleteNetworkInstance flow Started! "); + System.out.println("----------------------------------------------------------"); + + // 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"); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + MockGetCloudRegion("RDM2WAGPLCP", 200, "DeleteNetworkV2/cloudRegion30_AAIResponse_Success.xml"); + + Map variables = new HashMap<>(); + variables.put("mso-request-id", "testRequestId"); + variables.put("requestId", "testRequestId"); + variables.put("isBaseVfModule", "true"); + variables.put("recipeTimeout", "0"); + variables.put("requestAction", "DELETE"); + variables.put("serviceInstanceId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"); + variables.put("vnfId", ""); + variables.put("vfModuleId", ""); + variables.put("volumeGroupId", ""); + variables.put("networkId", "bdc5efe8-404a-409b-85f6-0dcc9eebae30"); + variables.put("serviceType", "MOG"); + variables.put("vfModuleType", ""); + variables.put("networkType", "modelName"); + variables.put("bpmnRequest", getDeleteNetworkInstanceInfraRequest()); + + executeAsyncWorkflow(processEngineRule, "DeleteNetworkInstance", variables); + + Assert.assertNotNull("DELNI_CompleteMsoProcessRequest - ", getVariable(processEngineRule, "DeleteNetworkInstance", "DELNI_CompleteMsoProcessRequest")); + Assert.assertEquals("true", getVariable(processEngineRule, "DeleteNetworkInstance", "DELNI_Success")); + + String workflowResp = BPMNUtil.getVariable(processEngineRule, "DeleteNetworkInstance", "WorkflowResponse"); + Assert.assertNotNull(workflowResp); + System.out.println("DeleteNetworkInstanceTest.shouldInvokeServiceDeleteNetworkInstance_Success() WorkflowResponse:\n" + workflowResp); + + String completeMsoProcessRequest = + "" + '\n' + + " " + '\n' + + " testRequestId" + '\n' + + " DELETE" + '\n' + + " VID" + '\n' + + " " + '\n' + + " Network has been deleted successfully." + '\n' + + " BPMN Network action: DELETE" + '\n' + + ""; + + Assert.assertEquals(completeMsoProcessRequest, getVariable(processEngineRule, "DeleteNetworkInstance", "DELNI_CompleteMsoProcessRequest")); + + System.out.println("----------------------------------------------------------"); + System.out.println(" Success VID - DeleteNetworkInstance flow Completed "); + System.out.println("----------------------------------------------------------"); + + + } + + @Test + //@Ignore + @Deployment(resources = {"process/DeleteNetworkInstance.bpmn", + "subprocess/DoDeleteNetworkInstance.bpmn", + //"subprocess/DoDeleteNetworkInstanceRollback.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/CompleteMsoProcess.bpmn", + "subprocess/SDNCAdapterV1.bpmn"}) + + public void shouldInvokeServiceDeleteNetworkInstance_vIPER_Success() throws Exception { + + System.out.println("----------------------------------------------------------"); + System.out.println(" Success vIPER - DeleteNetworkInstance flow Started! "); + System.out.println("----------------------------------------------------------"); + + // setup simulators + 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"); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + MockGetCloudRegion("RDM2WAGPLCP", 200, "DeleteNetworkV2/cloudRegion30_AAIResponse_Success.xml"); + + String networkModelInfo = " {\"modelName\": \"modelName\", " + '\n' + + " \"networkType\": \"modelName\" }"; + + Map variables = new HashMap<>(); + variables.put("testMessageId", "88f65519-9a38-4c4b-8445-9eb4a5a5af56"); + variables.put("msoRequestId", "testRequestId"); + variables.put("requestId", "testRequestId"); + variables.put("serviceInstanceId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"); + variables.put("networkId", "bdc5efe8-404a-409b-85f6-0dcc9eebae30"); + variables.put("networkName", "HSL_direct_net_2"); + variables.put("lcpCloudRegionId", "RDM2WAGPLCP"); + variables.put("tenantId", "88a6ca3ee0394ade9403f075db23167e"); + variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"); + variables.put("disableRollback", "false"); // 1702 + variables.put("failIfExists", "false"); + //variables.put("sdncVersion", "1702"); + variables.put("sdncVersion", "1707"); + variables.put("subscriptionServiceType", "MSO-dev-service-type"); + variables.put("networkModelInfo", networkModelInfo); + + executeAsyncWorkflow(processEngineRule, "DeleteNetworkInstance", variables); + + Assert.assertNotNull("DELNI_CompleteMsoProcessRequest - ", getVariable(processEngineRule, "DeleteNetworkInstance", "DELNI_CompleteMsoProcessRequest")); + Assert.assertEquals("true", getVariable(processEngineRule, "DeleteNetworkInstance", "DELNI_Success")); + + String workflowResp = BPMNUtil.getVariable(processEngineRule, "DeleteNetworkInstance", "WorkflowResponse"); + Assert.assertNotNull(workflowResp); + System.out.println("DeleteNetworkInstanceTest.shouldInvokeServiceDeleteNetworkInstance_vIPER_Success() WorkflowResponse:\n" + workflowResp); + + String completeMsoProcessRequest = + "" + '\n' + + " " + '\n' + + " testRequestId" + '\n' + + " DELETE" + '\n' + + " VID" + '\n' + + " " + '\n' + + " Network has been deleted successfully." + '\n' + + " BPMN Network action: DELETE" + '\n' + + ""; + + Assert.assertEquals(completeMsoProcessRequest, getVariable(processEngineRule, "DeleteNetworkInstance", "DELNI_CompleteMsoProcessRequest")); + + System.out.println("----------------------------------------------------------"); + System.out.println(" Success VID - DeleteNetworkInstance flow Completed "); + System.out.println("----------------------------------------------------------"); + + + } + + @Test + //@Ignore + @Deployment(resources = {"process/DeleteNetworkInstance.bpmn", + "subprocess/DoDeleteNetworkInstance.bpmn", + "subprocess/DoDeleteNetworkInstanceRollback.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/CompleteMsoProcess.bpmn", + "subprocess/SDNCAdapterV1.bpmn"}) + + public void shouldInvokeServiceDeleteNetworkInstanceInfra_vIPER_Rollback() throws Exception { // Rollback is not Applicable for DeleteNetwork (no requirements). Rollback should not be invoked. - System.out.println("----------------------------------------------------------"); - System.out.println(" Rollback - DeleteNetworkInstance flow Started! "); - System.out.println("----------------------------------------------------------"); - - // setup simulatores - mockSDNCAdapter("/SDNCAdapter", "SvcAction>unassign", 500, ""); - mockSDNCAdapterTopology("DeleteNetworkV2mock/sdncDeleteNetworkTopologySimResponse.xml", "SvcAction>deactivate"); - 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"); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - MockGetCloudRegion("RDM2WAGPLCP", 200, "DeleteNetworkV2/cloudRegion30_AAIResponse_Success.xml"); - - String networkModelInfo = " {\"modelCustomizationId\": \"uuid-nrc-001-1234\", " + '\n' + + System.out.println("----------------------------------------------------------"); + System.out.println(" Rollback - DeleteNetworkInstance flow Started! "); + System.out.println("----------------------------------------------------------"); + + // setup simulatores + mockSDNCAdapter("/SDNCAdapter", "SvcAction>unassign", 500, ""); + mockSDNCAdapterTopology("DeleteNetworkV2mock/sdncDeleteNetworkTopologySimResponse.xml", "SvcAction>deactivate"); + 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"); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + MockGetCloudRegion("RDM2WAGPLCP", 200, "DeleteNetworkV2/cloudRegion30_AAIResponse_Success.xml"); + + String networkModelInfo = " {\"modelCustomizationId\": \"uuid-nrc-001-1234\", " + '\n' + " \"modelInvariantId\": \"was-ist-das-001-1234\" }"; - Map variables = new HashMap<>(); - variables.put("testMessageId", "88f65519-9a38-4c4b-8445-9eb4a5a5af56"); - variables.put("msoRequestId", "testRequestId"); - variables.put("requestId", "testRequestId"); - variables.put("serviceInstanceId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"); - variables.put("networkId", "bdc5efe8-404a-409b-85f6-0dcc9eebae30"); - variables.put("networkName", "HSL_direct_net_2"); - variables.put("lcpCloudRegionId", "RDM2WAGPLCP"); - variables.put("tenantId", "88a6ca3ee0394ade9403f075db23167e"); - variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"); - variables.put("disableRollback", "false"); // 1702 - variables.put("failIfExists", "false"); - variables.put("sdncVersion", "1702"); - variables.put("subscriptionServiceType", "MSO-dev-service-type"); - variables.put("networkModelInfo", networkModelInfo); - - executeAsyncWorkflow(processEngineRule, "DeleteNetworkInstance", variables); - //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "DeleteNetworkInstance", variables); - //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - String workflowResp = BPMNUtil.getVariable(processEngineRule, "DeleteNetworkInstance", "WorkflowResponse"); - Assert.assertNotNull(workflowResp); - - Assert.assertNotNull("DELNI_FalloutHandlerRequest - ", getVariable(processEngineRule, "DeleteNetworkInstance", "DELNI_FalloutHandlerRequest")); - Assert.assertEquals("false", getVariable(processEngineRule, "DeleteNetworkInstance", "DELNI_Success")); - Assert.assertEquals("false", BPMNUtil.getVariable(processEngineRule, "DoDeleteNetworkInstance", "DELNWKI_Success")); - - System.out.println("----------------------------------------------------------"); - System.out.println(" Rollback - DeleteNetworkInstanceModular flow Completed "); - System.out.println("----------------------------------------------------------"); - - - } - - - // ***************** - // Utility Section - // ***************** - - public String getDeleteNetworkInstanceInfraRequest() { - - String request = - "{ \"requestDetails\": { " + '\n' + - " \"modelInfo\": { " + '\n' + - " \"modelType\": \"modelType\", " + '\n' + - " \"modelCustomizationId\": \"f21df226-8093-48c3-be7e-0408fcda0422\", " + '\n' + - " \"modelName\": \"CONTRAIL_EXTERNAL\", " + '\n' + - " \"modelVersion\": \"1.0\" " + '\n' + - " }, " + '\n' + - " \"cloudConfiguration\": { " + '\n' + - " \"lcpCloudRegionId\": \"RDM2WAGPLCP\", " + '\n' + - " \"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\" " + '\n' + - " }, " + '\n' + - " \"requestInfo\": { " + '\n' + - " \"instanceName\": \"HSL_direct_net_2\", " + '\n' + - " \"source\": \"VID\", " + '\n' + - " \"suppressRollback\": \"false\", " + '\n' + - " \"callbackUrl\": \"\" " + '\n' + - " }, " + '\n' + - " \"requestParameters\": { " + '\n' + - " \"backoutOnFailure\": true, " + '\n' + - " \"serviceId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\", " + '\n' + - " \"userParams\": {} " + '\n' + - " } " + '\n' + - " } " + '\n' + - "}"; - return request; - - } - - - public String getDeleteNetworkInstanceInfraRequest_MissingId() { - - String request = - "{ \"requestDetails\": { " + '\n' + - " \"modelInfo\": { " + '\n' + - " \"modelType\": \"modelType\", " + '\n' + - " \"modelId\": \"modelId\", " + '\n' + - " \"modelNameVersionId\": \"modelNameVersionId\", " + '\n' + - " \"modelName\": \"CONTRAIL_EXTERNAL\", " + '\n' + - " \"modelVersion\": \"1\" " + '\n' + - " }, " + '\n' + - " \"cloudConfiguration\": { " + '\n' + - " \"lcpCloudRegionId\": \"RDM2WAGPLCP\", " + '\n' + - " \"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\" " + '\n' + - " }, " + '\n' + - " \"requestInfo\": { " + '\n' + - " \"instanceName\": \"HSL_direct_net_2\", " + '\n' + - " \"source\": \"VID\", " + '\n' + - " \"callbackUrl\": \"\" " + '\n' + - " }, " + '\n' + - " \"requestParameters\": { " + '\n' + - " \"backoutOnFailure\": true, " + '\n' + - " \"serviceId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\", " + '\n' + - " \"userParams\": [] " + '\n' + - " } " + '\n' + - " } " + '\n' + - "}"; - return request; - - } + Map variables = new HashMap<>(); + variables.put("testMessageId", "88f65519-9a38-4c4b-8445-9eb4a5a5af56"); + variables.put("msoRequestId", "testRequestId"); + variables.put("requestId", "testRequestId"); + variables.put("serviceInstanceId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"); + variables.put("networkId", "bdc5efe8-404a-409b-85f6-0dcc9eebae30"); + variables.put("networkName", "HSL_direct_net_2"); + variables.put("lcpCloudRegionId", "RDM2WAGPLCP"); + variables.put("tenantId", "88a6ca3ee0394ade9403f075db23167e"); + variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"); + variables.put("disableRollback", "false"); // 1702 + variables.put("failIfExists", "false"); + variables.put("sdncVersion", "1702"); + variables.put("subscriptionServiceType", "MSO-dev-service-type"); + variables.put("networkModelInfo", networkModelInfo); + + executeAsyncWorkflow(processEngineRule, "DeleteNetworkInstance", variables); + //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "DeleteNetworkInstance", variables); + //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + String workflowResp = BPMNUtil.getVariable(processEngineRule, "DeleteNetworkInstance", "WorkflowResponse"); + Assert.assertNotNull(workflowResp); + + Assert.assertNotNull("DELNI_FalloutHandlerRequest - ", getVariable(processEngineRule, "DeleteNetworkInstance", "DELNI_FalloutHandlerRequest")); + Assert.assertEquals("false", getVariable(processEngineRule, "DeleteNetworkInstance", "DELNI_Success")); + Assert.assertEquals("false", BPMNUtil.getVariable(processEngineRule, "DoDeleteNetworkInstance", "DELNWKI_Success")); + + System.out.println("----------------------------------------------------------"); + System.out.println(" Rollback - DeleteNetworkInstanceModular flow Completed "); + System.out.println("----------------------------------------------------------"); + + + } + + + // ***************** + // Utility Section + // ***************** + + public String getDeleteNetworkInstanceInfraRequest() { + + String request = + "{ \"requestDetails\": { " + '\n' + + " \"modelInfo\": { " + '\n' + + " \"modelType\": \"modelType\", " + '\n' + + " \"modelCustomizationId\": \"f21df226-8093-48c3-be7e-0408fcda0422\", " + '\n' + + " \"modelName\": \"CONTRAIL_EXTERNAL\", " + '\n' + + " \"modelVersion\": \"1.0\" " + '\n' + + " }, " + '\n' + + " \"cloudConfiguration\": { " + '\n' + + " \"lcpCloudRegionId\": \"RDM2WAGPLCP\", " + '\n' + + " \"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\" " + '\n' + + " }, " + '\n' + + " \"requestInfo\": { " + '\n' + + " \"instanceName\": \"HSL_direct_net_2\", " + '\n' + + " \"source\": \"VID\", " + '\n' + + " \"suppressRollback\": \"false\", " + '\n' + + " \"callbackUrl\": \"\" " + '\n' + + " }, " + '\n' + + " \"requestParameters\": { " + '\n' + + " \"backoutOnFailure\": true, " + '\n' + + " \"serviceId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\", " + '\n' + + " \"userParams\": {} " + '\n' + + " } " + '\n' + + " } " + '\n' + + "}"; + return request; + + } + + + public String getDeleteNetworkInstanceInfraRequest_MissingId() { + + String request = + "{ \"requestDetails\": { " + '\n' + + " \"modelInfo\": { " + '\n' + + " \"modelType\": \"modelType\", " + '\n' + + " \"modelId\": \"modelId\", " + '\n' + + " \"modelNameVersionId\": \"modelNameVersionId\", " + '\n' + + " \"modelName\": \"CONTRAIL_EXTERNAL\", " + '\n' + + " \"modelVersion\": \"1\" " + '\n' + + " }, " + '\n' + + " \"cloudConfiguration\": { " + '\n' + + " \"lcpCloudRegionId\": \"RDM2WAGPLCP\", " + '\n' + + " \"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\" " + '\n' + + " }, " + '\n' + + " \"requestInfo\": { " + '\n' + + " \"instanceName\": \"HSL_direct_net_2\", " + '\n' + + " \"source\": \"VID\", " + '\n' + + " \"callbackUrl\": \"\" " + '\n' + + " }, " + '\n' + + " \"requestParameters\": { " + '\n' + + " \"backoutOnFailure\": true, " + '\n' + + " \"serviceId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\", " + '\n' + + " \"userParams\": [] " + '\n' + + " } " + '\n' + + " } " + '\n' + + "}"; + return request; + + } } \ No newline at end of file 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 413e35a326..4c478e6143 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 @@ -16,7 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.infrastructure; @@ -46,535 +46,534 @@ import org.openecomp.mso.bpmn.core.WorkflowException; import org.openecomp.mso.bpmn.mock.FileUtil; import com.github.tomakehurst.wiremock.client.WireMock; - /** * Unit test for DoDeleteVfModule.bpmn. */ 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 vnfAdapterDeleteCallbackFail = - "" + EOL + - " Error processing request to VNF-Async. Not Found." + EOL + - " INTERNAL" + EOL + - " false" + EOL + - " {{MESSAGE-ID}}" + EOL + - "" + EOL; - - private final String sdncAdapterDeleteCallback = - "" + EOL + - " {{REQUEST-ID}}" + EOL + - " Y" + EOL + - "" + EOL; - - public DeleteVfModuleInfraTest() throws IOException { - callbacks.put("sdncChangeDelete", sdncAdapterDeleteCallback); - callbacks.put("sdncDelete", sdncAdapterDeleteCallback); - callbacks.put("vnfDelete", vnfAdapterDeleteCallback); - callbacks.put("vnfDeleteFail", vnfAdapterDeleteCallbackFail); - } - - @Test - @Deployment(resources = { - "process/Infrastructure/DeleteVfModuleInfra.bpmn", - "subprocess/DoDeleteVfModule.bpmn", - "subprocess/PrepareUpdateAAIVfModule.bpmn", - "subprocess/UpdateAAIVfModule.bpmn", - "subprocess/UpdateAAIGenericVnf.bpmn", - "subprocess/DeleteAAIVfModule.bpmn", - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/VnfAdapterRestV1.bpmn", - "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 - String request = - "" + EOL + - " " + EOL + - " a27ce5a9-29c4-4c22-a017-6615ac73c721" + EOL + - " DELETE_VF_MODULE" + EOL + - " PORTAL" + EOL + - " " + EOL + - " " + EOL + - " a27ce5a9-29c4-4c22-a017-6615ac73c721" + EOL + - " STMTN5MMSC21" + EOL + - " asc_heat-int" + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + - " STMTN5MMSC21-MMSC::module-0-0" + EOL + - " 00000000-0000-0000-0000-000000000000" + EOL + - " SDN-ETHERNET-INTERNET" + EOL + - " fba1bd1e195a404cacb9ce17a9b2b421" + EOL + - " pending-delete" + EOL + - " RDM2WAGPLCP" + EOL + - " " + EOL + - " " + EOL + - "" + EOL; - logStart(); - WireMock.reset(); - - stubFor(post(urlEqualTo("/SDNCAdapter")) - .withRequestBody(containing("SvcAction>changedelete")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile("DeleteGenericVNFV1/sdncAdapterResponse.xml"))); - stubFor(post(urlEqualTo("/SDNCAdapter")) - .withRequestBody(containing("SvcAction>delete")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile("DeleteGenericVNFV1/sdncAdapterResponse.xml"))); - - mockVNFDelete(".*", "/.*", 202); + 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 vnfAdapterDeleteCallbackFail = + "" + EOL + + " Error processing request to VNF-Async. Not Found." + EOL + + " INTERNAL" + EOL + + " false" + EOL + + " {{MESSAGE-ID}}" + EOL + + "" + EOL; + + private final String sdncAdapterDeleteCallback = + "" + EOL + + " {{REQUEST-ID}}" + EOL + + " Y" + EOL + + "" + EOL; + + public DeleteVfModuleInfraTest() throws IOException { + callbacks.put("sdncChangeDelete", sdncAdapterDeleteCallback); + callbacks.put("sdncDelete", sdncAdapterDeleteCallback); + callbacks.put("vnfDelete", vnfAdapterDeleteCallback); + callbacks.put("vnfDeleteFail", vnfAdapterDeleteCallbackFail); + } + + @Test + @Deployment(resources = { + "process/Infrastructure/DeleteVfModuleInfra.bpmn", + "subprocess/DoDeleteVfModule.bpmn", + "subprocess/PrepareUpdateAAIVfModule.bpmn", + "subprocess/UpdateAAIVfModule.bpmn", + "subprocess/UpdateAAIGenericVnf.bpmn", + "subprocess/DeleteAAIVfModule.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/VnfAdapterRestV1.bpmn", + "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 + String request = + "" + EOL + + " " + EOL + + " a27ce5a9-29c4-4c22-a017-6615ac73c721" + EOL + + " DELETE_VF_MODULE" + EOL + + " PORTAL" + EOL + + " " + EOL + + " " + EOL + + " a27ce5a9-29c4-4c22-a017-6615ac73c721" + EOL + + " STMTN5MMSC21" + EOL + + " asc_heat-int" + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + + " STMTN5MMSC21-MMSC::module-0-0" + EOL + + " 00000000-0000-0000-0000-000000000000" + EOL + + " SDN-ETHERNET-INTERNET" + EOL + + " fba1bd1e195a404cacb9ce17a9b2b421" + EOL + + " pending-delete" + EOL + + " RDM2WAGPLCP" + EOL + + " " + EOL + + " " + EOL + + "" + EOL; + logStart(); + WireMock.reset(); + + stubFor(post(urlEqualTo("/SDNCAdapter")) + .withRequestBody(containing("SvcAction>changedelete")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile("DeleteGenericVNFV1/sdncAdapterResponse.xml"))); + stubFor(post(urlEqualTo("/SDNCAdapter")) + .withRequestBody(containing("SvcAction>delete")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile("DeleteGenericVNFV1/sdncAdapterResponse.xml"))); + + mockVNFDelete(".*", "/.*", 202); // MockAAIGenericVnfSearch(); // MockAAIVfModulePUT(false); // MockAAIDeleteGenericVnf(); // MockAAIDeleteVfModule(); - mockUpdateRequestDB(200, "VfModularity/DBUpdateResponse.xml"); - - stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c721/vf-modules/vf-module/973ed047-d251-4fb9-bf1a-65b8949e0a73/[?]resource-version=0000073")) - .willReturn(aResponse() - .withStatus(200))); - stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c720/vf-modules/vf-module/973ed047-d251-4fb9-bf1a-65b8949e0a75/[?]resource-version=0000075")) - .willReturn(aResponse() - .withStatus(200))); - stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c718/vf-modules/vf-module/973ed047-d251-4fb9-bf1a-65b8949e0a78/[?]resource-version=0000078")) - .willReturn(aResponse() - .withStatus(200))); - stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c719/vf-modules/vf-module/973ed047-d251-4fb9-bf1a-65b8949e0a77/[?]resource-version=0000077")) - .willReturn(aResponse() - .withStatus(500) - .withHeader("Content-Type", "text/xml") - .withBodyFile("aaiFault.xml"))); - stubFor(get(urlMatching("/aai/v[0-9]+/network/network-policies/network-policy\\?network-policy-fqdn=.*")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile("VfModularity/QueryNetworkPolicy_AAIResponse_Success.xml"))); - - stubFor(delete(urlMatching("/aai/v[0-9]+/network/network-policies/network-policy/.*")) - .willReturn(aResponse() - .withStatus(200))); - - - stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c721/[?]resource-version=0000021")) - .willReturn(aResponse() - .withStatus(200))); - stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c718/[?]resource-version=0000018")) - .willReturn(aResponse() - .withStatus(500) - .withHeader("Content-Type", "text/xml") - .withBodyFile("aaiFault.xml"))); - - stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/.*/vf-modules/vf-module/.*")) - .withRequestBody(containing("MMSC")) - .willReturn(aResponse() - .withStatus(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))); - - String body; - - // The following stubs are for CreateAAIVfModule and UpdateAAIVfModule - - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/[?]vnf-name=STMTN5MMSC23&depth=1")) - .willReturn(aResponse() - .withStatus(500) - .withHeader("Content-Type", "text/xml") - .withBodyFile("aaiFault.xml"))); - - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/[?]vnf-name=STMTN5MMSC22&depth=1")) - .willReturn(aResponse() - .withStatus(404) - .withHeader("Content-Type", "text/xml") - .withBody("Generic VNF Not Found"))); - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/768073c7-f41f-4822-9323-b75962763d74[?]depth=1")) - .willReturn(aResponse() - .withStatus(404) - .withHeader("Content-Type", "text/xml") - .withBody("Generic VNF Not Found"))); - - body = - "" + EOL + - " a27ce5a9-29c4-4c22-a017-6615ac73c721" + EOL + - " STMTN5MMSC21" + EOL + - " mmsc-capacity" + EOL + - " SDN-MOBILITY" + EOL + - " vMMSC" + EOL + - " pending-create" + EOL + - " false" + EOL + - " false" + EOL + - " 1508691" + EOL + - " " + EOL + - " " + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + - " STMTN5MMSC21-MMSC::module-0-0" + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + - " 1.0" + EOL + - " true" + EOL + - " FILLED-IN-BY-MSO" + EOL + - " pending-create" + EOL + - " 1508692" + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - "" + EOL; - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/[?]vnf-name=STMTN5MMSC21&depth=1")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBody(body))); - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c721[?]depth=1")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBody(body))); - - body = - "" + EOL + - " 2f6aee38-1e2a-11e6-82d1-ffc7d9ee8aa4" + EOL + - " STMTN5MMSC20" + EOL + - " mmsc-capacity" + EOL + - " SDN-MOBILITY" + EOL + - " vMMSC" + EOL + - " pending-create" + EOL + - " false" + EOL + - " false" + EOL + - " 1508691" + EOL + - " " + EOL + - " " + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + - " STMTN5MMSC20-MMSC::module-0-0" + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + - " 1.0" + EOL + - " true" + EOL + - " FILLED-IN-BY-MSO" + EOL + - " pending-create" + EOL + - " 1508692" + EOL + - " " + EOL + - " " + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a74" + EOL + - " STMTN5MMSC20-MMSC::module-1-0" + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a74" + EOL + - " 1.0" + EOL + - " false" + EOL + - " FILLED-IN-BY-MSO" + EOL + - " pending-create" + EOL + - " 1508692" + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - "" + EOL; - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/[?]vnf-name=STMTN5MMSC20&depth=1")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBody(body))); - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/2f6aee38-1e2a-11e6-82d1-ffc7d9ee8aa4[?]depth=1")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBody(body))); - - // The following stubs are for DeleteAAIVfModule - - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c723[?]depth=1")) - .willReturn(aResponse() - .withStatus(500) - .withHeader("Content-Type", "text/xml") - .withBodyFile("aaiFault.xml"))); - - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c722[?]depth=1")) - .willReturn(aResponse() - .withStatus(404) - .withHeader("Content-Type", "text/xml") - .withBody("Generic VNF Not Found"))); - - body = - "" + EOL + - " a27ce5a9-29c4-4c22-a017-6615ac73c721" + EOL + - " STMTN5MMSC21" + EOL + - " mmsc-capacity" + EOL + - " SDN-MOBILITY" + EOL + - " vMMSC" + EOL + - " pending-create" + EOL + - " false" + EOL + - " false" + EOL + - " 0000021" + EOL + - " " + EOL + - " " + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + - " STMTN5MMSC21-MMSC::module-0-0" + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + - " 1.0" + EOL + - " true" + EOL + - " FILLED-IN-BY-MSO" + EOL + - " pending-create" + EOL + - " 0000073" + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - "" + EOL; - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c721[?]depth=1")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBody(body))); - - body = - "" + EOL + - " a27ce5a9-29c4-4c22-a017-6615ac73c720" + EOL + - " STMTN5MMSC20" + EOL + - " mmsc-capacity" + EOL + - " SDN-MOBILITY" + EOL + - " vMMSC" + EOL + - " pending-create" + EOL + - " false" + EOL + - " false" + EOL + - " 0000020" + EOL + - " " + EOL + - " " + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a74" + EOL + - " STMTN5MMSC20-MMSC::module-0-0" + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a74" + EOL + - " 1.0" + EOL + - " true" + EOL + - " FILLED-IN-BY-MSO" + EOL + - " pending-create" + EOL + - " 0000074" + EOL + - " " + EOL + - " " + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a75" + EOL + - " STMTN5MMSC20-MMSC::module-1-0" + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a75" + EOL + - " 1.0" + EOL + - " false" + EOL + - " FILLED-IN-BY-MSO" + EOL + - " pending-create" + EOL + - " 0000075" + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - "" + EOL; - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c720[?]depth=1")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBody(body))); - - body = - "" + EOL + - " a27ce5a9-29c4-4c22-a017-6615ac73c719" + EOL + - " STMTN5MMSC19" + EOL + - " mmsc-capacity" + EOL + - " SDN-MOBILITY" + EOL + - " vMMSC" + EOL + - " pending-create" + EOL + - " false" + EOL + - " false" + EOL + - " 0000019" + EOL + - " " + EOL + - " " + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a76" + EOL + - " STMTN5MMSC19-MMSC::module-0-0" + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a76" + EOL + - " 1.0" + EOL + - " true" + EOL + - " FILLED-IN-BY-MSO" + EOL + - " pending-create" + EOL + - " 0000076" + EOL + - " " + EOL + - " " + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a77" + EOL + - " STMTN5MMSC19-MMSC::module-1-0" + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a77" + EOL + - " 1.0" + EOL + - " false" + EOL + - " FILLED-IN-BY-MSO" + EOL + - " pending-create" + EOL + - " 0000077" + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - "" + EOL; - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c719[?]depth=1")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBody(body))); - - body = - "" + EOL + - " a27ce5a9-29c4-4c22-a017-6615ac73c718" + EOL + - " STMTN5MMSC18" + EOL + - " mmsc-capacity" + EOL + - " SDN-MOBILITY" + EOL + - " vMMSC" + EOL + - " pending-create" + EOL + - " false" + EOL + - " false" + EOL + - " 0000018" + EOL + - " " + EOL + - " " + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a78" + EOL + - " STMTN5MMSC18-MMSC::module-0-0" + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a78" + EOL + - " 1.0" + EOL + - " true" + EOL + - " FILLED-IN-BY-MSO" + EOL + - " pending-create" + EOL + - " 0000078" + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - "" + EOL; - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c718[?]depth=1")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBody(body))); - - body = - "" + EOL + - " a27ce5a9-29c4-4c22-a017-6615ac73c721" + EOL + - " STMTN5MMSC21" + EOL + - " mmsc-capacity" + EOL + - " SDN-MOBILITY" + EOL + - " vMMSC" + EOL + - " pending-create" + EOL + - " false" + EOL + - " false" + EOL + - " 0000021" + EOL + - " " + EOL + - " " + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + - " STMTN5MMSC21-MMSC::module-0-0" + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + - " 1.0" + EOL + - " true" + EOL + - " FILLED-IN-BY-MSO" + EOL + - " pending-create" + EOL + - " 0000073" + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - " " + EOL + - "" + EOL; - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c721/vf-modules/vf-module/973ed047-d251-4fb9-bf1a-65b8949e0a73")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBody(body))); - - String businessKey = UUID.randomUUID().toString(); - String deleteVfModuleRequest = - FileUtil.readResourceFile("__files/DeleteVfModule_VID_request.json"); - //Map variables = new HashMap(); - - //variables.put("isDebugLogEnabled","true"); + mockUpdateRequestDB(200, "VfModularity/DBUpdateResponse.xml"); + + stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c721/vf-modules/vf-module/973ed047-d251-4fb9-bf1a-65b8949e0a73/[?]resource-version=0000073")) + .willReturn(aResponse() + .withStatus(200))); + stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c720/vf-modules/vf-module/973ed047-d251-4fb9-bf1a-65b8949e0a75/[?]resource-version=0000075")) + .willReturn(aResponse() + .withStatus(200))); + stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c718/vf-modules/vf-module/973ed047-d251-4fb9-bf1a-65b8949e0a78/[?]resource-version=0000078")) + .willReturn(aResponse() + .withStatus(200))); + stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c719/vf-modules/vf-module/973ed047-d251-4fb9-bf1a-65b8949e0a77/[?]resource-version=0000077")) + .willReturn(aResponse() + .withStatus(500) + .withHeader("Content-Type", "text/xml") + .withBodyFile("aaiFault.xml"))); + stubFor(get(urlMatching("/aai/v[0-9]+/network/network-policies/network-policy\\?network-policy-fqdn=.*")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile("VfModularity/QueryNetworkPolicy_AAIResponse_Success.xml"))); + + stubFor(delete(urlMatching("/aai/v[0-9]+/network/network-policies/network-policy/.*")) + .willReturn(aResponse() + .withStatus(200))); + + + stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c721/[?]resource-version=0000021")) + .willReturn(aResponse() + .withStatus(200))); + stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c718/[?]resource-version=0000018")) + .willReturn(aResponse() + .withStatus(500) + .withHeader("Content-Type", "text/xml") + .withBodyFile("aaiFault.xml"))); + + stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/.*/vf-modules/vf-module/.*")) + .withRequestBody(containing("MMSC")) + .willReturn(aResponse() + .withStatus(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))); + + String body; + + // The following stubs are for CreateAAIVfModule and UpdateAAIVfModule + + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/[?]vnf-name=STMTN5MMSC23&depth=1")) + .willReturn(aResponse() + .withStatus(500) + .withHeader("Content-Type", "text/xml") + .withBodyFile("aaiFault.xml"))); + + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/[?]vnf-name=STMTN5MMSC22&depth=1")) + .willReturn(aResponse() + .withStatus(404) + .withHeader("Content-Type", "text/xml") + .withBody("Generic VNF Not Found"))); + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/768073c7-f41f-4822-9323-b75962763d74[?]depth=1")) + .willReturn(aResponse() + .withStatus(404) + .withHeader("Content-Type", "text/xml") + .withBody("Generic VNF Not Found"))); + + body = + "" + EOL + + " a27ce5a9-29c4-4c22-a017-6615ac73c721" + EOL + + " STMTN5MMSC21" + EOL + + " mmsc-capacity" + EOL + + " SDN-MOBILITY" + EOL + + " vMMSC" + EOL + + " pending-create" + EOL + + " false" + EOL + + " false" + EOL + + " 1508691" + EOL + + " " + EOL + + " " + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + + " STMTN5MMSC21-MMSC::module-0-0" + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + + " 1.0" + EOL + + " true" + EOL + + " FILLED-IN-BY-MSO" + EOL + + " pending-create" + EOL + + " 1508692" + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + "" + EOL; + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/[?]vnf-name=STMTN5MMSC21&depth=1")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBody(body))); + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c721[?]depth=1")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBody(body))); + + body = + "" + EOL + + " 2f6aee38-1e2a-11e6-82d1-ffc7d9ee8aa4" + EOL + + " STMTN5MMSC20" + EOL + + " mmsc-capacity" + EOL + + " SDN-MOBILITY" + EOL + + " vMMSC" + EOL + + " pending-create" + EOL + + " false" + EOL + + " false" + EOL + + " 1508691" + EOL + + " " + EOL + + " " + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + + " STMTN5MMSC20-MMSC::module-0-0" + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + + " 1.0" + EOL + + " true" + EOL + + " FILLED-IN-BY-MSO" + EOL + + " pending-create" + EOL + + " 1508692" + EOL + + " " + EOL + + " " + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a74" + EOL + + " STMTN5MMSC20-MMSC::module-1-0" + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a74" + EOL + + " 1.0" + EOL + + " false" + EOL + + " FILLED-IN-BY-MSO" + EOL + + " pending-create" + EOL + + " 1508692" + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + "" + EOL; + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/[?]vnf-name=STMTN5MMSC20&depth=1")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBody(body))); + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/2f6aee38-1e2a-11e6-82d1-ffc7d9ee8aa4[?]depth=1")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBody(body))); + + // The following stubs are for DeleteAAIVfModule + + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c723[?]depth=1")) + .willReturn(aResponse() + .withStatus(500) + .withHeader("Content-Type", "text/xml") + .withBodyFile("aaiFault.xml"))); + + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c722[?]depth=1")) + .willReturn(aResponse() + .withStatus(404) + .withHeader("Content-Type", "text/xml") + .withBody("Generic VNF Not Found"))); + + body = + "" + EOL + + " a27ce5a9-29c4-4c22-a017-6615ac73c721" + EOL + + " STMTN5MMSC21" + EOL + + " mmsc-capacity" + EOL + + " SDN-MOBILITY" + EOL + + " vMMSC" + EOL + + " pending-create" + EOL + + " false" + EOL + + " false" + EOL + + " 0000021" + EOL + + " " + EOL + + " " + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + + " STMTN5MMSC21-MMSC::module-0-0" + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + + " 1.0" + EOL + + " true" + EOL + + " FILLED-IN-BY-MSO" + EOL + + " pending-create" + EOL + + " 0000073" + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + "" + EOL; + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c721[?]depth=1")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBody(body))); + + body = + "" + EOL + + " a27ce5a9-29c4-4c22-a017-6615ac73c720" + EOL + + " STMTN5MMSC20" + EOL + + " mmsc-capacity" + EOL + + " SDN-MOBILITY" + EOL + + " vMMSC" + EOL + + " pending-create" + EOL + + " false" + EOL + + " false" + EOL + + " 0000020" + EOL + + " " + EOL + + " " + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a74" + EOL + + " STMTN5MMSC20-MMSC::module-0-0" + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a74" + EOL + + " 1.0" + EOL + + " true" + EOL + + " FILLED-IN-BY-MSO" + EOL + + " pending-create" + EOL + + " 0000074" + EOL + + " " + EOL + + " " + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a75" + EOL + + " STMTN5MMSC20-MMSC::module-1-0" + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a75" + EOL + + " 1.0" + EOL + + " false" + EOL + + " FILLED-IN-BY-MSO" + EOL + + " pending-create" + EOL + + " 0000075" + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + "" + EOL; + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c720[?]depth=1")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBody(body))); + + body = + "" + EOL + + " a27ce5a9-29c4-4c22-a017-6615ac73c719" + EOL + + " STMTN5MMSC19" + EOL + + " mmsc-capacity" + EOL + + " SDN-MOBILITY" + EOL + + " vMMSC" + EOL + + " pending-create" + EOL + + " false" + EOL + + " false" + EOL + + " 0000019" + EOL + + " " + EOL + + " " + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a76" + EOL + + " STMTN5MMSC19-MMSC::module-0-0" + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a76" + EOL + + " 1.0" + EOL + + " true" + EOL + + " FILLED-IN-BY-MSO" + EOL + + " pending-create" + EOL + + " 0000076" + EOL + + " " + EOL + + " " + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a77" + EOL + + " STMTN5MMSC19-MMSC::module-1-0" + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a77" + EOL + + " 1.0" + EOL + + " false" + EOL + + " FILLED-IN-BY-MSO" + EOL + + " pending-create" + EOL + + " 0000077" + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + "" + EOL; + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c719[?]depth=1")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBody(body))); + + body = + "" + EOL + + " a27ce5a9-29c4-4c22-a017-6615ac73c718" + EOL + + " STMTN5MMSC18" + EOL + + " mmsc-capacity" + EOL + + " SDN-MOBILITY" + EOL + + " vMMSC" + EOL + + " pending-create" + EOL + + " false" + EOL + + " false" + EOL + + " 0000018" + EOL + + " " + EOL + + " " + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a78" + EOL + + " STMTN5MMSC18-MMSC::module-0-0" + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a78" + EOL + + " 1.0" + EOL + + " true" + EOL + + " FILLED-IN-BY-MSO" + EOL + + " pending-create" + EOL + + " 0000078" + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + "" + EOL; + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c718[?]depth=1")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBody(body))); + + body = + "" + EOL + + " a27ce5a9-29c4-4c22-a017-6615ac73c721" + EOL + + " STMTN5MMSC21" + EOL + + " mmsc-capacity" + EOL + + " SDN-MOBILITY" + EOL + + " vMMSC" + EOL + + " pending-create" + EOL + + " false" + EOL + + " false" + EOL + + " 0000021" + EOL + + " " + EOL + + " " + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + + " STMTN5MMSC21-MMSC::module-0-0" + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + + " 1.0" + EOL + + " true" + EOL + + " FILLED-IN-BY-MSO" + EOL + + " pending-create" + EOL + + " 0000073" + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + " " + EOL + + "" + EOL; + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c721/vf-modules/vf-module/973ed047-d251-4fb9-bf1a-65b8949e0a73")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBody(body))); + + String businessKey = UUID.randomUUID().toString(); + String deleteVfModuleRequest = + FileUtil.readResourceFile("__files/DeleteVfModule_VID_request.json"); + //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"); + + Map variables = setupVariablesSunnyDayVID(); - Map variables = setupVariablesSunnyDayVID(); - - TestAsyncResponse asyncResponse = invokeAsyncProcess("DeleteVfModuleInfra", - "v1", businessKey, deleteVfModuleRequest, variables); - WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 10000); - String responseBody = response.getResponse(); - System.out.println("Workflow (Synch) Response:\n" + responseBody); + TestAsyncResponse asyncResponse = invokeAsyncProcess("DeleteVfModuleInfra", + "v1", businessKey, deleteVfModuleRequest, variables); + WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 10000); + String responseBody = response.getResponse(); + System.out.println("Workflow (Synch) Response:\n" + responseBody); - // "changedelete" operation not required for deleting a Vf Module + // "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, "WorkflowException"); - checkVariable(businessKey, "DeleteVfModuleInfraSuccessIndicator", true); - checkVariable(businessKey, "WorkflowException", null); - if (wfe != null) { - System.out.println("TestDeleteVfModuleInfraSuccess: ErrorCode=" + wfe.getErrorCode() + - ", ErrorMessage=" + wfe.getErrorMessage()); - } - logEnd(); - } - - // 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("isBaseVfModule", "true"); - variables.put("isDebugLogEnabled", "true"); - variables.put("recipeTimeout", "0"); - variables.put("requestAction", "DELETE_VF_MODULE"); - variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4"); - variables.put("vnfId", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); - variables.put("vfModuleId", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); - variables.put("volumeGroupId", ""); - variables.put("serviceType", "MOG"); - variables.put("vfModuleType", ""); - return variables; - - } - - + injectVNFRestCallbacks(callbacks, "vnfDelete"); + waitForRunningProcessCount("vnfAdapterDeleteV1", 0, 120000); + injectSDNCCallbacks(callbacks, "sdncDelete"); + + waitForProcessEnd(businessKey, 10000); + WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); + checkVariable(businessKey, "DeleteVfModuleInfraSuccessIndicator", true); + checkVariable(businessKey, "WorkflowException", null); + if (wfe != null) { + System.out.println("TestDeleteVfModuleInfraSuccess: ErrorCode=" + wfe.getErrorCode() + + ", ErrorMessage=" + wfe.getErrorMessage()); + } + logEnd(); + } + + // 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("isBaseVfModule", "true"); + variables.put("isDebugLogEnabled", "true"); + variables.put("recipeTimeout", "0"); + variables.put("requestAction", "DELETE_VF_MODULE"); + variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4"); + variables.put("vnfId", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); + variables.put("vfModuleId", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); + variables.put("volumeGroupId", ""); + variables.put("serviceType", "MOG"); + variables.put("vfModuleType", ""); + return variables; + + } + + } diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DeleteVfModuleVolumeInfraV1Test.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DeleteVfModuleVolumeInfraV1Test.java index bdeb9aaf6a..84050c40e5 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DeleteVfModuleVolumeInfraV1Test.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DeleteVfModuleVolumeInfraV1Test.java @@ -16,7 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.infrastructure; @@ -36,131 +36,131 @@ import org.openecomp.mso.bpmn.mock.FileUtil; * Unit test cases for UpdateVfModuleVolume.bpmn */ public class DeleteVfModuleVolumeInfraV1Test extends WorkflowTest { - - private final CallbackSet callbacks = new CallbackSet(); - - public DeleteVfModuleVolumeInfraV1Test() throws IOException { - callbacks.put("volumeGroupDelete", FileUtil.readResourceFile( - "__files/DeleteVfModuleVolumeInfraV1/DeleteVfModuleVolumeCallbackResponse.xml")); - } - - /** - * Happy path scenario. - * - * @throws Exception - */ - @Test - @Ignore // BROKEN TEST - @Deployment(resources = {"process/DeleteVfModuleVolumeInfraV1.bpmn", + + private final CallbackSet callbacks = new CallbackSet(); + + public DeleteVfModuleVolumeInfraV1Test() throws IOException { + callbacks.put("volumeGroupDelete", FileUtil.readResourceFile( + "__files/DeleteVfModuleVolumeInfraV1/DeleteVfModuleVolumeCallbackResponse.xml")); + } + + /** + * Happy path scenario. + * + * @throws Exception + */ + @Test + @Ignore // BROKEN TEST + @Deployment(resources = {"process/DeleteVfModuleVolumeInfraV1.bpmn", "subprocess/FalloutHandler.bpmn", "subprocess/CompleteMsoProcess.bpmn", "subprocess/VnfAdapterRestV1.bpmn"}) - public void happyPath() throws Exception { - - logStart(); + public void happyPath() throws Exception { + logStart(); + // DeleteVfModuleVolumeInfraV1_success(); - - String businessKey = UUID.randomUUID().toString(); - String deleteVfModuleVolRequest = - FileUtil.readResourceFile("__files/DeleteVfModuleVolumeInfraV1/deleteVfModuleVolume_VID_request_st.json"); - - Map testVariables = new HashMap<>(); - testVariables.put("requestId", "TEST-REQUEST-ID-0123"); - testVariables.put("volumeGroupId", "78987"); - testVariables.put("serviceInstanceId", "test-service-instance-id-0123"); - - TestAsyncResponse asyncResponse = invokeAsyncProcess("DeleteVfModuleVolumeInfraV1", - "v1", businessKey, deleteVfModuleVolRequest, testVariables); - WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 100000); - - String responseBody = response.getResponse(); - System.out.println("Workflow (Synch) Response:\n" + responseBody); - - injectVNFRestCallbacks(callbacks, "volumeGroupDelete"); - - waitForProcessEnd(businessKey, 100000); - checkVariable(businessKey, "DELVfModVol_TransactionSuccessIndicator", true); - - logEnd(); - } - - /** - * Test fails - vf module in use - * - * @throws Exception - */ - @Test - @Deployment(resources = {"process/DeleteVfModuleVolumeInfraV1.bpmn", + + String businessKey = UUID.randomUUID().toString(); + String deleteVfModuleVolRequest = + FileUtil.readResourceFile("__files/DeleteVfModuleVolumeInfraV1/deleteVfModuleVolume_VID_request_st.json"); + + Map testVariables = new HashMap<>(); + testVariables.put("requestId", "TEST-REQUEST-ID-0123"); + testVariables.put("volumeGroupId", "78987"); + testVariables.put("serviceInstanceId", "test-service-instance-id-0123"); + + TestAsyncResponse asyncResponse = invokeAsyncProcess("DeleteVfModuleVolumeInfraV1", + "v1", businessKey, deleteVfModuleVolRequest, testVariables); + WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 100000); + + String responseBody = response.getResponse(); + System.out.println("Workflow (Synch) Response:\n" + responseBody); + + injectVNFRestCallbacks(callbacks, "volumeGroupDelete"); + + waitForProcessEnd(businessKey, 100000); + checkVariable(businessKey, "DELVfModVol_TransactionSuccessIndicator", true); + + logEnd(); + } + + /** + * Test fails - vf module in use + * + * @throws Exception + */ + @Test + @Deployment(resources = {"process/DeleteVfModuleVolumeInfraV1.bpmn", "subprocess/FalloutHandler.bpmn", "subprocess/CompleteMsoProcess.bpmn", "subprocess/VnfAdapterRestV1.bpmn"}) - public void TestVfModuleInUseError() throws Exception { - - logStart(); + public void TestVfModuleInUseError() throws Exception { + logStart(); + // DeleteVfModuleVolumeInfraV1_inUseError(); // no assertions to check - - String businessKey = UUID.randomUUID().toString(); - String deleteVfModuleVolRequest = - FileUtil.readResourceFile("__files/DeleteVfModuleVolumeInfraV1/deleteVfModuleVolume_VID_request_st.json"); - - Map testVariables = new HashMap<>(); - testVariables.put("requestId", "TEST-REQUEST-ID-0123"); - testVariables.put("volumeGroupId", "78987"); - - TestAsyncResponse asyncResponse = invokeAsyncProcess("DeleteVfModuleVolumeInfraV1", - "v1", businessKey, deleteVfModuleVolRequest, testVariables); - WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 100000); - - String responseBody = response.getResponse(); - System.out.println("Workflow (Synch) Response:\n" + responseBody); - - //injectVNFRestCallbacks(callbacks, "volumeGroupDelete"); - - waitForProcessEnd(businessKey, 100000); - checkVariable(businessKey, "DELVfModVol_TransactionSuccessIndicator", false); - - logEnd(); - } - - /** - * Test fails on vnf adapter call - * - * @throws Exception - */ - @Test - @Ignore // BROKEN TEST - @Deployment(resources = {"process/DeleteVfModuleVolumeInfraV1.bpmn", + + String businessKey = UUID.randomUUID().toString(); + String deleteVfModuleVolRequest = + FileUtil.readResourceFile("__files/DeleteVfModuleVolumeInfraV1/deleteVfModuleVolume_VID_request_st.json"); + + Map testVariables = new HashMap<>(); + testVariables.put("requestId", "TEST-REQUEST-ID-0123"); + testVariables.put("volumeGroupId", "78987"); + + TestAsyncResponse asyncResponse = invokeAsyncProcess("DeleteVfModuleVolumeInfraV1", + "v1", businessKey, deleteVfModuleVolRequest, testVariables); + WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 100000); + + String responseBody = response.getResponse(); + System.out.println("Workflow (Synch) Response:\n" + responseBody); + + //injectVNFRestCallbacks(callbacks, "volumeGroupDelete"); + + waitForProcessEnd(businessKey, 100000); + checkVariable(businessKey, "DELVfModVol_TransactionSuccessIndicator", false); + + logEnd(); + } + + /** + * Test fails on vnf adapter call + * + * @throws Exception + */ + @Test + @Ignore // BROKEN TEST + @Deployment(resources = {"process/DeleteVfModuleVolumeInfraV1.bpmn", "subprocess/FalloutHandler.bpmn", "subprocess/CompleteMsoProcess.bpmn", "subprocess/VnfAdapterRestV1.bpmn"}) - public void TestVnfAdapterCallfail() throws Exception { - - logStart(); + public void TestVnfAdapterCallfail() throws Exception { + logStart(); + // DeleteVfModuleVolumeInfraV1_fail(); - - String businessKey = UUID.randomUUID().toString(); - String deleteVfModuleVolRequest = - FileUtil.readResourceFile("__files/DeleteVfModuleVolumeInfraV1/deleteVfModuleVolume_VID_request_st.json"); - - Map testVariables = new HashMap<>(); - testVariables.put("requestId", "TEST-REQUEST-ID-0123"); - testVariables.put("volumeGroupId", "78987"); - - TestAsyncResponse asyncResponse = invokeAsyncProcess("DeleteVfModuleVolumeInfraV1", - "v1", businessKey, deleteVfModuleVolRequest, testVariables); - WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 100000); - - String responseBody = response.getResponse(); - System.out.println("Workflow (Synch) Response:\n" + responseBody); - - //injectVNFRestCallbacks(callbacks, "volumeGroupDelete"); - - waitForProcessEnd(businessKey, 100000); - checkVariable(businessKey, "DELVfModVol_TransactionSuccessIndicator", false); - - logEnd(); - } + + String businessKey = UUID.randomUUID().toString(); + String deleteVfModuleVolRequest = + FileUtil.readResourceFile("__files/DeleteVfModuleVolumeInfraV1/deleteVfModuleVolume_VID_request_st.json"); + + Map testVariables = new HashMap<>(); + testVariables.put("requestId", "TEST-REQUEST-ID-0123"); + testVariables.put("volumeGroupId", "78987"); + + TestAsyncResponse asyncResponse = invokeAsyncProcess("DeleteVfModuleVolumeInfraV1", + "v1", businessKey, deleteVfModuleVolRequest, testVariables); + WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 100000); + + String responseBody = response.getResponse(); + System.out.println("Workflow (Synch) Response:\n" + responseBody); + + //injectVNFRestCallbacks(callbacks, "volumeGroupDelete"); + + waitForProcessEnd(businessKey, 100000); + checkVariable(businessKey, "DELVfModVol_TransactionSuccessIndicator", false); + + logEnd(); + } } diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DeleteVnfInfraTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DeleteVnfInfraTest.java index 7c79625439..89bf141247 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DeleteVnfInfraTest.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DeleteVnfInfraTest.java @@ -19,7 +19,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.infrastructure; @@ -49,151 +49,152 @@ import org.openecomp.mso.bpmn.mock.FileUtil; /** * Please describe the DeleteVnfInfra.java class + * */ public class DeleteVnfInfraTest extends WorkflowTest { - private String deleteVnfInfraRequest; - private String deleteVnfInfraRequestCascadeDelete; - - public DeleteVnfInfraTest() throws IOException { - deleteVnfInfraRequest = FileUtil.readResourceFile("__files/InfrastructureFlows/CreateVnfInfraRequest.json"); - deleteVnfInfraRequestCascadeDelete = FileUtil.readResourceFile("__files/InfrastructureFlows/DeleteVnfInfraRequestCascadeDelete.json"); - } - - @Test - @Deployment(resources = {"subprocess/GenericGetVnf.bpmn", - "subprocess/GenericDeleteVnf.bpmn", - "subprocess/DoDeleteVnf.bpmn", - "process/DeleteVnfInfra.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/CompleteMsoProcess.bpmn"}) - public void testDeleteVnfInfra_success() throws Exception { - - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/testVnfId123[?]depth=1")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile("GenericFlows/getGenericVnfByNameResponse.xml"))); - - MockDeleteGenericVnf(); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - Map variables = new HashMap<>(); - setVariables(variables, deleteVnfInfraRequest, "testRequestId123", "MIS%2F1604%2F0026%2FSW_INTERNET"); - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "DeleteVnfInfra", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - Object cascadeDelete = BPMNUtil.getRawVariable(processEngineRule, "DeleteVnfInfra", "DELVI_cascadeDelete"); - String found = BPMNUtil.getVariable(processEngineRule, "DoDeleteVnf", "GENGV_FoundIndicator"); - String inUse = BPMNUtil.getVariable(processEngineRule, "DeleteVnfInfra", "DELVI_vnfInUse"); - String response = BPMNUtil.getVariable(processEngineRule, "DeleteVnfInfra", "WorkflowResponse"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "DeleteVnfInfra", "WorkflowException"); - - assertEquals(false, cascadeDelete); - assertEquals("true", found); - assertEquals("false", inUse); - assertEquals("Success", response); - assertEquals(null, workflowException); - } - - @Test - @Ignore // DoDeleteVnfAndModules not complete yet - @Deployment(resources = {"subprocess/GenericGetVnf.bpmn", - "subprocess/GenericDeleteVnf.bpmn", - "subprocess/DoDeleteVnfAndModules.bpmn", - "process/DeleteVnfInfra.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/CompleteMsoProcess.bpmn"}) - public void testDeleteVnfInfra_cascadeDelete() throws Exception { - MockGetGenericVnfById(); - MockDeleteGenericVnf(); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - Map variables = new HashMap<>(); - setVariables(variables, deleteVnfInfraRequestCascadeDelete, "testRequestId123", "MIS%2F1604%2F0026%2FSW_INTERNET"); - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "DeleteVnfInfra", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - String found = BPMNUtil.getVariable(processEngineRule, "DoDeleteVnf", "GENGV_FoundIndicator"); - String inUse = BPMNUtil.getVariable(processEngineRule, "DoDeleteVnf", "DoDVNF_vnfInUse"); - String response = BPMNUtil.getVariable(processEngineRule, "DeleteVnfInfra", "WorkflowResponse"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "DeleteVnfInfra", "WorkflowException"); - Object cascadeDelete = BPMNUtil.getRawVariable(processEngineRule, "DeleteVnfInfra", "DELVI_cascadeDelete"); - - assertEquals(true, cascadeDelete); - assertEquals("true", found); - assertEquals("false", inUse); - assertEquals("Success", response); - assertEquals(null, workflowException); - } - - @Test - @Deployment(resources = {"subprocess/GenericGetVnf.bpmn", - "subprocess/GenericDeleteVnf.bpmn", - "subprocess/DoDeleteVnf.bpmn", - "process/DeleteVnfInfra.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/CompleteMsoProcess.bpmn"}) - public void testDeleteVnfInfra_success_vnfNotFound() throws Exception { - - MockDeleteGenericVnf_404(); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - Map variables = new HashMap<>(); - setVariables(variables, deleteVnfInfraRequest, "testRequestId123", "MIS%2F1604%2F0026%2FSW_INTERNET"); - - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "DeleteVnfInfra", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - String found = BPMNUtil.getVariable(processEngineRule, "DoDeleteVnf", "GENGV_FoundIndicator"); - String inUse = BPMNUtil.getVariable(processEngineRule, "DoDeleteVnf", "DoDVNF_vnfInUse"); - String response = BPMNUtil.getVariable(processEngineRule, "DeleteVnfInfra", "WorkflowResponse"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "DoDeleteVnf", "WorkflowException"); - - assertEquals("false", found); - assertEquals("false", inUse); - assertEquals("Success", response); - assertEquals(null, workflowException); - } - - @Test - @Deployment(resources = {"subprocess/GenericGetVnf.bpmn", - "subprocess/GenericDeleteVnf.bpmn", - "subprocess/DoDeleteVnf.bpmn", - "process/DeleteVnfInfra.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/CompleteMsoProcess.bpmn"}) - public void testDeleteVnfInfra_error_vnfInUse() throws Exception { - - stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/testVnfId123[?]depth=1")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile("GenericFlows/getGenericVnfResponse_hasRelationships.xml"))); - MockDeleteGenericVnf(); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - Map variables = new HashMap<>(); - setVariables(variables, deleteVnfInfraRequest, "testRequestId123", "MIS%2F1604%2F0026%2FSW_INTERNET"); - - WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "DeleteVnfInfra", variables); - waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - String found = BPMNUtil.getVariable(processEngineRule, "DoDeleteVnf", "GENGV_FoundIndicator"); - String inUse = BPMNUtil.getVariable(processEngineRule, "DoDeleteVnf", "DoDVNF_vnfInUse"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "DeleteVnfInfra", "SavedWorkflowException1"); - - String exWfex = "WorkflowException[processKey=DoDeleteVnf,errorCode=5000,errorMessage=Can't Delete Generic Vnf. Generic Vnf is still in use.]"; - - assertEquals("true", found); - assertEquals("true", inUse); - assertEquals(exWfex, workflowException); - } - - private void setVariables(Map variables, String request, String requestId, String siId) { - variables.put("isDebugLogEnabled", "true"); - variables.put("bpmnRequest", request); - variables.put("mso-request-id", requestId); - variables.put("serviceInstanceId", siId); - variables.put("vnfId", "testVnfId123"); - } + private String deleteVnfInfraRequest; + private String deleteVnfInfraRequestCascadeDelete; + + public DeleteVnfInfraTest () throws IOException { + deleteVnfInfraRequest = FileUtil.readResourceFile("__files/InfrastructureFlows/CreateVnfInfraRequest.json"); + deleteVnfInfraRequestCascadeDelete = FileUtil.readResourceFile("__files/InfrastructureFlows/DeleteVnfInfraRequestCascadeDelete.json"); + } + + @Test + @Deployment(resources = {"subprocess/GenericGetVnf.bpmn", + "subprocess/GenericDeleteVnf.bpmn", + "subprocess/DoDeleteVnf.bpmn", + "process/DeleteVnfInfra.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/CompleteMsoProcess.bpmn"}) + public void testDeleteVnfInfra_success() throws Exception{ + + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/testVnfId123[?]depth=1")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile("GenericFlows/getGenericVnfByNameResponse.xml"))); + + MockDeleteGenericVnf(); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + Map variables = new HashMap<>(); + setVariables(variables, deleteVnfInfraRequest, "testRequestId123", "MIS%2F1604%2F0026%2FSW_INTERNET"); + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "DeleteVnfInfra", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + Object cascadeDelete = BPMNUtil.getRawVariable(processEngineRule, "DeleteVnfInfra", "DELVI_cascadeDelete"); + String found = BPMNUtil.getVariable(processEngineRule, "DoDeleteVnf", "GENGV_FoundIndicator") ; + String inUse = BPMNUtil.getVariable(processEngineRule, "DeleteVnfInfra", "DELVI_vnfInUse"); + String response = BPMNUtil.getVariable(processEngineRule, "DeleteVnfInfra", "WorkflowResponse"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "DeleteVnfInfra", "WorkflowException"); + + assertEquals(false, cascadeDelete); + assertEquals("true", found); + assertEquals("false", inUse); + assertEquals("Success", response); + assertEquals(null, workflowException); + } + + @Test + @Ignore // DoDeleteVnfAndModules not complete yet + @Deployment(resources = {"subprocess/GenericGetVnf.bpmn", + "subprocess/GenericDeleteVnf.bpmn", + "subprocess/DoDeleteVnfAndModules.bpmn", + "process/DeleteVnfInfra.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/CompleteMsoProcess.bpmn"}) + public void testDeleteVnfInfra_cascadeDelete() throws Exception{ + MockGetGenericVnfById(); + MockDeleteGenericVnf(); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + Map variables = new HashMap<>(); + setVariables(variables, deleteVnfInfraRequestCascadeDelete, "testRequestId123", "MIS%2F1604%2F0026%2FSW_INTERNET"); + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "DeleteVnfInfra", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + String found = BPMNUtil.getVariable(processEngineRule, "DoDeleteVnf", "GENGV_FoundIndicator") ; + String inUse = BPMNUtil.getVariable(processEngineRule, "DoDeleteVnf", "DoDVNF_vnfInUse"); + String response = BPMNUtil.getVariable(processEngineRule, "DeleteVnfInfra", "WorkflowResponse"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "DeleteVnfInfra", "WorkflowException"); + Object cascadeDelete = BPMNUtil.getRawVariable(processEngineRule, "DeleteVnfInfra", "DELVI_cascadeDelete"); + + assertEquals(true, cascadeDelete); + assertEquals("true", found); + assertEquals("false", inUse); + assertEquals("Success", response); + assertEquals(null, workflowException); + } + + @Test + @Deployment(resources = {"subprocess/GenericGetVnf.bpmn", + "subprocess/GenericDeleteVnf.bpmn", + "subprocess/DoDeleteVnf.bpmn", + "process/DeleteVnfInfra.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/CompleteMsoProcess.bpmn"}) + public void testDeleteVnfInfra_success_vnfNotFound() throws Exception{ + + MockDeleteGenericVnf_404(); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + Map variables = new HashMap<>(); + setVariables(variables, deleteVnfInfraRequest, "testRequestId123", "MIS%2F1604%2F0026%2FSW_INTERNET"); + + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "DeleteVnfInfra", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + String found = BPMNUtil.getVariable(processEngineRule, "DoDeleteVnf", "GENGV_FoundIndicator") ; + String inUse = BPMNUtil.getVariable(processEngineRule, "DoDeleteVnf", "DoDVNF_vnfInUse"); + String response = BPMNUtil.getVariable(processEngineRule, "DeleteVnfInfra", "WorkflowResponse"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "DoDeleteVnf", "WorkflowException"); + + assertEquals("false", found); + assertEquals("false", inUse); + assertEquals("Success", response); + assertEquals(null, workflowException); + } + + @Test + @Deployment(resources = {"subprocess/GenericGetVnf.bpmn", + "subprocess/GenericDeleteVnf.bpmn", + "subprocess/DoDeleteVnf.bpmn", + "process/DeleteVnfInfra.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/CompleteMsoProcess.bpmn"}) + public void testDeleteVnfInfra_error_vnfInUse() throws Exception{ + + stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/testVnfId123[?]depth=1")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile("GenericFlows/getGenericVnfResponse_hasRelationships.xml"))); + MockDeleteGenericVnf(); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + Map variables = new HashMap<>(); + setVariables(variables, deleteVnfInfraRequest, "testRequestId123", "MIS%2F1604%2F0026%2FSW_INTERNET"); + + WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "DeleteVnfInfra", variables); + waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + String found = BPMNUtil.getVariable(processEngineRule, "DoDeleteVnf", "GENGV_FoundIndicator") ; + String inUse = BPMNUtil.getVariable(processEngineRule, "DoDeleteVnf", "DoDVNF_vnfInUse"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "DeleteVnfInfra", "SavedWorkflowException1"); + + String exWfex = "WorkflowException[processKey=DoDeleteVnf,errorCode=5000,errorMessage=Can't Delete Generic Vnf. Generic Vnf is still in use.]"; + + assertEquals("true", found); + assertEquals("true", inUse); + assertEquals(exWfex, workflowException); + } + + private void setVariables(Map variables, String request, String requestId, String siId) { + variables.put("isDebugLogEnabled", "true"); + variables.put("bpmnRequest", request); + variables.put("mso-request-id", requestId); + variables.put("serviceInstanceId",siId); + variables.put("vnfId","testVnfId123"); + } } 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 453e562f75..16433caa4c 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 @@ -43,157 +43,157 @@ import org.openecomp.mso.bpmn.core.RollbackData; * Unit test cases for DoCreateServiceInstanceRollback.bpmn */ public class DoCreateSIRollbackTest extends WorkflowTest { - private static final String EOL = "\n"; - private final CallbackSet callbacks = new CallbackSet(); - private final String sdncAdapterCallback = - "" + EOL + - " ((REQUEST-ID))" + EOL + - " Y" + EOL + - "" + EOL; - - public DoCreateSIRollbackTest() throws IOException { - callbacks.put("deactivate", sdncAdapterCallback); - callbacks.put("delete", sdncAdapterCallback); - } - - /** - * Sunny day VID scenario. - * - * @throws Exception - */ - //@Ignore // File not found - unable to run the test. Also, Stubs need updating.. - @Test - @Deployment(resources = { - "subprocess/DoCreateServiceInstanceRollback.bpmn", - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/GenericDeleteService.bpmn", - "subprocess/GenericGetService.bpmn", - "subprocess/CompleteMsoProcess.bpmn", - "subprocess/FalloutHandler.bpmn"}) - public void sunnyDay() throws Exception { - - logStart(); - - //AAI - MockDeleteServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", ""); - MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getSINoRelations.xml"); - MockNodeQueryServiceInstanceById("MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getSIUrlById.xml"); - //SDNC - mockSDNCAdapter(200); - //DB - mockUpdateRequestDB(200, "DBUpdateResponse.xml"); - String businessKey = UUID.randomUUID().toString(); - - Map variables = new HashMap<>(); - setupVariables(variables); - invokeSubProcess("DoCreateServiceInstanceRollback", businessKey, variables); - injectSDNCCallbacks(callbacks, "deactivate"); - injectSDNCCallbacks(callbacks, "delete"); - waitForProcessEnd(businessKey, 10000); - Assert.assertTrue(isProcessEnded(businessKey)); - String workflowException = BPMNUtil.getVariable(processEngineRule, "DoCreateServiceInstanceRollback", "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", "RaaTestRequestId-1"); - variables.put("mso-request-id", "RaaTestRequestId-1"); - variables.put("serviceInstanceId", "MIS%252F1604%252F0026%252FSW_INTERNET"); - - RollbackData rollbackData = new RollbackData(); - - rollbackData.put("SERVICEINSTANCE", "serviceInstanceId", "MIS%252F1604%252F0026%252FSW_INTERNET"); - rollbackData.put("SERVICEINSTANCE", "globalCustomerId", "SDN-ETHERNET-INTERNET"); - rollbackData.put("SERVICEINSTANCE", "serviceSubscriptionType", "123456789"); - rollbackData.put("SERVICEINSTANCE", "disablerollback", "false"); - rollbackData.put("SERVICEINSTANCE", "rollbackAAI", "true"); - rollbackData.put("SERVICEINSTANCE", "rollbackSDNC", "true"); - - String req = "" + EOL + - "" + EOL + - "b043d290-140d-4a38-a9b6-95d3b8bd27d4" + EOL + - "MIS%252F1604%252F0026%252FSW_INTERNET" + EOL + - "deactivate" + EOL + - "service-topology-operation" + EOL + - "http://localhost:8080/mso/SDNCAdapterCallbackService" + EOL + - "" + EOL + - "" + EOL + - "" + EOL + - "RaaTestRequestId-1" + EOL + - "MSO" + EOL + - "" + EOL + - "" + EOL + - "" + EOL + - "DeleteServiceInstance" + EOL + - "" + EOL + - "" + EOL + - "" + EOL + - "123456789" + EOL + - "" + EOL + - "" + EOL + - "" + EOL + - "" + EOL + - "" + EOL + - "" + EOL + - "MIS%252F1604%252F0026%252FSW_INTERNET" + EOL + - "" + EOL + - "SDN-ETHERNET-INTERNET" + EOL + - "" + EOL + - "" + EOL + - "" + EOL + - "" + EOL + - "" + EOL + - ""; - - String req1 = "" + EOL + - "" + EOL + - "bca4fede-0804-4c13-af69-9e80b378150f" + EOL + - "MIS%252F1604%252F0026%252FSW_INTERNET" + EOL + - "delete" + EOL + - "service-topology-operation" + EOL + - "http://localhost:8080/mso/SDNCAdapterCallbackService" + EOL + - "" + EOL + - "" + EOL + - "" + EOL + - "RaaTestRequestId-1" + EOL + - "MSO" + EOL + - "" + EOL + - "" + EOL + - "" + EOL + - "DeleteServiceInstance" + EOL + - "" + EOL + - "" + EOL + - "" + EOL + - "123456789" + EOL + - "" + EOL + - "" + EOL + - "" + EOL + - "" + EOL + - "" + EOL + - "" + EOL + - "MIS%252F1604%252F0026%252FSW_INTERNET" + EOL + - "" + EOL + - "SDN-ETHERNET-INTERNET" + EOL + - "" + EOL + - "" + EOL + - "" + EOL + - "" + EOL + - "" + EOL + - ""; - - rollbackData.put("SERVICEINSTANCE", "sdncDeactivate", req); - - rollbackData.put("SERVICEINSTANCE", "sdncDelete", req1); - variables.put("rollbackData", rollbackData); - - } + private static final String EOL = "\n"; + private final CallbackSet callbacks = new CallbackSet(); + private final String sdncAdapterCallback = + "" + EOL + + " ((REQUEST-ID))" + EOL + + " Y" + EOL + + "" + EOL; + + public DoCreateSIRollbackTest() throws IOException { + callbacks.put("deactivate", sdncAdapterCallback); + callbacks.put("delete", sdncAdapterCallback); + } + + /** + * Sunny day VID scenario. + * + * @throws Exception + */ + //@Ignore // File not found - unable to run the test. Also, Stubs need updating.. + @Test + @Deployment(resources = { + "subprocess/DoCreateServiceInstanceRollback.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/GenericDeleteService.bpmn", + "subprocess/GenericGetService.bpmn", + "subprocess/CompleteMsoProcess.bpmn", + "subprocess/FalloutHandler.bpmn" }) + public void sunnyDay() throws Exception { + + logStart(); + + //AAI + MockDeleteServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", ""); + MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getSINoRelations.xml"); + MockNodeQueryServiceInstanceById("MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getSIUrlById.xml"); + //SDNC + mockSDNCAdapter(200); + //DB + mockUpdateRequestDB(200, "DBUpdateResponse.xml"); + String businessKey = UUID.randomUUID().toString(); + + Map variables = new HashMap<>(); + setupVariables(variables); + invokeSubProcess("DoCreateServiceInstanceRollback", businessKey, variables); + injectSDNCCallbacks(callbacks, "deactivate"); + injectSDNCCallbacks(callbacks, "delete"); + waitForProcessEnd(businessKey, 10000); + Assert.assertTrue(isProcessEnded(businessKey)); + String workflowException = BPMNUtil.getVariable(processEngineRule, "DoCreateServiceInstanceRollback", "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", "RaaTestRequestId-1"); + variables.put("mso-request-id", "RaaTestRequestId-1"); + variables.put("serviceInstanceId","MIS%252F1604%252F0026%252FSW_INTERNET"); + + RollbackData rollbackData = new RollbackData(); + + rollbackData.put("SERVICEINSTANCE", "serviceInstanceId", "MIS%252F1604%252F0026%252FSW_INTERNET"); + rollbackData.put("SERVICEINSTANCE", "globalCustomerId", "SDN-ETHERNET-INTERNET"); + rollbackData.put("SERVICEINSTANCE", "serviceSubscriptionType", "123456789"); + rollbackData.put("SERVICEINSTANCE", "disablerollback", "false"); + rollbackData.put("SERVICEINSTANCE", "rollbackAAI", "true"); + rollbackData.put("SERVICEINSTANCE", "rollbackSDNC", "true"); + + String req = "" + EOL + + "" + EOL + + "b043d290-140d-4a38-a9b6-95d3b8bd27d4" + EOL + + "MIS%252F1604%252F0026%252FSW_INTERNET" + EOL + + "deactivate" + EOL + + "service-topology-operation" + EOL + + "http://localhost:8080/mso/SDNCAdapterCallbackService" + EOL + + "" + EOL + + "" + EOL + + "" + EOL + + "RaaTestRequestId-1" + EOL + + "MSO" + EOL + + "" + EOL + + "" + EOL + + "" + EOL + + "DeleteServiceInstance" + EOL + + "" + EOL + + "" + EOL + + "" + EOL + + "123456789" + EOL + + "" + EOL + + "" + EOL + + "" + EOL + + "" + EOL + + "" + EOL + + "" + EOL + + "MIS%252F1604%252F0026%252FSW_INTERNET" + EOL + + "" + EOL + + "SDN-ETHERNET-INTERNET" + EOL + + "" + EOL + + "" + EOL + + "" + EOL + + "" + EOL + + "" + EOL + + ""; + + String req1 = "" + EOL + + "" + EOL + + "bca4fede-0804-4c13-af69-9e80b378150f" + EOL + + "MIS%252F1604%252F0026%252FSW_INTERNET" + EOL + + "delete" + EOL + + "service-topology-operation" + EOL + + "http://localhost:8080/mso/SDNCAdapterCallbackService" + EOL + + "" + EOL + + "" + EOL + + "" + EOL + + "RaaTestRequestId-1" + EOL + + "MSO" + EOL + + "" + EOL + + "" + EOL + + "" + EOL + + "DeleteServiceInstance" + EOL + + "" + EOL + + "" + EOL + + "" + EOL + + "123456789" + EOL + + "" + EOL + + "" + EOL + + "" + EOL + + "" + EOL + + "" + EOL + + "" + EOL + + "MIS%252F1604%252F0026%252FSW_INTERNET" + EOL + + "" + EOL + + "SDN-ETHERNET-INTERNET" + EOL + + "" + EOL + + "" + EOL + + "" + EOL + + "" + EOL + + "" + EOL + + ""; + + rollbackData.put("SERVICEINSTANCE", "sdncDeactivate", req); + + rollbackData.put("SERVICEINSTANCE", "sdncDelete",req1); + variables.put("rollbackData",rollbackData); + + } } 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 5f2ee94fb5..f6c5d904bd 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 @@ -44,75 +44,75 @@ import org.openecomp.mso.bpmn.common.WorkflowTest; * Unit test cases for DoCreateServiceInstance.bpmn */ public class DoCreateServiceInstanceTest extends WorkflowTest { - private static final String EOL = "\n"; - private final CallbackSet callbacks = new CallbackSet(); - private final String sdncAdapterCallback = - "" + EOL + - " ((REQUEST-ID))" + EOL + - " Y" + EOL + - "" + EOL; + private static final String EOL = "\n"; + private final CallbackSet callbacks = new CallbackSet(); + private final String sdncAdapterCallback = + "" + EOL + + " ((REQUEST-ID))" + EOL + + " Y" + EOL + + "" + EOL; + + public DoCreateServiceInstanceTest() throws IOException { + callbacks.put("assign", sdncAdapterCallback); + } + + /** + * Sunny day VID scenario. + * + * @throws Exception + */ + //@Ignore // File not found - unable to run the test. Also, Stubs need updating.. + @Test + @Deployment(resources = { + "subprocess/DoCreateServiceInstance.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/GenericGetService.bpmn", + "subprocess/GenericPutService.bpmn", + "subprocess/CompleteMsoProcess.bpmn", + "subprocess/DoCreateServiceInstanceRollback.bpmn", + "subprocess/FalloutHandler.bpmn" }) + public void sunnyDay() throws Exception { - public DoCreateServiceInstanceTest() throws IOException { - callbacks.put("assign", sdncAdapterCallback); - } + logStart(); - /** - * Sunny day VID scenario. - * - * @throws Exception - */ - //@Ignore // File not found - unable to run the test. Also, Stubs need updating.. - @Test - @Deployment(resources = { - "subprocess/DoCreateServiceInstance.bpmn", - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/GenericGetService.bpmn", - "subprocess/GenericPutService.bpmn", - "subprocess/CompleteMsoProcess.bpmn", - "subprocess/DoCreateServiceInstanceRollback.bpmn", - "subprocess/FalloutHandler.bpmn"}) - public void sunnyDay() throws Exception { + //AAI + MockGetCustomer("MCBH-1610", "CreateServiceInstance/createServiceInstance_queryGlobalCustomerId_AAIResponse_Success.xml"); + MockPutServiceInstance("MCBH-1610", "viprsvc", "RaaTest-si-id", ""); + MockGetServiceInstance("MCBH-1610", "viprsvc", "RaaTest-si-id", "GenericFlows/getServiceInstance.xml"); + MockNodeQueryServiceInstanceByName("RAATest-si", ""); + + MockNodeQueryServiceInstanceById("RaaTest-si-id", ""); + MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getSINoRelations.xml"); + MockNodeQueryServiceInstanceById("MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getSIUrlById.xml"); + //SDNC + mockSDNCAdapter(200); + //DB + mockUpdateRequestDB(200, "DBUpdateResponse.xml"); + String businessKey = UUID.randomUUID().toString(); - logStart(); + Map variables = new HashMap<>(); + setupVariables(variables); + invokeSubProcess("DoCreateServiceInstance", businessKey, variables); + injectSDNCCallbacks(callbacks, "assign"); + waitForProcessEnd(businessKey, 10000); + Assert.assertTrue(isProcessEnded(businessKey)); + String workflowException = BPMNUtil.getVariable(processEngineRule, "DoCreateServiceInstance", "WorkflowException"); + System.out.println("workflowException:\n" + workflowException); + assertEquals(null, workflowException); - //AAI - MockGetCustomer("MCBH-1610", "CreateServiceInstance/createServiceInstance_queryGlobalCustomerId_AAIResponse_Success.xml"); - MockPutServiceInstance("MCBH-1610", "viprsvc", "RaaTest-si-id", ""); - MockGetServiceInstance("MCBH-1610", "viprsvc", "RaaTest-si-id", "GenericFlows/getServiceInstance.xml"); - MockNodeQueryServiceInstanceByName("RAATest-si", ""); + logEnd(); + } - MockNodeQueryServiceInstanceById("RaaTest-si-id", ""); - MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getSINoRelations.xml"); - MockNodeQueryServiceInstanceById("MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getSIUrlById.xml"); - //SDNC - mockSDNCAdapter(200); - //DB - mockUpdateRequestDB(200, "DBUpdateResponse.xml"); - String businessKey = UUID.randomUUID().toString(); - - Map variables = new HashMap<>(); - setupVariables(variables); - invokeSubProcess("DoCreateServiceInstance", businessKey, variables); - injectSDNCCallbacks(callbacks, "assign"); - waitForProcessEnd(businessKey, 10000); - Assert.assertTrue(isProcessEnded(businessKey)); - String workflowException = BPMNUtil.getVariable(processEngineRule, "DoCreateServiceInstance", "WorkflowException"); - System.out.println("workflowException:\n" + workflowException); - assertEquals(null, workflowException); - - logEnd(); - } - - // Success Scenario - private void setupVariables(Map variables) { - variables.put("mso-request-id", "RaaDSITest1"); - 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("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"); - variables.put("globalSubscriberId", "MCBH-1610"); - variables.put("subscriptionServiceType", "viprsvc"); - variables.put("instanceName", "RAATest-1"); - } + // Success Scenario + private void setupVariables(Map variables) { + variables.put("mso-request-id", "RaaDSITest1"); + 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("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"); + variables.put("globalSubscriberId", "MCBH-1610"); + variables.put("subscriptionServiceType", "viprsvc"); + variables.put("instanceName", "RAATest-1"); + } } \ No newline at end of file diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateVfModuleRollbackTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateVfModuleRollbackTest.java index 366327a9da..25787c79b6 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateVfModuleRollbackTest.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateVfModuleRollbackTest.java @@ -16,7 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.infrastructure; @@ -46,115 +46,116 @@ import org.openecomp.mso.bpmn.core.WorkflowException; * Unit test for DoDeleteVfModule.bpmn. */ public class DoCreateVfModuleRollbackTest 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; - - private final String vnfAdapterDeleteCallbackFail = - "" + EOL + - " Error processing request to VNF-Async. Not Found." + EOL + - " INTERNAL" + EOL + - " false" + EOL + - " {{MESSAGE-ID}}" + EOL + - "" + EOL; - - private final String sdncAdapterDeleteCallback = - "" + EOL + - " {{REQUEST-ID}}" + EOL + - " Y" + EOL + - "" + EOL; - - public DoCreateVfModuleRollbackTest() throws IOException { - callbacks.put("sdncChangeDelete", sdncAdapterDeleteCallback); - callbacks.put("sdncDelete", sdncAdapterDeleteCallback); - callbacks.put("vnfDelete", vnfAdapterDeleteCallback); - callbacks.put("vnfDeleteFail", vnfAdapterDeleteCallbackFail); - } - - @Test - - @Deployment(resources = { - "subprocess/DoCreateVfModuleRollback.bpmn", - "subprocess/PrepareUpdateAAIVfModule.bpmn", - "subprocess/UpdateAAIVfModule.bpmn", - "subprocess/UpdateAAIGenericVnf.bpmn", - "subprocess/DeleteAAIVfModule.bpmn", - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/VnfAdapterRestV1.bpmn" - }) - public void TestCreateVfModuleRollbackSuccess() { - logStart(); - - mockSDNCAdapter("/SDNCAdapter", "SvcAction>delete", 200, "DeleteGenericVNFV1/sdncAdapterResponse.xml"); - mockVNFDelete("a27ce5a9-29c4-4c22-a017-6615ac73c721", "/973ed047-d251-4fb9-bf1a-65b8949e0a73", 202); - MockDeleteGenericVnf("a27ce5a9-29c4-4c22-a017-6615ac73c721", "0000021", 200); - MockDeleteVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73", "0000073", 200); - MockPutVfModuleIdNoResponse("a27ce5a9-29c4-4c22-a017-6615ac73c721", "MMSC", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); - MockPutGenericVnf("a27ce5a9-29c4-4c22-a017-6615ac73c721"); - MockGetGenericVnfByIdWithDepth("a27ce5a9-29c4-4c22-a017-6615ac73c721", 1, "DoCreateVfModuleRollback/GenericVnf.xml"); - MockGetVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73", "DoCreateVfModuleRollback/GenericVnfVfModule.xml", 200); - MockPatchGenericVnf("a27ce5a9-29c4-4c22-a017-6615ac73c721"); - MockPatchVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - RollbackData rollbackData = new RollbackData(); - rollbackData.put("VFMODULE", "source", "PORTAL"); - rollbackData.put("VFMODULE", "vnfid", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); - rollbackData.put("VFMODULE", "vnfname", "STMTN5MMSC21"); - rollbackData.put("VFMODULE", "vnftype", "asc_heat-int"); - rollbackData.put("VFMODULE", "vfmoduleid", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); - rollbackData.put("VFMODULE", "vfmodulename", "STMTN5MMSC21-MMSC::module-0-0"); - rollbackData.put("VFMODULE", "tenantid", "fba1bd1e195a404cacb9ce17a9b2b421"); - rollbackData.put("VFMODULE", "aiccloudregion", "RDM2WAGPLCP"); - rollbackData.put("VFMODULE", "heatstackid", "thisisaheatstack"); - rollbackData.put("VFMODULE", "contrailNetworkPolicyFqdn0", "MSOTest:DefaultPolicyFQDN1"); - rollbackData.put("VFMODULE", "contrailNetworkPolicyFqdn1", "MSOTest:DefaultPolicyFQDN2"); - rollbackData.put("VFMODULE", "oamManagementV6Address", "2000:abc:bce:1111"); - rollbackData.put("VFMODULE", "oamManagementV4Address", "127.0.0.1"); - - rollbackData.put("VFMODULE", "rollbackPrepareUpdateVfModule", "true"); - rollbackData.put("VFMODULE", "rollbackVnfAdapterCreate", "true"); - rollbackData.put("VFMODULE", "rollbackUpdateAAIVfModule", "true"); - rollbackData.put("VFMODULE", "rollbackSDNCRequestActivate", "true"); - rollbackData.put("VFMODULE", "rollbackCreateAAIVfModule", "true"); - rollbackData.put("VFMODULE", "rollbackCreateNetworkPoliciesAAI", "true"); - rollbackData.put("VFMODULE", "rollbackUpdateVnfAAI", "true"); - - - 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"); - rollbackData.put("VFMODULE", "msorequestid", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); - rollbackData.put("VFMODULE", "serviceinstanceid", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); - variables.put("rollbackData", rollbackData); - variables.put("sdncVersion", "1702"); - invokeSubProcess("DoCreateVfModuleRollback", businessKey, variables); - - // "changedelete" operation not required for deleting a Vf Module + 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; + + private final String vnfAdapterDeleteCallbackFail = + "" + EOL + + " Error processing request to VNF-Async. Not Found." + EOL + + " INTERNAL" + EOL + + " false" + EOL + + " {{MESSAGE-ID}}" + EOL + + "" + EOL; + + private final String sdncAdapterDeleteCallback = + "" + EOL + + " {{REQUEST-ID}}" + EOL + + " Y" + EOL + + "" + EOL; + + public DoCreateVfModuleRollbackTest() throws IOException { + callbacks.put("sdncChangeDelete", sdncAdapterDeleteCallback); + callbacks.put("sdncDelete", sdncAdapterDeleteCallback); + callbacks.put("vnfDelete", vnfAdapterDeleteCallback); + callbacks.put("vnfDeleteFail", vnfAdapterDeleteCallbackFail); + } + + @Test + + @Deployment(resources = { + "subprocess/DoCreateVfModuleRollback.bpmn", + "subprocess/PrepareUpdateAAIVfModule.bpmn", + "subprocess/UpdateAAIVfModule.bpmn", + "subprocess/UpdateAAIGenericVnf.bpmn", + "subprocess/DeleteAAIVfModule.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/VnfAdapterRestV1.bpmn" + }) + public void TestCreateVfModuleRollbackSuccess() { + logStart(); + + mockSDNCAdapter("/SDNCAdapter", "SvcAction>delete", 200, "DeleteGenericVNFV1/sdncAdapterResponse.xml"); + mockVNFDelete("a27ce5a9-29c4-4c22-a017-6615ac73c721", "/973ed047-d251-4fb9-bf1a-65b8949e0a73", 202); + MockDeleteGenericVnf("a27ce5a9-29c4-4c22-a017-6615ac73c721", "0000021", 200); + MockDeleteVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73", "0000073", 200); + MockPutVfModuleIdNoResponse("a27ce5a9-29c4-4c22-a017-6615ac73c721", "MMSC", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); + MockPutGenericVnf("a27ce5a9-29c4-4c22-a017-6615ac73c721"); + MockGetGenericVnfByIdWithDepth("a27ce5a9-29c4-4c22-a017-6615ac73c721", 1, "DoCreateVfModuleRollback/GenericVnf.xml"); + MockGetVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73", "DoCreateVfModuleRollback/GenericVnfVfModule.xml", 200); + MockPatchGenericVnf("a27ce5a9-29c4-4c22-a017-6615ac73c721"); + MockPatchVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + RollbackData rollbackData = new RollbackData(); + rollbackData.put("VFMODULE", "source", "PORTAL"); + rollbackData.put("VFMODULE", "vnfid", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); + rollbackData.put("VFMODULE", "vnfname", "STMTN5MMSC21"); + rollbackData.put("VFMODULE", "vnftype", "asc_heat-int"); + rollbackData.put("VFMODULE", "vfmoduleid", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); + rollbackData.put("VFMODULE", "vfmodulename", "STMTN5MMSC21-MMSC::module-0-0"); + rollbackData.put("VFMODULE", "tenantid", "fba1bd1e195a404cacb9ce17a9b2b421"); + rollbackData.put("VFMODULE", "aiccloudregion", "RDM2WAGPLCP"); + rollbackData.put("VFMODULE", "heatstackid", "thisisaheatstack"); + rollbackData.put("VFMODULE", "contrailNetworkPolicyFqdn0", "MSOTest:DefaultPolicyFQDN1"); + rollbackData.put("VFMODULE", "contrailNetworkPolicyFqdn1", "MSOTest:DefaultPolicyFQDN2"); + rollbackData.put("VFMODULE", "oamManagementV6Address", "2000:abc:bce:1111"); + rollbackData.put("VFMODULE", "oamManagementV4Address", "127.0.0.1"); + + rollbackData.put("VFMODULE", "rollbackPrepareUpdateVfModule", "true"); + rollbackData.put("VFMODULE", "rollbackVnfAdapterCreate", "true"); + rollbackData.put("VFMODULE", "rollbackUpdateAAIVfModule", "true"); + rollbackData.put("VFMODULE", "rollbackSDNCRequestActivate", "true"); + rollbackData.put("VFMODULE", "rollbackCreateAAIVfModule", "true"); + rollbackData.put("VFMODULE", "rollbackCreateNetworkPoliciesAAI", "true"); + rollbackData.put("VFMODULE", "rollbackUpdateVnfAAI", "true"); + + + + 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"); + rollbackData.put("VFMODULE", "msorequestid", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); + rollbackData.put("VFMODULE", "serviceinstanceid", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); + variables.put("rollbackData", rollbackData); + variables.put("sdncVersion", "1702"); + invokeSubProcess("DoCreateVfModuleRollback", 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, "WorkflowException"); - checkVariable(businessKey, "WorkflowException", null); - if (wfe != null) { - System.out.println("TestCreateVfModuleSuccess: ErrorCode=" + wfe.getErrorCode() + - ", ErrorMessage=" + wfe.getErrorMessage()); - } - logEnd(); - } - - + injectVNFRestCallbacks(callbacks, "vnfDelete"); + waitForRunningProcessCount("vnfAdapterDeleteV1", 0, 120000); + injectSDNCCallbacks(callbacks, "sdncDelete"); + + waitForProcessEnd(businessKey, 10000); + WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); + checkVariable(businessKey, "WorkflowException", null); + if (wfe != null) { + System.out.println("TestCreateVfModuleSuccess: ErrorCode=" + wfe.getErrorCode() + + ", ErrorMessage=" + wfe.getErrorMessage()); + } + logEnd(); + } + + } 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 02c8a98401..d62c7598cb 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 @@ -16,7 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.infrastructure; @@ -49,248 +49,248 @@ import org.openecomp.mso.bpmn.mock.FileUtil; * Unit tests for DoCreateVfModuleTest.bpmn. */ public class DoCreateVfModuleTest extends WorkflowTest { - - private final CallbackSet callbacks = new CallbackSet(); - - public DoCreateVfModuleTest() throws IOException { - callbacks.put("assign", FileUtil.readResourceFile( - "__files/VfModularity/SDNCTopologyAssignCallback.xml")); - callbacks.put("query", FileUtil.readResourceFile( - "__files/VfModularity/SDNCTopologyQueryCallback.xml")); - callbacks.put("queryVnf", FileUtil.readResourceFile( - "__files/VfModularity/SDNCTopologyQueryCallbackVnf.xml")); - callbacks.put("queryModuleNoVnf", FileUtil.readResourceFile( - "__files/VfModularity/SDNCTopologyQueryCallbackVfModuleNoVnf.xml")); - callbacks.put("queryModule", FileUtil.readResourceFile( - "__files/VfModularity/SDNCTopologyQueryCallbackVfModule.xml")); - callbacks.put("activate", FileUtil.readResourceFile( - "__files/VfModularity/SDNCTopologyActivateCallback.xml")); - callbacks.put("vnfCreate", FileUtil.readResourceFile( - "__files/VfModularity/VNFAdapterRestCreateCallback.xml")); - } - - /** - * Test the sunny day scenario. - */ - @Test - - @Deployment(resources = { - "subprocess/DoCreateVfModule.bpmn", - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/GenericGetVnf.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() throws IOException { - - logStart(); - - MockAAIVfModule(); - MockPatchGenericVnf("skask"); - MockPatchVfModuleId("skask", ".*"); - mockSDNCAdapter("VfModularity/StandardSDNCSynchResponse.xml"); - mockVNFPost("", 202, "skask"); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - //RuntimeService runtimeService = processEngineRule.getRuntimeService(); - - Map variables = setupVariablesSunnyDayBuildingBlocks(); - //runtimeService.startProcessInstanceByKey("DoCreateVfModule", variables); - invokeSubProcess("DoCreateVfModule", businessKey, variables); - - injectSDNCCallbacks(callbacks, "queryVnf"); - injectSDNCCallbacks(callbacks, "assign, queryModuleNoVnf"); - 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 with 1702 SDNC interaction. - */ - @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_1702() 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", ".*"); - - String businessKey = UUID.randomUUID().toString(); - //RuntimeService runtimeService = processEngineRule.getRuntimeService(); - - Map variables = setupVariablesSunnyDayBuildingBlocks(); - variables.put("sdncVersion", "1702"); - //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. - */ - @Test - - @Deployment(resources = { - "subprocess/DoCreateVfModule.bpmn", - "subprocess/GenerateVfModuleName.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_withVfModuleNameGeneration() 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"); - MockAAIVfModule(); - 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", ".*"); - - String businessKey = UUID.randomUUID().toString(); - //RuntimeService runtimeService = processEngineRule.getRuntimeService(); - - Map variables = setupVariablesSunnyDayBuildingBlocks(); - variables.put("vfModuleName", null); - variables.put("vfModuleLabel", "MODULELABEL"); - variables.put("sdncVersion", "1702"); - //runtimeService.startProcessInstanceByKey("DoCreateVfModule", variables); - invokeSubProcess("DoCreateVfModule", businessKey, variables); - - injectSDNCCallbacks(callbacks, "assign, query"); - 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<>(); - //try { - // variables.put("bpmnRequest", FileUtil.readResourceFile("__files/CreateVfModule_VID_request.json")); - //} - //catch (Exception e) { - - //} - - variables.put("mso-request-id", "testRequestId"); - - variables.put("msoRequestId", "testRequestId"); - variables.put("isBaseVfModule", false); - variables.put("isDebugLogEnabled", "true"); - variables.put("disableRollback", "true"); - //variables.put("recipeTimeout", "0"); - //variables.put("requestAction", "CREATE_VF_MODULE"); - variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4"); - variables.put("vnfId", "skask"); - variables.put("vnfName", "vnfname"); - variables.put("vfModuleName", "PCRF::module-0-2"); - variables.put("vnfType", "vSAMP12"); - variables.put("vfModuleId", ""); - variables.put("volumeGroupId", ""); - variables.put("serviceType", "MOG"); - variables.put("vfModuleType", ""); - variables.put("isVidRequest", "true"); - variables.put("asdcServiceModelVersion", "1.0"); - variables.put("usePreload", true); - - String vfModuleModelInfo = "{ " + "\"modelType\": \"vfModule\"," + - "\"modelInvariantUuid\": \"ff5256d2-5a33-55df-13ab-12abad84e7ff\"," + - "\"modelUuid\": \"fe6478e5-ea33-3346-ac12-ab121484a3fe\"," + - "\"modelName\": \"STMTN5MMSC21-MMSC::model-1-0\"," + - "\"modelVersion\": \"1\"," + - "\"modelCustomizationUuid\": \"MODEL-123\"" + "}"; - variables.put("vfModuleModelInfo", vfModuleModelInfo); - - variables.put("sdncVersion", "1707"); - - variables.put("lcpCloudRegionId", "MDTWNJ21"); - variables.put("tenantId", "fba1bd1e195a404cacb9ce17a9b2b421"); - - 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); - - String vnfModelInfo = "{ " + "\"modelType\": \"vnf\"," + - "\"modelInvariantUuid\": \"445256d2-5a33-55df-13ab-12abad84e7ff\"," + - "\"modelUuid\": \"f26478e5-ea33-3346-ac12-ab121484a3fe\"," + - "\"modelName\": \"VNF-STMTN5MMSC21-MMSC::model-1-0\"," + - "\"modelVersion\": \"1\"," + - "\"modelCustomizationUuid\": \"VNF-MODEL-123\"" + "}"; - variables.put("vnfModelInfo", vnfModelInfo); - - variables.put("vnfQueryPath", "/restconf/vnfQueryPath"); - - return variables; - - } + + private final CallbackSet callbacks = new CallbackSet(); + + public DoCreateVfModuleTest() throws IOException { + callbacks.put("assign", FileUtil.readResourceFile( + "__files/VfModularity/SDNCTopologyAssignCallback.xml")); + callbacks.put("query", FileUtil.readResourceFile( + "__files/VfModularity/SDNCTopologyQueryCallback.xml")); + callbacks.put("queryVnf", FileUtil.readResourceFile( + "__files/VfModularity/SDNCTopologyQueryCallbackVnf.xml")); + callbacks.put("queryModuleNoVnf", FileUtil.readResourceFile( + "__files/VfModularity/SDNCTopologyQueryCallbackVfModuleNoVnf.xml")); + callbacks.put("queryModule", FileUtil.readResourceFile( + "__files/VfModularity/SDNCTopologyQueryCallbackVfModule.xml")); + callbacks.put("activate", FileUtil.readResourceFile( + "__files/VfModularity/SDNCTopologyActivateCallback.xml")); + callbacks.put("vnfCreate", FileUtil.readResourceFile( + "__files/VfModularity/VNFAdapterRestCreateCallback.xml")); + } + + /** + * Test the sunny day scenario. + */ + @Test + + @Deployment(resources = { + "subprocess/DoCreateVfModule.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/GenericGetVnf.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() throws IOException { + + logStart(); + + MockAAIVfModule(); + MockPatchGenericVnf("skask"); + MockPatchVfModuleId("skask", ".*"); + mockSDNCAdapter("VfModularity/StandardSDNCSynchResponse.xml"); + mockVNFPost("", 202, "skask"); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + //RuntimeService runtimeService = processEngineRule.getRuntimeService(); + + Map variables = setupVariablesSunnyDayBuildingBlocks(); + //runtimeService.startProcessInstanceByKey("DoCreateVfModule", variables); + invokeSubProcess("DoCreateVfModule", businessKey, variables); + + injectSDNCCallbacks(callbacks, "queryVnf"); + injectSDNCCallbacks(callbacks, "assign, queryModuleNoVnf"); + 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 with 1702 SDNC interaction. + */ + @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_1702() 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", ".*"); + + String businessKey = UUID.randomUUID().toString(); + //RuntimeService runtimeService = processEngineRule.getRuntimeService(); + + Map variables = setupVariablesSunnyDayBuildingBlocks(); + variables.put("sdncVersion", "1702"); + //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. + */ + @Test + + @Deployment(resources = { + "subprocess/DoCreateVfModule.bpmn", + "subprocess/GenerateVfModuleName.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_withVfModuleNameGeneration() 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"); + MockAAIVfModule(); + 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", ".*"); + + String businessKey = UUID.randomUUID().toString(); + //RuntimeService runtimeService = processEngineRule.getRuntimeService(); + + Map variables = setupVariablesSunnyDayBuildingBlocks(); + variables.put("vfModuleName", null); + variables.put("vfModuleLabel", "MODULELABEL"); + variables.put("sdncVersion", "1702"); + //runtimeService.startProcessInstanceByKey("DoCreateVfModule", variables); + invokeSubProcess("DoCreateVfModule", businessKey, variables); + + injectSDNCCallbacks(callbacks, "assign, query"); + 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<>(); + //try { + // variables.put("bpmnRequest", FileUtil.readResourceFile("__files/CreateVfModule_VID_request.json")); + //} + //catch (Exception e) { + + //} + + variables.put("mso-request-id", "testRequestId"); + + variables.put("msoRequestId", "testRequestId"); + variables.put("isBaseVfModule", false); + variables.put("isDebugLogEnabled", "true"); + variables.put("disableRollback", "true"); + //variables.put("recipeTimeout", "0"); + //variables.put("requestAction", "CREATE_VF_MODULE"); + variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4"); + variables.put("vnfId", "skask"); + variables.put("vnfName", "vnfname"); + variables.put("vfModuleName", "PCRF::module-0-2"); + variables.put("vnfType", "vSAMP12"); + variables.put("vfModuleId", ""); + variables.put("volumeGroupId", ""); + variables.put("serviceType", "MOG"); + variables.put("vfModuleType", ""); + variables.put("isVidRequest", "true"); + variables.put("asdcServiceModelVersion", "1.0"); + variables.put("usePreload", true); + + String vfModuleModelInfo = "{ "+ "\"modelType\": \"vfModule\"," + + "\"modelInvariantUuid\": \"ff5256d2-5a33-55df-13ab-12abad84e7ff\"," + + "\"modelUuid\": \"fe6478e5-ea33-3346-ac12-ab121484a3fe\"," + + "\"modelName\": \"STMTN5MMSC21-MMSC::model-1-0\"," + + "\"modelVersion\": \"1\"," + + "\"modelCustomizationUuid\": \"MODEL-123\"" + "}"; + variables.put("vfModuleModelInfo", vfModuleModelInfo); + + variables.put("sdncVersion", "1707"); + + variables.put("lcpCloudRegionId", "MDTWNJ21"); + variables.put("tenantId", "fba1bd1e195a404cacb9ce17a9b2b421"); + + 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); + + String vnfModelInfo = "{ "+ "\"modelType\": \"vnf\"," + + "\"modelInvariantUuid\": \"445256d2-5a33-55df-13ab-12abad84e7ff\"," + + "\"modelUuid\": \"f26478e5-ea33-3346-ac12-ab121484a3fe\"," + + "\"modelName\": \"VNF-STMTN5MMSC21-MMSC::model-1-0\"," + + "\"modelVersion\": \"1\"," + + "\"modelCustomizationUuid\": \"VNF-MODEL-123\"" + "}"; + variables.put("vnfModelInfo", vnfModelInfo); + + variables.put("vnfQueryPath", "/restconf/vnfQueryPath"); + + return variables; + + } } \ No newline at end of file diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateVfModuleVolumeV2Test.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateVfModuleVolumeV2Test.java index aeb47c00a9..e9082d9d65 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateVfModuleVolumeV2Test.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateVfModuleVolumeV2Test.java @@ -35,210 +35,206 @@ import org.openecomp.mso.bpmn.mock.FileUtil; @Ignore public class DoCreateVfModuleVolumeV2Test extends WorkflowTest { - - public static final String _prefix = "CVFMODVOL2_"; - - private final CallbackSet callbacks = new CallbackSet(); - - public DoCreateVfModuleVolumeV2Test() throws IOException { - callbacks.put("volumeGroupCreate", FileUtil.readResourceFile( - "__files/DoCreateVfModuleVolumeV1/CreateVfModuleVolumeCallbackResponse.xml")); - callbacks.put("volumeGroupRollback", FileUtil.readResourceFile( - "__files/DoCreateVfModuleVolumeV1/RollbackVfModuleVolumeCallbackResponse.xml")); - } - - /** - * Happy Path - * - * @throws Exception - */ - @Test - //@Ignore - @Deployment(resources = {"subprocess/DoCreateVfModuleVolumeV2.bpmn", + + public static final String _prefix = "CVFMODVOL2_"; + + private final CallbackSet callbacks = new CallbackSet(); + + public DoCreateVfModuleVolumeV2Test() throws IOException { + callbacks.put("volumeGroupCreate", FileUtil.readResourceFile( + "__files/DoCreateVfModuleVolumeV1/CreateVfModuleVolumeCallbackResponse.xml")); + callbacks.put("volumeGroupRollback", FileUtil.readResourceFile( + "__files/DoCreateVfModuleVolumeV1/RollbackVfModuleVolumeCallbackResponse.xml")); + } + + /** + * Happy Path + * @throws Exception + */ + @Test + //@Ignore + @Deployment(resources = {"subprocess/DoCreateVfModuleVolumeV2.bpmn", "subprocess/FalloutHandler.bpmn", "subprocess/CompleteMsoProcess.bpmn", "subprocess/vnfAdapterRestV1.bpmn", "subprocess/DoCreateVfModuleVolumeRollback.bpmn"}) - public void TestHappyPath() throws Exception { - - logStart(); + public void TestHappyPath() throws Exception { + logStart(); + // DoCreateVfModuleVolume_Success(); - - String businessKey = UUID.randomUUID().toString(); - String createVfModuleVolRequest = FileUtil.readResourceFile("__files/DoCreateVfModuleVolumeV1/CreateVfModuleVolumeRequest.xml"); - - Map testVariables = new HashMap<>(); - testVariables.put("volumeGroupId", "TEST-VOLUME-VOLUME-GROUP-ID-0123"); - testVariables.put("vnfId", "TEST-VNF-ID-0123"); - testVariables.put("lcpCloudRegionId", "AAIAIC25"); - testVariables.put("test-volume-group-name", "MSOTESTVOL101a-vSAMP12_base_vol_module-01"); - testVariables.put("test-volume-group-id", "TEST-VOLUME-GROUP-ID-0123"); - //testVariables.put("DoCreateVfModuleVolumeV1Request", createVfModuleVolRequest); - TestAsyncResponse asyncResponse = invokeAsyncProcess("DoCreateVfModuleVolumeV2", "v1", businessKey, createVfModuleVolRequest, testVariables); - - injectVNFRestCallbacks(callbacks, "volumeGroupCreate"); - - waitForProcessEnd(businessKey, 100000); - checkVariable(businessKey, "DCVFMODVOLV2_SuccessIndicator", true); - - logEnd(); - } - - @Test + + String businessKey = UUID.randomUUID().toString(); + String createVfModuleVolRequest = FileUtil.readResourceFile("__files/DoCreateVfModuleVolumeV1/CreateVfModuleVolumeRequest.xml"); + + Map testVariables = new HashMap<>(); + testVariables.put("volumeGroupId", "TEST-VOLUME-VOLUME-GROUP-ID-0123"); + testVariables.put("vnfId", "TEST-VNF-ID-0123"); + testVariables.put("lcpCloudRegionId", "AAIAIC25"); + testVariables.put("test-volume-group-name", "MSOTESTVOL101a-vSAMP12_base_vol_module-01"); + testVariables.put("test-volume-group-id", "TEST-VOLUME-GROUP-ID-0123"); + //testVariables.put("DoCreateVfModuleVolumeV1Request", createVfModuleVolRequest); + TestAsyncResponse asyncResponse = invokeAsyncProcess("DoCreateVfModuleVolumeV2", "v1", businessKey, createVfModuleVolRequest, testVariables); + + injectVNFRestCallbacks(callbacks, "volumeGroupCreate"); + + waitForProcessEnd(businessKey, 100000); + checkVariable(businessKey, "DCVFMODVOLV2_SuccessIndicator", true); + + logEnd(); + } + + @Test // @Ignore - @Deployment(resources = {"subprocess/DoCreateVfModuleVolumeV2.bpmn", + @Deployment(resources = {"subprocess/DoCreateVfModuleVolumeV2.bpmn", "subprocess/FalloutHandler.bpmn", "subprocess/CompleteMsoProcess.bpmn", "subprocess/vnfAdapterRestV1.bpmn", "subprocess/DoCreateVfModuleVolumeRollback.bpmn"}) - public void TestVolumeGroupExistError() throws Exception { - - logStart(); + public void TestVolumeGroupExistError() throws Exception { + logStart(); + // DoCreateVfModuleVolume_VolumeGroupExistsFail(); - - String businessKey = UUID.randomUUID().toString(); - String createVfModuleVolRequest = FileUtil.readResourceFile("__files/DoCreateVfModuleVolumeV1/CreateVfModuleVolumeRequest.xml"); - - Map testVariables = new HashMap<>(); - testVariables.put("DCVFMODVOLV2_volumeGroupId", "TEST-VOLUME-VOLUME-GROUP-ID-0123"); - testVariables.put("vnf-id", "TEST-VNF-ID-0123"); - testVariables.put("volume-group-id", "TEST-VOLUME-GROUP-ID-0123"); - testVariables.put("test-volume-group-name", "TEST-MSOTESTVOL101a-vSAMP12_base_vol_module-0"); - testVariables.put("DoCreateVfModuleVolumeV1Request", createVfModuleVolRequest); - TestAsyncResponse asyncResponse = invokeAsyncProcess("DoCreateVfModuleVolumeV2", "v1", businessKey, createVfModuleVolRequest, testVariables); - - //injectVNFRestCallbacks(callbacks, "volumeGroupCreate"); - - waitForProcessEnd(businessKey, 100000); - WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, "SavedWorkflowException1"); - Assert.assertTrue(wfe.getErrorCode() == 2500); - Assert.assertTrue(wfe.getErrorMessage().startsWith("Generic vnf null was not found in AAI. Return code: 404.")); - checkVariable(businessKey, "DCVFMODVOLV2_SuccessIndicator", false); - - logEnd(); - } - - /** - * Will trigger AAI create rollback - * - * @throws Exception - */ - @Test + + String businessKey = UUID.randomUUID().toString(); + String createVfModuleVolRequest = FileUtil.readResourceFile("__files/DoCreateVfModuleVolumeV1/CreateVfModuleVolumeRequest.xml"); + + Map testVariables = new HashMap<>(); + testVariables.put("DCVFMODVOLV2_volumeGroupId", "TEST-VOLUME-VOLUME-GROUP-ID-0123"); + testVariables.put("vnf-id", "TEST-VNF-ID-0123"); + testVariables.put("volume-group-id", "TEST-VOLUME-GROUP-ID-0123"); + testVariables.put("test-volume-group-name", "TEST-MSOTESTVOL101a-vSAMP12_base_vol_module-0"); + testVariables.put("DoCreateVfModuleVolumeV1Request", createVfModuleVolRequest); + TestAsyncResponse asyncResponse = invokeAsyncProcess("DoCreateVfModuleVolumeV2", "v1", businessKey, createVfModuleVolRequest, testVariables); + + //injectVNFRestCallbacks(callbacks, "volumeGroupCreate"); + + waitForProcessEnd(businessKey, 100000); + WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, "SavedWorkflowException1"); + Assert.assertTrue(wfe.getErrorCode() == 2500); + Assert.assertTrue(wfe.getErrorMessage().startsWith("Generic vnf null was not found in AAI. Return code: 404.")); + checkVariable(businessKey, "DCVFMODVOLV2_SuccessIndicator", false); + + logEnd(); + } + + /** + * Will trigger AAI create rollback + * @throws Exception + */ + @Test // @Ignore - @Deployment(resources = {"subprocess/DoCreateVfModuleVolumeV2.bpmn", + @Deployment(resources = {"subprocess/DoCreateVfModuleVolumeV2.bpmn", "subprocess/FalloutHandler.bpmn", "subprocess/CompleteMsoProcess.bpmn", "subprocess/vnfAdapterRestV1.bpmn", "subprocess/DoCreateVfModuleVolumeRollback.bpmn"}) - public void TestVnfVolumeGroupCreateError() throws Exception { - - logStart(); + public void TestVnfVolumeGroupCreateError() throws Exception { + logStart(); + // DoCreateVfModuleVolume_VnfCreateVolumeGroupFail(); - - String businessKey = UUID.randomUUID().toString(); - String createVfModuleVolRequest = FileUtil.readResourceFile("__files/DoCreateVfModuleVolumeV1/CreateVfModuleVolumeRequest.xml"); - - Map testVariables = new HashMap<>(); - testVariables.put("DCVFMODVOLV2_volumeGroupId", "TEST-VOLUME-VOLUME-GROUP-ID-0123"); - testVariables.put("vnf-id", "TEST-VNF-ID-0123"); - testVariables.put("volume-group-id", "TEST-VOLUME-GROUP-ID-0123"); - testVariables.put("test-volume-group-name", "TEST-MSOTESTVOL101a-vSAMP12_base_vol_module-0"); - testVariables.put("test-volume-group-id", "TEST-VOLUME-GROUP-ID-0123"); - testVariables.put("DoCreateVfModuleVolumeV1Request", createVfModuleVolRequest); - TestAsyncResponse asyncResponse = invokeAsyncProcess("DoCreateVfModuleVolumeV2", "v1", businessKey, createVfModuleVolRequest, testVariables); - - //injectVNFRestCallbacks(callbacks, "volumeGroupCreate"); - - waitForProcessEnd(businessKey, 100000); - checkVariable(businessKey, "DCVFMODVOLV2_SuccessIndicator", false); - - logEnd(); - } - - /** - * Will trigger AAI create rollback - * - * @throws Exception - */ - @Test + + String businessKey = UUID.randomUUID().toString(); + String createVfModuleVolRequest = FileUtil.readResourceFile("__files/DoCreateVfModuleVolumeV1/CreateVfModuleVolumeRequest.xml"); + + Map testVariables = new HashMap<>(); + testVariables.put("DCVFMODVOLV2_volumeGroupId", "TEST-VOLUME-VOLUME-GROUP-ID-0123"); + testVariables.put("vnf-id", "TEST-VNF-ID-0123"); + testVariables.put("volume-group-id", "TEST-VOLUME-GROUP-ID-0123"); + testVariables.put("test-volume-group-name", "TEST-MSOTESTVOL101a-vSAMP12_base_vol_module-0"); + testVariables.put("test-volume-group-id", "TEST-VOLUME-GROUP-ID-0123"); + testVariables.put("DoCreateVfModuleVolumeV1Request", createVfModuleVolRequest); + TestAsyncResponse asyncResponse = invokeAsyncProcess("DoCreateVfModuleVolumeV2", "v1", businessKey, createVfModuleVolRequest, testVariables); + + //injectVNFRestCallbacks(callbacks, "volumeGroupCreate"); + + waitForProcessEnd(businessKey, 100000); + checkVariable(businessKey, "DCVFMODVOLV2_SuccessIndicator", false); + + logEnd(); + } + + /** + * Will trigger AAI create rollback + * @throws Exception + */ + @Test // @Ignore - @Deployment(resources = {"subprocess/DoCreateVfModuleVolumeV2.bpmn", + @Deployment(resources = {"subprocess/DoCreateVfModuleVolumeV2.bpmn", "subprocess/FalloutHandler.bpmn", "subprocess/CompleteMsoProcess.bpmn", "subprocess/vnfAdapterRestV1.bpmn", "subprocess/DoCreateVfModuleVolumeRollback.bpmn"}) - public void TestUpdateAaiVolumeGroupError() throws Exception { - - logStart(); + public void TestUpdateAaiVolumeGroupError() throws Exception { + logStart(); + // DoCreateVfModuleVolume_AaiVolumeGroupUpdateFail(); - - String businessKey = UUID.randomUUID().toString(); - String createVfModuleVolRequest = FileUtil.readResourceFile("__files/DoCreateVfModuleVolumeV1/CreateVfModuleVolumeRequest.xml"); - - Map testVariables = new HashMap<>(); - testVariables.put("DCVFMODVOLV2_volumeGroupId", "TEST-VOLUME-VOLUME-GROUP-ID-0123"); - testVariables.put("vnf-id", "TEST-VNF-ID-0123"); - testVariables.put("volume-group-id", "TEST-VOLUME-GROUP-ID-0123"); - testVariables.put("test-volume-group-name", "TEST-MSOTESTVOL101a-vSAMP12_base_vol_module-0"); - testVariables.put("test-volume-group-id", "TEST-VOLUME-GROUP-ID-0123"); - testVariables.put("DoCreateVfModuleVolumeV1Request", createVfModuleVolRequest); - TestAsyncResponse asyncResponse = invokeAsyncProcess("DoCreateVfModuleVolumeV2", "v1", businessKey, createVfModuleVolRequest, testVariables); - - // VNF callback not needed fort this failure scenario + + String businessKey = UUID.randomUUID().toString(); + String createVfModuleVolRequest = FileUtil.readResourceFile("__files/DoCreateVfModuleVolumeV1/CreateVfModuleVolumeRequest.xml"); + + Map testVariables = new HashMap<>(); + testVariables.put("DCVFMODVOLV2_volumeGroupId", "TEST-VOLUME-VOLUME-GROUP-ID-0123"); + testVariables.put("vnf-id", "TEST-VNF-ID-0123"); + testVariables.put("volume-group-id", "TEST-VOLUME-GROUP-ID-0123"); + testVariables.put("test-volume-group-name", "TEST-MSOTESTVOL101a-vSAMP12_base_vol_module-0"); + testVariables.put("test-volume-group-id", "TEST-VOLUME-GROUP-ID-0123"); + testVariables.put("DoCreateVfModuleVolumeV1Request", createVfModuleVolRequest); + TestAsyncResponse asyncResponse = invokeAsyncProcess("DoCreateVfModuleVolumeV2", "v1", businessKey, createVfModuleVolRequest, testVariables); + + // VNF callback not needed fort this failure scenario // injectVNFRestCallbacks(callbacks, "volumeGroupCreate,volumeGroupRollback"); - - waitForProcessEnd(businessKey, 100000); - WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, "SavedWorkflowException1"); - Assert.assertTrue(wfe.getErrorCode() == 2500); - Assert.assertTrue(wfe.getErrorMessage().startsWith("Generic vnf null was not found in AAI. Return code: 404.")); - checkVariable(businessKey, "DCVFMODVOLV2_SuccessIndicator", false); - - logEnd(); - } - - /** - * Will trigger not trigger rollback - * - * @throws Exception - */ - @Test + + waitForProcessEnd(businessKey, 100000); + WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, "SavedWorkflowException1"); + Assert.assertTrue(wfe.getErrorCode() == 2500); + Assert.assertTrue(wfe.getErrorMessage().startsWith("Generic vnf null was not found in AAI. Return code: 404.")); + checkVariable(businessKey, "DCVFMODVOLV2_SuccessIndicator", false); + + logEnd(); + } + + /** + * Will trigger not trigger rollback + * @throws Exception + */ + @Test // @Ignore - @Deployment(resources = {"subprocess/DoCreateVfModuleVolumeV2.bpmn", + @Deployment(resources = {"subprocess/DoCreateVfModuleVolumeV2.bpmn", "subprocess/FalloutHandler.bpmn", "subprocess/CompleteMsoProcess.bpmn", "subprocess/vnfAdapterRestV1.bpmn", "subprocess/DoCreateVfModuleVolumeRollback.bpmn"}) - public void TestUpdateAaiVolumeGroupErrorNoRollback() throws Exception { - - logStart(); + public void TestUpdateAaiVolumeGroupErrorNoRollback() throws Exception { + logStart(); + // DoCreateVfModuleVolume_AaiVolumeGroupUpdateFail(); - - String businessKey = UUID.randomUUID().toString(); - String createVfModuleVolRequest = FileUtil.readResourceFile("__files/DoCreateVfModuleVolumeV1/CreateVfModuleVolumeNoRollbackRequest.xml"); - - Map testVariables = new HashMap<>(); - testVariables.put("DCVFMODVOLV2_volumeGroupId", "TEST-VOLUME-VOLUME-GROUP-ID-0123"); - testVariables.put("vnf-id", "TEST-VNF-ID-0123"); - testVariables.put("volume-group-id", "TEST-VOLUME-GROUP-ID-0123"); - testVariables.put("test-volume-group-name", "TEST-MSOTESTVOL101a-vSAMP12_base_vol_module-0"); - testVariables.put("test-volume-group-id", "TEST-VOLUME-GROUP-ID-0123"); - testVariables.put("DoCreateVfModuleVolumeV1Request", createVfModuleVolRequest); - TestAsyncResponse asyncResponse = invokeAsyncProcess("DoCreateVfModuleVolumeV2", "v1", businessKey, createVfModuleVolRequest, testVariables); - - // VNF callback not needed fort this failure scenario + + String businessKey = UUID.randomUUID().toString(); + String createVfModuleVolRequest = FileUtil.readResourceFile("__files/DoCreateVfModuleVolumeV1/CreateVfModuleVolumeNoRollbackRequest.xml"); + + Map testVariables = new HashMap<>(); + testVariables.put("DCVFMODVOLV2_volumeGroupId", "TEST-VOLUME-VOLUME-GROUP-ID-0123"); + testVariables.put("vnf-id", "TEST-VNF-ID-0123"); + testVariables.put("volume-group-id", "TEST-VOLUME-GROUP-ID-0123"); + testVariables.put("test-volume-group-name", "TEST-MSOTESTVOL101a-vSAMP12_base_vol_module-0"); + testVariables.put("test-volume-group-id", "TEST-VOLUME-GROUP-ID-0123"); + testVariables.put("DoCreateVfModuleVolumeV1Request", createVfModuleVolRequest); + TestAsyncResponse asyncResponse = invokeAsyncProcess("DoCreateVfModuleVolumeV2", "v1", businessKey, createVfModuleVolRequest, testVariables); + + // VNF callback not needed fort this failure scenario // injectVNFRestCallbacks(callbacks, "volumeGroupCreate"); - - waitForProcessEnd(businessKey, 100000); - WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, "SavedWorkflowException1"); - Assert.assertTrue(wfe.getErrorCode() == 2500); - Assert.assertTrue(wfe.getErrorMessage().startsWith("Generic vnf null was not found in AAI. Return code: 404.")); - checkVariable(businessKey, "DCVFMODVOLV2_SuccessIndicator", false); - - logEnd(); - } + + waitForProcessEnd(businessKey, 100000); + WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, "SavedWorkflowException1"); + Assert.assertTrue(wfe.getErrorCode() == 2500); + Assert.assertTrue(wfe.getErrorMessage().startsWith("Generic vnf null was not found in AAI. Return code: 404.")); + checkVariable(businessKey, "DCVFMODVOLV2_SuccessIndicator", false); + + logEnd(); + } } diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateVnfAndModulesRollbackTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateVnfAndModulesRollbackTest.java index adcbbb4d72..fb2160d970 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateVnfAndModulesRollbackTest.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateVnfAndModulesRollbackTest.java @@ -55,370 +55,371 @@ import org.openecomp.mso.bpmn.mock.FileUtil; * Unit test for DoCreateVnfAndModulesRollback.bpmn. */ public class DoCreateVnfAndModulesRollbackTest 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; - - private final String vnfAdapterDeleteCallbackFail = - "" + EOL + - " Error processing request to VNF-Async. Not Found." + EOL + - " INTERNAL" + EOL + - " false" + EOL + - " {{MESSAGE-ID}}" + EOL + - "" + EOL; - - private final String sdncAdapterDeleteCallback = - "" + EOL + - " {{REQUEST-ID}}" + EOL + - " Y" + EOL + - "" + EOL; - - public DoCreateVnfAndModulesRollbackTest() throws IOException { - callbacks.put("sdncChangeDelete", sdncAdapterDeleteCallback); - callbacks.put("sdncDelete", sdncAdapterDeleteCallback); - callbacks.put("vnfDelete", vnfAdapterDeleteCallback); - callbacks.put("vnfDeleteFail", vnfAdapterDeleteCallbackFail); - callbacks.put("deactivate", FileUtil.readResourceFile( - "__files/VfModularity/SDNCTopologyActivateCallback.xml")); - callbacks.put("unassign", FileUtil.readResourceFile( - "__files/VfModularity/SDNCTopologyActivateCallback.xml")); - } - - @Test - @Ignore - @Deployment(resources = { - "subprocess/DoCreateVnfAndModulesRollback.bpmn", - "subprocess/DoCreateVfModuleRollback.bpmn", - "subprocess/PrepareUpdateAAIVfModule.bpmn", - "subprocess/UpdateAAIVfModule.bpmn", - "subprocess/UpdateAAIGenericVnf.bpmn", - "subprocess/DeleteAAIVfModule.bpmn", - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/VnfAdapterRestV1.bpmn", - "subprocess/GenericGetVnf.bpmn", - "subprocess/GenericDeleteVnf.bpmn", - "subprocess/DoDeleteVnf.bpmn" - }) - public void TestDoCreateVnfAndModulesRollbackSuccess_BaseOnly() { - // delete the Base Module and Generic Vnf - // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c721, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a73 - String request = - "" + EOL + - " " + EOL + - " DELETE_VF_MODULE" + EOL + - " PORTAL" + EOL + - " " + EOL + - " " + EOL + - " a27ce5a9-29c4-4c22-a017-6615ac73c721" + EOL + - " STMTN5MMSC21" + EOL + - " asc_heat-int" + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + - " STMTN5MMSC21-MMSC::module-0-0" + EOL + - " 00000000-0000-0000-0000-000000000000" + EOL + - " SDN-ETHERNET-INTERNET" + EOL + - " fba1bd1e195a404cacb9ce17a9b2b421" + EOL + - " pending-delete" + EOL + - " RDM2WAGPLCP" + EOL + - " " + EOL + - " " + EOL + - "" + EOL; - logStart(); - mockSDNCAdapter("/SDNCAdapter", "SvcAction>changedelete", 200, "DeleteGenericVNFV1/sdncAdapterResponse.xml"); - mockSDNCAdapter("/SDNCAdapter", "SvcAction>delete", 200, "DeleteGenericVNFV1/sdncAdapterResponse.xml"); - mockVNFDelete(".*", "/.*", 202); - mockVfModuleDelete("78987"); - MockPatchVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); - MockPatchGenericVnf("a27ce5a9-29c4-4c22-a017-6615ac73c721"); - MockGetGenericVnfByName("STMTN5MMSC21", "DoCreateVfModule_getVnfResponse.xml"); - MockGetGenericVnfById("/a27ce5a9-29c4-4c22-a017-6615ac73c721.*", "DoCreateVfModule_getVnfResponse.xml", 200); - MockPutVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); - MockDeleteGenericVnf("a27ce5a9-29c4-4c22-a017-6615ac73c721", "0000021"); - MockDeleteVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73", "0000073", 200); - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - RollbackData rollbackData = new RollbackData(); - - rollbackData.put("VFMODULE_BASE", "source", "PORTAL"); - rollbackData.put("VFMODULE_BASE", "vnfid", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); - rollbackData.put("VFMODULE_BASE", "vnfname", "STMTN5MMSC21"); - rollbackData.put("VFMODULE_BASE", "vnftype", "asc_heat-int"); - rollbackData.put("VFMODULE_BASE", "vfmoduleid", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); - rollbackData.put("VFMODULE_BASE", "vfmodulename", "STMTN5MMSC21-MMSC::module-0-0"); - rollbackData.put("VFMODULE_BASE", "tenantid", "fba1bd1e195a404cacb9ce17a9b2b421"); - rollbackData.put("VFMODULE_BASE", "aiccloudregion", "RDM2WAGPLCP"); - rollbackData.put("VFMODULE_BASE", "heatstackid", "thisisaheatstack"); - rollbackData.put("VFMODULE_BASE", "contrailNetworkPolicyFqdn0", "MSOTest:DefaultPolicyFQDN1"); - rollbackData.put("VFMODULE_BASE", "contrailNetworkPolicyFqdn1", "MSOTest:DefaultPolicyFQDN2"); - rollbackData.put("VFMODULE_BASE", "oamManagementV6Address", "2000:abc:bce:1111"); - rollbackData.put("VFMODULE_BASE", "oamManagementV4Address", "127.0.0.1"); - - rollbackData.put("VFMODULE_BASE", "rollbackPrepareUpdateVfModule", "true"); - rollbackData.put("VFMODULE_BASE", "rollbackVnfAdapterCreate", "true"); - rollbackData.put("VFMODULE_BASE", "rollbackUpdateAAIVfModule", "true"); - rollbackData.put("VFMODULE_BASE", "rollbackSDNCRequestActivate", "true"); - rollbackData.put("VFMODULE_BASE", "rollbackCreateAAIVfModule", "true"); - rollbackData.put("VFMODULE_BASE", "rollbackCreateNetworkPoliciesAAI", "true"); - rollbackData.put("VFMODULE_BASE", "rollbackUpdateVnfAAI", "true"); - - rollbackData.put("VNF", "vnfId", "testVnfId123"); - - rollbackData.put("VNFANDMODULES", "numOfCreatedAddOnModules", "0"); - - 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"); - rollbackData.put("VFMODULE_BASE", "msorequestid", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); - rollbackData.put("VFMODULE_BASE", "serviceinstanceid", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); - - variables.put("rollbackData", rollbackData); - invokeSubProcess("DoCreateVnfAndModulesRollback", businessKey, variables); - - // "changedelete" operation not required for deleting a Vf Module + 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; + + private final String vnfAdapterDeleteCallbackFail = + "" + EOL + + " Error processing request to VNF-Async. Not Found." + EOL + + " INTERNAL" + EOL + + " false" + EOL + + " {{MESSAGE-ID}}" + EOL + + "" + EOL; + + private final String sdncAdapterDeleteCallback = + "" + EOL + + " {{REQUEST-ID}}" + EOL + + " Y" + EOL + + "" + EOL; + + public DoCreateVnfAndModulesRollbackTest() throws IOException { + callbacks.put("sdncChangeDelete", sdncAdapterDeleteCallback); + callbacks.put("sdncDelete", sdncAdapterDeleteCallback); + callbacks.put("vnfDelete", vnfAdapterDeleteCallback); + callbacks.put("vnfDeleteFail", vnfAdapterDeleteCallbackFail); + callbacks.put("deactivate", FileUtil.readResourceFile( + "__files/VfModularity/SDNCTopologyActivateCallback.xml")); + callbacks.put("unassign", FileUtil.readResourceFile( + "__files/VfModularity/SDNCTopologyActivateCallback.xml")); + } + + @Test + @Ignore + @Deployment(resources = { + "subprocess/DoCreateVnfAndModulesRollback.bpmn", + "subprocess/DoCreateVfModuleRollback.bpmn", + "subprocess/PrepareUpdateAAIVfModule.bpmn", + "subprocess/UpdateAAIVfModule.bpmn", + "subprocess/UpdateAAIGenericVnf.bpmn", + "subprocess/DeleteAAIVfModule.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/VnfAdapterRestV1.bpmn", + "subprocess/GenericGetVnf.bpmn", + "subprocess/GenericDeleteVnf.bpmn", + "subprocess/DoDeleteVnf.bpmn" + }) + public void TestDoCreateVnfAndModulesRollbackSuccess_BaseOnly() { + // delete the Base Module and Generic Vnf + // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c721, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a73 + String request = + "" + EOL + + " " + EOL + + " DELETE_VF_MODULE" + EOL + + " PORTAL" + EOL + + " " + EOL + + " " + EOL + + " a27ce5a9-29c4-4c22-a017-6615ac73c721" + EOL + + " STMTN5MMSC21" + EOL + + " asc_heat-int" + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + + " STMTN5MMSC21-MMSC::module-0-0" + EOL + + " 00000000-0000-0000-0000-000000000000" + EOL + + " SDN-ETHERNET-INTERNET" + EOL + + " fba1bd1e195a404cacb9ce17a9b2b421" + EOL + + " pending-delete" + EOL + + " RDM2WAGPLCP" + EOL + + " " + EOL + + " " + EOL + + "" + EOL; + logStart(); + mockSDNCAdapter("/SDNCAdapter", "SvcAction>changedelete", 200, "DeleteGenericVNFV1/sdncAdapterResponse.xml"); + mockSDNCAdapter("/SDNCAdapter", "SvcAction>delete", 200, "DeleteGenericVNFV1/sdncAdapterResponse.xml"); + mockVNFDelete(".*", "/.*", 202); + mockVfModuleDelete("78987"); + MockPatchVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); + MockPatchGenericVnf("a27ce5a9-29c4-4c22-a017-6615ac73c721"); + MockGetGenericVnfByName("STMTN5MMSC21", "DoCreateVfModule_getVnfResponse.xml"); + MockGetGenericVnfById("/a27ce5a9-29c4-4c22-a017-6615ac73c721.*", "DoCreateVfModule_getVnfResponse.xml", 200); + MockPutVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); + MockDeleteGenericVnf("a27ce5a9-29c4-4c22-a017-6615ac73c721", "0000021"); + MockDeleteVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73", "0000073", 200); + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + RollbackData rollbackData = new RollbackData(); + + rollbackData.put("VFMODULE_BASE", "source", "PORTAL"); + rollbackData.put("VFMODULE_BASE", "vnfid", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); + rollbackData.put("VFMODULE_BASE", "vnfname", "STMTN5MMSC21"); + rollbackData.put("VFMODULE_BASE", "vnftype", "asc_heat-int"); + rollbackData.put("VFMODULE_BASE", "vfmoduleid", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); + rollbackData.put("VFMODULE_BASE", "vfmodulename", "STMTN5MMSC21-MMSC::module-0-0"); + rollbackData.put("VFMODULE_BASE", "tenantid", "fba1bd1e195a404cacb9ce17a9b2b421"); + rollbackData.put("VFMODULE_BASE", "aiccloudregion", "RDM2WAGPLCP"); + rollbackData.put("VFMODULE_BASE", "heatstackid", "thisisaheatstack"); + rollbackData.put("VFMODULE_BASE", "contrailNetworkPolicyFqdn0", "MSOTest:DefaultPolicyFQDN1"); + rollbackData.put("VFMODULE_BASE", "contrailNetworkPolicyFqdn1", "MSOTest:DefaultPolicyFQDN2"); + rollbackData.put("VFMODULE_BASE", "oamManagementV6Address", "2000:abc:bce:1111"); + rollbackData.put("VFMODULE_BASE", "oamManagementV4Address", "127.0.0.1"); + + rollbackData.put("VFMODULE_BASE", "rollbackPrepareUpdateVfModule", "true"); + rollbackData.put("VFMODULE_BASE", "rollbackVnfAdapterCreate", "true"); + rollbackData.put("VFMODULE_BASE", "rollbackUpdateAAIVfModule", "true"); + rollbackData.put("VFMODULE_BASE", "rollbackSDNCRequestActivate", "true"); + rollbackData.put("VFMODULE_BASE", "rollbackCreateAAIVfModule", "true"); + rollbackData.put("VFMODULE_BASE", "rollbackCreateNetworkPoliciesAAI", "true"); + rollbackData.put("VFMODULE_BASE", "rollbackUpdateVnfAAI", "true"); + + rollbackData.put("VNF", "vnfId", "testVnfId123"); + + rollbackData.put("VNFANDMODULES", "numOfCreatedAddOnModules", "0"); + + 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"); + rollbackData.put("VFMODULE_BASE", "msorequestid", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); + rollbackData.put("VFMODULE_BASE", "serviceinstanceid", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); + + variables.put("rollbackData", rollbackData); + invokeSubProcess("DoCreateVnfAndModulesRollback", businessKey, variables); + + // "changedelete" operation not required for deleting a Vf Module // injectSDNCCallbacks(callbacks, "sdncChangeDelete"); - injectVNFRestCallbacks(callbacks, "vnfDelete"); - //waitForRunningProcessCount("DoCreateVnfAndModulesRollback", 0, 120000); - injectSDNCCallbacks(callbacks, "sdncDelete"); - - waitForProcessEnd(businessKey, 10000); - WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); - checkVariable(businessKey, "WorkflowException", null); - if (wfe != null) { - System.out.println("TestCreateVfModuleSuccess: ErrorCode=" + wfe.getErrorCode() + - ", ErrorMessage=" + wfe.getErrorMessage()); - } - logEnd(); - } - - @Test - @Deployment(resources = { - "subprocess/DoCreateVnfAndModulesRollback.bpmn", - "subprocess/PrepareUpdateAAIVfModule.bpmn", - "subprocess/UpdateAAIVfModule.bpmn", - "subprocess/UpdateAAIGenericVnf.bpmn", - "subprocess/DeleteAAIVfModule.bpmn", - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/GenericGetVnf.bpmn", - "subprocess/GenericDeleteVnf.bpmn", - "subprocess/DoDeleteVnf.bpmn" - }) - public void TestDoCreateVnfAndModulesRollbackSuccess_vnfOnly() { - // delete the Base Module and Generic Vnf - // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c721, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a73 - String request = - "" + EOL + - " " + EOL + - " DELETE_VF_MODULE" + EOL + - " PORTAL" + EOL + - " " + EOL + - " " + EOL + - " a27ce5a9-29c4-4c22-a017-6615ac73c721" + EOL + - " STMTN5MMSC21" + EOL + - " asc_heat-int" + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + - " STMTN5MMSC21-MMSC::module-0-0" + EOL + - " 00000000-0000-0000-0000-000000000000" + EOL + - " SDN-ETHERNET-INTERNET" + EOL + - " fba1bd1e195a404cacb9ce17a9b2b421" + EOL + - " pending-delete" + EOL + - " RDM2WAGPLCP" + EOL + - " " + EOL + - " " + EOL + - "" + EOL; - logStart(); - MockGetGenericVnfById("testVnfId123.*", "GenericFlows/getGenericVnfByNameResponse.xml"); - MockDeleteGenericVnf("testVnfId123", "testReVer123"); - MockDoDeleteVfModule_SDNCSuccess(); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - RollbackData rollbackData = new RollbackData(); - - rollbackData.put("VNF", "vnfId", "testVnfId123"); - rollbackData.put("VNF", "rollbackVnfCreate", "true"); - rollbackData.put("VNF", "rollbackSDNCAssign", "true"); - rollbackData.put("VNF", "rollbackSDNCActivate", "true"); - rollbackData.put("VNFANDMODULES", "numOfCreatedAddOnModules", "0"); - - - 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"); - - - variables.put("rollbackData", rollbackData); - variables.put("sdncVersion", "1707"); - invokeSubProcess("DoCreateVnfAndModulesRollback", businessKey, variables); - - // "changedelete" operation not required for deleting a Vf Module + injectVNFRestCallbacks(callbacks, "vnfDelete"); + //waitForRunningProcessCount("DoCreateVnfAndModulesRollback", 0, 120000); + injectSDNCCallbacks(callbacks, "sdncDelete"); + + waitForProcessEnd(businessKey, 10000); + WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); + checkVariable(businessKey, "WorkflowException", null); + if (wfe != null) { + System.out.println("TestCreateVfModuleSuccess: ErrorCode=" + wfe.getErrorCode() + + ", ErrorMessage=" + wfe.getErrorMessage()); + } + logEnd(); + } + + @Test + @Deployment(resources = { + "subprocess/DoCreateVnfAndModulesRollback.bpmn", + "subprocess/PrepareUpdateAAIVfModule.bpmn", + "subprocess/UpdateAAIVfModule.bpmn", + "subprocess/UpdateAAIGenericVnf.bpmn", + "subprocess/DeleteAAIVfModule.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/GenericGetVnf.bpmn", + "subprocess/GenericDeleteVnf.bpmn", + "subprocess/DoDeleteVnf.bpmn" + }) + public void TestDoCreateVnfAndModulesRollbackSuccess_vnfOnly() { + // delete the Base Module and Generic Vnf + // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c721, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a73 + String request = + "" + EOL + + " " + EOL + + " DELETE_VF_MODULE" + EOL + + " PORTAL" + EOL + + " " + EOL + + " " + EOL + + " a27ce5a9-29c4-4c22-a017-6615ac73c721" + EOL + + " STMTN5MMSC21" + EOL + + " asc_heat-int" + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + + " STMTN5MMSC21-MMSC::module-0-0" + EOL + + " 00000000-0000-0000-0000-000000000000" + EOL + + " SDN-ETHERNET-INTERNET" + EOL + + " fba1bd1e195a404cacb9ce17a9b2b421" + EOL + + " pending-delete" + EOL + + " RDM2WAGPLCP" + EOL + + " " + EOL + + " " + EOL + + "" + EOL; + logStart(); + MockGetGenericVnfById("testVnfId123.*", "GenericFlows/getGenericVnfByNameResponse.xml"); + MockDeleteGenericVnf("testVnfId123", "testReVer123"); + MockDoDeleteVfModule_SDNCSuccess(); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + RollbackData rollbackData = new RollbackData(); + + rollbackData.put("VNF", "vnfId", "testVnfId123"); + rollbackData.put("VNF", "rollbackVnfCreate", "true"); + rollbackData.put("VNF", "rollbackSDNCAssign", "true"); + rollbackData.put("VNF", "rollbackSDNCActivate", "true"); + rollbackData.put("VNFANDMODULES", "numOfCreatedAddOnModules", "0"); + + + 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"); + + + variables.put("rollbackData", rollbackData); + variables.put("sdncVersion", "1707"); + invokeSubProcess("DoCreateVnfAndModulesRollback", businessKey, variables); + + // "changedelete" operation not required for deleting a Vf Module // injectSDNCCallbacks(callbacks, "sdncChangeDelete"); - //waitForRunningProcessCount("DoCreateVnfAndModulesRollback", 0, 120000); - // injectSDNCCallbacks(callbacks, "sdncDelete"); - - waitForProcessEnd(businessKey, 10000); - WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); - checkVariable(businessKey, "WorkflowException", null); - if (wfe != null) { - System.out.println("TestCreateVfModuleSuccess: ErrorCode=" + wfe.getErrorCode() + - ", ErrorMessage=" + wfe.getErrorMessage()); - } - logEnd(); - } - - @Test - @Ignore - @Deployment(resources = { - "subprocess/DoCreateVnfAndModulesRollback.bpmn", - "subprocess/DoCreateVfModuleRollback.bpmn", - "subprocess/PrepareUpdateAAIVfModule.bpmn", - "subprocess/UpdateAAIVfModule.bpmn", - "subprocess/UpdateAAIGenericVnf.bpmn", - "subprocess/DeleteAAIVfModule.bpmn", - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/VnfAdapterRestV1.bpmn", - "subprocess/GenericGetVnf.bpmn", - "subprocess/GenericDeleteVnf.bpmn", - "subprocess/DoDeleteVnf.bpmn" - }) - public void TestDoCreateVnfAndModulesRollbackSuccess_AddOn() { - // delete the Base Module and Generic Vnf - // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c721, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a73 - String request = - "" + EOL + - " " + EOL + - " DELETE_VF_MODULE" + EOL + - " PORTAL" + EOL + - " " + EOL + - " " + EOL + - " a27ce5a9-29c4-4c22-a017-6615ac73c721" + EOL + - " STMTN5MMSC21" + EOL + - " asc_heat-int" + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + - " STMTN5MMSC21-MMSC::module-0-0" + EOL + - " 00000000-0000-0000-0000-000000000000" + EOL + - " SDN-ETHERNET-INTERNET" + EOL + - " fba1bd1e195a404cacb9ce17a9b2b421" + EOL + - " pending-delete" + EOL + - " RDM2WAGPLCP" + EOL + - " " + EOL + - " " + EOL + - "" + EOL; - logStart(); - mockSDNCAdapter("/SDNCAdapter", "SvcAction>changedelete", 200, "DeleteGenericVNFV1/sdncAdapterResponse.xml"); - mockSDNCAdapter("/SDNCAdapter", "SvcAction>delete", 200, "DeleteGenericVNFV1/sdncAdapterResponse.xml"); - mockVNFDelete(".*", "/.*", 202); - mockVfModuleDelete("78987"); - MockGetGenericVnfByName("STMTN5MMSC21", "DoCreateVfModule_getVnfResponse.xml"); - MockGetGenericVnfById("/a27ce5a9-29c4-4c22-a017-6615ac73c721", "DoCreateVfModule_getVnfResponse.xml", 200); - MockGetGenericVnfByIdWithDepth("a27ce5a9-29c4-4c22-a017-6615ac73c721", 1, "DoCreateVfModuleRollback/GenericVnf.xml"); - MockPatchVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); - MockPatchGenericVnf("a27ce5a9-29c4-4c22-a017-6615ac73c721"); - MockPutVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); - MockDeleteGenericVnf("a27ce5a9-29c4-4c22-a017-6615ac73c721", "0000021"); - MockDeleteVfModuleId("", "", "", 200); - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - RollbackData rollbackData = new RollbackData(); - - rollbackData.put("VFMODULE_BASE", "source", "PORTAL"); - rollbackData.put("VFMODULE_BASE", "vnfid", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); - rollbackData.put("VFMODULE_BASE", "vnfname", "STMTN5MMSC21"); - rollbackData.put("VFMODULE_BASE", "vnftype", "asc_heat-int"); - rollbackData.put("VFMODULE_BASE", "vfmoduleid", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); - rollbackData.put("VFMODULE_BASE", "vfmodulename", "STMTN5MMSC21-MMSC::module-0-0"); - rollbackData.put("VFMODULE_BASE", "tenantid", "fba1bd1e195a404cacb9ce17a9b2b421"); - rollbackData.put("VFMODULE_BASE", "aiccloudregion", "RDM2WAGPLCP"); - rollbackData.put("VFMODULE_BASE", "heatstackid", "thisisaheatstack"); - rollbackData.put("VFMODULE_BASE", "contrailNetworkPolicyFqdn0", "MSOTest:DefaultPolicyFQDN1"); - rollbackData.put("VFMODULE_BASE", "contrailNetworkPolicyFqdn1", "MSOTest:DefaultPolicyFQDN2"); - rollbackData.put("VFMODULE_BASE", "oamManagementV6Address", "2000:abc:bce:1111"); - rollbackData.put("VFMODULE_BASE", "oamManagementV4Address", "127.0.0.1"); - rollbackData.put("VFMODULE_BASE", "rollbackPrepareUpdateVfModule", "true"); - rollbackData.put("VFMODULE_BASE", "rollbackVnfAdapterCreate", "true"); - rollbackData.put("VFMODULE_BASE", "rollbackUpdateAAIVfModule", "true"); - rollbackData.put("VFMODULE_BASE", "rollbackSDNCRequestActivate", "true"); - rollbackData.put("VFMODULE_BASE", "rollbackCreateAAIVfModule", "true"); - rollbackData.put("VFMODULE_BASE", "rollbackCreateNetworkPoliciesAAI", "true"); - rollbackData.put("VFMODULE_BASE", "rollbackUpdateVnfAAI", "true"); - rollbackData.put("VFMODULE_BASE", "msorequestid", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); - rollbackData.put("VFMODULE_BASE", "serviceinstanceid", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); - - - rollbackData.put("VFMODULE_ADDON_1", "source", "PORTAL"); - rollbackData.put("VFMODULE_ADDON_1", "vnfid", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); - rollbackData.put("VFMODULE_ADDON_1", "vnfname", "STMTN5MMSC21"); - rollbackData.put("VFMODULE_ADDON_1", "vnftype", "asc_heat-int"); - rollbackData.put("VFMODULE_ADDON_1", "vfmoduleid", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); - rollbackData.put("VFMODULE_ADDON_1", "vfmodulename", "STMTN5MMSC21-MMSC::module-0-0"); - rollbackData.put("VFMODULE_ADDON_1", "tenantid", "fba1bd1e195a404cacb9ce17a9b2b421"); - rollbackData.put("VFMODULE_ADDON_1", "aiccloudregion", "RDM2WAGPLCP"); - rollbackData.put("VFMODULE_ADDON_1", "heatstackid", "thisisaheatstack"); - rollbackData.put("VFMODULE_ADDON_1", "contrailNetworkPolicyFqdn0", "MSOTest:DefaultPolicyFQDN1"); - rollbackData.put("VFMODULE_ADDON_1", "contrailNetworkPolicyFqdn1", "MSOTest:DefaultPolicyFQDN2"); - rollbackData.put("VFMODULE_ADDON_1", "oamManagementV6Address", "2000:abc:bce:1111"); - rollbackData.put("VFMODULE_ADDON_1", "oamManagementV4Address", "127.0.0.1"); - rollbackData.put("VFMODULE_ADDON_1", "rollbackPrepareUpdateVfModule", "true"); - rollbackData.put("VFMODULE_ADDON_1", "rollbackVnfAdapterCreate", "true"); - rollbackData.put("VFMODULE_ADDON_1", "rollbackUpdateAAIVfModule", "true"); - rollbackData.put("VFMODULE_ADDON_1", "rollbackSDNCRequestActivate", "true"); - rollbackData.put("VFMODULE_ADDON_1", "rollbackCreateAAIVfModule", "true"); - rollbackData.put("VFMODULE_ADDON_1", "rollbackCreateNetworkPoliciesAAI", "true"); - rollbackData.put("VFMODULE_ADDON_1", "rollbackUpdateVnfAAI", "true"); - rollbackData.put("VFMODULE_ADDON_1", "msorequestid", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); - rollbackData.put("VFMODULE_ADDON_1", "serviceinstanceid", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); - - rollbackData.put("VNF", "vnfId", "testVnfId123"); - - rollbackData.put("VNFANDMODULES", "numOfCreatedAddOnModules", "1"); - - 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"); - - - variables.put("rollbackData", rollbackData); - invokeSubProcess("DoCreateVnfAndModulesRollback", businessKey, variables); - - // "changedelete" operation not required for deleting a Vf Module - // injectSDNCCallbacks(callbacks, "sdncChangeDelete"); - injectVNFRestCallbacks(callbacks, "vnfDelete"); - injectVNFRestCallbacks(callbacks, "vnfDelete"); - //waitForRunningProcessCount("DoCreateVnfAndModulesRollback", 0, 120000); - injectSDNCCallbacks(callbacks, "sdncDelete"); - - waitForProcessEnd(businessKey, 10000); - WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); - checkVariable(businessKey, "WorkflowException", null); - if (wfe != null) { - System.out.println("TestCreateVfModuleSuccess: ErrorCode=" + wfe.getErrorCode() + - ", ErrorMessage=" + wfe.getErrorMessage()); - } - logEnd(); - } - - public static void MockDoDeleteVfModule_SDNCSuccess() { - stubFor(post(urlEqualTo("/SDNCAdapter")) - .withRequestBody(containing("SvcAction>deactivate")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile("DeleteGenericVNFV1/sdncAdapterResponse.xml"))); - stubFor(post(urlEqualTo("/SDNCAdapter")) - .withRequestBody(containing("SvcAction>unassign")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile("DeleteGenericVNFV1/sdncAdapterResponse.xml"))); - } + //waitForRunningProcessCount("DoCreateVnfAndModulesRollback", 0, 120000); + // injectSDNCCallbacks(callbacks, "sdncDelete"); + + waitForProcessEnd(businessKey, 10000); + WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); + checkVariable(businessKey, "WorkflowException", null); + if (wfe != null) { + System.out.println("TestCreateVfModuleSuccess: ErrorCode=" + wfe.getErrorCode() + + ", ErrorMessage=" + wfe.getErrorMessage()); + } + logEnd(); + } + + @Test + @Ignore + @Deployment(resources = { + "subprocess/DoCreateVnfAndModulesRollback.bpmn", + "subprocess/DoCreateVfModuleRollback.bpmn", + "subprocess/PrepareUpdateAAIVfModule.bpmn", + "subprocess/UpdateAAIVfModule.bpmn", + "subprocess/UpdateAAIGenericVnf.bpmn", + "subprocess/DeleteAAIVfModule.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/VnfAdapterRestV1.bpmn", + "subprocess/GenericGetVnf.bpmn", + "subprocess/GenericDeleteVnf.bpmn", + "subprocess/DoDeleteVnf.bpmn" + }) + public void TestDoCreateVnfAndModulesRollbackSuccess_AddOn() { + // delete the Base Module and Generic Vnf + // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c721, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a73 + String request = + "" + EOL + + " " + EOL + + " DELETE_VF_MODULE" + EOL + + " PORTAL" + EOL + + " " + EOL + + " " + EOL + + " a27ce5a9-29c4-4c22-a017-6615ac73c721" + EOL + + " STMTN5MMSC21" + EOL + + " asc_heat-int" + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + + " STMTN5MMSC21-MMSC::module-0-0" + EOL + + " 00000000-0000-0000-0000-000000000000" + EOL + + " SDN-ETHERNET-INTERNET" + EOL + + " fba1bd1e195a404cacb9ce17a9b2b421" + EOL + + " pending-delete" + EOL + + " RDM2WAGPLCP" + EOL + + " " + EOL + + " " + EOL + + "" + EOL; + logStart(); + mockSDNCAdapter("/SDNCAdapter", "SvcAction>changedelete", 200, "DeleteGenericVNFV1/sdncAdapterResponse.xml"); + mockSDNCAdapter("/SDNCAdapter", "SvcAction>delete", 200, "DeleteGenericVNFV1/sdncAdapterResponse.xml"); + mockVNFDelete(".*", "/.*", 202); + mockVfModuleDelete("78987"); + MockGetGenericVnfByName("STMTN5MMSC21", "DoCreateVfModule_getVnfResponse.xml"); + MockGetGenericVnfById("/a27ce5a9-29c4-4c22-a017-6615ac73c721", "DoCreateVfModule_getVnfResponse.xml", 200); + MockGetGenericVnfByIdWithDepth("a27ce5a9-29c4-4c22-a017-6615ac73c721", 1, "DoCreateVfModuleRollback/GenericVnf.xml"); + MockPatchVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); + MockPatchGenericVnf("a27ce5a9-29c4-4c22-a017-6615ac73c721"); + MockPutVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); + MockDeleteGenericVnf("a27ce5a9-29c4-4c22-a017-6615ac73c721", "0000021"); + MockDeleteVfModuleId("", "", "", 200); + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + RollbackData rollbackData = new RollbackData(); + + rollbackData.put("VFMODULE_BASE", "source", "PORTAL"); + rollbackData.put("VFMODULE_BASE", "vnfid", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); + rollbackData.put("VFMODULE_BASE", "vnfname", "STMTN5MMSC21"); + rollbackData.put("VFMODULE_BASE", "vnftype", "asc_heat-int"); + rollbackData.put("VFMODULE_BASE", "vfmoduleid", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); + rollbackData.put("VFMODULE_BASE", "vfmodulename", "STMTN5MMSC21-MMSC::module-0-0"); + rollbackData.put("VFMODULE_BASE", "tenantid", "fba1bd1e195a404cacb9ce17a9b2b421"); + rollbackData.put("VFMODULE_BASE", "aiccloudregion", "RDM2WAGPLCP"); + rollbackData.put("VFMODULE_BASE", "heatstackid", "thisisaheatstack"); + rollbackData.put("VFMODULE_BASE", "contrailNetworkPolicyFqdn0", "MSOTest:DefaultPolicyFQDN1"); + rollbackData.put("VFMODULE_BASE", "contrailNetworkPolicyFqdn1", "MSOTest:DefaultPolicyFQDN2"); + rollbackData.put("VFMODULE_BASE", "oamManagementV6Address", "2000:abc:bce:1111"); + rollbackData.put("VFMODULE_BASE", "oamManagementV4Address", "127.0.0.1"); + rollbackData.put("VFMODULE_BASE", "rollbackPrepareUpdateVfModule", "true"); + rollbackData.put("VFMODULE_BASE", "rollbackVnfAdapterCreate", "true"); + rollbackData.put("VFMODULE_BASE", "rollbackUpdateAAIVfModule", "true"); + rollbackData.put("VFMODULE_BASE", "rollbackSDNCRequestActivate", "true"); + rollbackData.put("VFMODULE_BASE", "rollbackCreateAAIVfModule", "true"); + rollbackData.put("VFMODULE_BASE", "rollbackCreateNetworkPoliciesAAI", "true"); + rollbackData.put("VFMODULE_BASE", "rollbackUpdateVnfAAI", "true"); + rollbackData.put("VFMODULE_BASE", "msorequestid", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); + rollbackData.put("VFMODULE_BASE", "serviceinstanceid", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); + + + rollbackData.put("VFMODULE_ADDON_1", "source", "PORTAL"); + rollbackData.put("VFMODULE_ADDON_1", "vnfid", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); + rollbackData.put("VFMODULE_ADDON_1", "vnfname", "STMTN5MMSC21"); + rollbackData.put("VFMODULE_ADDON_1", "vnftype", "asc_heat-int"); + rollbackData.put("VFMODULE_ADDON_1", "vfmoduleid", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); + rollbackData.put("VFMODULE_ADDON_1", "vfmodulename", "STMTN5MMSC21-MMSC::module-0-0"); + rollbackData.put("VFMODULE_ADDON_1", "tenantid", "fba1bd1e195a404cacb9ce17a9b2b421"); + rollbackData.put("VFMODULE_ADDON_1", "aiccloudregion", "RDM2WAGPLCP"); + rollbackData.put("VFMODULE_ADDON_1", "heatstackid", "thisisaheatstack"); + rollbackData.put("VFMODULE_ADDON_1", "contrailNetworkPolicyFqdn0", "MSOTest:DefaultPolicyFQDN1"); + rollbackData.put("VFMODULE_ADDON_1", "contrailNetworkPolicyFqdn1", "MSOTest:DefaultPolicyFQDN2"); + rollbackData.put("VFMODULE_ADDON_1", "oamManagementV6Address", "2000:abc:bce:1111"); + rollbackData.put("VFMODULE_ADDON_1", "oamManagementV4Address", "127.0.0.1"); + rollbackData.put("VFMODULE_ADDON_1", "rollbackPrepareUpdateVfModule", "true"); + rollbackData.put("VFMODULE_ADDON_1", "rollbackVnfAdapterCreate", "true"); + rollbackData.put("VFMODULE_ADDON_1", "rollbackUpdateAAIVfModule", "true"); + rollbackData.put("VFMODULE_ADDON_1", "rollbackSDNCRequestActivate", "true"); + rollbackData.put("VFMODULE_ADDON_1", "rollbackCreateAAIVfModule", "true"); + rollbackData.put("VFMODULE_ADDON_1", "rollbackCreateNetworkPoliciesAAI", "true"); + rollbackData.put("VFMODULE_ADDON_1", "rollbackUpdateVnfAAI", "true"); + rollbackData.put("VFMODULE_ADDON_1", "msorequestid", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); + rollbackData.put("VFMODULE_ADDON_1", "serviceinstanceid", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); + + rollbackData.put("VNF", "vnfId", "testVnfId123"); + + rollbackData.put("VNFANDMODULES", "numOfCreatedAddOnModules", "1"); + + 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"); + + + variables.put("rollbackData", rollbackData); + invokeSubProcess("DoCreateVnfAndModulesRollback", businessKey, variables); + + // "changedelete" operation not required for deleting a Vf Module + // injectSDNCCallbacks(callbacks, "sdncChangeDelete"); + injectVNFRestCallbacks(callbacks, "vnfDelete"); + injectVNFRestCallbacks(callbacks, "vnfDelete"); + //waitForRunningProcessCount("DoCreateVnfAndModulesRollback", 0, 120000); + injectSDNCCallbacks(callbacks, "sdncDelete"); + + waitForProcessEnd(businessKey, 10000); + WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); + checkVariable(businessKey, "WorkflowException", null); + if (wfe != null) { + System.out.println("TestCreateVfModuleSuccess: ErrorCode=" + wfe.getErrorCode() + + ", ErrorMessage=" + wfe.getErrorMessage()); + } + logEnd(); + } + + public static void MockDoDeleteVfModule_SDNCSuccess() { + stubFor(post(urlEqualTo("/SDNCAdapter")) + .withRequestBody(containing("SvcAction>deactivate")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile("DeleteGenericVNFV1/sdncAdapterResponse.xml"))); + stubFor(post(urlEqualTo("/SDNCAdapter")) + .withRequestBody(containing("SvcAction>unassign")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile("DeleteGenericVNFV1/sdncAdapterResponse.xml"))); + } } \ 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 37a5b4b806..c8f97cac04 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 @@ -53,320 +53,322 @@ import org.openecomp.mso.bpmn.mock.FileUtil; /** * Unit Test for the DoCreateVnfAndModules Flow + * */ public class DoCreateVnfAndModulesTest extends WorkflowTest { - private final CallbackSet callbacks = new CallbackSet(); - - public DoCreateVnfAndModulesTest() throws IOException { - - callbacks.put("assign", FileUtil.readResourceFile( - "__files/VfModularity/SDNCTopologyAssignCallback.xml")); - callbacks.put("activate", FileUtil.readResourceFile( - "__files/VfModularity/SDNCTopologyActivateCallback.xml")); - callbacks.put("query", FileUtil.readResourceFile( - "__files/VfModularity/SDNCTopologyQueryCallback.xml")); - callbacks.put("queryVnf", FileUtil.readResourceFile( - "__files/VfModularity/SDNCTopologyQueryCallbackVnf.xml")); - callbacks.put("queryModuleNoVnf", FileUtil.readResourceFile( - "__files/VfModularity/SDNCTopologyQueryCallbackVfModuleNoVnf.xml")); - callbacks.put("queryModule", FileUtil.readResourceFile( - "__files/VfModularity/SDNCTopologyQueryCallbackVfModule.xml")); - callbacks.put("vnfCreate", FileUtil.readResourceFile( - "__files/VfModularity/VNFAdapterRestCreateCallback.xml")); - } - - @Test + private final CallbackSet callbacks = new CallbackSet(); + + public DoCreateVnfAndModulesTest() throws IOException { + + callbacks.put("assign", FileUtil.readResourceFile( + "__files/VfModularity/SDNCTopologyAssignCallback.xml")); + callbacks.put("activate", FileUtil.readResourceFile( + "__files/VfModularity/SDNCTopologyActivateCallback.xml")); + callbacks.put("query", FileUtil.readResourceFile( + "__files/VfModularity/SDNCTopologyQueryCallback.xml")); + callbacks.put("queryVnf", FileUtil.readResourceFile( + "__files/VfModularity/SDNCTopologyQueryCallbackVnf.xml")); + callbacks.put("queryModuleNoVnf", FileUtil.readResourceFile( + "__files/VfModularity/SDNCTopologyQueryCallbackVfModuleNoVnf.xml")); + callbacks.put("queryModule", FileUtil.readResourceFile( + "__files/VfModularity/SDNCTopologyQueryCallbackVfModule.xml")); + callbacks.put("vnfCreate", FileUtil.readResourceFile( + "__files/VfModularity/VNFAdapterRestCreateCallback.xml")); + } + + @Test @Ignore // IGNORED FOR 1710 MERGE TO ONAP - @Deployment(resources = {"subprocess/GenericGetService.bpmn", - "subprocess/GenericGetVnf.bpmn", - "subprocess/GenericPutVnf.bpmn", - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/DoCreateVnf.bpmn", - "subprocess/GenerateVfModuleName.bpmn", - "subprocess/DoCreateVfModule.bpmn", - "subprocess/DoCreateVnfAndModules.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", - "subprocess/DoCreateVnfAndModulesRollback.bpmn"}) - public void testDoCreateVnfAndModulesBaseOnly_success() throws Exception { - - 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"); - MockPutGenericVnf(".*"); - MockAAIVfModule(); - MockPatchGenericVnf("skask"); - MockPatchVfModuleId("skask", ".*"); - mockSDNCAdapter("VfModularity/StandardSDNCSynchResponse.xml"); - MockVNFAdapterRestVfModule(); - MockDBUpdateVfModule(); - - mockSDNCAdapter("VfModularity/StandardSDNCSynchResponse.xml"); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - setVariablesSuccess(variables, "", "testRequestId123", "MIS%2F1604%2F0026%2FSW_INTERNET"); - invokeSubProcess("DoCreateVnfAndModules", businessKey, variables); - - injectSDNCCallbacks(callbacks, "assign"); - injectSDNCCallbacks(callbacks, "query"); - injectSDNCCallbacks(callbacks, "activate"); - injectSDNCCallbacks(callbacks, "queryVnf"); - injectSDNCCallbacks(callbacks, "assign, queryModuleNoVnf"); - injectVNFRestCallbacks(callbacks, "vnfCreate"); - injectSDNCCallbacks(callbacks, "activate"); - waitForProcessEnd(businessKey, 10000); - - Assert.assertTrue(isProcessEnded(businessKey)); - assertVariables("true", "true", "false", "true", "Success", null); - - } - - @Test + @Deployment(resources = {"subprocess/GenericGetService.bpmn", + "subprocess/GenericGetVnf.bpmn", + "subprocess/GenericPutVnf.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/DoCreateVnf.bpmn", + "subprocess/GenerateVfModuleName.bpmn", + "subprocess/DoCreateVfModule.bpmn", + "subprocess/DoCreateVnfAndModules.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", + "subprocess/DoCreateVnfAndModulesRollback.bpmn"}) + public void testDoCreateVnfAndModulesBaseOnly_success() throws Exception{ + + 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"); + MockPutGenericVnf(".*"); + MockAAIVfModule(); + MockPatchGenericVnf("skask"); + MockPatchVfModuleId("skask", ".*"); + mockSDNCAdapter("VfModularity/StandardSDNCSynchResponse.xml"); + MockVNFAdapterRestVfModule(); + MockDBUpdateVfModule(); + + mockSDNCAdapter("VfModularity/StandardSDNCSynchResponse.xml"); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariablesSuccess(variables, "", "testRequestId123", "MIS%2F1604%2F0026%2FSW_INTERNET"); + invokeSubProcess("DoCreateVnfAndModules", businessKey, variables); + + injectSDNCCallbacks(callbacks, "assign"); + injectSDNCCallbacks(callbacks, "query"); + injectSDNCCallbacks(callbacks, "activate"); + injectSDNCCallbacks(callbacks, "queryVnf"); + injectSDNCCallbacks(callbacks, "assign, queryModuleNoVnf"); + injectVNFRestCallbacks(callbacks, "vnfCreate"); + injectSDNCCallbacks(callbacks, "activate"); + waitForProcessEnd(businessKey, 10000); + + Assert.assertTrue(isProcessEnded(businessKey)); + assertVariables("true", "true", "false", "true", "Success", null); + + } + + @Test @Ignore // IGNORED FOR 1710 MERGE TO ONAP - @Deployment(resources = {"subprocess/GenericGetService.bpmn", - "subprocess/GenericGetVnf.bpmn", - "subprocess/GenericPutVnf.bpmn", - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/DoCreateVnf.bpmn", - "subprocess/GenerateVfModuleName.bpmn", - "subprocess/DoCreateVfModule.bpmn", - "subprocess/DoCreateVnfAndModules.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", - "subprocess/DoCreateVnfAndModulesRollback.bpmn"}) - public void testDoCreateVnfAndModulesWithAddon_success() throws Exception { - - 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"); - MockPutGenericVnf(".*"); - MockAAIVfModule(); - MockPatchGenericVnf("skask"); - MockPatchVfModuleId("skask", ".*"); - mockSDNCAdapter("VfModularity/StandardSDNCSynchResponse.xml"); - MockVNFAdapterRestVfModule(); - MockDBUpdateVfModule(); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - mockSDNCAdapter("VfModularity/StandardSDNCSynchResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - setVariablesAddonSuccess(variables, "", "testRequestId123", "MIS%2F1604%2F0026%2FSW_INTERNET"); - invokeSubProcess("DoCreateVnfAndModules", businessKey, variables); - - injectSDNCCallbacks(callbacks, "assign"); - injectSDNCCallbacks(callbacks, "query"); - injectSDNCCallbacks(callbacks, "activate"); - injectSDNCCallbacks(callbacks, "queryVnf"); - injectSDNCCallbacks(callbacks, "assign, queryModuleNoVnf"); - injectVNFRestCallbacks(callbacks, "vnfCreate"); - injectSDNCCallbacks(callbacks, "activate"); - injectSDNCCallbacks(callbacks, "queryVnf"); - injectSDNCCallbacks(callbacks, "assign, queryModuleNoVnf"); - injectVNFRestCallbacks(callbacks, "vnfCreate"); - injectSDNCCallbacks(callbacks, "activate"); - waitForProcessEnd(businessKey, 10000); - - Assert.assertTrue(isProcessEnded(businessKey)); - assertVariables("true", "true", "false", "true", "Success", null); - - } - - private void assertVariables(String exSIFound, String exSISucc, String exVnfFound, String exVnfSucc, String exResponse, String exWorkflowException) { - - String siFound = BPMNUtil.getVariable(processEngineRule, "DoCreateVnf", "GENGS_FoundIndicator"); - String siSucc = BPMNUtil.getVariable(processEngineRule, "DoCreateVnf", "GENGS_SuccessIndicator"); - String vnfFound = BPMNUtil.getVariable(processEngineRule, "DoCreateVnf", "GENGV_FoundIndicator"); - String vnfSucc = BPMNUtil.getVariable(processEngineRule, "DoCreateVnf", "GENGV_SuccessIndicator"); - String response = BPMNUtil.getVariable(processEngineRule, "DoCreateVnf", "WorkflowResponse"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "DoCreateVnf", "SavedWorkflowException1"); - - //assertEquals(exSIFound, siFound); - //assertEquals(exSISucc, siSucc); - //assertEquals(exVnfFound, vnfFound); - //assertEquals(exVnfSucc, vnfSucc); - //assertEquals(exResponse, response); - assertEquals(exWorkflowException, workflowException); - } - - private void setVariables(Map variables, String request, String requestId, String siId) { - variables.put("isDebugLogEnabled", "true"); - variables.put("bpmnRequest", request); - variables.put("mso-request-id", requestId); - variables.put("serviceInstanceId", siId); - variables.put("testVnfId", "testVnfId123"); - variables.put("vnfType", "STMTN"); - } - - private void setVariablesSuccess(Map variables, String request, String requestId, String siId) { - variables.put("isDebugLogEnabled", "true"); - variables.put("mso-request-id", requestId); - variables.put("requestId", requestId); - variables.put("msoRequestId", requestId); - variables.put("serviceInstanceId", siId); - variables.put("disableRollback", "true"); - //variables.put("testVnfId","testVnfId123"); - variables.put("vnfType", "STMTN"); - - String serviceModelInfo = "{ " + "\"modelType\": \"service\"," + - "\"modelInvariantUuid\": \"995256d2-5a33-55df-13ab-12abad84e7ff\"," + - "\"modelUuid\": \"ab6478e5-ea33-3346-ac12-ab121484a3fe\"," + - "\"modelName\": \"ServicevSAMP12\"," + - "\"modelVersion\": \"1.0\"," + - "}"; - variables.put("serviceModelInfo", serviceModelInfo); - variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"); - String vnfModelInfo = "{" + "\"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("vnfModelInfo", vnfModelInfo); - - String cloudConfiguration = "{" + "\"cloudConfiguration\": { " + - "\"lcpCloudRegionId\": \"mdt1\"," + - "\"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\"" + "}}"; - variables.put("cloudConfiguration", cloudConfiguration); - variables.put("sdncVersion", "1707"); - variables.put("globalSubscriberId", "subscriber123"); - - try { - String serviceDecomposition = FileUtil.readResourceFile("__files/VIPR/serviceDecompositionATMFW.json"); - 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.setModelVersion("1"); - mvmr.setModelCustomizationUuid("MODEL-123"); - mr.setModelInfo(mvmr); - mr.setIsBase(true); - mr.setVfModuleLabel("MODULELABEL"); - vr.addVfModule(mr); - sd.addVnfResource(vr); - - variables.put("serviceDecomposition", sd); - variables.put("isTest", true); - } catch (Exception e) { - - } - - } - - private void setVariablesAddonSuccess(Map variables, String request, String requestId, String siId) { - variables.put("isDebugLogEnabled", "true"); - variables.put("mso-request-id", requestId); - variables.put("requestId", requestId); - variables.put("msoRequestId", requestId); - variables.put("serviceInstanceId", siId); - variables.put("disableRollback", "true"); - //variables.put("testVnfId","testVnfId123"); - variables.put("vnfType", "STMTN"); - - String serviceModelInfo = "{ " + "\"modelType\": \"service\"," + - "\"modelInvariantUuid\": \"995256d2-5a33-55df-13ab-12abad84e7ff\"," + - "\"modelUuid\": \"ab6478e5-ea33-3346-ac12-ab121484a3fe\"," + - "\"modelName\": \"ServicevSAMP12\"," + - "\"modelVersion\": \"1.0\"," + - "}"; - variables.put("serviceModelInfo", serviceModelInfo); - variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"); - String vnfModelInfo = "{" + "\"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("vnfModelInfo", vnfModelInfo); - - String cloudConfiguration = "{" + "\"cloudConfiguration\": { " + - "\"lcpCloudRegionId\": \"mdt1\"," + - "\"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\"" + "}}"; - variables.put("cloudConfiguration", cloudConfiguration); - variables.put("sdncVersion", "1707"); - variables.put("globalSubscriberId", "subscriber123"); - - try { - String serviceDecomposition = FileUtil.readResourceFile("__files/VIPR/serviceDecompositionATMFW.json"); - 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.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.setModelVersion("1"); - mvmr.setModelCustomizationUuid("MODEL-123"); - mr.setModelInfo(mvmr); - mr.setIsBase(true); - mr.setVfModuleLabel("MODULELABEL"); - vr.addVfModule(mr); - ModuleResource mr1 = new ModuleResource(); - ModelInfo mvmr1 = new ModelInfo(); - mvmr1.setModelInvariantUuid("ff5256d2-5a33-55df-13ab-12abad84e7ff"); - mvmr1.setModelName("STMTN5MMSC21-MMSC::model-1-0"); - mvmr1.setModelVersion("1"); - mvmr1.setModelCustomizationUuid("MODEL-123"); - mr1.setModelInfo(mvmr1); - mr1.setIsBase(false); - mr1.setVfModuleLabel("MODULELABEL"); - mr1.setInitialCount(1); - vr.addVfModule(mr1); - - sd.addVnfResource(vr); - - variables.put("serviceDecomposition", sd); - variables.put("isTest", true); - } catch (Exception e) { - - - } - } + @Deployment(resources = {"subprocess/GenericGetService.bpmn", + "subprocess/GenericGetVnf.bpmn", + "subprocess/GenericPutVnf.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/DoCreateVnf.bpmn", + "subprocess/GenerateVfModuleName.bpmn", + "subprocess/DoCreateVfModule.bpmn", + "subprocess/DoCreateVnfAndModules.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", + "subprocess/DoCreateVnfAndModulesRollback.bpmn"}) + public void testDoCreateVnfAndModulesWithAddon_success() throws Exception{ + + 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"); + MockPutGenericVnf(".*"); + MockAAIVfModule(); + MockPatchGenericVnf("skask"); + MockPatchVfModuleId("skask", ".*"); + mockSDNCAdapter("VfModularity/StandardSDNCSynchResponse.xml"); + MockVNFAdapterRestVfModule(); + MockDBUpdateVfModule(); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + mockSDNCAdapter("VfModularity/StandardSDNCSynchResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariablesAddonSuccess(variables, "", "testRequestId123", "MIS%2F1604%2F0026%2FSW_INTERNET"); + invokeSubProcess("DoCreateVnfAndModules", businessKey, variables); + + injectSDNCCallbacks(callbacks, "assign"); + injectSDNCCallbacks(callbacks, "query"); + injectSDNCCallbacks(callbacks, "activate"); + injectSDNCCallbacks(callbacks, "queryVnf"); + injectSDNCCallbacks(callbacks, "assign, queryModuleNoVnf"); + injectVNFRestCallbacks(callbacks, "vnfCreate"); + injectSDNCCallbacks(callbacks, "activate"); + injectSDNCCallbacks(callbacks, "queryVnf"); + injectSDNCCallbacks(callbacks, "assign, queryModuleNoVnf"); + injectVNFRestCallbacks(callbacks, "vnfCreate"); + injectSDNCCallbacks(callbacks, "activate"); + waitForProcessEnd(businessKey, 10000); + + Assert.assertTrue(isProcessEnded(businessKey)); + assertVariables("true", "true", "false", "true", "Success", null); + + } + + private void assertVariables(String exSIFound, String exSISucc, String exVnfFound, String exVnfSucc, String exResponse, String exWorkflowException) { + + String siFound = BPMNUtil.getVariable(processEngineRule, "DoCreateVnf", "GENGS_FoundIndicator"); + String siSucc = BPMNUtil.getVariable(processEngineRule, "DoCreateVnf", "GENGS_SuccessIndicator"); + String vnfFound = BPMNUtil.getVariable(processEngineRule, "DoCreateVnf", "GENGV_FoundIndicator"); + String vnfSucc = BPMNUtil.getVariable(processEngineRule, "DoCreateVnf", "GENGV_SuccessIndicator"); + String response = BPMNUtil.getVariable(processEngineRule, "DoCreateVnf", "WorkflowResponse"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "DoCreateVnf", "SavedWorkflowException1"); + + //assertEquals(exSIFound, siFound); + //assertEquals(exSISucc, siSucc); + //assertEquals(exVnfFound, vnfFound); + //assertEquals(exVnfSucc, vnfSucc); + //assertEquals(exResponse, response); + assertEquals(exWorkflowException, workflowException); + } + + private void setVariables(Map variables, String request, String requestId, String siId) { + variables.put("isDebugLogEnabled", "true"); + variables.put("bpmnRequest", request); + variables.put("mso-request-id", requestId); + variables.put("serviceInstanceId",siId); + variables.put("testVnfId","testVnfId123"); + variables.put("vnfType", "STMTN"); + } + + private void setVariablesSuccess(Map variables, String request, String requestId, String siId) { + variables.put("isDebugLogEnabled", "true"); + variables.put("mso-request-id", requestId); + variables.put("requestId", requestId); + variables.put("msoRequestId", requestId); + variables.put("serviceInstanceId",siId); + variables.put("disableRollback", "true"); + //variables.put("testVnfId","testVnfId123"); + variables.put("vnfType", "STMTN"); + + String serviceModelInfo = "{ "+ "\"modelType\": \"service\"," + + "\"modelInvariantUuid\": \"995256d2-5a33-55df-13ab-12abad84e7ff\"," + + "\"modelUuid\": \"ab6478e5-ea33-3346-ac12-ab121484a3fe\"," + + "\"modelName\": \"ServicevSAMP12\"," + + "\"modelVersion\": \"1.0\"," + + "}"; + variables.put("serviceModelInfo", serviceModelInfo); + variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"); + String vnfModelInfo = "{" + "\"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("vnfModelInfo", vnfModelInfo); + + String cloudConfiguration = "{" + "\"cloudConfiguration\": { " + + "\"lcpCloudRegionId\": \"mdt1\"," + + "\"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\"" + "}}"; + variables.put("cloudConfiguration", cloudConfiguration); + variables.put("sdncVersion", "1707"); + variables.put("globalSubscriberId", "subscriber123"); + + try { + String serviceDecomposition = FileUtil.readResourceFile("__files/VIPR/serviceDecompositionATMFW.json"); + 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.setModelVersion("1"); + mvmr.setModelCustomizationUuid("MODEL-123"); + mr.setModelInfo(mvmr); + mr.setIsBase(true); + mr.setVfModuleLabel("MODULELABEL"); + vr.addVfModule(mr); + sd.addVnfResource(vr); + + variables.put("serviceDecomposition", sd); + variables.put("isTest", true); + } catch(Exception e) { + + } + + } + + private void setVariablesAddonSuccess(Map variables, String request, String requestId, String siId) { + variables.put("isDebugLogEnabled", "true"); + variables.put("mso-request-id", requestId); + variables.put("requestId", requestId); + variables.put("msoRequestId", requestId); + variables.put("serviceInstanceId",siId); + variables.put("disableRollback", "true"); + //variables.put("testVnfId","testVnfId123"); + variables.put("vnfType", "STMTN"); + + String serviceModelInfo = "{ "+ "\"modelType\": \"service\"," + + "\"modelInvariantUuid\": \"995256d2-5a33-55df-13ab-12abad84e7ff\"," + + "\"modelUuid\": \"ab6478e5-ea33-3346-ac12-ab121484a3fe\"," + + "\"modelName\": \"ServicevSAMP12\"," + + "\"modelVersion\": \"1.0\"," + + "}"; + variables.put("serviceModelInfo", serviceModelInfo); + variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"); + String vnfModelInfo = "{" + "\"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("vnfModelInfo", vnfModelInfo); + + String cloudConfiguration = "{" + "\"cloudConfiguration\": { " + + "\"lcpCloudRegionId\": \"mdt1\"," + + "\"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\"" + "}}"; + variables.put("cloudConfiguration", cloudConfiguration); + variables.put("sdncVersion", "1707"); + variables.put("globalSubscriberId", "subscriber123"); + + try { + String serviceDecomposition = FileUtil.readResourceFile("__files/VIPR/serviceDecompositionATMFW.json"); + 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.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.setModelVersion("1"); + mvmr.setModelCustomizationUuid("MODEL-123"); + mr.setModelInfo(mvmr); + mr.setIsBase(true); + mr.setVfModuleLabel("MODULELABEL"); + vr.addVfModule(mr); + ModuleResource mr1 = new ModuleResource(); + ModelInfo mvmr1 = new ModelInfo(); + mvmr1.setModelInvariantUuid("ff5256d2-5a33-55df-13ab-12abad84e7ff"); + mvmr1.setModelName("STMTN5MMSC21-MMSC::model-1-0"); + mvmr1.setModelVersion("1"); + mvmr1.setModelCustomizationUuid("MODEL-123"); + mr1.setModelInfo(mvmr1); + mr1.setIsBase(false); + mr1.setVfModuleLabel("MODULELABEL"); + mr1.setInitialCount(1); + vr.addVfModule(mr1); + + sd.addVnfResource(vr); + + variables.put("serviceDecomposition", sd); + variables.put("isTest", true); + } catch(Exception e) { + + + + } + } } 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 efd832735f..90d562e101 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 @@ -19,7 +19,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.infrastructure; @@ -46,82 +46,83 @@ import org.openecomp.mso.bpmn.mock.FileUtil; /** * Unit Test for the DoCreateVnf Flow + * */ public class DoCreateVnfTest extends WorkflowTest { - private String createVnfInfraRequest; - private final CallbackSet callbacks = new CallbackSet(); - - - public DoCreateVnfTest() throws IOException { - createVnfInfraRequest = FileUtil.readResourceFile("__files/InfrastructureFlows/CreateVnfInfraRequest.json"); - callbacks.put("assign", FileUtil.readResourceFile( - "__files/VfModularity/SDNCTopologyAssignCallback.xml")); - callbacks.put("activate", FileUtil.readResourceFile( - "__files/VfModularity/SDNCTopologyActivateCallback.xml")); - } - - @Test - @Deployment(resources = {"subprocess/GenericGetService.bpmn", "subprocess/GenericGetVnf.bpmn", "subprocess/GenericPutVnf.bpmn", "subprocess/SDNCAdapterV1.bpmn", "subprocess/DoCreateVnf.bpmn"}) - public void testDoCreateVnfInfra_success() throws Exception { - - MockNodeQueryServiceInstanceById("MIS%2F1604%2F0026%2FSW_INTERNET", "GenericFlows/getSIUrlById.xml"); - MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getServiceInstance.xml"); - MockGetGenericVnfByName_404("testVnfName123"); - MockPutGenericVnf("testVnfId123"); - mockSDNCAdapter("/SDNCAdapter", "vnf-type>STMTN", 200, "VfModularity/StandardSDNCSynchResponse.xml"); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - setVariablesSuccess(variables, createVnfInfraRequest, "testRequestId123", "MIS%2F1604%2F0026%2FSW_INTERNET"); - invokeSubProcess("DoCreateVnf", businessKey, variables); - - waitForProcessEnd(businessKey, 10000); - - Assert.assertTrue(isProcessEnded(businessKey)); - assertVariables("true", "true", "false", "true", "Success", null); - } - - private void assertVariables(String exSIFound, String exSISucc, String exVnfFound, String exVnfSucc, String exResponse, String exWorkflowException) { - String workflowException = BPMNUtil.getVariable(processEngineRule, "DoCreateVnf", "SavedWorkflowException1"); - - assertEquals(exWorkflowException, workflowException); - } - - private void setVariablesSuccess(Map variables, String request, String requestId, String siId) { - variables.put("isDebugLogEnabled", "true"); - //variables.put("bpmnRequest", request); - variables.put("mso-request-id", requestId); - variables.put("serviceInstanceId", siId); - variables.put("vnfName", "testVnfName123"); - variables.put("disableRollback", "true"); - variables.put("requestId", requestId); - variables.put("testVnfId", "testVnfId123"); - variables.put("vnfType", "STMTN"); - variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"); - String vnfModelInfo = "{ " + "\"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("vnfModelInfo", vnfModelInfo); - - String cloudConfiguration = "{ " + - "\"lcpCloudRegionId\": \"mdt1\"," + - "\"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\"" + "}"; - variables.put("cloudConfiguration", cloudConfiguration); - - String serviceModelInfo = "{ " + "\"modelType\": \"service\"," + - "\"modelInvariantUuid\": \"995256d2-5a33-55df-13ab-12abad84e7ff\"," + - "\"modelUuid\": \"ab6478e5-ea33-3346-ac12-ab121484a3fe\"," + - "\"modelName\": \"ServicevSAMP12\"," + - "\"modelVersion\": \"1.0\"," + - "}"; - variables.put("serviceModelInfo", serviceModelInfo); - variables.put("globalSubscriberId", "MSO-1610"); - } + private String createVnfInfraRequest; + private final CallbackSet callbacks = new CallbackSet(); + + + public DoCreateVnfTest() throws IOException { + createVnfInfraRequest = FileUtil.readResourceFile("__files/InfrastructureFlows/CreateVnfInfraRequest.json"); + callbacks.put("assign", FileUtil.readResourceFile( + "__files/VfModularity/SDNCTopologyAssignCallback.xml")); + callbacks.put("activate", FileUtil.readResourceFile( + "__files/VfModularity/SDNCTopologyActivateCallback.xml")); + } + + @Test + @Deployment(resources = {"subprocess/GenericGetService.bpmn", "subprocess/GenericGetVnf.bpmn", "subprocess/GenericPutVnf.bpmn", "subprocess/SDNCAdapterV1.bpmn", "subprocess/DoCreateVnf.bpmn"}) + public void testDoCreateVnfInfra_success() throws Exception{ + + MockNodeQueryServiceInstanceById("MIS%2F1604%2F0026%2FSW_INTERNET", "GenericFlows/getSIUrlById.xml"); + MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getServiceInstance.xml"); + MockGetGenericVnfByName_404("testVnfName123"); + MockPutGenericVnf("testVnfId123"); + mockSDNCAdapter("/SDNCAdapter", "vnf-type>STMTN", 200, "VfModularity/StandardSDNCSynchResponse.xml"); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariablesSuccess(variables, createVnfInfraRequest, "testRequestId123", "MIS%2F1604%2F0026%2FSW_INTERNET"); + invokeSubProcess("DoCreateVnf", businessKey, variables); + + waitForProcessEnd(businessKey, 10000); + + Assert.assertTrue(isProcessEnded(businessKey)); + assertVariables("true", "true", "false", "true", "Success", null); + } + + private void assertVariables(String exSIFound, String exSISucc, String exVnfFound, String exVnfSucc, String exResponse, String exWorkflowException) { + String workflowException = BPMNUtil.getVariable(processEngineRule, "DoCreateVnf", "SavedWorkflowException1"); + + assertEquals(exWorkflowException, workflowException); + } + + private void setVariablesSuccess(Map variables, String request, String requestId, String siId) { + variables.put("isDebugLogEnabled", "true"); + //variables.put("bpmnRequest", request); + variables.put("mso-request-id", requestId); + variables.put("serviceInstanceId",siId); + variables.put("vnfName", "testVnfName123"); + variables.put("disableRollback", "true"); + variables.put("requestId", requestId); + variables.put("testVnfId","testVnfId123"); + variables.put("vnfType", "STMTN"); + variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"); + String vnfModelInfo = "{ "+ "\"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("vnfModelInfo", vnfModelInfo); + + String cloudConfiguration = "{ " + + "\"lcpCloudRegionId\": \"mdt1\"," + + "\"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\"" + "}"; + variables.put("cloudConfiguration", cloudConfiguration); + + String serviceModelInfo = "{ "+ "\"modelType\": \"service\"," + + "\"modelInvariantUuid\": \"995256d2-5a33-55df-13ab-12abad84e7ff\"," + + "\"modelUuid\": \"ab6478e5-ea33-3346-ac12-ab121484a3fe\"," + + "\"modelName\": \"ServicevSAMP12\"," + + "\"modelVersion\": \"1.0\"," + + "}"; + variables.put("serviceModelInfo", serviceModelInfo); + variables.put("globalSubscriberId", "MSO-1610"); + } } diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoDeleteServiceInstanceTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoDeleteServiceInstanceTest.java index a5d4a95ad1..37814999ba 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoDeleteServiceInstanceTest.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoDeleteServiceInstanceTest.java @@ -43,66 +43,66 @@ import org.openecomp.mso.bpmn.common.WorkflowTest; */ public class DoDeleteServiceInstanceTest extends WorkflowTest { - private final CallbackSet callbacks = new CallbackSet(); - private static final String EOL = "\n"; - private final String sdncAdapterCallback = - "" + EOL + - " ((REQUEST-ID))" + EOL + - " Y" + EOL + - "" + EOL; + private final CallbackSet callbacks = new CallbackSet(); + private static final String EOL = "\n"; + private final String sdncAdapterCallback = + "" + EOL + + " ((REQUEST-ID))" + EOL + + " Y" + EOL + + "" + EOL; + + public DoDeleteServiceInstanceTest() throws IOException { + callbacks.put("deactivate", sdncAdapterCallback); + callbacks.put("delete", sdncAdapterCallback); + } + + /** + * Sunny day VID scenario. + * + * @throws Exception + */ + //@Ignore // File not found - unable to run the test. Also, Stubs need updating.. + @Test + @Deployment(resources = { + "subprocess/DoDeleteServiceInstance.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/GenericDeleteService.bpmn", + "subprocess/GenericGetService.bpmn", + "subprocess/CompleteMsoProcess.bpmn", + "subprocess/FalloutHandler.bpmn" }) + public void sunnyDay() throws Exception { - public DoDeleteServiceInstanceTest() throws IOException { - callbacks.put("deactivate", sdncAdapterCallback); - callbacks.put("delete", sdncAdapterCallback); - } + logStart(); - /** - * Sunny day VID scenario. - * - * @throws Exception - */ - //@Ignore // File not found - unable to run the test. Also, Stubs need updating.. - @Test - @Deployment(resources = { - "subprocess/DoDeleteServiceInstance.bpmn", - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/GenericDeleteService.bpmn", - "subprocess/GenericGetService.bpmn", - "subprocess/CompleteMsoProcess.bpmn", - "subprocess/FalloutHandler.bpmn"}) - public void sunnyDay() throws Exception { + //AAI + MockDeleteServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "", 204); + MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getSINoRelations.xml"); + MockNodeQueryServiceInstanceById("MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getSIUrlById.xml"); + //SDNC + mockSDNCAdapter(200); + //DB + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + String businessKey = UUID.randomUUID().toString(); - logStart(); + Map variables = new HashMap<>(); + setupVariables(variables); + invokeSubProcess("DoDeleteServiceInstance", businessKey, variables); + injectSDNCCallbacks(callbacks, "deactivate"); + injectSDNCCallbacks(callbacks, "delete"); + waitForProcessEnd(businessKey, 10000); + Assert.assertTrue(isProcessEnded(businessKey)); + String workflowException = BPMNUtil.getVariable(processEngineRule, "DoDeleteServiceInstance", "WorkflowException"); + System.out.println("workflowException:\n" + workflowException); + assertEquals(null, workflowException); - //AAI - MockDeleteServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "", 204); - MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getSINoRelations.xml"); - MockNodeQueryServiceInstanceById("MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getSIUrlById.xml"); - //SDNC - mockSDNCAdapter(200); - //DB - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - String businessKey = UUID.randomUUID().toString(); + logEnd(); + } - Map variables = new HashMap<>(); - setupVariables(variables); - invokeSubProcess("DoDeleteServiceInstance", businessKey, variables); - injectSDNCCallbacks(callbacks, "deactivate"); - injectSDNCCallbacks(callbacks, "delete"); - waitForProcessEnd(businessKey, 10000); - Assert.assertTrue(isProcessEnded(businessKey)); - String workflowException = BPMNUtil.getVariable(processEngineRule, "DoDeleteServiceInstance", "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", "RaaDDSIRequestId-1"); - variables.put("mso-request-id", "RaaDDSIRequestId-1"); - variables.put("serviceInstanceId", "MIS%252F1604%252F0026%252FSW_INTERNET"); - } + // Success Scenario + private void setupVariables(Map variables) { + variables.put("isDebugLogEnabled", "true"); + variables.put("msoRequestId", "RaaDDSIRequestId-1"); + variables.put("mso-request-id", "RaaDDSIRequestId-1"); + variables.put("serviceInstanceId","MIS%252F1604%252F0026%252FSW_INTERNET"); + } } diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoDeleteVfModuleFromVnfTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoDeleteVfModuleFromVnfTest.java index 16f3acfa8a..13b2f5432d 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoDeleteVfModuleFromVnfTest.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoDeleteVfModuleFromVnfTest.java @@ -41,136 +41,137 @@ import org.openecomp.mso.bpmn.common.WorkflowTest; import org.openecomp.mso.bpmn.core.WorkflowException; public class DoDeleteVfModuleFromVnfTest 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; - - private final String vnfAdapterDeleteCallbackFail = - "" + EOL + - " Error processing request to VNF-Async. Not Found." + EOL + - " INTERNAL" + EOL + - " false" + EOL + - " {{MESSAGE-ID}}" + EOL + - "" + EOL; - - private final String sdncAdapterDeleteCallback = - "" + EOL + - " {{REQUEST-ID}}" + EOL + - " Y" + EOL + - "" + EOL; - - public DoDeleteVfModuleFromVnfTest() throws IOException { - callbacks.put("deactivate", sdncAdapterDeleteCallback); - callbacks.put("unassign", sdncAdapterDeleteCallback); - callbacks.put("vnfDelete", vnfAdapterDeleteCallback); - callbacks.put("vnfDeleteFail", vnfAdapterDeleteCallbackFail); - } - - private final String wfeString = "WorkflowException"; - - @Test - @Deployment(resources = { - "subprocess/DoDeleteVfModuleFromVnf.bpmn", - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/VnfAdapterRestV1.bpmn", - "subprocess/DeleteAAIVfModule.bpmn" - }) - public void TestDoDeleteVfModuleFromVnfSuccess() { - // delete the Base Module and Generic Vnf - // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c721, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a73 - String request = - "" + EOL + - " " + EOL + - " DELETE_VF_MODULE" + EOL + - " PORTAL" + EOL + - " " + EOL + - " " + EOL + - " a27ce5a9-29c4-4c22-a017-6615ac73c721" + EOL + - " STMTN5MMSC21" + EOL + - " asc_heat-int" + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + - " STMTN5MMSC21-MMSC::module-0-0" + EOL + - " 00000000-0000-0000-0000-000000000000" + EOL + - " SDN-ETHERNET-INTERNET" + EOL + - " fba1bd1e195a404cacb9ce17a9b2b421" + EOL + - " pending-delete" + EOL + - " RDM2WAGPLCP" + EOL + - " " + EOL + - " " + EOL + - "" + EOL; - logStart(); - MockDoDeleteVfModule_SDNCSuccess(); - MockDoDeleteVfModule_DeleteVNFSuccess(); - MockAAIGenericVnfSearch(); - MockAAIDeleteVfModule(); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - variables.put("isDebugLogEnabled", "true"); - variables.put("mso-request-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); - variables.put("msoRequestId", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); - variables.put("serviceInstanceId", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); - variables.put("vnfId", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); - variables.put("vfModuleId", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); - variables.put("lcpCloudRegionId", "RDM2WAGPLCP"); - variables.put("tenantId", "fba1bd1e195a404cacb9ce17a9b2b421"); - variables.put("sdncVersion", "1707"); - - invokeSubProcess("DoDeleteVfModuleFromVnf", businessKey, variables); - - injectSDNCCallbacks(callbacks, "deactivate"); - injectVNFRestCallbacks(callbacks, "vnfDelete"); - //waitForRunningProcessCount("vnfAdapterDeleteV1", 0, 120000); - injectSDNCCallbacks(callbacks, "unassign"); - - waitForProcessEnd(businessKey, 10000); - WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, wfeString); - checkVariable(businessKey, wfeString, null); - if (wfe != null) { - System.out.println("TestDoDeleteVfModuleSuccess: ErrorCode=" + wfe.getErrorCode() + - ", ErrorMessage=" + wfe.getErrorMessage()); - } - logEnd(); - } - - - // start of mocks used locally and by other VF Module unit tests - - - public static void MockDoDeleteVfModule_SDNCSuccess() { - stubFor(post(urlEqualTo("/SDNCAdapter")) - .withRequestBody(containing("SvcAction>deactivate")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile("DeleteGenericVNFV1/sdncAdapterResponse.xml"))); - stubFor(post(urlEqualTo("/SDNCAdapter")) - .withRequestBody(containing("SvcAction>unassign")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile("DeleteGenericVNFV1/sdncAdapterResponse.xml"))); - } - - - 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"))); - } - - + 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; + + private final String vnfAdapterDeleteCallbackFail = + "" + EOL + + " Error processing request to VNF-Async. Not Found." + EOL + + " INTERNAL" + EOL + + " false" + EOL + + " {{MESSAGE-ID}}" + EOL + + "" + EOL; + + private final String sdncAdapterDeleteCallback = + "" + EOL + + " {{REQUEST-ID}}" + EOL + + " Y" + EOL + + "" + EOL; + + public DoDeleteVfModuleFromVnfTest() throws IOException { + callbacks.put("deactivate", sdncAdapterDeleteCallback); + callbacks.put("unassign", sdncAdapterDeleteCallback); + callbacks.put("vnfDelete", vnfAdapterDeleteCallback); + callbacks.put("vnfDeleteFail", vnfAdapterDeleteCallbackFail); + } + + private final String wfeString = "WorkflowException"; + + @Test + @Deployment(resources = { + "subprocess/DoDeleteVfModuleFromVnf.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/VnfAdapterRestV1.bpmn", + "subprocess/DeleteAAIVfModule.bpmn" + }) + public void TestDoDeleteVfModuleFromVnfSuccess() { + // delete the Base Module and Generic Vnf + // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c721, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a73 + String request = + "" + EOL + + " " + EOL + + " DELETE_VF_MODULE" + EOL + + " PORTAL" + EOL + + " " + EOL + + " " + EOL + + " a27ce5a9-29c4-4c22-a017-6615ac73c721" + EOL + + " STMTN5MMSC21" + EOL + + " asc_heat-int" + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + + " STMTN5MMSC21-MMSC::module-0-0" + EOL + + " 00000000-0000-0000-0000-000000000000" + EOL + + " SDN-ETHERNET-INTERNET" + EOL + + " fba1bd1e195a404cacb9ce17a9b2b421" + EOL + + " pending-delete" + EOL + + " RDM2WAGPLCP" + EOL + + " " + EOL + + " " + EOL + + "" + EOL; + logStart(); + MockDoDeleteVfModule_SDNCSuccess(); + MockDoDeleteVfModule_DeleteVNFSuccess(); + MockAAIGenericVnfSearch(); + MockAAIDeleteVfModule(); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + variables.put("isDebugLogEnabled","true"); + variables.put("mso-request-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); + variables.put("msoRequestId", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); + variables.put("serviceInstanceId", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); + variables.put("vnfId", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); + variables.put("vfModuleId", "973ed047-d251-4fb9-bf1a-65b8949e0a73"); + variables.put("lcpCloudRegionId", "RDM2WAGPLCP"); + variables.put("tenantId", "fba1bd1e195a404cacb9ce17a9b2b421"); + variables.put("sdncVersion", "1707"); + + invokeSubProcess("DoDeleteVfModuleFromVnf", businessKey, variables); + + injectSDNCCallbacks(callbacks, "deactivate"); + injectVNFRestCallbacks(callbacks, "vnfDelete"); + //waitForRunningProcessCount("vnfAdapterDeleteV1", 0, 120000); + injectSDNCCallbacks(callbacks, "unassign"); + + waitForProcessEnd(businessKey, 10000); + WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, wfeString); + checkVariable(businessKey, wfeString, null); + if (wfe != null) { + System.out.println("TestDoDeleteVfModuleSuccess: ErrorCode=" + wfe.getErrorCode() + + ", ErrorMessage=" + wfe.getErrorMessage()); + } + logEnd(); + } + + + // start of mocks used locally and by other VF Module unit tests + + + + public static void MockDoDeleteVfModule_SDNCSuccess() { + stubFor(post(urlEqualTo("/SDNCAdapter")) + .withRequestBody(containing("SvcAction>deactivate")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile("DeleteGenericVNFV1/sdncAdapterResponse.xml"))); + stubFor(post(urlEqualTo("/SDNCAdapter")) + .withRequestBody(containing("SvcAction>unassign")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile("DeleteGenericVNFV1/sdncAdapterResponse.xml"))); + } + + + 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"))); + } + + } \ No newline at end of file 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 e3ecf30f7a..578fda3910 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 @@ -16,7 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.infrastructure; @@ -49,516 +49,516 @@ import org.openecomp.mso.bpmn.mock.FileUtil; * Unit test for DoDeleteVfModule.bpmn. */ public class DoDeleteVfModuleTest 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; - - private final String vnfAdapterDeleteCallbackFail = - "" + EOL + - " Error processing request to VNF-Async. Not Found." + EOL + - " INTERNAL" + EOL + - " false" + EOL + - " {{MESSAGE-ID}}" + EOL + - "" + EOL; - - private final String sdncAdapterDeleteCallback = - "" + EOL + - " {{REQUEST-ID}}" + EOL + - " Y" + EOL + - "" + EOL; - - public DoDeleteVfModuleTest() throws IOException { - callbacks.put("sdncChangeDelete", sdncAdapterDeleteCallback); - callbacks.put("sdncDelete", sdncAdapterDeleteCallback); - callbacks.put("vnfDelete", FileUtil.readResourceFile( - "__files/DeleteVfModuleCallbackResponse.xml")); - callbacks.put("vnfDeleteFail", vnfAdapterDeleteCallbackFail); - } - - private final String wfeString = "WorkflowException"; - - @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 TestDoDeleteVfModuleSuccess() { - // delete the Base Module and Generic Vnf - // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c721, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a73 - String request = - "" + EOL + - " " + EOL + - " DELETE_VF_MODULE" + EOL + - " PORTAL" + EOL + - " " + EOL + - " " + EOL + - " a27ce5a9-29c4-4c22-a017-6615ac73c721" + EOL + - " STMTN5MMSC21" + EOL + - " asc_heat-int" + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + - " STMTN5MMSC21-MMSC::module-0-0" + EOL + - " 00000000-0000-0000-0000-000000000000" + EOL + - " SDN-ETHERNET-INTERNET" + EOL + - " fba1bd1e195a404cacb9ce17a9b2b421" + EOL + - " pending-delete" + EOL + - " RDM2WAGPLCP" + EOL + - " " + EOL + - " " + EOL + - "" + EOL; - 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("isDebugLogEnabled", "true"); - variables.put("mso-request-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); - variables.put("mso-service-instance-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); - variables.put("DoDeleteVfModuleRequest", request); - variables.put("isVidRequest", "true"); - invokeSubProcess("DoDeleteVfModule", businessKey, variables); - - // "changedelete" operation not required for deleting a Vf Module + 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; + + private final String vnfAdapterDeleteCallbackFail = + "" + EOL + + " Error processing request to VNF-Async. Not Found." + EOL + + " INTERNAL" + EOL + + " false" + EOL + + " {{MESSAGE-ID}}" + EOL + + "" + EOL; + + private final String sdncAdapterDeleteCallback = + "" + EOL + + " {{REQUEST-ID}}" + EOL + + " Y" + EOL + + "" + EOL; + + public DoDeleteVfModuleTest() throws IOException { + callbacks.put("sdncChangeDelete", sdncAdapterDeleteCallback); + callbacks.put("sdncDelete", sdncAdapterDeleteCallback); + callbacks.put("vnfDelete", FileUtil.readResourceFile( + "__files/DeleteVfModuleCallbackResponse.xml")); + callbacks.put("vnfDeleteFail", vnfAdapterDeleteCallbackFail); + } + + private final String wfeString = "WorkflowException"; + + @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 TestDoDeleteVfModuleSuccess() { + // delete the Base Module and Generic Vnf + // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c721, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a73 + String request = + "" + EOL + + " " + EOL + + " DELETE_VF_MODULE" + EOL + + " PORTAL" + EOL + + " " + EOL + + " " + EOL + + " a27ce5a9-29c4-4c22-a017-6615ac73c721" + EOL + + " STMTN5MMSC21" + EOL + + " asc_heat-int" + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + + " STMTN5MMSC21-MMSC::module-0-0" + EOL + + " 00000000-0000-0000-0000-000000000000" + EOL + + " SDN-ETHERNET-INTERNET" + EOL + + " fba1bd1e195a404cacb9ce17a9b2b421" + EOL + + " pending-delete" + EOL + + " RDM2WAGPLCP" + EOL + + " " + EOL + + " " + EOL + + "" + EOL; + 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("isDebugLogEnabled","true"); + variables.put("mso-request-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); + variables.put("mso-service-instance-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); + variables.put("DoDeleteVfModuleRequest",request); + variables.put("isVidRequest", "true"); + 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("TestDoDeleteVfModuleSuccess: ErrorCode=" + wfe.getErrorCode() + - ", ErrorMessage=" + wfe.getErrorMessage()); - } - 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_Success() { - 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); - 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 + 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("TestDoDeleteVfModuleSuccess: ErrorCode=" + wfe.getErrorCode() + + ", ErrorMessage=" + wfe.getErrorMessage()); + } + 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_Success() { + 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); + 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 - @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 TestDoDeleteVfModuleSDNCFailure() { - // delete the Base Module and Generic Vnf - SDNCAdapter failure - // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c721, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a73 - String request = - "" + EOL + - " " + EOL + - " DELETE_VF_MODULE" + EOL + - " PORTAL" + EOL + - " " + EOL + - " " + EOL + - " a27ce5a9-29c4-4c22-a017-6615ac73c721" + EOL + - " STMTN5MMSC21" + EOL + - " asc_heat-int" + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + - " STMTN5MMSC21-MMSC::module-0-0" + EOL + - " 00000000-0000-0000-0000-000000000000" + EOL + - " SDN-ETHERNET-INTERNET" + EOL + - " fba1bd1e195a404cacb9ce17a9b2b421" + EOL + - " pending-delete" + EOL + - " RDM2WAGPLCP" + EOL + - " " + EOL + - " " + EOL + - "" + EOL; - - logStart(); - MockDoDeleteVfModule_SDNCFailure(); - 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("isDebugLogEnabled", "true"); - variables.put("mso-request-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); - variables.put("mso-service-instance-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); - variables.put("DoDeleteVfModuleRequest", request); - variables.put("isVidRequest", "true"); - invokeSubProcess("DoDeleteVfModule", businessKey, variables); - - // "changedelete" operation not required for deleting a Vf Module + 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 + @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 TestDoDeleteVfModuleSDNCFailure() { + // delete the Base Module and Generic Vnf - SDNCAdapter failure + // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c721, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a73 + String request = + "" + EOL + + " " + EOL + + " DELETE_VF_MODULE" + EOL + + " PORTAL" + EOL + + " " + EOL + + " " + EOL + + " a27ce5a9-29c4-4c22-a017-6615ac73c721" + EOL + + " STMTN5MMSC21" + EOL + + " asc_heat-int" + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + + " STMTN5MMSC21-MMSC::module-0-0" + EOL + + " 00000000-0000-0000-0000-000000000000" + EOL + + " SDN-ETHERNET-INTERNET" + EOL + + " fba1bd1e195a404cacb9ce17a9b2b421" + EOL + + " pending-delete" + EOL + + " RDM2WAGPLCP" + EOL + + " " + EOL + + " " + EOL + + "" + EOL; + + logStart(); + MockDoDeleteVfModule_SDNCFailure(); + 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("isDebugLogEnabled","true"); + variables.put("mso-request-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); + variables.put("mso-service-instance-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); + variables.put("DoDeleteVfModuleRequest", request); + variables.put("isVidRequest", "true"); + invokeSubProcess("DoDeleteVfModule", businessKey, variables); + + // "changedelete" operation not required for deleting a Vf Module // injectSDNCCallbacks(callbacks, "sdncChangeDelete"); - injectVNFRestCallbacks(callbacks, "vnfDelete"); - waitForRunningProcessCount("vnfAdapterDeleteV1", 0, 120000); - // cause a failure by not injecting a callback + injectVNFRestCallbacks(callbacks, "vnfDelete"); + waitForRunningProcessCount("vnfAdapterDeleteV1", 0, 120000); + // cause a failure by not injecting a callback // injectSDNCCallbacks(callbacks, "sdncDelete"); - waitForProcessEnd(businessKey, 10000); - WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, wfeString); - Assert.assertNotNull(wfe); - if (wfe != null) { - System.out.println("TestDoDeleteVfModuleSDNCFailure: ErrorCode=" + wfe.getErrorCode() + - ", ErrorMessage=" + wfe.getErrorMessage()); - Assert.assertTrue(wfe.getErrorCode() == 7000); - Assert.assertTrue(wfe.getErrorMessage().startsWith("Could not communicate")); - } - 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 TestDoDeleteVfModuleSDNCCallbackFailure() { - // delete the Base Module and Generic Vnf - SDNCAdapter Callback failure - // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c721, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a73 - String request = - "" + EOL + - " " + EOL + - " DELETE_VF_MODULE" + EOL + - " PORTAL" + EOL + - " " + EOL + - " " + EOL + - " a27ce5a9-29c4-4c22-a017-6615ac73c721" + EOL + - " STMTN5MMSC21" + EOL + - " asc_heat-int" + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + - " STMTN5MMSC21-MMSC::module-0-0" + EOL + - " 00000000-0000-0000-0000-000000000000" + EOL + - " SDN-ETHERNET-INTERNET" + EOL + - " fba1bd1e195a404cacb9ce17a9b2b421" + EOL + - " pending-delete" + EOL + - " RDM2WAGPLCP" + EOL + - " " + EOL + - " " + EOL + - "" + EOL; - - 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("isDebugLogEnabled", "true"); - variables.put("mso-request-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); - variables.put("mso-service-instance-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); - variables.put("DoDeleteVfModuleRequest", request); - variables.put("isVidRequest", "true"); - invokeSubProcess("DoDeleteVfModule", businessKey, variables); - - // "changedelete" operation not required for deleting a Vf Module + waitForProcessEnd(businessKey, 10000); + WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, wfeString); + Assert.assertNotNull(wfe); + if (wfe != null) { + System.out.println("TestDoDeleteVfModuleSDNCFailure: ErrorCode=" + wfe.getErrorCode() + + ", ErrorMessage=" + wfe.getErrorMessage()); + Assert.assertTrue(wfe.getErrorCode() == 7000); + Assert.assertTrue(wfe.getErrorMessage().startsWith("Could not communicate")); + } + 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 TestDoDeleteVfModuleSDNCCallbackFailure() { + // delete the Base Module and Generic Vnf - SDNCAdapter Callback failure + // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c721, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a73 + String request = + "" + EOL + + " " + EOL + + " DELETE_VF_MODULE" + EOL + + " PORTAL" + EOL + + " " + EOL + + " " + EOL + + " a27ce5a9-29c4-4c22-a017-6615ac73c721" + EOL + + " STMTN5MMSC21" + EOL + + " asc_heat-int" + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + + " STMTN5MMSC21-MMSC::module-0-0" + EOL + + " 00000000-0000-0000-0000-000000000000" + EOL + + " SDN-ETHERNET-INTERNET" + EOL + + " fba1bd1e195a404cacb9ce17a9b2b421" + EOL + + " pending-delete" + EOL + + " RDM2WAGPLCP" + EOL + + " " + EOL + + " " + EOL + + "" + EOL; + + 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("isDebugLogEnabled","true"); + variables.put("mso-request-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); + variables.put("mso-service-instance-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); + variables.put("DoDeleteVfModuleRequest",request); + variables.put("isVidRequest", "true"); + invokeSubProcess("DoDeleteVfModule", businessKey, variables); + + // "changedelete" operation not required for deleting a Vf Module // injectSDNCCallbacks(callbacks, "sdncChangeDelete:ERR"); - injectVNFRestCallbacks(callbacks, "vnfDelete"); - waitForRunningProcessCount("vnfAdapterDeleteV1", 0, 120000); - // return a failure in the callback - injectSDNCCallbacks(callbacks, "sdncDelete:ERR"); - - waitForProcessEnd(businessKey, 10000); - WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, wfeString); - Assert.assertNotNull(wfe); - if (wfe != null) { - System.out.println("TestDoDeleteVfModuleSDNCCallbackFailure: ErrorCode=" + wfe.getErrorCode() + - ", ErrorMessage=" + wfe.getErrorMessage()); - Assert.assertTrue(wfe.getErrorCode() == 5310); - Assert.assertTrue(wfe.getErrorMessage().startsWith("Received error from SDN-C")); - } - 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 TestDoDeleteVfModuleVNFFailure() { - // delete the Base Module and Generic Vnf - VNFAdapter failure - // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c721, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a73 - String request = - "" + EOL + - " " + EOL + - " DELETE_VF_MODULE" + EOL + - " PORTAL" + EOL + - " " + EOL + - " " + EOL + - " a27ce5a9-29c4-4c22-a017-6615ac73c721" + EOL + - " STMTN5MMSC21" + EOL + - " asc_heat-int" + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + - " STMTN5MMSC21-MMSC::module-0-0" + EOL + - " 00000000-0000-0000-0000-000000000000" + EOL + - " SDN-ETHERNET-INTERNET" + EOL + - " fba1bd1e195a404cacb9ce17a9b2b421" + EOL + - " pending-delete" + EOL + - " RDM2WAGPLCP" + EOL + - " " + EOL + - " " + EOL + - "" + EOL; - - logStart(); - MockDoDeleteVfModule_SDNCSuccess(); - MockDoDeleteVfModule_DeleteVNFFailure(); - 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("isDebugLogEnabled", "true"); - variables.put("mso-request-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); - variables.put("mso-service-instance-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); - variables.put("DoDeleteVfModuleRequest", request); - invokeSubProcess("DoDeleteVfModule", businessKey, variables); - - // "changedelete" operation not required for deleting a Vf Module + injectVNFRestCallbacks(callbacks, "vnfDelete"); + waitForRunningProcessCount("vnfAdapterDeleteV1", 0, 120000); + // return a failure in the callback + injectSDNCCallbacks(callbacks, "sdncDelete:ERR"); + + waitForProcessEnd(businessKey, 10000); + WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, wfeString); + Assert.assertNotNull(wfe); + if (wfe != null) { + System.out.println("TestDoDeleteVfModuleSDNCCallbackFailure: ErrorCode=" + wfe.getErrorCode() + + ", ErrorMessage=" + wfe.getErrorMessage()); + Assert.assertTrue(wfe.getErrorCode() == 5310); + Assert.assertTrue(wfe.getErrorMessage().startsWith("Received error from SDN-C")); + } + 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 TestDoDeleteVfModuleVNFFailure() { + // delete the Base Module and Generic Vnf - VNFAdapter failure + // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c721, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a73 + String request = + "" + EOL + + " " + EOL + + " DELETE_VF_MODULE" + EOL + + " PORTAL" + EOL + + " " + EOL + + " " + EOL + + " a27ce5a9-29c4-4c22-a017-6615ac73c721" + EOL + + " STMTN5MMSC21" + EOL + + " asc_heat-int" + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + + " STMTN5MMSC21-MMSC::module-0-0" + EOL + + " 00000000-0000-0000-0000-000000000000" + EOL + + " SDN-ETHERNET-INTERNET" + EOL + + " fba1bd1e195a404cacb9ce17a9b2b421" + EOL + + " pending-delete" + EOL + + " RDM2WAGPLCP" + EOL + + " " + EOL + + " " + EOL + + "" + EOL; + + logStart(); + MockDoDeleteVfModule_SDNCSuccess(); + MockDoDeleteVfModule_DeleteVNFFailure(); + 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("isDebugLogEnabled","true"); + variables.put("mso-request-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); + variables.put("mso-service-instance-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); + variables.put("DoDeleteVfModuleRequest",request); + invokeSubProcess("DoDeleteVfModule", businessKey, variables); + + // "changedelete" operation not required for deleting a Vf Module // injectSDNCCallbacks(callbacks, "sdncChangeDelete"); - // cause a failure by not injecting a callback + // cause a failure by not injecting a callback // injectVNFRestCallbacks(callbacks, "vnfDelete"); // waitForRunningProcessCount("vnfAdapterDeleteV1", 0, 120000); // injectSDNCCallbacks(callbacks, "sdncDelete"); - waitForProcessEnd(businessKey, 10000); - WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, wfeString); - Assert.assertNotNull(wfe); - if (wfe != null) { - System.out.println("TestDoDeleteVfModuleVNFFailure: ErrorCode=" + wfe.getErrorCode() + - ", ErrorMessage=" + wfe.getErrorMessage()); - Assert.assertTrue(wfe.getErrorCode() == 7020); - Assert.assertTrue(wfe.getErrorMessage().startsWith("Received error from VnfAdapter")); - } - 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 TestDoDeleteVfModuleVNFCallbackFailure() { - // delete the Base Module and Generic Vnf - VNFAdapter Callback failure - // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c721, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a73 - String request = - "" + EOL + - " " + EOL + - " DELETE_VF_MODULE" + EOL + - " PORTAL" + EOL + - " " + EOL + - " " + EOL + - " a27ce5a9-29c4-4c22-a017-6615ac73c721" + EOL + - " STMTN5MMSC21" + EOL + - " asc_heat-int" + EOL + - " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + - " STMTN5MMSC21-MMSC::module-0-0" + EOL + - " 00000000-0000-0000-0000-000000000000" + EOL + - " SDN-ETHERNET-INTERNET" + EOL + - " fba1bd1e195a404cacb9ce17a9b2b421" + EOL + - " pending-delete" + EOL + - " RDM2WAGPLCP" + EOL + - " " + EOL + - " " + EOL + - "" + EOL; - - 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("isDebugLogEnabled", "true"); - variables.put("mso-request-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); - variables.put("mso-service-instance-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); - variables.put("DoDeleteVfModuleRequest", request); - invokeSubProcess("DoDeleteVfModule", businessKey, variables); - - // "changedelete" operation not required for deleting a Vf Module + waitForProcessEnd(businessKey, 10000); + WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, wfeString); + Assert.assertNotNull(wfe); + if (wfe != null) { + System.out.println("TestDoDeleteVfModuleVNFFailure: ErrorCode=" + wfe.getErrorCode() + + ", ErrorMessage=" + wfe.getErrorMessage()); + Assert.assertTrue(wfe.getErrorCode() == 7020); + Assert.assertTrue(wfe.getErrorMessage().startsWith("Received error from VnfAdapter")); + } + 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 TestDoDeleteVfModuleVNFCallbackFailure() { + // delete the Base Module and Generic Vnf - VNFAdapter Callback failure + // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c721, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a73 + String request = + "" + EOL + + " " + EOL + + " DELETE_VF_MODULE" + EOL + + " PORTAL" + EOL + + " " + EOL + + " " + EOL + + " a27ce5a9-29c4-4c22-a017-6615ac73c721" + EOL + + " STMTN5MMSC21" + EOL + + " asc_heat-int" + EOL + + " 973ed047-d251-4fb9-bf1a-65b8949e0a73" + EOL + + " STMTN5MMSC21-MMSC::module-0-0" + EOL + + " 00000000-0000-0000-0000-000000000000" + EOL + + " SDN-ETHERNET-INTERNET" + EOL + + " fba1bd1e195a404cacb9ce17a9b2b421" + EOL + + " pending-delete" + EOL + + " RDM2WAGPLCP" + EOL + + " " + EOL + + " " + EOL + + "" + EOL; + + 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("isDebugLogEnabled","true"); + variables.put("mso-request-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); + variables.put("mso-service-instance-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); + variables.put("DoDeleteVfModuleRequest",request); + invokeSubProcess("DoDeleteVfModule", businessKey, variables); + + // "changedelete" operation not required for deleting a Vf Module // injectSDNCCallbacks(callbacks, "sdncChangeDelete"); - injectVNFRestCallbacks(callbacks, "vnfDeleteFail"); - waitForRunningProcessCount("vnfAdapterDeleteV1", 0, 120000); + injectVNFRestCallbacks(callbacks, "vnfDeleteFail"); + waitForRunningProcessCount("vnfAdapterDeleteV1", 0, 120000); // injectSDNCCallbacks(callbacks, "sdncDelete"); - waitForProcessEnd(businessKey, 10000); - WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, wfeString); - Assert.assertNotNull(wfe); - if (wfe != null) { - System.out.println("TestDoDeleteVfModuleVNFCallbackFailure: ErrorCode=" + wfe.getErrorCode() + - ", ErrorMessage=" + wfe.getErrorMessage()); - Assert.assertTrue(wfe.getErrorCode() == 7020); - Assert.assertTrue(wfe.getErrorMessage().startsWith("Received vfModuleException from VnfAdapter")); - } - logEnd(); - } - - // start of mocks used locally and by other VF Module unit tests - 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")) - .withRequestBody(containing("SvcAction>changedelete")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile("DeleteGenericVNFV1/sdncAdapterResponse.xml"))); - stubFor(post(urlEqualTo("/SDNCAdapter")) - .withRequestBody(containing("SvcAction>delete")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile("DeleteGenericVNFV1/sdncAdapterResponse.xml"))); - } - - public static void MockDoDeleteVfModule_SDNCFailure() { - stubFor(post(urlEqualTo("/SDNCAdapter")) - .withRequestBody(containing("SvcAction>changedelete")) - .willReturn(aResponse() - .withStatus(500))); - stubFor(post(urlEqualTo("/SDNCAdapter")) - .withRequestBody(containing("SvcAction>delete")) - .willReturn(aResponse() - .withStatus(500))); - } - - 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"))); - } - - public static void MockDoDeleteVfModule_DeleteVNFFailure() { - stubFor(delete(urlMatching("/vnfs/v1/vnfs/.*/vf-modules/.*")) - .willReturn(aResponse() - .withStatus(500) - .withHeader("Content-Type", "application/xml"))); - } + waitForProcessEnd(businessKey, 10000); + WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, wfeString); + Assert.assertNotNull(wfe); + if (wfe != null) { + System.out.println("TestDoDeleteVfModuleVNFCallbackFailure: ErrorCode=" + wfe.getErrorCode() + + ", ErrorMessage=" + wfe.getErrorMessage()); + Assert.assertTrue(wfe.getErrorCode() == 7020); + Assert.assertTrue(wfe.getErrorMessage().startsWith("Received vfModuleException from VnfAdapter")); + } + logEnd(); + } + + // start of mocks used locally and by other VF Module unit tests + 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")) + .withRequestBody(containing("SvcAction>changedelete")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile("DeleteGenericVNFV1/sdncAdapterResponse.xml"))); + stubFor(post(urlEqualTo("/SDNCAdapter")) + .withRequestBody(containing("SvcAction>delete")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile("DeleteGenericVNFV1/sdncAdapterResponse.xml"))); + } + + public static void MockDoDeleteVfModule_SDNCFailure() { + stubFor(post(urlEqualTo("/SDNCAdapter")) + .withRequestBody(containing("SvcAction>changedelete")) + .willReturn(aResponse() + .withStatus(500))); + stubFor(post(urlEqualTo("/SDNCAdapter")) + .withRequestBody(containing("SvcAction>delete")) + .willReturn(aResponse() + .withStatus(500))); + } + + 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"))); + } + + public static void MockDoDeleteVfModule_DeleteVNFFailure() { + stubFor(delete(urlMatching("/vnfs/v1/vnfs/.*/vf-modules/.*")) + .willReturn(aResponse() + .withStatus(500) + .withHeader("Content-Type", "application/xml"))); + } } diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoDeleteVfModuleVolumeV2Test.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoDeleteVfModuleVolumeV2Test.java index 8d2991e7f2..165debe7f1 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoDeleteVfModuleVolumeV2Test.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoDeleteVfModuleVolumeV2Test.java @@ -40,159 +40,159 @@ import org.openecomp.mso.bpmn.mock.FileUtil; public class DoDeleteVfModuleVolumeV2Test extends WorkflowTest { - private final CallbackSet callbacks = new CallbackSet(); - - public DoDeleteVfModuleVolumeV2Test() throws IOException { - callbacks.put("volumeGroupDelete", FileUtil.readResourceFile( - "__files/DeleteVfModuleVolumeInfraV1/DeleteVfModuleVolumeCallbackResponse.xml")); - } - - @Test - //@Ignore - @Deployment(resources = {"subprocess/DoDeleteVfModuleVolumeV2.bpmn", "subprocess/VnfAdapterRestV1.bpmn"}) - public void happyPath() throws Exception { - - logStart(); - - MockGetNetworkCloudRegion("MDTWNJ21", "CreateNetworkV2/cloudRegion30_AAIResponse_Success.xml"); - MockGetVolumeGroupById("RDM2WAGPLCP", "78987", "DeleteVfModuleVolumeInfraV1/queryVolumeId_AAIResponse_Success.xml"); - MockDeleteVolumeGroupById("RDM2WAGPLCP", "78987", "0000020", 200); - mockPutVNFVolumeGroup("78987", 202); - mockVfModuleDelete("78987"); - MockDeleteVolumeGroupById("AAIAIC25", "78987", "0000020", 200); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - MockGetVolumeGroupById("AAIAIC25", "78987", "VfModularity/VolumeGroup.xml"); - String businessKey = UUID.randomUUID().toString(); - - Map testVariables = new HashMap<>(); - testVariables.put("mso-request-id", "TEST-REQUEST-ID-0123"); - testVariables.put("msoRequestId", "TEST-REQUEST-ID-0123"); - testVariables.put("isDebugLogEnabled", "true"); - //testVariables.put("lcpCloudRegionId", "MDTWNJ21"); - //testVariables.put("tenantId", "fba1bd1e195a404cacb9ce17a9b2b421"); - testVariables.put("volumeGroupId", "78987"); - testVariables.put("serviceInstanceId", "test-service-instance-id-0123"); - - String cloudConfiguration = "{" + - "\"lcpCloudRegionId\": \"MDTWNJ21\"," + - "\"tenantId\": \"fba1bd1e195a404cacb9ce17a9b2b421\"" + "}"; - testVariables.put("cloudConfiguration", cloudConfiguration); - - invokeSubProcess("DoDeleteVfModuleVolumeV2", businessKey, testVariables); - - injectVNFRestCallbacks(callbacks, "volumeGroupDelete"); - - waitForProcessEnd(businessKey, 100000); - checkVariable(businessKey, "wasDeleted", "true"); - - logEnd(); - } - - - @Test - //@Ignore - @Deployment(resources = {"subprocess/DoDeleteVfModuleVolumeV2.bpmn", "subprocess/VnfAdapterRestV1.bpmn"}) - public void testVolumeGroupInUse() throws Exception { - - logStart(); - MockGetNetworkCloudRegion("MDTWNJ21", "CreateNetworkV2/cloudRegion30_AAIResponse_Success.xml"); - MockGetVolumeGroupById("RDM2WAGPLCP", "78987", "DeleteVfModuleVolumeInfraV1/queryVolumeId_AAIResponse_HasVfModRelationship.xml"); - MockDeleteVolumeGroupById("RDM2WAGPLCP", "78987", "0000020", 200); - mockVfModuleDelete("78987"); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - String businessKey = UUID.randomUUID().toString(); - - Map testVariables = new HashMap<>(); - testVariables.put("mso-request-id", "TEST-REQUEST-ID-0123"); - testVariables.put("msoRequestId", "TEST-REQUEST-ID-0123"); - testVariables.put("isDebugLogEnabled", "true"); - testVariables.put("volumeGroupId", "78987"); - testVariables.put("serviceInstanceId", "test-service-instance-id-0123"); - - String cloudConfiguration = "{" + - "\"lcpCloudRegionId\": \"MDTWNJ21\"," + - "\"tenantId\": \"fba1bd1e195a404cacb9ce17a9b2b421\"" + "}"; - testVariables.put("cloudConfiguration", cloudConfiguration); - - invokeSubProcess("DoDeleteVfModuleVolumeV2", businessKey, testVariables); - - waitForProcessEnd(businessKey, 100000); - checkVariable(businessKey, "wasDeleted", "false"); - WorkflowException msoException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); - System.out.println("WorkflowException - Code: " + msoException.getErrorCode() + " Message: " + msoException.getErrorMessage()); - - - logEnd(); - } - - @Test - //@Ignore - @Deployment(resources = {"subprocess/DoDeleteVfModuleVolumeV2.bpmn", "subprocess/VnfAdapterRestV1.bpmn"}) - public void testTenantIdMismatch() throws Exception { - - logStart(); - MockGetNetworkCloudRegion("MDTWNJ21", "CreateNetworkV2/cloudRegion30_AAIResponse_Success.xml"); - MockGetVolumeGroupById("RDM2WAGPLCP", "78987", "DeleteVfModuleVolumeInfraV1/queryVolumeId_AAIResponse_Success.xml"); - MockDeleteVolumeGroupById("RDM2WAGPLCP", "78987", "0000020", 200); - mockVfModuleDelete("78987", 404); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - String businessKey = UUID.randomUUID().toString(); - - Map testVariables = new HashMap<>(); - testVariables.put("mso-request-id", "TEST-REQUEST-ID-0123"); - testVariables.put("msoRequestId", "TEST-REQUEST-ID-0123"); - testVariables.put("isDebugLogEnabled", "true"); - testVariables.put("volumeGroupId", "78987"); - testVariables.put("serviceInstanceId", "test-service-instance-id-0123"); - - String cloudConfiguration = "{" + - "\"lcpCloudRegionId\": \"MDTWNJ21\"," + - "\"tenantId\": \"fba1bd1e195a404cacb9ce17a9b2b421xxx\"" + "}"; - testVariables.put("cloudConfiguration", cloudConfiguration); - - invokeSubProcess("DoDeleteVfModuleVolumeV2", businessKey, testVariables); - - waitForProcessEnd(businessKey, 100000); - checkVariable(businessKey, "wasDeleted", "false"); - WorkflowException msoException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); - System.out.println("WorkflowException - Code: " + msoException.getErrorCode() + " Message: " + msoException.getErrorMessage()); - - - logEnd(); - } - - @Test - //@Ignore - @Deployment(resources = {"subprocess/DoDeleteVfModuleVolumeV2.bpmn", "subprocess/VnfAdapterRestV1.bpmn"}) - public void testVnfAdapterCallfail() throws Exception { - - logStart(); - MockGetNetworkCloudRegion("MDTWNJ21", "CreateNetworkV2/cloudRegion30_AAIResponse_Success.xml"); - MockGetVolumeGroupById("RDM2WAGPLCP", "78987", "DeleteVfModuleVolumeInfraV1/queryVolumeId_AAIResponse_Success.xml"); - MockDeleteVolumeGroupById("RDM2WAGPLCP", "78987", "0000020", 200); - mockVfModuleDelete("78987", 404); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - String businessKey = UUID.randomUUID().toString(); - - Map testVariables = new HashMap<>(); - testVariables.put("mso-request-id", "TEST-REQUEST-ID-0123"); - testVariables.put("msoRequestId", "TEST-REQUEST-ID-0123"); - testVariables.put("isDebugLogEnabled", "true"); - testVariables.put("volumeGroupId", "78987"); - testVariables.put("serviceInstanceId", "test-service-instance-id-0123"); - - String cloudConfiguration = "{" + - "\"lcpCloudRegionId\": \"MDTWNJ21\"," + - "\"tenantId\": \"fba1bd1e195a404cacb9ce17a9b2b421\"" + "}"; - testVariables.put("cloudConfiguration", cloudConfiguration); - - invokeSubProcess("DoDeleteVfModuleVolumeV2", businessKey, testVariables); - - waitForProcessEnd(businessKey, 100000); - checkVariable(businessKey, "wasDeleted", "false"); - WorkflowException msoException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); - System.out.println("WorkflowException - Code: " + msoException.getErrorCode() + " Message: " + msoException.getErrorMessage()); - - logEnd(); - } + private final CallbackSet callbacks = new CallbackSet(); + + public DoDeleteVfModuleVolumeV2Test() throws IOException { + callbacks.put("volumeGroupDelete", FileUtil.readResourceFile( + "__files/DeleteVfModuleVolumeInfraV1/DeleteVfModuleVolumeCallbackResponse.xml")); + } + + @Test + //@Ignore + @Deployment(resources = {"subprocess/DoDeleteVfModuleVolumeV2.bpmn", "subprocess/VnfAdapterRestV1.bpmn"}) + public void happyPath() throws Exception { + + logStart(); + + MockGetNetworkCloudRegion("MDTWNJ21", "CreateNetworkV2/cloudRegion30_AAIResponse_Success.xml"); + MockGetVolumeGroupById("RDM2WAGPLCP", "78987", "DeleteVfModuleVolumeInfraV1/queryVolumeId_AAIResponse_Success.xml"); + MockDeleteVolumeGroupById("RDM2WAGPLCP", "78987", "0000020", 200); + mockPutVNFVolumeGroup("78987", 202); + mockVfModuleDelete("78987"); + MockDeleteVolumeGroupById("AAIAIC25", "78987", "0000020", 200); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + MockGetVolumeGroupById("AAIAIC25", "78987", "VfModularity/VolumeGroup.xml"); + String businessKey = UUID.randomUUID().toString(); + + Map testVariables = new HashMap<>(); + testVariables.put("mso-request-id", "TEST-REQUEST-ID-0123"); + testVariables.put("msoRequestId", "TEST-REQUEST-ID-0123"); + testVariables.put("isDebugLogEnabled", "true"); + //testVariables.put("lcpCloudRegionId", "MDTWNJ21"); + //testVariables.put("tenantId", "fba1bd1e195a404cacb9ce17a9b2b421"); + testVariables.put("volumeGroupId", "78987"); + testVariables.put("serviceInstanceId", "test-service-instance-id-0123"); + + String cloudConfiguration = "{" + + "\"lcpCloudRegionId\": \"MDTWNJ21\"," + + "\"tenantId\": \"fba1bd1e195a404cacb9ce17a9b2b421\"" + "}"; + testVariables.put("cloudConfiguration", cloudConfiguration); + + invokeSubProcess("DoDeleteVfModuleVolumeV2", businessKey, testVariables); + + injectVNFRestCallbacks(callbacks, "volumeGroupDelete"); + + waitForProcessEnd(businessKey, 100000); + checkVariable(businessKey, "wasDeleted", "true"); + + logEnd(); + } + + + @Test + //@Ignore + @Deployment(resources = {"subprocess/DoDeleteVfModuleVolumeV2.bpmn", "subprocess/VnfAdapterRestV1.bpmn"}) + public void testVolumeGroupInUse() throws Exception { + + logStart(); + MockGetNetworkCloudRegion("MDTWNJ21", "CreateNetworkV2/cloudRegion30_AAIResponse_Success.xml"); + MockGetVolumeGroupById("RDM2WAGPLCP", "78987", "DeleteVfModuleVolumeInfraV1/queryVolumeId_AAIResponse_HasVfModRelationship.xml"); + MockDeleteVolumeGroupById("RDM2WAGPLCP", "78987", "0000020", 200); + mockVfModuleDelete("78987"); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + String businessKey = UUID.randomUUID().toString(); + + Map testVariables = new HashMap<>(); + testVariables.put("mso-request-id", "TEST-REQUEST-ID-0123"); + testVariables.put("msoRequestId", "TEST-REQUEST-ID-0123"); + testVariables.put("isDebugLogEnabled", "true"); + testVariables.put("volumeGroupId", "78987"); + testVariables.put("serviceInstanceId", "test-service-instance-id-0123"); + + String cloudConfiguration = "{" + + "\"lcpCloudRegionId\": \"MDTWNJ21\"," + + "\"tenantId\": \"fba1bd1e195a404cacb9ce17a9b2b421\"" + "}"; + testVariables.put("cloudConfiguration", cloudConfiguration); + + invokeSubProcess("DoDeleteVfModuleVolumeV2", businessKey, testVariables); + + waitForProcessEnd(businessKey, 100000); + checkVariable(businessKey, "wasDeleted", "false"); + WorkflowException msoException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); + System.out.println("WorkflowException - Code: " + msoException.getErrorCode() + " Message: " + msoException.getErrorMessage()); + + + logEnd(); + } + + @Test + //@Ignore + @Deployment(resources = {"subprocess/DoDeleteVfModuleVolumeV2.bpmn", "subprocess/VnfAdapterRestV1.bpmn"}) + public void testTenantIdMismatch() throws Exception { + + logStart(); + MockGetNetworkCloudRegion("MDTWNJ21", "CreateNetworkV2/cloudRegion30_AAIResponse_Success.xml"); + MockGetVolumeGroupById("RDM2WAGPLCP", "78987", "DeleteVfModuleVolumeInfraV1/queryVolumeId_AAIResponse_Success.xml"); + MockDeleteVolumeGroupById("RDM2WAGPLCP", "78987", "0000020", 200); + mockVfModuleDelete("78987", 404); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + String businessKey = UUID.randomUUID().toString(); + + Map testVariables = new HashMap<>(); + testVariables.put("mso-request-id", "TEST-REQUEST-ID-0123"); + testVariables.put("msoRequestId", "TEST-REQUEST-ID-0123"); + testVariables.put("isDebugLogEnabled", "true"); + testVariables.put("volumeGroupId", "78987"); + testVariables.put("serviceInstanceId", "test-service-instance-id-0123"); + + String cloudConfiguration = "{" + + "\"lcpCloudRegionId\": \"MDTWNJ21\"," + + "\"tenantId\": \"fba1bd1e195a404cacb9ce17a9b2b421xxx\"" + "}"; + testVariables.put("cloudConfiguration", cloudConfiguration); + + invokeSubProcess("DoDeleteVfModuleVolumeV2", businessKey, testVariables); + + waitForProcessEnd(businessKey, 100000); + checkVariable(businessKey, "wasDeleted", "false"); + WorkflowException msoException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); + System.out.println("WorkflowException - Code: " + msoException.getErrorCode() + " Message: " + msoException.getErrorMessage()); + + + logEnd(); + } + + @Test + //@Ignore + @Deployment(resources = {"subprocess/DoDeleteVfModuleVolumeV2.bpmn", "subprocess/VnfAdapterRestV1.bpmn"}) + public void testVnfAdapterCallfail() throws Exception { + + logStart(); + MockGetNetworkCloudRegion("MDTWNJ21", "CreateNetworkV2/cloudRegion30_AAIResponse_Success.xml"); + MockGetVolumeGroupById("RDM2WAGPLCP", "78987", "DeleteVfModuleVolumeInfraV1/queryVolumeId_AAIResponse_Success.xml"); + MockDeleteVolumeGroupById("RDM2WAGPLCP", "78987", "0000020", 200); + mockVfModuleDelete("78987", 404); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + String businessKey = UUID.randomUUID().toString(); + + Map testVariables = new HashMap<>(); + testVariables.put("mso-request-id", "TEST-REQUEST-ID-0123"); + testVariables.put("msoRequestId", "TEST-REQUEST-ID-0123"); + testVariables.put("isDebugLogEnabled", "true"); + testVariables.put("volumeGroupId", "78987"); + testVariables.put("serviceInstanceId", "test-service-instance-id-0123"); + + String cloudConfiguration = "{" + + "\"lcpCloudRegionId\": \"MDTWNJ21\"," + + "\"tenantId\": \"fba1bd1e195a404cacb9ce17a9b2b421\"" + "}"; + testVariables.put("cloudConfiguration", cloudConfiguration); + + invokeSubProcess("DoDeleteVfModuleVolumeV2", businessKey, testVariables); + + waitForProcessEnd(businessKey, 100000); + checkVariable(businessKey, "wasDeleted", "false"); + WorkflowException msoException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException"); + System.out.println("WorkflowException - Code: " + msoException.getErrorCode() + " Message: " + msoException.getErrorMessage()); + + logEnd(); + } } 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 033f77c106..a9dde90327 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 @@ -49,162 +49,162 @@ import org.openecomp.mso.bpmn.common.WorkflowTest; import org.openecomp.mso.bpmn.mock.FileUtil; public class DoDeleteVnfAndModulesTest 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; - - public DoDeleteVnfAndModulesTest() throws IOException { - callbacks.put("deactivate", FileUtil.readResourceFile( - "__files/VfModularity/SDNCTopologyActivateCallback.xml")); - callbacks.put("unassign", FileUtil.readResourceFile( - "__files/VfModularity/SDNCTopologyActivateCallback.xml")); - callbacks.put("vnfDelete", vnfAdapterDeleteCallback); - - } - - @Test - @Deployment(resources = {"subprocess/DoDeleteVnfAndModules.bpmn", "subprocess/SDNCAdapterV1.bpmn", "subprocess/GenericGetVnf.bpmn", "subprocess/GenericDeleteVnf.bpmn", "subprocess/DoDeleteVnf.bpmn", "subprocess/DoDeleteVfModule.bpmn"}) - public void testDoDeleteVnfAndModules_successVnfOnly() throws Exception { - MockGetGenericVnfById("testVnfId123.*", "GenericFlows/getGenericVnfByNameResponse.xml"); - MockDeleteGenericVnf("testVnfId123", "testReVer123"); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - mockSDNCAdapter(200); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - setVariablesVnfOnly(variables); - invokeSubProcess("DoDeleteVnfAndModules", businessKey, variables); - - injectSDNCCallbacks(callbacks, "deactivate"); - injectSDNCCallbacks(callbacks, "unassign"); - - waitForProcessEnd(businessKey, 10000); - - Assert.assertTrue(isProcessEnded(businessKey)); - - String workflowException = BPMNUtil.getVariable(processEngineRule, "DoDeleteVnfAndModules", "WorkflowException"); - - assertEquals(null, workflowException); - } - - - private void setVariablesVnfOnly(Map variables) { - variables.put("mso-request-id", "testRequestId123"); - variables.put("isDebugLogEnabled", "true"); - variables.put("vnfId", "testVnfId123"); - variables.put("serviceInstanceId", "MIS%2F1604%2F0026%2FSW_INTERNET"); - //variables.put("vnfName", "testVnfName123"); - variables.put("disableRollback", "true"); - variables.put("msoRequestId", "testVnfId123"); - variables.put("testVnfId", "testVnfId123"); - //variables.put("vnfType", "STMTN"); - variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"); - String vnfModelInfo = "{ " + "\"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("vnfModelInfo", vnfModelInfo); - - variables.put("lcpCloudRegionId", "mdt1"); - variables.put("tenantId", "88a6ca3ee0394ade9403f075db23167e"); - - String serviceModelInfo = "{ " + "\"modelType\": \"service\"," + - "\"modelInvariantUuid\": \"995256d2-5a33-55df-13ab-12abad84e7ff\"," + - "\"modelUuid\": \"ab6478e5-ea33-3346-ac12-ab121484a3fe\"," + - "\"modelName\": \"ServicevSAMP12\"," + - "\"modelVersion\": \"1.0\"," + - "}"; - //variables.put("serviceModelInfo", serviceModelInfo); - variables.put("globalSubscriberId", "MSO-1610"); - variables.put("sdncVersion", "1707"); - - } - - @Test - @Deployment(resources = {"subprocess/DoDeleteVnfAndModules.bpmn", "subprocess/SDNCAdapterV1.bpmn", "subprocess/GenericGetVnf.bpmn", "subprocess/GenericDeleteVnf.bpmn", "subprocess/DoDeleteVnf.bpmn", "subprocess/DoDeleteVfModuleFromVnf.bpmn", "subprocess/VnfAdapterRestV1.bpmn", "subprocess/DeleteAAIVfModule.bpmn"}) - public void testDoDeleteVnfAndModules_successVnfAndModules() throws Exception { - MockAAIGenericVnfSearch(); - MockGetGenericVnfById("testVnfId123.*", "GenericFlows/getGenericVnfByNameResponse.xml"); - MockDeleteGenericVnf("testVnfId123", "testReVer123"); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - mockSDNCAdapter(200); - MockDoDeleteVfModule_SDNCSuccess(); - MockDoDeleteVfModule_DeleteVNFSuccess(); - MockAAIDeleteVfModule(); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - setVariablesVnfAndModules(variables); - invokeSubProcess("DoDeleteVnfAndModules", businessKey, variables); - - injectSDNCCallbacks(callbacks, "deactivate"); - injectSDNCCallbacks(callbacks, "deactivate"); - injectVNFRestCallbacks(callbacks, "vnfDelete"); - injectSDNCCallbacks(callbacks, "unassign"); - MockGetGenericVnfById("a27ce5a9-29c4-4c22-a017-6615ac73c721", "GenericFlows/getGenericVnfByNameResponse.xml"); - injectSDNCCallbacks(callbacks, "unassign"); - //MockGetGenericVnfById("a27ce5a9-29c4-4c22-a017-6615ac73c721", "GenericFlows/getGenericVnfByNameResponse.xml"); - - waitForProcessEnd(businessKey, 10000); - - Assert.assertTrue(isProcessEnded(businessKey)); - - String workflowException = BPMNUtil.getVariable(processEngineRule, "DoDeleteVnfAndModules", "WorkflowException"); - - assertEquals(null, workflowException); - } - - - private void setVariablesVnfAndModules(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", "1707"); - - } - - - public static void MockDoDeleteVfModule_SDNCSuccess() { - stubFor(post(urlEqualTo("/SDNCAdapter")) - .withRequestBody(containing("SvcAction>deactivate")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile("DeleteGenericVNFV1/sdncAdapterResponse.xml"))); - stubFor(post(urlEqualTo("/SDNCAdapter")) - .withRequestBody(containing("SvcAction>unassign")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile("DeleteGenericVNFV1/sdncAdapterResponse.xml"))); - } - - - 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"))); - } + 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; + + public DoDeleteVnfAndModulesTest () throws IOException { + callbacks.put("deactivate", FileUtil.readResourceFile( + "__files/VfModularity/SDNCTopologyActivateCallback.xml")); + callbacks.put("unassign", FileUtil.readResourceFile( + "__files/VfModularity/SDNCTopologyActivateCallback.xml")); + callbacks.put("vnfDelete", vnfAdapterDeleteCallback); + + } + + @Test + @Deployment(resources = {"subprocess/DoDeleteVnfAndModules.bpmn", "subprocess/SDNCAdapterV1.bpmn", "subprocess/GenericGetVnf.bpmn", "subprocess/GenericDeleteVnf.bpmn", "subprocess/DoDeleteVnf.bpmn", "subprocess/DoDeleteVfModule.bpmn"}) + public void testDoDeleteVnfAndModules_successVnfOnly() throws Exception{ + MockGetGenericVnfById("testVnfId123.*", "GenericFlows/getGenericVnfByNameResponse.xml"); + MockDeleteGenericVnf("testVnfId123", "testReVer123"); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + mockSDNCAdapter(200); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariablesVnfOnly(variables); + invokeSubProcess("DoDeleteVnfAndModules", businessKey, variables); + + injectSDNCCallbacks(callbacks, "deactivate"); + injectSDNCCallbacks(callbacks, "unassign"); + + waitForProcessEnd(businessKey, 10000); + + Assert.assertTrue(isProcessEnded(businessKey)); + + String workflowException = BPMNUtil.getVariable(processEngineRule, "DoDeleteVnfAndModules", "WorkflowException"); + + assertEquals(null, workflowException); + } + + + private void setVariablesVnfOnly(Map variables) { + variables.put("mso-request-id", "testRequestId123"); + variables.put("isDebugLogEnabled", "true"); + variables.put("vnfId","testVnfId123"); + variables.put("serviceInstanceId", "MIS%2F1604%2F0026%2FSW_INTERNET"); + //variables.put("vnfName", "testVnfName123"); + variables.put("disableRollback", "true"); + variables.put("msoRequestId", "testVnfId123"); + variables.put("testVnfId","testVnfId123"); + //variables.put("vnfType", "STMTN"); + variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"); + String vnfModelInfo = "{ "+ "\"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("vnfModelInfo", vnfModelInfo); + + variables.put("lcpCloudRegionId", "mdt1"); + variables.put("tenantId", "88a6ca3ee0394ade9403f075db23167e"); + + String serviceModelInfo = "{ "+ "\"modelType\": \"service\"," + + "\"modelInvariantUuid\": \"995256d2-5a33-55df-13ab-12abad84e7ff\"," + + "\"modelUuid\": \"ab6478e5-ea33-3346-ac12-ab121484a3fe\"," + + "\"modelName\": \"ServicevSAMP12\"," + + "\"modelVersion\": \"1.0\"," + + "}"; + //variables.put("serviceModelInfo", serviceModelInfo); + variables.put("globalSubscriberId", "MSO-1610"); + variables.put("sdncVersion", "1707"); + + } + + @Test + @Deployment(resources = {"subprocess/DoDeleteVnfAndModules.bpmn", "subprocess/SDNCAdapterV1.bpmn", "subprocess/GenericGetVnf.bpmn", "subprocess/GenericDeleteVnf.bpmn", "subprocess/DoDeleteVnf.bpmn", "subprocess/DoDeleteVfModuleFromVnf.bpmn", "subprocess/VnfAdapterRestV1.bpmn", "subprocess/DeleteAAIVfModule.bpmn"}) + public void testDoDeleteVnfAndModules_successVnfAndModules() throws Exception{ + MockAAIGenericVnfSearch(); + MockGetGenericVnfById("testVnfId123.*", "GenericFlows/getGenericVnfByNameResponse.xml"); + MockDeleteGenericVnf("testVnfId123", "testReVer123"); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + mockSDNCAdapter(200); + MockDoDeleteVfModule_SDNCSuccess(); + MockDoDeleteVfModule_DeleteVNFSuccess(); + MockAAIDeleteVfModule(); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariablesVnfAndModules(variables); + invokeSubProcess("DoDeleteVnfAndModules", businessKey, variables); + + injectSDNCCallbacks(callbacks, "deactivate"); + injectSDNCCallbacks(callbacks, "deactivate"); + injectVNFRestCallbacks(callbacks, "vnfDelete"); + injectSDNCCallbacks(callbacks, "unassign"); + MockGetGenericVnfById("a27ce5a9-29c4-4c22-a017-6615ac73c721", "GenericFlows/getGenericVnfByNameResponse.xml"); + injectSDNCCallbacks(callbacks, "unassign"); + //MockGetGenericVnfById("a27ce5a9-29c4-4c22-a017-6615ac73c721", "GenericFlows/getGenericVnfByNameResponse.xml"); + + waitForProcessEnd(businessKey, 10000); + + Assert.assertTrue(isProcessEnded(businessKey)); + + String workflowException = BPMNUtil.getVariable(processEngineRule, "DoDeleteVnfAndModules", "WorkflowException"); + + assertEquals(null, workflowException); + } + + + private void setVariablesVnfAndModules(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", "1707"); + + } + + + public static void MockDoDeleteVfModule_SDNCSuccess() { + stubFor(post(urlEqualTo("/SDNCAdapter")) + .withRequestBody(containing("SvcAction>deactivate")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile("DeleteGenericVNFV1/sdncAdapterResponse.xml"))); + stubFor(post(urlEqualTo("/SDNCAdapter")) + .withRequestBody(containing("SvcAction>unassign")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile("DeleteGenericVNFV1/sdncAdapterResponse.xml"))); + } + + + 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"))); + } } \ No newline at end of file diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoDeleteVnfTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoDeleteVnfTest.java index 95c275f85d..8caa9f22a2 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoDeleteVnfTest.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoDeleteVnfTest.java @@ -19,7 +19,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.infrastructure; @@ -40,100 +40,101 @@ import org.openecomp.mso.bpmn.common.WorkflowTest; /** * Please describe the DeleteVnfInfra.java class + * */ public class DoDeleteVnfTest extends WorkflowTest { - - @Test - @Deployment(resources = {"subprocess/GenericGetVnf.bpmn", "subprocess/GenericDeleteVnf.bpmn", "subprocess/DoDeleteVnf.bpmn"}) - public void testDoDeleteVnf_success() throws Exception { - - MockGetGenericVnfByIdWithDepth("testVnfId123", 1, "GenericFlows/getGenericVnfByNameResponse.xml"); - MockDeleteGenericVnf("testVnfId123", "testReVer123"); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - setVariables(variables); - invokeSubProcess("DoDeleteVnf", businessKey, variables); - // Disabled until SDNC support is there + + @Test + @Deployment(resources = {"subprocess/GenericGetVnf.bpmn", "subprocess/GenericDeleteVnf.bpmn", "subprocess/DoDeleteVnf.bpmn"}) + public void testDoDeleteVnf_success() throws Exception{ + + MockGetGenericVnfByIdWithDepth("testVnfId123", 1, "GenericFlows/getGenericVnfByNameResponse.xml"); + MockDeleteGenericVnf("testVnfId123", "testReVer123"); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariables(variables); + invokeSubProcess("DoDeleteVnf", businessKey, variables); + // Disabled until SDNC support is there // injectSDNCCallbacks(callbacks, "assign"); // injectSDNCCallbacks(callbacks, "activate"); - waitForProcessEnd(businessKey, 10000); - - Assert.assertTrue(isProcessEnded(businessKey)); - String found = BPMNUtil.getVariable(processEngineRule, "DoDeleteVnf", "GENGV_FoundIndicator"); - String inUse = BPMNUtil.getVariable(processEngineRule, "DoDeleteVnf", "DoDVNF_vnfInUse"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "DoDeleteVnf", "WorkflowException"); - - assertEquals("true", found); - assertEquals("false", inUse); - assertEquals(null, workflowException); - } - - @Test - @Deployment(resources = {"subprocess/GenericGetVnf.bpmn", "subprocess/GenericDeleteVnf.bpmn", "subprocess/DoDeleteVnf.bpmn"}) - public void testDeleteVnfInfra_success_vnfNotFound() throws Exception { - - MockDeleteGenericVnf("testVnfId123", "testReVer123", 404); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - setVariables(variables); - - invokeSubProcess("DoDeleteVnf", businessKey, variables); - // Disabled until SDNC support is there + waitForProcessEnd(businessKey, 10000); + + Assert.assertTrue(isProcessEnded(businessKey)); + String found = BPMNUtil.getVariable(processEngineRule, "DoDeleteVnf", "GENGV_FoundIndicator") ; + String inUse = BPMNUtil.getVariable(processEngineRule, "DoDeleteVnf", "DoDVNF_vnfInUse"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "DoDeleteVnf", "WorkflowException"); + + assertEquals("true", found); + assertEquals("false", inUse); + assertEquals(null, workflowException); + } + + @Test + @Deployment(resources = {"subprocess/GenericGetVnf.bpmn", "subprocess/GenericDeleteVnf.bpmn", "subprocess/DoDeleteVnf.bpmn"}) + public void testDeleteVnfInfra_success_vnfNotFound() throws Exception{ + + MockDeleteGenericVnf("testVnfId123", "testReVer123", 404); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariables(variables); + + invokeSubProcess("DoDeleteVnf", businessKey, variables); + // Disabled until SDNC support is there // injectSDNCCallbacks(callbacks, "assign"); // injectSDNCCallbacks(callbacks, "activate"); - waitForProcessEnd(businessKey, 10000); + waitForProcessEnd(businessKey, 10000); + + Assert.assertTrue(isProcessEnded(businessKey)); + String found = BPMNUtil.getVariable(processEngineRule, "DoDeleteVnf", "GENGV_FoundIndicator") ; + String inUse = BPMNUtil.getVariable(processEngineRule, "DoDeleteVnf", "DoDVNF_vnfInUse"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "DoDeleteVnf", "WorkflowException"); - Assert.assertTrue(isProcessEnded(businessKey)); - String found = BPMNUtil.getVariable(processEngineRule, "DoDeleteVnf", "GENGV_FoundIndicator"); - String inUse = BPMNUtil.getVariable(processEngineRule, "DoDeleteVnf", "DoDVNF_vnfInUse"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "DoDeleteVnf", "WorkflowException"); + assertEquals("false", found); + assertEquals("false", inUse); + assertEquals(null, workflowException); + } - assertEquals("false", found); - assertEquals("false", inUse); - assertEquals(null, workflowException); - } + @Test + @Deployment(resources = {"subprocess/GenericGetVnf.bpmn", "subprocess/GenericDeleteVnf.bpmn", "subprocess/DoDeleteVnf.bpmn"}) + public void testDeleteVnfInfra_error_vnfInUse() throws Exception{ - @Test - @Deployment(resources = {"subprocess/GenericGetVnf.bpmn", "subprocess/GenericDeleteVnf.bpmn", "subprocess/DoDeleteVnf.bpmn"}) - public void testDeleteVnfInfra_error_vnfInUse() throws Exception { + MockGetGenericVnfByIdWithDepth("testVnfId123", 1, "GenericFlows/getGenericVnfResponse_hasRelationships.xml"); + MockDeleteGenericVnf("testVnfId123", "testReVer123"); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - MockGetGenericVnfByIdWithDepth("testVnfId123", 1, "GenericFlows/getGenericVnfResponse_hasRelationships.xml"); - MockDeleteGenericVnf("testVnfId123", "testReVer123"); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariables(variables); - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - setVariables(variables); - - invokeSubProcess("DoDeleteVnf", businessKey, variables); + invokeSubProcess("DoDeleteVnf", businessKey, variables); // Disabled until SDNC support is there // injectSDNCCallbacks(callbacks, "assign"); // injectSDNCCallbacks(callbacks, "activate"); - waitForProcessEnd(businessKey, 10000); - - Assert.assertTrue(isProcessEnded(businessKey)); - - String found = BPMNUtil.getVariable(processEngineRule, "DoDeleteVnf", "GENGV_FoundIndicator"); - String inUse = BPMNUtil.getVariable(processEngineRule, "DoDeleteVnf", "DoDVNF_vnfInUse"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "DoDeleteVnf", "WorkflowException"); - String exWfex = "WorkflowException[processKey=DoDeleteVnf,errorCode=5000,errorMessage=Can't Delete Generic Vnf. Generic Vnf is still in use.]"; - - assertEquals("true", found); - assertEquals("true", inUse); - assertEquals(exWfex, workflowException); - } - - private void setVariables(Map variables) { - variables.put("mso-request-id", "123"); - variables.put("isDebugLogEnabled", "true"); - variables.put("vnfId", "testVnfId123"); - } + waitForProcessEnd(businessKey, 10000); + + Assert.assertTrue(isProcessEnded(businessKey)); + + String found = BPMNUtil.getVariable(processEngineRule, "DoDeleteVnf", "GENGV_FoundIndicator") ; + String inUse = BPMNUtil.getVariable(processEngineRule, "DoDeleteVnf", "DoDVNF_vnfInUse"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "DoDeleteVnf", "WorkflowException"); + String exWfex = "WorkflowException[processKey=DoDeleteVnf,errorCode=5000,errorMessage=Can't Delete Generic Vnf. Generic Vnf is still in use.]"; + + assertEquals("true", found); + assertEquals("true", inUse); + assertEquals(exWfex, workflowException); + } + + private void setVariables(Map variables) { + variables.put("mso-request-id", "123"); + variables.put("isDebugLogEnabled", "true"); + variables.put("vnfId","testVnfId123"); + } } 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 40564a9b26..9fa93235b7 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 @@ -16,11 +16,12 @@ * 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.post; import static com.github.tomakehurst.wiremock.client.WireMock.put; @@ -55,158 +56,158 @@ import org.openecomp.mso.bpmn.mock.FileUtil; * Unit tests for DoUpdateVfModule.bpmn. */ public class DoUpdateVfModuleTest extends WorkflowTest { - - private final CallbackSet callbacks = new CallbackSet(); - - public DoUpdateVfModuleTest() throws IOException { - callbacks.put("changeassign", FileUtil.readResourceFile( - "__files/VfModularity/SDNCTopologyChangeAssignCallback.xml")); - callbacks.put("query", FileUtil.readResourceFile( - "__files/VfModularity/SDNCTopologyQueryCallback.xml")); - callbacks.put("activate", FileUtil.readResourceFile( - "__files/VfModularity/SDNCTopologyActivateCallback.xml")); - callbacks.put("vnfUpdate", FileUtil.readResourceFile( - "__files/VfModularity/VNFAdapterRestUpdateCallback.xml")); - } - - /** - * Test the happy path through the flow. - */ - @Test - @Ignore - @Deployment(resources = { - "subprocess/DoUpdateVfModule.bpmn", - "subprocess/PrepareUpdateAAIVfModule.bpmn", - "subprocess/ConfirmVolumeGroupTenant.bpmn", - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/VnfAdapterRestV1.bpmn", - "subprocess/UpdateAAIGenericVnf.bpmn", - "subprocess/UpdateAAIVfModule.bpmn" - }) - public void happyPath() throws IOException { - - logStart(); - - String doUpdateVfModuleRequest = FileUtil.readResourceFile("__files/VfModularity/DoUpdateVfModuleRequest.xml"); - MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml"); - MockGetVfModuleIdNoResponse("skask", "PCRF", "supercool"); - MockPutVfModuleIdNoResponse("skask", "PCRF", "supercool"); - MockGetVolumeGroupById("MDTWNJ21", "78987", "VfModularity/VolumeGroup.xml"); - mockSDNCAdapter("/SDNCAdapter", "SvcAction>query", 200, "VfModularity/StandardSDNCSynchResponse.xml"); - mockSDNCAdapter("/SDNCAdapter", "SvcInstanceId><", 200, "VfModularity/StandardSDNCSynchResponse.xml"); - mockVNFPut("skask", "/supercool", 202); - MockPutGenericVnf("skask"); - MockGetGenericVnfByIdWithPriority("skask", "supercool", 200, "VfModularity/VfModule-supercool.xml", 1); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - variables.put("mso-request-id", "DEV-VF-0011"); - variables.put("isDebugLogEnabled", "true"); - variables.put("DoUpdateVfModuleRequest", doUpdateVfModuleRequest); - invokeSubProcess("DoUpdateVfModule", businessKey, variables); - - injectSDNCCallbacks(callbacks, "changeassign, query"); - injectVNFRestCallbacks(callbacks, "vnfUpdate"); - injectSDNCCallbacks(callbacks, "activate"); - - waitForProcessEnd(businessKey, 10000); - - Assert.assertTrue(isProcessEnded(businessKey)); - checkVariable(businessKey, "DoUpdateVfModuleSuccessIndicator", true); - - String heatStackId = (String) getVariableFromHistory(businessKey, "DOUPVfMod_heatStackId"); - System.out.println("Heat stack Id from AAI: " + heatStackId); - - logEnd(); - } - - /** - * Test the happy path through the flow with Building Blocks interface. - */ - @Test - - @Deployment(resources = { - "subprocess/DoUpdateVfModule.bpmn", - "subprocess/PrepareUpdateAAIVfModule.bpmn", - "subprocess/ConfirmVolumeGroupTenant.bpmn", - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/VnfAdapterRestV1.bpmn", - "subprocess/UpdateAAIGenericVnf.bpmn", - "subprocess/UpdateAAIVfModule.bpmn" - }) - public void happyPathBB() throws IOException { - - logStart(); - - MockAAIVfModule(); - MockPatchGenericVnf("skask"); - MockPatchVfModuleId("skask", ".*"); - MockSDNCAdapterVfModule(); - MockVNFAdapterRestVfModule(); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - variables.put("mso-request-id", "DEV-VF-0011"); - variables.put("isDebugLogEnabled", "true"); - variables.put("msoRequestId", "DEV-VF-0011"); - variables.put("isBaseVfModule", "false"); - variables.put("isDebugLogEnabled", "true"); - variables.put("disableRollback", "true"); - variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4"); - variables.put("vnfId", "skask"); - variables.put("vfModuleId", "supercool"); - variables.put("vnfType", "pcrf-capacity"); - variables.put("isVidRequest", "true"); - variables.put("volumeGroupId", "78987"); - variables.put("usePreload", true); - - variables.put("sdncVersion", "1702"); - - variables.put("lcpCloudRegionId", "MDTWNJ21"); - variables.put("tenantId", "fba1bd1e195a404cacb9ce17a9b2b421"); - - String vfModuleModelInfo = "{ " + "\"modelType\": \"vfModule\"," + - "\"modelInvariantUuid\": \"introvert\"," + - "\"modelUuid\": \"3.14\"," + - "\"modelName\": \"STMTN5MMSC21-MMSC::model-1-0\"," + - "\"modelVersion\": \"1\"," + - "\"modelCustomizationUuid\": \"MODEL-123\"" + "}"; - variables.put("vfModuleModelInfo", vfModuleModelInfo); - - String vnfModelInfo = "{ " + "\"modelType\": \"vnf\"," + - "\"modelInvariantUuid\": \"introvert\"," + - "\"modelUuid\": \"3.14\"," + - "\"modelName\": \"VNF-STMTN5MMSC21-MMSC::model-1-0\"," + - "\"modelVersion\": \"1\"," + - "\"modelCustomizationUuid\": \"VNF-MODEL-123\"" + "}"; - variables.put("vnfModelInfo", vnfModelInfo); - - invokeSubProcess("DoUpdateVfModule", businessKey, variables); - - injectSDNCCallbacks(callbacks, "changeassign, query"); - injectVNFRestCallbacks(callbacks, "vnfUpdate"); - injectSDNCCallbacks(callbacks, "activate"); - - waitForProcessEnd(businessKey, 10000); - - Assert.assertTrue(isProcessEnded(businessKey)); - checkVariable(businessKey, "DoUpdateVfModuleSuccessIndicator", true); - - String heatStackId = (String) getVariableFromHistory(businessKey, "DOUPVfMod_heatStackId"); - System.out.println("Heat stack Id from AAI: " + heatStackId); - - logEnd(); - } - - // start of mocks used locally and by other VF Module unit tests - public static void MockSDNCAdapterVfModule() { - // simplified the implementation to return "success" for all requests - stubFor(post(urlEqualTo("/SDNCAdapter")) + + private final CallbackSet callbacks = new CallbackSet(); + + public DoUpdateVfModuleTest() throws IOException { + callbacks.put("changeassign", FileUtil.readResourceFile( + "__files/VfModularity/SDNCTopologyChangeAssignCallback.xml")); + callbacks.put("query", FileUtil.readResourceFile( + "__files/VfModularity/SDNCTopologyQueryCallback.xml")); + callbacks.put("activate", FileUtil.readResourceFile( + "__files/VfModularity/SDNCTopologyActivateCallback.xml")); + callbacks.put("vnfUpdate", FileUtil.readResourceFile( + "__files/VfModularity/VNFAdapterRestUpdateCallback.xml")); + } + + /** + * Test the happy path through the flow. + */ + @Test + @Ignore + @Deployment(resources = { + "subprocess/DoUpdateVfModule.bpmn", + "subprocess/PrepareUpdateAAIVfModule.bpmn", + "subprocess/ConfirmVolumeGroupTenant.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/VnfAdapterRestV1.bpmn", + "subprocess/UpdateAAIGenericVnf.bpmn", + "subprocess/UpdateAAIVfModule.bpmn" + }) + public void happyPath() throws IOException { + + logStart(); + + String doUpdateVfModuleRequest = FileUtil.readResourceFile("__files/VfModularity/DoUpdateVfModuleRequest.xml"); + MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml"); + MockGetVfModuleIdNoResponse("skask", "PCRF", "supercool"); + MockPutVfModuleIdNoResponse("skask", "PCRF", "supercool"); + MockGetVolumeGroupById("MDTWNJ21", "78987", "VfModularity/VolumeGroup.xml"); + mockSDNCAdapter("/SDNCAdapter", "SvcAction>query", 200, "VfModularity/StandardSDNCSynchResponse.xml"); + mockSDNCAdapter("/SDNCAdapter", "SvcInstanceId><", 200, "VfModularity/StandardSDNCSynchResponse.xml"); + mockVNFPut("skask", "/supercool", 202); + MockPutGenericVnf("skask"); + MockGetGenericVnfByIdWithPriority("skask", "supercool", 200, "VfModularity/VfModule-supercool.xml", 1); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + variables.put("mso-request-id", "DEV-VF-0011"); + variables.put("isDebugLogEnabled","true"); + variables.put("DoUpdateVfModuleRequest", doUpdateVfModuleRequest); + invokeSubProcess("DoUpdateVfModule", businessKey, variables); + + injectSDNCCallbacks(callbacks, "changeassign, query"); + injectVNFRestCallbacks(callbacks, "vnfUpdate"); + injectSDNCCallbacks(callbacks, "activate"); + + waitForProcessEnd(businessKey, 10000); + + Assert.assertTrue(isProcessEnded(businessKey)); + checkVariable(businessKey, "DoUpdateVfModuleSuccessIndicator", true); + + String heatStackId = (String) getVariableFromHistory(businessKey, "DOUPVfMod_heatStackId"); + System.out.println("Heat stack Id from AAI: " + heatStackId); + + logEnd(); + } + + /** + * Test the happy path through the flow with Building Blocks interface. + */ + @Test + + @Deployment(resources = { + "subprocess/DoUpdateVfModule.bpmn", + "subprocess/PrepareUpdateAAIVfModule.bpmn", + "subprocess/ConfirmVolumeGroupTenant.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/VnfAdapterRestV1.bpmn", + "subprocess/UpdateAAIGenericVnf.bpmn", + "subprocess/UpdateAAIVfModule.bpmn" + }) + public void happyPathBB() throws IOException { + + logStart(); + + MockAAIVfModule(); + MockPatchGenericVnf("skask"); + MockPatchVfModuleId("skask", ".*"); + MockSDNCAdapterVfModule(); + MockVNFAdapterRestVfModule(); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + variables.put("mso-request-id", "DEV-VF-0011"); + variables.put("isDebugLogEnabled","true"); + variables.put("msoRequestId", "DEV-VF-0011"); + variables.put("isBaseVfModule", "false"); + variables.put("isDebugLogEnabled", "true"); + variables.put("disableRollback", "true"); + variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4"); + variables.put("vnfId", "skask"); + variables.put("vfModuleId", "supercool"); + variables.put("vnfType", "pcrf-capacity"); + variables.put("isVidRequest", "true"); + variables.put("volumeGroupId", "78987"); + variables.put("usePreload", true); + + variables.put("sdncVersion", "1702"); + + variables.put("lcpCloudRegionId", "MDTWNJ21"); + variables.put("tenantId", "fba1bd1e195a404cacb9ce17a9b2b421"); + + String vfModuleModelInfo = "{ "+ "\"modelType\": \"vfModule\"," + + "\"modelInvariantUuid\": \"introvert\"," + + "\"modelUuid\": \"3.14\"," + + "\"modelName\": \"STMTN5MMSC21-MMSC::model-1-0\"," + + "\"modelVersion\": \"1\"," + + "\"modelCustomizationUuid\": \"MODEL-123\"" + "}"; + variables.put("vfModuleModelInfo", vfModuleModelInfo); + + String vnfModelInfo = "{ "+ "\"modelType\": \"vnf\"," + + "\"modelInvariantUuid\": \"introvert\"," + + "\"modelUuid\": \"3.14\"," + + "\"modelName\": \"VNF-STMTN5MMSC21-MMSC::model-1-0\"," + + "\"modelVersion\": \"1\"," + + "\"modelCustomizationUuid\": \"VNF-MODEL-123\"" + "}"; + variables.put("vnfModelInfo", vnfModelInfo); + + invokeSubProcess("DoUpdateVfModule", businessKey, variables); + + injectSDNCCallbacks(callbacks, "changeassign, query"); + injectVNFRestCallbacks(callbacks, "vnfUpdate"); + injectSDNCCallbacks(callbacks, "activate"); + + waitForProcessEnd(businessKey, 10000); + + Assert.assertTrue(isProcessEnded(businessKey)); + checkVariable(businessKey, "DoUpdateVfModuleSuccessIndicator", true); + + String heatStackId = (String) getVariableFromHistory(businessKey, "DOUPVfMod_heatStackId"); + System.out.println("Heat stack Id from AAI: " + heatStackId); + + logEnd(); + } + + // start of mocks used locally and by other VF Module unit tests + public static void MockSDNCAdapterVfModule() { + // simplified the implementation to return "success" for all requests + stubFor(post(urlEqualTo("/SDNCAdapter")) // .withRequestBody(containing("SvcInstanceId><")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile("VfModularity/StandardSDNCSynchResponse.xml"))); + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile("VfModularity/StandardSDNCSynchResponse.xml"))); // stubFor(post(urlEqualTo("/SDNCAdapter")) // .withRequestBody(containing("vnf-type>STMTN")) // .willReturn(aResponse() @@ -219,25 +220,25 @@ public class DoUpdateVfModuleTest extends WorkflowTest { // .withStatus(200) // .withHeader("Content-Type", "text/xml") // .withBodyFile("VfModularity/StandardSDNCSynchResponse.xml"))); - } - - public static void MockVNFAdapterRestVfModule() { - stubFor(put(urlEqualTo("/vnfs/v1/vnfs/skask/vf-modules/supercool")) - .willReturn(aResponse() - .withStatus(202) - .withHeader("Content-Type", "application/xml"))); - stubFor(post(urlMatching("/vnfs/v1/vnfs/.*/vf-modules")) - .willReturn(aResponse() - .withStatus(202) - .withHeader("Content-Type", "application/xml"))); - stubFor(post(urlEqualTo("/vnfs/v1/vnfs/skask/vf-modules")) - .willReturn(aResponse() - .withStatus(202) - .withHeader("Content-Type", "application/xml"))); - stubFor(put(urlEqualTo("/vnfs/v1/volume-groups/78987")) - .willReturn(aResponse() - .withStatus(202) - .withHeader("Content-Type", "application/xml"))); - } + } + + public static void MockVNFAdapterRestVfModule() { + stubFor(put(urlEqualTo("/vnfs/v1/vnfs/skask/vf-modules/supercool")) + .willReturn(aResponse() + .withStatus(202) + .withHeader("Content-Type", "application/xml"))); + stubFor(post(urlMatching("/vnfs/v1/vnfs/.*/vf-modules")) + .willReturn(aResponse() + .withStatus(202) + .withHeader("Content-Type", "application/xml"))); + stubFor(post(urlEqualTo("/vnfs/v1/vnfs/skask/vf-modules")) + .willReturn(aResponse() + .withStatus(202) + .withHeader("Content-Type", "application/xml"))); + stubFor(put(urlEqualTo("/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/DoUpdateVnfAndModulesTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoUpdateVnfAndModulesTest.java index 5dbad094d4..4def56cf6a 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 @@ -55,170 +55,172 @@ import org.openecomp.mso.bpmn.mock.FileUtil; /** * Unit Test for the DoUpdateVnfAndModules Flow + * */ public class DoUpdateVnfAndModulesTest extends WorkflowTest { - private final CallbackSet callbacks = new CallbackSet(); - - public DoUpdateVnfAndModulesTest() throws IOException { - - callbacks.put("changeassign", FileUtil.readResourceFile( - "__files/VfModularity/SDNCTopologyChangeAssignCallback.xml")); - callbacks.put("activate", FileUtil.readResourceFile( - "__files/VfModularity/SDNCTopologyActivateCallback.xml")); - callbacks.put("query", FileUtil.readResourceFile( - "__files/VfModularity/SDNCTopologyQueryCallback.xml")); - callbacks.put("vnfUpdate", FileUtil.readResourceFile( - "__files/VfModularity/VNFAdapterRestUpdateCallback.xml")); - } - - @Test - - @Deployment(resources = { - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/PrepareUpdateAAIVfModule.bpmn", - "subprocess/DoUpdateVfModule.bpmn", - "subprocess/DoUpdateVnfAndModules.bpmn", - "subprocess/VnfAdapterRestV1.bpmn", - "subprocess/ConfirmVolumeGroupTenant.bpmn", - "subprocess/UpdateAAIVfModule.bpmn", - "subprocess/UpdateAAIGenericVnf.bpmn"}) - public void testDoUpdateVnfAndModules_success() throws Exception { - - 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, "VfModularity/GenericVnf.xml"); - MockPutGenericVnf(".*"); - MockAAIVfModule(); - MockPatchGenericVnf("skask"); - MockPatchVfModuleId("skask", ".*"); - mockSDNCAdapter("VfModularity/StandardSDNCSynchResponse.xml"); - mockVNFPut("skask", "/supercool", 202); - mockVNFPut("skask", "/lukewarm", 202); - MockVNFAdapterRestVfModule(); - MockDBUpdateVfModule(); - - mockSDNCAdapter("VfModularity/StandardSDNCSynchResponse.xml"); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - setVariablesSuccess(variables, "", "testRequestId123", "MIS%2F1604%2F0026%2FSW_INTERNET"); - invokeSubProcess("DoUpdateVnfAndModules", businessKey, variables); - - injectSDNCCallbacks(callbacks, "changeassign, query"); - injectVNFRestCallbacks(callbacks, "vnfUpdate"); - injectSDNCCallbacks(callbacks, "activate"); - injectSDNCCallbacks(callbacks, "changeassign, query"); - injectVNFRestCallbacks(callbacks, "vnfUpdate"); - injectSDNCCallbacks(callbacks, "activate"); - waitForProcessEnd(businessKey, 10000); - - Assert.assertTrue(isProcessEnded(businessKey)); - assertVariables("2", "200", null); - - } - - - private void assertVariables(String exModuleCount, String exVnfFound, String exWorkflowException) { - - String moduleCount = BPMNUtil.getVariable(processEngineRule, "DoUpdateVnfAndModules", "DUVAM_moduleCount"); - String vnfFound = BPMNUtil.getVariable(processEngineRule, "DoUpdateVnfAndModules", "DUVAM_queryAAIVfModuleResponseCode"); - String workflowException = BPMNUtil.getVariable(processEngineRule, "DoUpdateVnfAndModules", "SavedWorkflowException1"); - - assertEquals(exModuleCount, moduleCount); - assertEquals(exVnfFound, vnfFound); - assertEquals(exWorkflowException, workflowException); - } - - private void setVariables(Map variables, String request, String requestId, String siId) { - variables.put("isDebugLogEnabled", "true"); - variables.put("bpmnRequest", request); - variables.put("msoRequestUdid", requestId); - variables.put("serviceInstanceId", siId); - variables.put("testVnfId", "testVnfId123"); - variables.put("vnfType", "STMTN"); - - } - - private void setVariablesSuccess(Map variables, String request, String requestId, String siId) { - variables.put("isDebugLogEnabled", "true"); - variables.put("requestId", requestId); - variables.put("msoRequestId", requestId); - variables.put("serviceInstanceId", siId); - variables.put("disableRollback", "true"); - //variables.put("testVnfId","testVnfId123"); - variables.put("vnfType", "STMTN"); - variables.put("vnfId", "skask"); - variables.put("tenantId", "88a6ca3ee0394ade9403f075db23167e"); - variables.put("lcpCloudRegionId", "mdt1"); - - String serviceModelInfo = "{ " + "\"modelType\": \"service\"," + - "\"modelInvariantUuid\": \"995256d2-5a33-55df-13ab-12abad84e7ff\"," + - "\"modelUuid\": \"ab6478e5-ea33-3346-ac12-ab121484a3fe\"," + - "\"modelName\": \"ServicevSAMP12\"," + - "\"modelVersion\": \"1.0\"," + - "}"; - variables.put("serviceModelInfo", serviceModelInfo); - variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"); - String vnfModelInfo = "{" + "\"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("vnfModelInfo", vnfModelInfo); - - String cloudConfiguration = "{" + "\"cloudConfiguration\": { " + - "\"lcpCloudRegionId\": \"mdt1\"," + - "\"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\"" + "}}"; - variables.put("cloudConfiguration", cloudConfiguration); - variables.put("sdncVersion", "1702"); - variables.put("globalSubscriberId", "subscriber123"); - variables.put("asdcServiceModelVersion", "serviceVersion01"); - - try { - VnfResource vr = new VnfResource(); - ModelInfo mvr = new ModelInfo(); - mvr.setModelName("vSAMP12"); - mvr.setModelInstanceName("v123"); - mvr.setModelInvariantUuid("extrovert"); - 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("introvert"); - mvmr.setModelName("STMTN5MMSC21-MMSC::model-1-0"); - mvmr.setModelVersion("1"); - mvmr.setModelCustomizationUuid("MODEL-123"); - mr.setModelInfo(mvmr); - mr.setIsBase(true); - mr.setVfModuleLabel("MODULELABEL"); - vr.addVfModule(mr); - ModuleResource mr1 = new ModuleResource(); - ModelInfo mvmr1 = new ModelInfo(); - mvmr1.setModelInvariantUuid("extrovert"); - mvmr1.setModelName("SECONDMODELNAME"); - mvmr1.setModelVersion("1"); - mvmr1.setModelCustomizationUuid("MODEL-123"); - mr1.setModelInfo(mvmr1); - mr1.setIsBase(false); - mr1.setVfModuleLabel("MODULELABEL1"); - vr.addVfModule(mr1); - variables.put("vnfResourceDecomposition", vr); - variables.put("isTest", true); - } catch (Exception e) { - - } - - } - - + private final CallbackSet callbacks = new CallbackSet(); + + public DoUpdateVnfAndModulesTest() throws IOException { + + callbacks.put("changeassign", FileUtil.readResourceFile( + "__files/VfModularity/SDNCTopologyChangeAssignCallback.xml")); + callbacks.put("activate", FileUtil.readResourceFile( + "__files/VfModularity/SDNCTopologyActivateCallback.xml")); + callbacks.put("query", FileUtil.readResourceFile( + "__files/VfModularity/SDNCTopologyQueryCallback.xml")); + callbacks.put("vnfUpdate", FileUtil.readResourceFile( + "__files/VfModularity/VNFAdapterRestUpdateCallback.xml")); + } + + @Test + + @Deployment(resources = { + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/PrepareUpdateAAIVfModule.bpmn", + "subprocess/DoUpdateVfModule.bpmn", + "subprocess/DoUpdateVnfAndModules.bpmn", + "subprocess/VnfAdapterRestV1.bpmn", + "subprocess/ConfirmVolumeGroupTenant.bpmn", + "subprocess/UpdateAAIVfModule.bpmn", + "subprocess/UpdateAAIGenericVnf.bpmn"}) + public void testDoUpdateVnfAndModules_success() throws Exception{ + + 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, "VfModularity/GenericVnf.xml"); + MockPutGenericVnf(".*"); + MockAAIVfModule(); + MockPatchGenericVnf("skask"); + MockPatchVfModuleId("skask", ".*"); + mockSDNCAdapter("VfModularity/StandardSDNCSynchResponse.xml"); + mockVNFPut("skask", "/supercool", 202); + mockVNFPut("skask", "/lukewarm", 202); + MockVNFAdapterRestVfModule(); + MockDBUpdateVfModule(); + + mockSDNCAdapter("VfModularity/StandardSDNCSynchResponse.xml"); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariablesSuccess(variables, "", "testRequestId123", "MIS%2F1604%2F0026%2FSW_INTERNET"); + invokeSubProcess("DoUpdateVnfAndModules", businessKey, variables); + + injectSDNCCallbacks(callbacks, "changeassign, query"); + injectVNFRestCallbacks(callbacks, "vnfUpdate"); + injectSDNCCallbacks(callbacks, "activate"); + injectSDNCCallbacks(callbacks, "changeassign, query"); + injectVNFRestCallbacks(callbacks, "vnfUpdate"); + injectSDNCCallbacks(callbacks, "activate"); + waitForProcessEnd(businessKey, 10000); + + Assert.assertTrue(isProcessEnded(businessKey)); + assertVariables("2", "200", null); + + } + + + + private void assertVariables(String exModuleCount, String exVnfFound, String exWorkflowException) { + + String moduleCount = BPMNUtil.getVariable(processEngineRule, "DoUpdateVnfAndModules", "DUVAM_moduleCount"); + String vnfFound = BPMNUtil.getVariable(processEngineRule, "DoUpdateVnfAndModules", "DUVAM_queryAAIVfModuleResponseCode"); + String workflowException = BPMNUtil.getVariable(processEngineRule, "DoUpdateVnfAndModules", "SavedWorkflowException1"); + + assertEquals(exModuleCount, moduleCount); + assertEquals(exVnfFound, vnfFound); + assertEquals(exWorkflowException, workflowException); + } + + private void setVariables(Map variables, String request, String requestId, String siId) { + variables.put("isDebugLogEnabled", "true"); + variables.put("bpmnRequest", request); + variables.put("msoRequestUdid", requestId); + variables.put("serviceInstanceId",siId); + variables.put("testVnfId","testVnfId123"); + variables.put("vnfType", "STMTN"); + + } + + private void setVariablesSuccess(Map variables, String request, String requestId, String siId) { + variables.put("isDebugLogEnabled", "true"); + variables.put("requestId", requestId); + variables.put("msoRequestId", requestId); + variables.put("serviceInstanceId",siId); + variables.put("disableRollback", "true"); + //variables.put("testVnfId","testVnfId123"); + variables.put("vnfType", "STMTN"); + variables.put("vnfId", "skask"); + variables.put("tenantId", "88a6ca3ee0394ade9403f075db23167e"); + variables.put("lcpCloudRegionId", "mdt1"); + + String serviceModelInfo = "{ "+ "\"modelType\": \"service\"," + + "\"modelInvariantUuid\": \"995256d2-5a33-55df-13ab-12abad84e7ff\"," + + "\"modelUuid\": \"ab6478e5-ea33-3346-ac12-ab121484a3fe\"," + + "\"modelName\": \"ServicevSAMP12\"," + + "\"modelVersion\": \"1.0\"," + + "}"; + variables.put("serviceModelInfo", serviceModelInfo); + variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"); + String vnfModelInfo = "{" + "\"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("vnfModelInfo", vnfModelInfo); + + String cloudConfiguration = "{" + "\"cloudConfiguration\": { " + + "\"lcpCloudRegionId\": \"mdt1\"," + + "\"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\"" + "}}"; + variables.put("cloudConfiguration", cloudConfiguration); + variables.put("sdncVersion", "1702"); + variables.put("globalSubscriberId", "subscriber123"); + variables.put("asdcServiceModelVersion", "serviceVersion01"); + + try { + VnfResource vr = new VnfResource(); + ModelInfo mvr = new ModelInfo(); + mvr.setModelName("vSAMP12"); + mvr.setModelInstanceName("v123"); + mvr.setModelInvariantUuid("extrovert"); + 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("introvert"); + mvmr.setModelName("STMTN5MMSC21-MMSC::model-1-0"); + mvmr.setModelVersion("1"); + mvmr.setModelCustomizationUuid("MODEL-123"); + mr.setModelInfo(mvmr); + mr.setIsBase(true); + mr.setVfModuleLabel("MODULELABEL"); + vr.addVfModule(mr); + ModuleResource mr1 = new ModuleResource(); + ModelInfo mvmr1 = new ModelInfo(); + mvmr1.setModelInvariantUuid("extrovert"); + mvmr1.setModelName("SECONDMODELNAME"); + mvmr1.setModelVersion("1"); + mvmr1.setModelCustomizationUuid("MODEL-123"); + mr1.setModelInfo(mvmr1); + mr1.setIsBase(false); + mr1.setVfModuleLabel("MODULELABEL1"); + vr.addVfModule(mr1); + variables.put("vnfResourceDecomposition", vr); + variables.put("isTest", true); + } catch(Exception e) { + + } + + } + + } 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 82208d9f64..64852dfb5f 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 @@ -16,7 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.infrastructure; @@ -69,191 +69,191 @@ import org.openecomp.mso.bpmn.mock.FileUtil; * Unit test cases for UpdateVnfInfra.bpmn */ public class ReplaceVnfInfraTest 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; - - public ReplaceVnfInfraTest() throws IOException { - callbacks.put("deactivate", FileUtil.readResourceFile( - "__files/VfModularity/SDNCTopologyActivateCallback.xml")); - callbacks.put("unassign", FileUtil.readResourceFile( - "__files/VfModularity/SDNCTopologyActivateCallback.xml")); - callbacks.put("vnfDelete", vnfAdapterDeleteCallback); - callbacks.put("changeassign", FileUtil.readResourceFile( - "__files/VfModularity/SDNCTopologyChangeAssignCallback.xml")); - callbacks.put("activate", FileUtil.readResourceFile( - "__files/VfModularity/SDNCTopologyActivateCallback.xml")); - callbacks.put("query", FileUtil.readResourceFile( - "__files/VfModularity/SDNCTopologyQueryCallback.xml")); - callbacks.put("vnfUpdate", FileUtil.readResourceFile( - "__files/VfModularity/VNFAdapterRestUpdateCallback.xml")); - } - - /** - * Sunny day scenario. - * - * @throws Exception - */ - @Test + + 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; + + public ReplaceVnfInfraTest() throws IOException { + callbacks.put("deactivate", FileUtil.readResourceFile( + "__files/VfModularity/SDNCTopologyActivateCallback.xml")); + callbacks.put("unassign", FileUtil.readResourceFile( + "__files/VfModularity/SDNCTopologyActivateCallback.xml")); + callbacks.put("vnfDelete", vnfAdapterDeleteCallback); + callbacks.put("changeassign", FileUtil.readResourceFile( + "__files/VfModularity/SDNCTopologyChangeAssignCallback.xml")); + callbacks.put("activate", FileUtil.readResourceFile( + "__files/VfModularity/SDNCTopologyActivateCallback.xml")); + callbacks.put("query", FileUtil.readResourceFile( + "__files/VfModularity/SDNCTopologyQueryCallback.xml")); + callbacks.put("vnfUpdate", FileUtil.readResourceFile( + "__files/VfModularity/VNFAdapterRestUpdateCallback.xml")); + } + + /** + * Sunny day scenario. + * + * @throws Exception + */ + @Test @Ignore - @Deployment(resources = { - "process/ReplaceVnfInfra.bpmn", - "subprocess/DoDeleteVfModule.bpmn", - "subprocess/DoDeleteVnfAndModules.bpmn", - "subprocess/DeleteAAIVfModule.bpmn", - "subprocess/PrepareUpdateAAIVfModule.bpmn", - "subprocess/ConfirmVolumeGroupTenant.bpmn", - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/DoDeleteVnfAndModules.bpmn", - "subprocess/GenericDeleteVnf.bpmn", - "subprocess/DoDeleteVnf.bpmn", - "subprocess/DoDeleteVfModule.bpmn", - "subprocess/VnfAdapterRestV1.bpmn", - "subprocess/UpdateAAIGenericVnf.bpmn", - "subprocess/UpdateAAIVfModule.bpmn", - "subprocess/GenericGetService.bpmn", - "subprocess/GenericGetVnf.bpmn", - "subprocess/GenericPutVnf.bpmn", - "subprocess/DoCreateVnf.bpmn", - "subprocess/GenerateVfModuleName.bpmn", - "subprocess/DoCreateVfModule.bpmn", - "subprocess/DoCreateVnfAndModules.bpmn", - "subprocess/ConfirmVolumeGroupName.bpmn", - "subprocess/CreateAAIVfModule.bpmn", - "subprocess/CreateAAIVfModuleVolumeGroup.bpmn", - "subprocess/CompleteMsoProcess.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/DoCreateVnfAndModulesRollback.bpmn", - "subprocess/BuildingBlock/DecomposeService.bpmn", - "subprocess/BuildingBlock/RainyDayHandler.bpmn", - "subprocess/BuildingBlock/ManualHandling.bpmn" - - }) - public void sunnyDay() throws Exception { - - logStart(); - MockAAIGenericVnfSearch(); - MockGetGenericVnfById("testVnfId123.*", "GenericFlows/getGenericVnfByNameResponse.xml"); - MockDeleteGenericVnf("testVnfId123", "testReVer123"); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - mockSDNCAdapter(200); - MockDoDeleteVfModule_SDNCSuccess(); - MockDoDeleteVfModule_DeleteVNFSuccess(); - MockAAIDeleteVfModule(); - - 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"); - MockGetServiceResourcesCatalogData("995256d2-5a33-55df-13ab-12abad84e7ff", "1.0", "VIPR/getCatalogServiceResourcesDataForReplaceVnfInfra.json"); - //MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml"); - //MockPutGenericVnf(".*"); - 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); - MockPolicySkip(); - - //mockSDNCAdapter("VfModularity/StandardSDNCSynchResponse.xml"); - //mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - String updaetVnfRequest = - FileUtil.readResourceFile("__files/InfrastructureFlows/ReplaceVnf_VID_request.json"); - - Map variables = setupVariablesSunnyDayVID(); - - - TestAsyncResponse asyncResponse = invokeAsyncProcess("ReplaceVnfInfra", - "v1", businessKey, updaetVnfRequest, variables); - - WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 10000); - - String responseBody = response.getResponse(); - System.out.println("Workflow (Synch) Response:\n" + responseBody); - - //injectSDNCCallbacks(callbacks, "deactivate"); - //injectSDNCCallbacks(callbacks, "deactivate"); - injectVNFRestCallbacks(callbacks, "vnfDelete"); - //injectSDNCCallbacks(callbacks, "unassign"); - MockGetGenericVnfById("a27ce5a9-29c4-4c22-a017-6615ac73c721", "GenericFlows/getGenericVnfByNameResponse.xml"); - injectSDNCCallbacks(callbacks, "unassign"); - - - injectSDNCCallbacks(callbacks, "changeassign, query"); - injectVNFRestCallbacks(callbacks, "vnfUpdate"); - injectSDNCCallbacks(callbacks, "activate"); - injectSDNCCallbacks(callbacks, "changeassign, query"); - injectVNFRestCallbacks(callbacks, "vnfUpdate"); - injectSDNCCallbacks(callbacks, "activate"); - - // TODO add appropriate assertions - - waitForProcessEnd(businessKey, 10000); - checkVariable(businessKey, "ReplaceVfModuleInfraSuccessIndicator", true); - - logEnd(); - } - - // 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"); - variables.put("vnfId", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); - variables.put("vnfType", "vSAMP12"); - variables.put("serviceType", "MOG"); - - return variables; - - } - - public static void MockDoDeleteVfModule_SDNCSuccess() { - stubFor(post(urlEqualTo("/SDNCAdapter")) - .withRequestBody(containing("SvcAction>deactivate")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile("DeleteGenericVNFV1/sdncAdapterResponse.xml"))); - stubFor(post(urlEqualTo("/SDNCAdapter")) - .withRequestBody(containing("SvcAction>unassign")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile("DeleteGenericVNFV1/sdncAdapterResponse.xml"))); - } - - - 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"))); - } - + @Deployment(resources = { + "process/ReplaceVnfInfra.bpmn", + "subprocess/DoDeleteVfModule.bpmn", + "subprocess/DoDeleteVnfAndModules.bpmn", + "subprocess/DeleteAAIVfModule.bpmn", + "subprocess/PrepareUpdateAAIVfModule.bpmn", + "subprocess/ConfirmVolumeGroupTenant.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/DoDeleteVnfAndModules.bpmn", + "subprocess/GenericDeleteVnf.bpmn", + "subprocess/DoDeleteVnf.bpmn", + "subprocess/DoDeleteVfModule.bpmn", + "subprocess/VnfAdapterRestV1.bpmn", + "subprocess/UpdateAAIGenericVnf.bpmn", + "subprocess/UpdateAAIVfModule.bpmn", + "subprocess/GenericGetService.bpmn", + "subprocess/GenericGetVnf.bpmn", + "subprocess/GenericPutVnf.bpmn", + "subprocess/DoCreateVnf.bpmn", + "subprocess/GenerateVfModuleName.bpmn", + "subprocess/DoCreateVfModule.bpmn", + "subprocess/DoCreateVnfAndModules.bpmn", + "subprocess/ConfirmVolumeGroupName.bpmn", + "subprocess/CreateAAIVfModule.bpmn", + "subprocess/CreateAAIVfModuleVolumeGroup.bpmn", + "subprocess/CompleteMsoProcess.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/DoCreateVnfAndModulesRollback.bpmn", + "subprocess/BuildingBlock/DecomposeService.bpmn", + "subprocess/BuildingBlock/RainyDayHandler.bpmn", + "subprocess/BuildingBlock/ManualHandling.bpmn" + + }) + public void sunnyDay() throws Exception { + + logStart(); + MockAAIGenericVnfSearch(); + MockGetGenericVnfById("testVnfId123.*", "GenericFlows/getGenericVnfByNameResponse.xml"); + MockDeleteGenericVnf("testVnfId123", "testReVer123"); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + mockSDNCAdapter(200); + MockDoDeleteVfModule_SDNCSuccess(); + MockDoDeleteVfModule_DeleteVNFSuccess(); + MockAAIDeleteVfModule(); + + 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"); + MockGetServiceResourcesCatalogData("995256d2-5a33-55df-13ab-12abad84e7ff", "1.0", "VIPR/getCatalogServiceResourcesDataForReplaceVnfInfra.json"); + //MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml"); + //MockPutGenericVnf(".*"); + 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); + MockPolicySkip(); + + //mockSDNCAdapter("VfModularity/StandardSDNCSynchResponse.xml"); + //mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + String updaetVnfRequest = + FileUtil.readResourceFile("__files/InfrastructureFlows/ReplaceVnf_VID_request.json"); + + Map variables = setupVariablesSunnyDayVID(); + + + TestAsyncResponse asyncResponse = invokeAsyncProcess("ReplaceVnfInfra", + "v1", businessKey, updaetVnfRequest, variables); + + WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 10000); + + String responseBody = response.getResponse(); + System.out.println("Workflow (Synch) Response:\n" + responseBody); + + //injectSDNCCallbacks(callbacks, "deactivate"); + //injectSDNCCallbacks(callbacks, "deactivate"); + injectVNFRestCallbacks(callbacks, "vnfDelete"); + //injectSDNCCallbacks(callbacks, "unassign"); + MockGetGenericVnfById("a27ce5a9-29c4-4c22-a017-6615ac73c721", "GenericFlows/getGenericVnfByNameResponse.xml"); + injectSDNCCallbacks(callbacks, "unassign"); + + + injectSDNCCallbacks(callbacks, "changeassign, query"); + injectVNFRestCallbacks(callbacks, "vnfUpdate"); + injectSDNCCallbacks(callbacks, "activate"); + injectSDNCCallbacks(callbacks, "changeassign, query"); + injectVNFRestCallbacks(callbacks, "vnfUpdate"); + injectSDNCCallbacks(callbacks, "activate"); + + // TODO add appropriate assertions + + waitForProcessEnd(businessKey, 10000); + checkVariable(businessKey, "ReplaceVfModuleInfraSuccessIndicator", true); + + logEnd(); + } + + // 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"); + variables.put("vnfId", "a27ce5a9-29c4-4c22-a017-6615ac73c721"); + variables.put("vnfType", "vSAMP12"); + variables.put("serviceType", "MOG"); + + return variables; + + } + + public static void MockDoDeleteVfModule_SDNCSuccess() { + stubFor(post(urlEqualTo("/SDNCAdapter")) + .withRequestBody(containing("SvcAction>deactivate")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile("DeleteGenericVNFV1/sdncAdapterResponse.xml"))); + stubFor(post(urlEqualTo("/SDNCAdapter")) + .withRequestBody(containing("SvcAction>unassign")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile("DeleteGenericVNFV1/sdncAdapterResponse.xml"))); + } + + + 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/StubResponseAAITest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/StubResponseAAITest.java index 02ed13e2fb..8f16ed3b1e 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/StubResponseAAITest.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/StubResponseAAITest.java @@ -16,150 +16,153 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ - + */ + package org.openecomp.mso.bpmn.infrastructure; import org.junit.Test; import org.openecomp.mso.bpmn.common.WorkflowTest; import org.openecomp.mso.bpmn.mock.StubResponseAAI; -public class StubResponseAAITest extends WorkflowTest { - - @Test - public void testStubResponseAAIforNullAndDefaultInputs() { - try { - StubResponseAAI.MockPutTunnelXConnect(null, null, null, null, null); - StubResponseAAI.MockGetAllottedResource(null, null, null, null, null); - StubResponseAAI.MockPutAllottedResource(null, null, null, null); - StubResponseAAI.MockPutAllottedResource_500(null, null, null, null); - StubResponseAAI.MockDeleteAllottedResource(null, null, null, null, null); - StubResponseAAI.MockPatchAllottedResource(null, null, null, null); - StubResponseAAI.MockQueryAllottedResourceById(null, null); - StubResponseAAI.MockGetServiceInstance(null, null, null, null); - StubResponseAAI.MockGetServiceInstance_404(null, null, null); - StubResponseAAI.MockGetServiceInstance_500(null, null, null); - StubResponseAAI.MockGetServiceInstance_500(null, null, null, null); - StubResponseAAI.MockNodeQueryServiceInstanceByName(null, null); - StubResponseAAI.MockNodeQueryServiceInstanceByName_404(null); - StubResponseAAI.MockNodeQueryServiceInstanceByName_500(null); - StubResponseAAI.MockNodeQueryServiceInstanceById(null, null); - StubResponseAAI.MockNodeQueryServiceInstanceById_404(null); - StubResponseAAI.MockNodeQueryServiceInstanceById_500(null); - StubResponseAAI.MockDeleteServiceInstance(null, null, null, null); - StubResponseAAI.MockGetServiceInstance(null, null, null, null, 0); - StubResponseAAI.MockGetServiceInstance(null, null, null, 0); - StubResponseAAI.MockDeleteServiceInstance(null, null, null, null, 0); - StubResponseAAI.MockDeleteServiceInstance(null, null, null, 0); - StubResponseAAI.MockDeleteServiceInstance_404(null, null, null, null); - StubResponseAAI.MockDeleteServiceInstance_500(null, null, null, null); - StubResponseAAI.MockPutServiceInstance(null, null, null, null); - StubResponseAAI.MockPutServiceInstance_500(null, null, null); - StubResponseAAI.MockGetServiceSubscription(null, null, null); - StubResponseAAI.MockDeleteServiceSubscription(null, null, 0); - StubResponseAAI.MockDeleteServiceInstanceId(null, null, null); - StubResponseAAI.MockPutServiceSubscription(null, null); - StubResponseAAI.MockGetServiceSubscription(null, null, 0); - StubResponseAAI.MockGetCustomer(null, null); - StubResponseAAI.MockDeleteCustomer(null); - StubResponseAAI.MockPutCustomer(null); - StubResponseAAI.MockPutCustomer_500(null); - StubResponseAAI.MockGetGenericVnfById(null, null); - StubResponseAAI.MockGetGenericVnfById(null, null, 0); - StubResponseAAI.MockGetGenericVnfByIdWithPriority(null, 0, null); - StubResponseAAI.MockGetGenericVnfByIdWithPriority(null, null, 0, null, 0); - StubResponseAAI.MockGetGenericVnfByIdWithDepth(null, 0, null); - StubResponseAAI.MockGetGenericVnfById_404(null); - StubResponseAAI.MockGetGenericVnfById_500(null); - StubResponseAAI.MockGetGenericVnfByName(null, null); - StubResponseAAI.MockGetGenericVnfByNameWithDepth(null, 0, null); - StubResponseAAI.MockGetGenericVnfByName_404(null); - StubResponseAAI.MockDeleteGenericVnf(null, null); - StubResponseAAI.MockDeleteGenericVnf(null, null, 0); - StubResponseAAI.MockDeleteGenericVnf_500(null, null); - StubResponseAAI.MockPutGenericVnf(null); - StubResponseAAI.MockPutGenericVnf(null, null, 0); - StubResponseAAI.MockPutGenericVnf(null, 0); - StubResponseAAI.MockPutGenericVnf_Bad(null, 0); - StubResponseAAI.MockPatchGenericVnf(null); - StubResponseAAI.MockGetVceById(null, null); - StubResponseAAI.MockGetVceByName(null, null); - StubResponseAAI.MockDeleteVce(null, null, 0); - StubResponseAAI.MockPutVce(null); - StubResponseAAI.MockGetGenericVceByNameWithDepth(null, 0, null); - StubResponseAAI.MockGetVceGenericQuery(null, 0, 0, null); - StubResponseAAI.MockGetTenantGenericQuery(null, null, null); - StubResponseAAI.MockGetTenant(null, null); - StubResponseAAI.MockGetNetwork(null, null, 0); - StubResponseAAI.MockGetNetworkByIdWithDepth(null, null, null); - StubResponseAAI.MockGetNetworkCloudRegion(null, null); - StubResponseAAI.MockGetNetworkByName(null, null); - StubResponseAAI.MockGetNetworkByName_404(null, null); - StubResponseAAI.MockGetNetworkCloudRegion_404(null); - StubResponseAAI.MockPutNetwork(null, 0, null); - StubResponseAAI.MockPutNetwork(null, null, 0); - StubResponseAAI.MockGetNetworkName(null, null, 0); - StubResponseAAI.MockGetNetworkVpnBinding(null, null); - StubResponseAAI.MockGetNetworkPolicy(null, null); - StubResponseAAI.MockGetNetworkVpnBinding(null, null, 0); - StubResponseAAI.MockGetNetworkPolicy(null, null, 0); - StubResponseAAI.MockGetNetworkTableReference(null, null); - StubResponseAAI.MockPutNetworkIdWithDepth(null, null, null); - StubResponseAAI.MockGetNetworkPolicyfqdn(null, null, 0); - StubResponseAAI.MockGetNetworkRouteTable(null, null, 0); - StubResponseAAI.MockPatchVfModuleId(null, null); - StubResponseAAI.MockVNFAdapterRestVfModule(); - StubResponseAAI.MockDBUpdateVfModule(); - StubResponseAAI.MockSDNCAdapterVfModule(); - StubResponseAAI.MockAAIVfModule(); - StubResponseAAI.MockGetCloudRegion(null, 0, null); - StubResponseAAI.MockGetVolumeGroupById(null, null, null); - StubResponseAAI.MockPutVolumeGroupById(null, null, null, 0); - StubResponseAAI.MockGetVolumeGroupByName(null, null, null, 0); - StubResponseAAI.MockDeleteVolumeGroupById(null, null, null, 0); - StubResponseAAI.MockGetVolumeGroupByName_404(null, null); - StubResponseAAI.MockDeleteVolumeGroup(null, null, null); - StubResponseAAI.MockGetVfModuleId(null, null, null, 0); - StubResponseAAI.MockGetVfModuleByNameWithDepth(null, null, 0, null, 0); - StubResponseAAI.MockGetVfModuleIdNoResponse(null, null, null); - StubResponseAAI.MockPutVfModuleIdNoResponse(null, null, null); - StubResponseAAI.MockPutVfModuleId(null, null); - StubResponseAAI.MockPutVfModuleId(null, null, 0); - StubResponseAAI.MockDeleteVfModuleId(null, null, null, 0); - StubResponseAAI.MockAAIVfModuleBadPatch(null, 0); - StubResponseAAI.MockGetPserverByVnfId(null, null, 0); - StubResponseAAI.MockGetGenericVnfsByVnfId(null, null, 0); - StubResponseAAI.MockSetInMaintFlagByVnfId(null, 0); - StubResponseAAI.MockGetVceById(); - StubResponseAAI.MockGetVceByName(); - StubResponseAAI.MockPutVce(); - StubResponseAAI.MockDeleteVce(); - StubResponseAAI.MockDeleteVce_404(); - StubResponseAAI.MockDeleteServiceSubscription(); - StubResponseAAI.MockGetServiceSubscription(); - StubResponseAAI.MockGetServiceSubscription_200Empty(); - StubResponseAAI.MockGetServiceSubscription_404(); - StubResponseAAI.MockGENPSIPutServiceInstance(); - StubResponseAAI.MockGENPSIPutServiceSubscription(); - StubResponseAAI.MockGENPSIPutServiceInstance_get500(); - StubResponseAAI.MockGetGenericVnfById(); - StubResponseAAI.MockGetGenericVnfById_404(); - StubResponseAAI.MockGetGenericVnfByName(); - StubResponseAAI.MockGetGenericVnfByName_hasRelationships(); - StubResponseAAI.MockGetGenericVnfById_hasRelationships(); - StubResponseAAI.MockGetGenericVnfById_500(); - StubResponseAAI.MockGetGenericVnfByName_404(); - StubResponseAAI.MockPutGenericVnf(); - StubResponseAAI.MockPutGenericVnf_400(); - StubResponseAAI.MockDeleteGenericVnf(); - StubResponseAAI.MockDeleteGenericVnf_404(); - StubResponseAAI.MockDeleteGenericVnf_500(); - StubResponseAAI.MockDeleteGenericVnf_412(); - } catch (Exception ex) { - - System.err.println(ex); - } +public class StubResponseAAITest extends WorkflowTest{ - } + @Test + public void testStubResponseAAIforNullAndDefaultInputs() + { + try{ + StubResponseAAI.MockPutTunnelXConnect(null, null, null, null, null); + StubResponseAAI.MockGetAllottedResource(null, null, null, null, null); + StubResponseAAI.MockPutAllottedResource(null, null, null, null); + StubResponseAAI.MockPutAllottedResource_500(null, null, null, null); + StubResponseAAI.MockDeleteAllottedResource(null, null, null, null, null); + StubResponseAAI.MockPatchAllottedResource(null, null, null, null); + StubResponseAAI.MockQueryAllottedResourceById(null, null); + StubResponseAAI.MockGetServiceInstance(null, null, null, null); + StubResponseAAI.MockGetServiceInstance_404(null, null, null); + StubResponseAAI.MockGetServiceInstance_500(null, null, null); + StubResponseAAI.MockGetServiceInstance_500(null, null, null, null); + StubResponseAAI.MockNodeQueryServiceInstanceByName(null, null); + StubResponseAAI.MockNodeQueryServiceInstanceByName_404(null); + StubResponseAAI.MockNodeQueryServiceInstanceByName_500(null); + StubResponseAAI.MockNodeQueryServiceInstanceById(null, null); + StubResponseAAI.MockNodeQueryServiceInstanceById_404(null); + StubResponseAAI.MockNodeQueryServiceInstanceById_500(null); + StubResponseAAI.MockDeleteServiceInstance(null, null, null, null); + StubResponseAAI.MockGetServiceInstance(null, null, null, null, 0); + StubResponseAAI.MockGetServiceInstance(null, null, null, 0); + StubResponseAAI.MockDeleteServiceInstance(null, null, null, null, 0); + StubResponseAAI.MockDeleteServiceInstance(null, null, null, 0); + StubResponseAAI.MockDeleteServiceInstance_404(null, null, null, null); + StubResponseAAI.MockDeleteServiceInstance_500(null, null, null, null); + StubResponseAAI.MockPutServiceInstance(null, null, null, null); + StubResponseAAI.MockPutServiceInstance_500(null, null, null); + StubResponseAAI.MockGetServiceSubscription(null, null, null); + StubResponseAAI.MockDeleteServiceSubscription(null, null, 0); + StubResponseAAI.MockDeleteServiceInstanceId(null, null, null); + StubResponseAAI.MockPutServiceSubscription(null, null); + StubResponseAAI.MockGetServiceSubscription(null, null, 0); + StubResponseAAI.MockGetCustomer(null, null); + StubResponseAAI.MockDeleteCustomer(null); + StubResponseAAI.MockPutCustomer(null); + StubResponseAAI.MockPutCustomer_500(null); + StubResponseAAI.MockGetGenericVnfById(null, null); + StubResponseAAI.MockGetGenericVnfById(null, null, 0); + StubResponseAAI.MockGetGenericVnfByIdWithPriority(null, 0, null); + StubResponseAAI.MockGetGenericVnfByIdWithPriority(null, null, 0, null, 0); + StubResponseAAI.MockGetGenericVnfByIdWithDepth(null, 0, null); + StubResponseAAI.MockGetGenericVnfById_404(null); + StubResponseAAI.MockGetGenericVnfById_500(null); + StubResponseAAI.MockGetGenericVnfByName(null, null); + StubResponseAAI.MockGetGenericVnfByNameWithDepth(null, 0, null); + StubResponseAAI.MockGetGenericVnfByName_404(null); + StubResponseAAI.MockDeleteGenericVnf(null, null); + StubResponseAAI.MockDeleteGenericVnf(null, null, 0); + StubResponseAAI.MockDeleteGenericVnf_500(null, null); + StubResponseAAI.MockPutGenericVnf(null); + StubResponseAAI.MockPutGenericVnf(null, null, 0); + StubResponseAAI.MockPutGenericVnf(null, 0); + StubResponseAAI.MockPutGenericVnf_Bad(null, 0); + StubResponseAAI.MockPatchGenericVnf(null); + StubResponseAAI.MockGetVceById(null, null); + StubResponseAAI.MockGetVceByName(null, null); + StubResponseAAI.MockDeleteVce(null, null, 0); + StubResponseAAI.MockPutVce(null); + StubResponseAAI.MockGetGenericVceByNameWithDepth(null, 0, null); + StubResponseAAI.MockGetVceGenericQuery(null, 0, 0, null); + StubResponseAAI.MockGetTenantGenericQuery(null, null, null); + StubResponseAAI.MockGetTenant(null, null); + StubResponseAAI.MockGetNetwork(null, null, 0); + StubResponseAAI.MockGetNetworkByIdWithDepth(null, null, null); + StubResponseAAI.MockGetNetworkCloudRegion(null, null); + StubResponseAAI.MockGetNetworkByName(null, null); + StubResponseAAI.MockGetNetworkByName_404(null, null); + StubResponseAAI.MockGetNetworkCloudRegion_404(null); + StubResponseAAI.MockPutNetwork(null, 0, null); + StubResponseAAI.MockPutNetwork(null, null, 0); + StubResponseAAI.MockGetNetworkName(null, null, 0); + StubResponseAAI.MockGetNetworkVpnBinding(null, null); + StubResponseAAI.MockGetNetworkPolicy(null, null); + StubResponseAAI.MockGetNetworkVpnBinding(null, null, 0); + StubResponseAAI.MockGetNetworkPolicy(null, null, 0); + StubResponseAAI.MockGetNetworkTableReference(null, null); + StubResponseAAI.MockPutNetworkIdWithDepth(null, null, null); + StubResponseAAI.MockGetNetworkPolicyfqdn(null, null, 0); + StubResponseAAI.MockGetNetworkRouteTable(null, null, 0); + StubResponseAAI.MockPatchVfModuleId(null, null); + StubResponseAAI.MockVNFAdapterRestVfModule(); + StubResponseAAI.MockDBUpdateVfModule(); + StubResponseAAI.MockSDNCAdapterVfModule(); + StubResponseAAI.MockAAIVfModule(); + StubResponseAAI.MockGetCloudRegion(null, 0, null); + StubResponseAAI.MockGetVolumeGroupById(null, null, null); + StubResponseAAI.MockPutVolumeGroupById(null, null, null, 0); + StubResponseAAI.MockGetVolumeGroupByName(null, null, null, 0); + StubResponseAAI.MockDeleteVolumeGroupById(null, null, null, 0); + StubResponseAAI.MockGetVolumeGroupByName_404(null, null); + StubResponseAAI.MockDeleteVolumeGroup(null, null, null); + StubResponseAAI.MockGetVfModuleId(null, null, null, 0); + StubResponseAAI.MockGetVfModuleByNameWithDepth(null, null, 0, null, 0); + StubResponseAAI.MockGetVfModuleIdNoResponse(null, null, null); + StubResponseAAI.MockPutVfModuleIdNoResponse(null, null, null); + StubResponseAAI.MockPutVfModuleId(null, null); + StubResponseAAI.MockPutVfModuleId(null, null, 0); + StubResponseAAI.MockDeleteVfModuleId(null, null, null, 0); + StubResponseAAI.MockAAIVfModuleBadPatch(null, 0); + StubResponseAAI.MockGetPserverByVnfId(null, null, 0); + StubResponseAAI.MockGetGenericVnfsByVnfId(null, null, 0); + StubResponseAAI.MockSetInMaintFlagByVnfId(null, 0); + StubResponseAAI.MockGetVceById(); + StubResponseAAI.MockGetVceByName(); + StubResponseAAI.MockPutVce(); + StubResponseAAI.MockDeleteVce(); + StubResponseAAI.MockDeleteVce_404(); + StubResponseAAI.MockDeleteServiceSubscription(); + StubResponseAAI.MockGetServiceSubscription(); + StubResponseAAI.MockGetServiceSubscription_200Empty(); + StubResponseAAI.MockGetServiceSubscription_404(); + StubResponseAAI.MockGENPSIPutServiceInstance(); + StubResponseAAI.MockGENPSIPutServiceSubscription(); + StubResponseAAI.MockGENPSIPutServiceInstance_get500(); + StubResponseAAI.MockGetGenericVnfById(); + StubResponseAAI.MockGetGenericVnfById_404(); + StubResponseAAI.MockGetGenericVnfByName(); + StubResponseAAI.MockGetGenericVnfByName_hasRelationships(); + StubResponseAAI.MockGetGenericVnfById_hasRelationships(); + StubResponseAAI.MockGetGenericVnfById_500(); + StubResponseAAI.MockGetGenericVnfByName_404(); + StubResponseAAI.MockPutGenericVnf(); + StubResponseAAI.MockPutGenericVnf_400(); + StubResponseAAI.MockDeleteGenericVnf(); + StubResponseAAI.MockDeleteGenericVnf_404(); + StubResponseAAI.MockDeleteGenericVnf_500(); + StubResponseAAI.MockDeleteGenericVnf_412(); + } + catch(Exception ex) + { + + System.err.println(ex); + } + + } } 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 040294876a..5b5e4e59d3 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 @@ -46,442 +46,443 @@ import com.github.tomakehurst.wiremock.extension.ResponseTransformer; /** * Unit test cases for DoUpdateNetworkInstance.bpmn + * */ public class UpdateNetworkInstanceTest extends WorkflowTest { - @WorkflowTestTransformer - public static final ResponseTransformer sdncAdapterMockTransformer = - new SDNCAdapterNetworkTopologyMockTransformer(); - - @Rule - public final SDNCAdapterCallbackRule sdncAdapterCallbackRule = - new SDNCAdapterCallbackRule(processEngineRule); - - /** - * End-to-End flow - Unit test for DoUpdateNetworkInstance.bpmn - * - String input & String response - */ - - @Test - //@Ignore - @Deployment(resources = {"process/UpdateNetworkInstance.bpmn", - "subprocess/DoUpdateNetworkInstance.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/CompleteMsoProcess.bpmn", - "subprocess/GenericGetService.bpmn", - "subprocess/SDNCAdapterV1.bpmn"}) - - public void shouldInvokeServiceUpdateNetworkInstance_SuccessVID1() throws Exception { - - System.out.println("----------------------------------------------------------"); - System.out.println(" Success1 - UpdateNetworkInstance flow Started! "); - System.out.println("----------------------------------------------------------"); - - // setup simulators - 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"); - 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"); - MockGetNetworkTableReference("UpdateNetworkV2/updateNetwork_queryNetworkTableRef1_AAIResponse_Success.xml", "refFQDN1"); - MockGetNetworkTableReference("UpdateNetworkV2/updateNetwork_queryNetworkTableRef2_AAIResponse_Success.xml", "refFQDN2"); - MockUpdateRequestDB("DBUpdateResponse.xml"); - //MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "UpdateNetworkV2/updateNetwork_queryInstance_Success.xml", "v8"); - MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "UpdateNetworkV2/updateNetwork_queryInstance_Success.xml"); - - Map variables = setupVariablesVID1(); - //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "UpdateNetworkInstance", variables); - executeAsyncWorkflow(processEngineRule, "UpdateNetworkInstance", variables); - System.out.println("----------------------------------------------------------"); - System.out.println("- got workflow response -"); - System.out.println("----------------------------------------------------------"); - //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - assertEquals("true", getVariable(processEngineRule, "UpdateNetworkInstance", "UPDNI_Success")); - Assert.assertNotNull("UPDNI_CompleteMsoProcessRequest - ", getVariable(processEngineRule, "UpdateNetworkInstance", "UPDNI_CompleteMsoProcessRequest")); - - String workflowResp = BPMNUtil.getVariable(processEngineRule, "UpdateNetworkInstance", "WorkflowResponse"); - Assert.assertNotNull(workflowResp); - - System.out.println("----------------------------------------------------------"); - System.out.println(" Success1 - UpdateNetworkInstance flow Completed "); - System.out.println("----------------------------------------------------------"); - - } - - @Test - //@Ignore - @Deployment(resources = {"process/UpdateNetworkInstance.bpmn", - "subprocess/DoUpdateNetworkInstance.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/CompleteMsoProcess.bpmn", - "subprocess/GenericGetService.bpmn", - "subprocess/SDNCAdapterV1.bpmn"}) - - public void shouldInvokeServiceUpdateNetworkInstance_SuccessVIPER1() throws Exception { - - System.out.println("----------------------------------------------------------"); - System.out.println(" Success2 - UpdateNetworkInstance flow Started! "); - System.out.println("----------------------------------------------------------"); - - // setup simulators - 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"); - 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"); - MockGetNetworkTableReference("UpdateNetworkV2/updateNetwork_queryNetworkTableRef1_AAIResponse_Success.xml", "refFQDN1"); - MockGetNetworkTableReference("UpdateNetworkV2/updateNetwork_queryNetworkTableRef2_AAIResponse_Success.xml", "refFQDN2"); - MockUpdateRequestDB("DBUpdateResponse.xml"); - //MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "UpdateNetworkV2/updateNetwork_queryInstance_Success.xml", "v8"); - MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "UpdateNetworkV2/updateNetwork_queryInstance_Success.xml"); - - Map variables = setupVariablesVIPER1(); - //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "UpdateNetworkInstance", variables); - executeAsyncWorkflow(processEngineRule, "UpdateNetworkInstance", variables); - //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - assertEquals("true", getVariable(processEngineRule, "UpdateNetworkInstance", "UPDNI_Success")); - Assert.assertNotNull("UPDNI_CompleteMsoProcessRequest - ", getVariable(processEngineRule, "UpdateNetworkInstance", "UPDNI_CompleteMsoProcessRequest")); - - String completeMsoProcessRequest = - "" + '\n' - + " " + '\n' - + " testRequestId" + '\n' - + " UPDATE" + '\n' - + " VID" + '\n' - + " " + '\n' - + " Network has been updated successfully." + '\n' - + " BPMN Network action: UPDATE" + '\n' - + ""; - - Assert.assertEquals(completeMsoProcessRequest, getVariable(processEngineRule, "UpdateNetworkInstance", "UPDNI_CompleteMsoProcessRequest")); - - System.out.println("----------------------------------------------------------"); - System.out.println(" Success2 - UpdateNetworkInstance flow Completed "); - System.out.println("----------------------------------------------------------"); - - } - - - @Test - //@Ignore - @Deployment(resources = {"process/UpdateNetworkInstance.bpmn", - "subprocess/DoUpdateNetworkInstance.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/CompleteMsoProcess.bpmn", - "subprocess/GenericGetService.bpmn", - "subprocess/SDNCAdapterV1.bpmn"}) - - public void shouldInvokeServiceUpdateNetworkInstance_MissingNetworkId() throws Exception { - - System.out.println("--------------------------------------------------------------------"); - System.out.println(" Missing networkId - UpdateNetworkInstance flow Started! "); - System.out.println("--------------------------------------------------------------------"); - - // setup simulators - MockUpdateRequestDB("DBUpdateResponse.xml"); - //MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "UpdateNetworkV2/updateNetwork_queryInstance_Success.xml", "v8"); - MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "UpdateNetworkV2/updateNetwork_queryInstance_Success.xml"); - - Map variables = setupVariablesMissingNetworkId(); - //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "UpdateNetworkInstance", variables); - executeAsyncWorkflow(processEngineRule, "UpdateNetworkInstance", variables); - //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - assertEquals("false", getVariable(processEngineRule, "UpdateNetworkInstance", "UPDNI_Success")); - Assert.assertNotNull("UPDNI_FalloutHandlerRequest - ", getVariable(processEngineRule, "UpdateNetworkInstance", "UPDNI_FalloutHandlerRequest")); - - String falloutHandlerActual = getVariable(processEngineRule, "UpdateNetworkInstance", "UPDNI_FalloutHandlerRequest"); - String falloutHandlerExpected = - "" + "\n" + - " " + "\n" + - " 88f65519-9a38-4c4b-8445-9eb4a5a5af56" + "\n" + - " UPDATE" + "\n" + - " VID" + "\n" + - " " + "\n" + - " " + "\n" + - " Variable 'network-id' value/element is missing." + "\n" + - " 7000" + "\n" + - " " + "\n" + - " "; - - assertEquals("Response", falloutHandlerExpected, falloutHandlerActual); - - System.out.println("------------------------------------------------------------------"); - System.out.println(" Missing networkId - UpdateNetworkInstance flow Completed "); - System.out.println("------------------------------------------------------------------"); - - } - - - @Test - //@Ignore - @Deployment(resources = {"process/UpdateNetworkInstance.bpmn", - "subprocess/DoUpdateNetworkInstance.bpmn", - "subprocess/DoUpdateNetworkInstanceRollback.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/CompleteMsoProcess.bpmn", - "subprocess/GenericGetService.bpmn", - "subprocess/SDNCAdapterV1.bpmn"}) - - public void shouldInvokeServiceUpdateNetworkInstance_Network_SDNC_Rollback() throws Exception { - - System.out.println("---------------------------------------------------------------"); - System.out.println(" Network and SDNC Rollback - UpdateNetworkInstance flow Started! "); - System.out.println("---------------------------------------------------------------"); - - // setup simulators - mockSDNCAdapterTopology("UpdateNetworkV2mock/sdncUpdateNetworkTopologySimResponse.xml", "SvcAction>changeassign"); - mockSDNCAdapterTopology("UpdateNetworkV2mock/sdncUpdateNetworkTopologySimResponse.xml", "SvcAction>rollback"); - 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"); - 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"); - MockGetNetworkTableReference("UpdateNetworkV2/updateNetwork_queryNetworkTableRef1_AAIResponse_Success.xml", "refFQDN1"); - MockGetNetworkTableReference("UpdateNetworkV2/updateNetwork_queryNetworkTableRef2_AAIResponse_Success.xml", "refFQDN2"); - MockUpdateRequestDB("DBUpdateResponse.xml"); - //MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "UpdateNetworkV2/updateNetwork_queryInstance_Success.xml", "v8"); - MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "UpdateNetworkV2/updateNetwork_queryInstance_Success.xml"); - - Map variables = setupVariablesVID1(); - //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "UpdateNetworkInstance", variables); - executeAsyncWorkflow(processEngineRule, "UpdateNetworkInstance", variables); - //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); - - assertEquals("false", getVariable(processEngineRule, "UpdateNetworkInstance", "UPDNI_Success")); - Assert.assertNotNull("UPDNI_FalloutHandlerRequest - ", getVariable(processEngineRule, "UpdateNetworkInstance", "UPDNI_FalloutHandlerRequest")); - - System.out.println("---------------------------------------------------------------------"); - System.out.println(" Network and SCNC Rollback - UpdateNetworkInstance flow Completed "); - System.out.println("---------------------------------------------------------------------"); - - } - - // ***************** - // Utility Section - // ***************** - - String networkModelInfo = - " {\"modelUuid\": \"mod-inst-uuid-123\", " + '\n' + - " \"modelName\": \"mod_inst_z_123\", " + '\n' + - " \"modelVersion\": \"1.0\", " + '\n' + - " \"modelCustomizationUuid\": \"mod-inst-uuid-123\", " + '\n' + - " \"modelInvariantUuid\": \"mod-invar-uuid-123\" " + '\n' + - " }"; - - String serviceModelInfo = - " {\"modelUuid\": \"36a3a8ea-49a6-4ac8-b06c-89a54544b9b6\", " + '\n' + - " \"modelName\": \"HNGW Protected OAM\", " + '\n' + - " \"modelVersion\": \"1.0\", " + '\n' + - " \"modelInvariantUuid\": \"fcc85cb0-ad74-45d7-a5a1-17c8744fdb71\" " + '\n' + - " }"; - - // Success Scenario - private Map setupVariablesVID1() { - Map variables = new HashMap<>(); - variables.put("bpmnRequest", getCreateNetworkRequest1()); - variables.put("mso-request-id", "testRequestId"); - variables.put("requestId", "testRequestId"); - variables.put("isBaseVfModule", "true"); - variables.put("recipeTimeout", "0"); - variables.put("requestAction", "UPDATE"); - variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4"); - variables.put("vnfId", ""); - variables.put("vfModuleId", ""); - variables.put("volumeGroupId", ""); - variables.put("networkId", "49c86598-f766-46f8-84f8-8d1c1b10f9b4"); - variables.put("serviceType", "vMOG"); - variables.put("vfModuleType", ""); - variables.put("networkType", "modelName"); - return variables; - - } - - public String getCreateNetworkRequest1() { - - String request = - "{ \"requestDetails\": { " + '\n' + - " \"modelInfo\": { " + '\n' + - " \"modelType\": \"modelType\", " + '\n' + - " \"modelCustomizationId\": \"f21df226-8093-48c3-be7e-0408fcda0422\", " + '\n' + - " \"modelName\": \"CONTRAIL_EXTERNAL\", " + '\n' + - " \"modelVersion\": \"1.0\" " + '\n' + - " }, " + '\n' + - " \"cloudConfiguration\": { " + '\n' + - " \"lcpCloudRegionId\": \"RDM2WAGPLCP\", " + '\n' + - " \"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\" " + '\n' + - " }, " + '\n' + - " \"requestInfo\": { " + '\n' + - " \"instanceName\": \"MNS-25180-L-01-dmz_direct_net_1\", " + '\n' + - " \"source\": \"VID\", " + '\n' + - " \"callbackUrl\": \"\", " + '\n' + - " \"suppressRollback\": \"false\" ," + '\n' + - " \"productFamilyId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\" " + '\n' + - " }, " + '\n' + - " \"requestParameters\": { " + '\n' + - " \"backoutOnFailure\": true, " + '\n' + - " \"serviceId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\", " + '\n' + - " \"userParams\": [] " + '\n' + - " } " + '\n' + - " } " + '\n' + - "}"; - - return request; - } - - public String getCreateNetworkRequest2() { - - String request = - "{ \"requestDetails\": { " + '\n' + - " \"modelInfo\": { " + '\n' + - " \"modelType\": \"modelType\", " + '\n' + - " \"modelId\": \"modelId\", " + '\n' + - " \"modelNameVersionId\": \"modelNameVersionId\", " + '\n' + - " \"modelName\": \"CONTRAIL_EXTERNAL\", " + '\n' + - " \"modelVersion\": \"1\" " + '\n' + - " }, " + '\n' + - " \"cloudConfiguration\": { " + '\n' + - " \"lcpCloudRegionId\": \"RDM2WAGPLCP\", " + '\n' + - " \"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\" " + '\n' + - " }, " + '\n' + - " \"requestInfo\": { " + '\n' + - " \"instanceName\": \"myOwn_Network\", " + '\n' + - " \"source\": \"VID\", " + '\n' + - " \"callbackUrl\": \"\", " + '\n' + - " \"suppressRollback\": \"true\" ," + '\n' + - " \"productFamilyId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\" " + '\n' + - " }, " + '\n' + - " \"requestParameters\": { " + '\n' + - " \"backoutOnFailure\": true, " + '\n' + - " \"serviceId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\", " + '\n' + - " \"userParams\": [] " + '\n' + - " } " + '\n' + - " } " + '\n' + - "}"; - - return request; - - } - - // Success Scenario - private Map setupVariablesVIPER1() { - Map variables = new HashMap<>(); - variables.put("testMessageId", "88f65519-9a38-4c4b-8445-9eb4a5a5af56"); - variables.put("msoRequestId", "testRequestId"); - variables.put("requestId", "testRequestId"); - variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4"); - variables.put("networkId", "49c86598-f766-46f8-84f8-8d1c1b10f9b4"); - variables.put("networkName", "MNS-25180-L-01-dmz_direct_net_1"); - variables.put("lcpCloudRegionId", "RDM2WAGPLCP"); - variables.put("tenantId", "88a6ca3ee0394ade9403f075db23167e"); - variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"); - variables.put("disableRollback", "false"); // macro - variables.put("failIfExists", "false"); - //variables.put("sdncVersion", "1702"); - variables.put("sdncVersion", "1707"); - variables.put("subscriptionServiceType", "MSO-dev-service-type"); - variables.put("globalSubscriberId", "globalId_45678905678"); - variables.put("networkModelInfo", networkModelInfo); - variables.put("serviceModelInfo", serviceModelInfo); - return variables; - - } - - // Missing Name Scenario - private Map setupVariablesMissingNetworkId() { - Map variables = new HashMap<>(); - variables.put("mso-request-id", "88f65519-9a38-4c4b-8445-9eb4a5a5af56"); - variables.put("bpmnRequest", getCreateNetworkRequestNetworkId()); - variables.put("requestId", "testRequestId"); - variables.put("isBaseVfModule", "true"); - variables.put("recipeTimeout", "0"); - variables.put("requestAction", "UPDATE"); - variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4"); - variables.put("vnfId", ""); - variables.put("vfModuleId", ""); - variables.put("volumeGroupId", ""); - //variables.put("networkId", "49c86598-f766-46f8-84f8-8d1c1b10f9b4"); // missing, ok - variables.put("serviceType", "vMOG"); - variables.put("vfModuleType", ""); - variables.put("networkType", "modelName"); - - return variables; - - } - - public String getCreateNetworkRequestNetworkId() { - - String request = - "{ \"requestDetails\": { " + '\n' + - " \"modelInfo\": { " + '\n' + - " \"modelType\": \"modelType\", " + '\n' + - " \"modelId\": \"modelId\", " + '\n' + - " \"modelNameVersionId\": \"modelNameVersionId\", " + '\n' + - " \"modelName\": \"CONTRAIL_EXTERNAL\", " + '\n' + - " \"modelVersion\": \"1\" " + '\n' + - " }, " + '\n' + - " \"cloudConfiguration\": { " + '\n' + - " \"lcpCloudRegionId\": \"RDM2WAGPLCP\", " + '\n' + - " \"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\" " + '\n' + - " }, " + '\n' + - " \"requestInfo\": { " + '\n' + - " \"source\": \"VID\", " + '\n' + - " \"callbackUrl\": \"\", " + '\n' + - " \"suppressRollback\": \"true\" ," + '\n' + - " \"productFamilyId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\" " + '\n' + - " }, " + '\n' + - " \"requestParameters\": { " + '\n' + - " \"userParams\": [] " + '\n' + - " } " + '\n' + - " } " + '\n' + - "}"; - - return request; - - } - - public String getCreateNetworkRequestSDNCRollback() { - - String request = - "{ \"requestDetails\": { " + '\n' + - " \"modelInfo\": { " + '\n' + - " \"modelType\": \"modelType\", " + '\n' + - " \"modelId\": \"modelId\", " + '\n' + - " \"modelNameVersionId\": \"modelNameVersionId\", " + '\n' + - " \"modelName\": \"CONTRAIL_EXTERNAL\", " + '\n' + - " \"modelVersion\": \"1\" " + '\n' + - " }, " + '\n' + - " \"cloudConfiguration\": { " + '\n' + - " \"lcpCloudRegionId\": \"RDM2WAGPLCP\", " + '\n' + - " \"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\" " + '\n' + - " }, " + '\n' + - " \"requestInfo\": { " + '\n' + - " \"instanceName\": \"MNS-25180-L-01-dmz_direct_net_3\", " + '\n' + - " \"source\": \"VID\", " + '\n' + - " \"callbackUrl\": \"\", " + '\n' + - " \"suppressRollback\": \"true\" ," + '\n' + - " \"productFamilyId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\" " + '\n' + - " }, " + '\n' + - " \"requestParameters\": { " + '\n' + - " \"userParams\": [] " + '\n' + - " } " + '\n' + - " } " + '\n' + - "}"; - - - return request; - } + @WorkflowTestTransformer + public static final ResponseTransformer sdncAdapterMockTransformer = + new SDNCAdapterNetworkTopologyMockTransformer(); + + @Rule + public final SDNCAdapterCallbackRule sdncAdapterCallbackRule = + new SDNCAdapterCallbackRule(processEngineRule); + + /** + * End-to-End flow - Unit test for DoUpdateNetworkInstance.bpmn + * - String input & String response + */ + + @Test + //@Ignore + @Deployment(resources = {"process/UpdateNetworkInstance.bpmn", + "subprocess/DoUpdateNetworkInstance.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/CompleteMsoProcess.bpmn", + "subprocess/GenericGetService.bpmn", + "subprocess/SDNCAdapterV1.bpmn"}) + + public void shouldInvokeServiceUpdateNetworkInstance_SuccessVID1() throws Exception { + + System.out.println("----------------------------------------------------------"); + System.out.println(" Success1 - UpdateNetworkInstance flow Started! "); + System.out.println("----------------------------------------------------------"); + + // setup simulators + 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"); + 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"); + MockGetNetworkTableReference("UpdateNetworkV2/updateNetwork_queryNetworkTableRef1_AAIResponse_Success.xml", "refFQDN1"); + MockGetNetworkTableReference("UpdateNetworkV2/updateNetwork_queryNetworkTableRef2_AAIResponse_Success.xml", "refFQDN2"); + MockUpdateRequestDB("DBUpdateResponse.xml"); + //MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "UpdateNetworkV2/updateNetwork_queryInstance_Success.xml", "v8"); + MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "UpdateNetworkV2/updateNetwork_queryInstance_Success.xml"); + + Map variables = setupVariablesVID1(); + //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "UpdateNetworkInstance", variables); + executeAsyncWorkflow(processEngineRule, "UpdateNetworkInstance", variables); + System.out.println("----------------------------------------------------------"); + System.out.println("- got workflow response -"); + System.out.println("----------------------------------------------------------"); + //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + assertEquals("true", getVariable(processEngineRule, "UpdateNetworkInstance", "UPDNI_Success")); + Assert.assertNotNull("UPDNI_CompleteMsoProcessRequest - ", getVariable(processEngineRule, "UpdateNetworkInstance", "UPDNI_CompleteMsoProcessRequest")); + + String workflowResp = BPMNUtil.getVariable(processEngineRule, "UpdateNetworkInstance", "WorkflowResponse"); + Assert.assertNotNull(workflowResp); + + System.out.println("----------------------------------------------------------"); + System.out.println(" Success1 - UpdateNetworkInstance flow Completed "); + System.out.println("----------------------------------------------------------"); + + } + + @Test + //@Ignore + @Deployment(resources = {"process/UpdateNetworkInstance.bpmn", + "subprocess/DoUpdateNetworkInstance.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/CompleteMsoProcess.bpmn", + "subprocess/GenericGetService.bpmn", + "subprocess/SDNCAdapterV1.bpmn"}) + + public void shouldInvokeServiceUpdateNetworkInstance_SuccessVIPER1() throws Exception { + + System.out.println("----------------------------------------------------------"); + System.out.println(" Success2 - UpdateNetworkInstance flow Started! "); + System.out.println("----------------------------------------------------------"); + + // setup simulators + 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"); + 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"); + MockGetNetworkTableReference("UpdateNetworkV2/updateNetwork_queryNetworkTableRef1_AAIResponse_Success.xml", "refFQDN1"); + MockGetNetworkTableReference("UpdateNetworkV2/updateNetwork_queryNetworkTableRef2_AAIResponse_Success.xml", "refFQDN2"); + MockUpdateRequestDB("DBUpdateResponse.xml"); + //MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "UpdateNetworkV2/updateNetwork_queryInstance_Success.xml", "v8"); + MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "UpdateNetworkV2/updateNetwork_queryInstance_Success.xml"); + + Map variables = setupVariablesVIPER1(); + //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "UpdateNetworkInstance", variables); + executeAsyncWorkflow(processEngineRule, "UpdateNetworkInstance", variables); + //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + assertEquals("true", getVariable(processEngineRule, "UpdateNetworkInstance", "UPDNI_Success")); + Assert.assertNotNull("UPDNI_CompleteMsoProcessRequest - ", getVariable(processEngineRule, "UpdateNetworkInstance", "UPDNI_CompleteMsoProcessRequest")); + + String completeMsoProcessRequest = + "" + '\n' + + " " + '\n' + + " testRequestId" + '\n' + + " UPDATE" + '\n' + + " VID" + '\n' + + " " + '\n' + + " Network has been updated successfully." + '\n' + + " BPMN Network action: UPDATE" + '\n' + + ""; + + Assert.assertEquals(completeMsoProcessRequest, getVariable(processEngineRule, "UpdateNetworkInstance", "UPDNI_CompleteMsoProcessRequest")); + + System.out.println("----------------------------------------------------------"); + System.out.println(" Success2 - UpdateNetworkInstance flow Completed "); + System.out.println("----------------------------------------------------------"); + + } + + + @Test + //@Ignore + @Deployment(resources = {"process/UpdateNetworkInstance.bpmn", + "subprocess/DoUpdateNetworkInstance.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/CompleteMsoProcess.bpmn", + "subprocess/GenericGetService.bpmn", + "subprocess/SDNCAdapterV1.bpmn"}) + + public void shouldInvokeServiceUpdateNetworkInstance_MissingNetworkId() throws Exception { + + System.out.println("--------------------------------------------------------------------"); + System.out.println(" Missing networkId - UpdateNetworkInstance flow Started! "); + System.out.println("--------------------------------------------------------------------"); + + // setup simulators + MockUpdateRequestDB("DBUpdateResponse.xml"); + //MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "UpdateNetworkV2/updateNetwork_queryInstance_Success.xml", "v8"); + MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "UpdateNetworkV2/updateNetwork_queryInstance_Success.xml"); + + Map variables = setupVariablesMissingNetworkId(); + //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "UpdateNetworkInstance", variables); + executeAsyncWorkflow(processEngineRule, "UpdateNetworkInstance", variables); + //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + assertEquals("false", getVariable(processEngineRule, "UpdateNetworkInstance", "UPDNI_Success")); + Assert.assertNotNull("UPDNI_FalloutHandlerRequest - ", getVariable(processEngineRule, "UpdateNetworkInstance", "UPDNI_FalloutHandlerRequest")); + + String falloutHandlerActual = getVariable(processEngineRule, "UpdateNetworkInstance", "UPDNI_FalloutHandlerRequest"); + String falloutHandlerExpected = +"" + "\n" + +" " + "\n" + +" 88f65519-9a38-4c4b-8445-9eb4a5a5af56" + "\n" + +" UPDATE" + "\n" + +" VID" + "\n" + +" " + "\n" + +" " + "\n" + +" Variable 'network-id' value/element is missing." + "\n" + +" 7000" + "\n" + +" " + "\n" + +" "; + + assertEquals("Response", falloutHandlerExpected, falloutHandlerActual); + + System.out.println("------------------------------------------------------------------"); + System.out.println(" Missing networkId - UpdateNetworkInstance flow Completed "); + System.out.println("------------------------------------------------------------------"); + + } + + + @Test + //@Ignore + @Deployment(resources = {"process/UpdateNetworkInstance.bpmn", + "subprocess/DoUpdateNetworkInstance.bpmn", + "subprocess/DoUpdateNetworkInstanceRollback.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/CompleteMsoProcess.bpmn", + "subprocess/GenericGetService.bpmn", + "subprocess/SDNCAdapterV1.bpmn"}) + + public void shouldInvokeServiceUpdateNetworkInstance_Network_SDNC_Rollback() throws Exception { + + System.out.println("---------------------------------------------------------------"); + System.out.println(" Network and SDNC Rollback - UpdateNetworkInstance flow Started! "); + System.out.println("---------------------------------------------------------------"); + + // setup simulators + mockSDNCAdapterTopology("UpdateNetworkV2mock/sdncUpdateNetworkTopologySimResponse.xml", "SvcAction>changeassign"); + mockSDNCAdapterTopology("UpdateNetworkV2mock/sdncUpdateNetworkTopologySimResponse.xml", "SvcAction>rollback"); + 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"); + 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"); + MockGetNetworkTableReference("UpdateNetworkV2/updateNetwork_queryNetworkTableRef1_AAIResponse_Success.xml", "refFQDN1"); + MockGetNetworkTableReference("UpdateNetworkV2/updateNetwork_queryNetworkTableRef2_AAIResponse_Success.xml", "refFQDN2"); + MockUpdateRequestDB("DBUpdateResponse.xml"); + //MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "UpdateNetworkV2/updateNetwork_queryInstance_Success.xml", "v8"); + MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "UpdateNetworkV2/updateNetwork_queryInstance_Success.xml"); + + Map variables = setupVariablesVID1(); + //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "UpdateNetworkInstance", variables); + executeAsyncWorkflow(processEngineRule, "UpdateNetworkInstance", variables); + //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); + + assertEquals("false", getVariable(processEngineRule, "UpdateNetworkInstance", "UPDNI_Success")); + Assert.assertNotNull("UPDNI_FalloutHandlerRequest - ", getVariable(processEngineRule, "UpdateNetworkInstance", "UPDNI_FalloutHandlerRequest")); + + System.out.println("---------------------------------------------------------------------"); + System.out.println(" Network and SCNC Rollback - UpdateNetworkInstance flow Completed "); + System.out.println("---------------------------------------------------------------------"); + + } + + // ***************** + // Utility Section + // ***************** + + String networkModelInfo = + " {\"modelUuid\": \"mod-inst-uuid-123\", " + '\n' + + " \"modelName\": \"mod_inst_z_123\", " + '\n' + + " \"modelVersion\": \"1.0\", " + '\n' + + " \"modelCustomizationUuid\": \"mod-inst-uuid-123\", " + '\n' + + " \"modelInvariantUuid\": \"mod-invar-uuid-123\" " + '\n' + + " }"; + + String serviceModelInfo = + " {\"modelUuid\": \"36a3a8ea-49a6-4ac8-b06c-89a54544b9b6\", " + '\n' + + " \"modelName\": \"HNGW Protected OAM\", " + '\n' + + " \"modelVersion\": \"1.0\", " + '\n' + + " \"modelInvariantUuid\": \"fcc85cb0-ad74-45d7-a5a1-17c8744fdb71\" " + '\n' + + " }"; + + // Success Scenario + private Map setupVariablesVID1() { + Map variables = new HashMap<>(); + variables.put("bpmnRequest", getCreateNetworkRequest1()); + variables.put("mso-request-id", "testRequestId"); + variables.put("requestId", "testRequestId"); + variables.put("isBaseVfModule", "true"); + variables.put("recipeTimeout", "0"); + variables.put("requestAction", "UPDATE"); + variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4"); + variables.put("vnfId", ""); + variables.put("vfModuleId", ""); + variables.put("volumeGroupId", ""); + variables.put("networkId", "49c86598-f766-46f8-84f8-8d1c1b10f9b4"); + variables.put("serviceType", "vMOG"); + variables.put("vfModuleType", ""); + variables.put("networkType", "modelName"); + return variables; + + } + + public String getCreateNetworkRequest1() { + + String request = + "{ \"requestDetails\": { " + '\n' + + " \"modelInfo\": { " + '\n' + + " \"modelType\": \"modelType\", " + '\n' + + " \"modelCustomizationId\": \"f21df226-8093-48c3-be7e-0408fcda0422\", " + '\n' + + " \"modelName\": \"CONTRAIL_EXTERNAL\", " + '\n' + + " \"modelVersion\": \"1.0\" " + '\n' + + " }, " + '\n' + + " \"cloudConfiguration\": { " + '\n' + + " \"lcpCloudRegionId\": \"RDM2WAGPLCP\", " + '\n' + + " \"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\" " + '\n' + + " }, " + '\n' + + " \"requestInfo\": { " + '\n' + + " \"instanceName\": \"MNS-25180-L-01-dmz_direct_net_1\", " + '\n' + + " \"source\": \"VID\", " + '\n' + + " \"callbackUrl\": \"\", " + '\n' + + " \"suppressRollback\": \"false\" ," + '\n' + + " \"productFamilyId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\" " + '\n' + + " }, " + '\n' + + " \"requestParameters\": { " + '\n' + + " \"backoutOnFailure\": true, " + '\n' + + " \"serviceId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\", " + '\n' + + " \"userParams\": [] " + '\n' + + " } " + '\n' + + " } " + '\n' + + "}"; + + return request; + } + + public String getCreateNetworkRequest2() { + + String request = + "{ \"requestDetails\": { " + '\n' + + " \"modelInfo\": { " + '\n' + + " \"modelType\": \"modelType\", " + '\n' + + " \"modelId\": \"modelId\", " + '\n' + + " \"modelNameVersionId\": \"modelNameVersionId\", " + '\n' + + " \"modelName\": \"CONTRAIL_EXTERNAL\", " + '\n' + + " \"modelVersion\": \"1\" " + '\n' + + " }, " + '\n' + + " \"cloudConfiguration\": { " + '\n' + + " \"lcpCloudRegionId\": \"RDM2WAGPLCP\", " + '\n' + + " \"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\" " + '\n' + + " }, " + '\n' + + " \"requestInfo\": { " + '\n' + + " \"instanceName\": \"myOwn_Network\", " + '\n' + + " \"source\": \"VID\", " + '\n' + + " \"callbackUrl\": \"\", " + '\n' + + " \"suppressRollback\": \"true\" ," + '\n' + + " \"productFamilyId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\" " + '\n' + + " }, " + '\n' + + " \"requestParameters\": { " + '\n' + + " \"backoutOnFailure\": true, " + '\n' + + " \"serviceId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\", " + '\n' + + " \"userParams\": [] " + '\n' + + " } " + '\n' + + " } " + '\n' + + "}"; + + return request; + + } + + // Success Scenario + private Map setupVariablesVIPER1() { + Map variables = new HashMap<>(); + variables.put("testMessageId", "88f65519-9a38-4c4b-8445-9eb4a5a5af56"); + variables.put("msoRequestId", "testRequestId"); + variables.put("requestId", "testRequestId"); + variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4"); + variables.put("networkId", "49c86598-f766-46f8-84f8-8d1c1b10f9b4"); + variables.put("networkName", "MNS-25180-L-01-dmz_direct_net_1"); + variables.put("lcpCloudRegionId", "RDM2WAGPLCP"); + variables.put("tenantId", "88a6ca3ee0394ade9403f075db23167e"); + variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"); + variables.put("disableRollback", "false"); // macro + variables.put("failIfExists", "false"); + //variables.put("sdncVersion", "1702"); + variables.put("sdncVersion", "1707"); + variables.put("subscriptionServiceType", "MSO-dev-service-type"); + variables.put("globalSubscriberId", "globalId_45678905678"); + variables.put("networkModelInfo", networkModelInfo); + variables.put("serviceModelInfo", serviceModelInfo); + return variables; + + } + + // Missing Name Scenario + private Map setupVariablesMissingNetworkId() { + Map variables = new HashMap<>(); + variables.put("mso-request-id", "88f65519-9a38-4c4b-8445-9eb4a5a5af56"); + variables.put("bpmnRequest", getCreateNetworkRequestNetworkId()); + variables.put("requestId", "testRequestId"); + variables.put("isBaseVfModule", "true"); + variables.put("recipeTimeout", "0"); + variables.put("requestAction", "UPDATE"); + variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4"); + variables.put("vnfId", ""); + variables.put("vfModuleId", ""); + variables.put("volumeGroupId", ""); + //variables.put("networkId", "49c86598-f766-46f8-84f8-8d1c1b10f9b4"); // missing, ok + variables.put("serviceType", "vMOG"); + variables.put("vfModuleType", ""); + variables.put("networkType", "modelName"); + + return variables; + + } + + public String getCreateNetworkRequestNetworkId() { + + String request = + "{ \"requestDetails\": { " + '\n' + + " \"modelInfo\": { " + '\n' + + " \"modelType\": \"modelType\", " + '\n' + + " \"modelId\": \"modelId\", " + '\n' + + " \"modelNameVersionId\": \"modelNameVersionId\", " + '\n' + + " \"modelName\": \"CONTRAIL_EXTERNAL\", " + '\n' + + " \"modelVersion\": \"1\" " + '\n' + + " }, " + '\n' + + " \"cloudConfiguration\": { " + '\n' + + " \"lcpCloudRegionId\": \"RDM2WAGPLCP\", " + '\n' + + " \"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\" " + '\n' + + " }, " + '\n' + + " \"requestInfo\": { " + '\n' + + " \"source\": \"VID\", " + '\n' + + " \"callbackUrl\": \"\", " + '\n' + + " \"suppressRollback\": \"true\" ," + '\n' + + " \"productFamilyId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\" " + '\n' + + " }, " + '\n' + + " \"requestParameters\": { " + '\n' + + " \"userParams\": [] " + '\n' + + " } " + '\n' + + " } " + '\n' + + "}"; + + return request; + + } + + public String getCreateNetworkRequestSDNCRollback() { + + String request = + "{ \"requestDetails\": { " + '\n' + + " \"modelInfo\": { " + '\n' + + " \"modelType\": \"modelType\", " + '\n' + + " \"modelId\": \"modelId\", " + '\n' + + " \"modelNameVersionId\": \"modelNameVersionId\", " + '\n' + + " \"modelName\": \"CONTRAIL_EXTERNAL\", " + '\n' + + " \"modelVersion\": \"1\" " + '\n' + + " }, " + '\n' + + " \"cloudConfiguration\": { " + '\n' + + " \"lcpCloudRegionId\": \"RDM2WAGPLCP\", " + '\n' + + " \"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\" " + '\n' + + " }, " + '\n' + + " \"requestInfo\": { " + '\n' + + " \"instanceName\": \"MNS-25180-L-01-dmz_direct_net_3\", " + '\n' + + " \"source\": \"VID\", " + '\n' + + " \"callbackUrl\": \"\", " + '\n' + + " \"suppressRollback\": \"true\" ," + '\n' + + " \"productFamilyId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\" " + '\n' + + " }, " + '\n' + + " \"requestParameters\": { " + '\n' + + " \"userParams\": [] " + '\n' + + " } " + '\n' + + " } " + '\n' + + "}"; + + + return request; + } } diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/UpdateVfModuleInfraTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/UpdateVfModuleInfraTest.java index 5c33ba4c11..37c548abf7 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/UpdateVfModuleInfraTest.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/UpdateVfModuleInfraTest.java @@ -16,7 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.infrastructure; @@ -43,103 +43,103 @@ import org.openecomp.mso.bpmn.mock.FileUtil; * Unit test cases for UpdateVfModule.bpmn */ public class UpdateVfModuleInfraTest extends WorkflowTest { - - private final CallbackSet callbacks = new CallbackSet(); - - public UpdateVfModuleInfraTest() throws IOException { - callbacks.put("changeassign", FileUtil.readResourceFile( - "__files/VfModularity/SDNCTopologyChangeAssignCallback.xml")); - callbacks.put("query", FileUtil.readResourceFile( - "__files/VfModularity/SDNCTopologyQueryCallback.xml")); - callbacks.put("activate", FileUtil.readResourceFile( - "__files/VfModularity/SDNCTopologyActivateCallback.xml")); - callbacks.put("vnfUpdate", FileUtil.readResourceFile( - "__files/VfModularity/VNFAdapterRestUpdateCallback.xml")); - } - - /** - * Sunny day scenario. - * - * @throws Exception - */ - @Test - @Ignore - @Deployment(resources = { - "process/UpdateVfModuleInfra.bpmn", - "subprocess/DoUpdateVfModule.bpmn", - "subprocess/PrepareUpdateAAIVfModule.bpmn", - "subprocess/ConfirmVolumeGroupTenant.bpmn", - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/VnfAdapterRestV1.bpmn", - "subprocess/UpdateAAIGenericVnf.bpmn", - "subprocess/UpdateAAIVfModule.bpmn", - "subprocess/CompleteMsoProcess.bpmn", - "subprocess/FalloutHandler.bpmn" - }) - public void sunnyDay() throws Exception { - - logStart(); - - MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml"); - MockPutVfModuleIdNoResponse("skask", "PCRF", "supercool"); - MockGetGenericVnfByIdWithPriority("skask", "supercool", 200, "VfModularity/VfModule-supercool.xml", 1); - mockSDNCAdapter("/SDNCAdapter", "SvcInstanceId><", 200, "VfModularity/StandardSDNCSynchResponse.xml"); - mockSDNCAdapter("/SDNCAdapter", "vnf-type>STMTN", 200, "VfModularity/StandardSDNCSynchResponse.xml"); - mockSDNCAdapter("/SDNCAdapter", "SvcAction>query", 200, "VfModularity/StandardSDNCSynchResponse.xml"); - mockVNFPut("skask", "/supercool", 202); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - String updaetVfModuleRequest = - FileUtil.readResourceFile("__files/InfrastructureFlows/UpdateVfModule_VID_request.json"); - - Map variables = setupVariablesSunnyDayVID(); - - - TestAsyncResponse asyncResponse = invokeAsyncProcess("UpdateVfModuleInfra", - "v1", businessKey, updaetVfModuleRequest, variables); - - WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 10000); - - String responseBody = response.getResponse(); - System.out.println("Workflow (Synch) Response:\n" + responseBody); - - injectSDNCCallbacks(callbacks, "changeassign, query"); - injectVNFRestCallbacks(callbacks, "vnfUpdate"); - injectSDNCCallbacks(callbacks, "activate"); - - // TODO add appropriate assertions - - waitForProcessEnd(businessKey, 10000); - checkVariable(businessKey, "UpdateVfModuleInfraSuccessIndicator", true); - - logEnd(); - } - - // 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("isBaseVfModule", false); - variables.put("isDebugLogEnabled", "true"); - variables.put("recipeTimeout", "0"); - variables.put("requestAction", "UPDATE_VF_MODULE"); - variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4"); - variables.put("vnfId", "skask"); - variables.put("vnfType", "vSAMP12"); - variables.put("vfModuleId", "supercool"); - variables.put("volumeGroupId", ""); - variables.put("serviceType", "MOG"); - variables.put("vfModuleType", ""); - return variables; - - } - + + private final CallbackSet callbacks = new CallbackSet(); + + public UpdateVfModuleInfraTest() throws IOException { + callbacks.put("changeassign", FileUtil.readResourceFile( + "__files/VfModularity/SDNCTopologyChangeAssignCallback.xml")); + callbacks.put("query", FileUtil.readResourceFile( + "__files/VfModularity/SDNCTopologyQueryCallback.xml")); + callbacks.put("activate", FileUtil.readResourceFile( + "__files/VfModularity/SDNCTopologyActivateCallback.xml")); + callbacks.put("vnfUpdate", FileUtil.readResourceFile( + "__files/VfModularity/VNFAdapterRestUpdateCallback.xml")); + } + + /** + * Sunny day scenario. + * + * @throws Exception + */ + @Test + @Ignore + @Deployment(resources = { + "process/UpdateVfModuleInfra.bpmn", + "subprocess/DoUpdateVfModule.bpmn", + "subprocess/PrepareUpdateAAIVfModule.bpmn", + "subprocess/ConfirmVolumeGroupTenant.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/VnfAdapterRestV1.bpmn", + "subprocess/UpdateAAIGenericVnf.bpmn", + "subprocess/UpdateAAIVfModule.bpmn", + "subprocess/CompleteMsoProcess.bpmn", + "subprocess/FalloutHandler.bpmn" + }) + public void sunnyDay() throws Exception { + + logStart(); + + MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml"); + MockPutVfModuleIdNoResponse("skask", "PCRF", "supercool"); + MockGetGenericVnfByIdWithPriority("skask", "supercool", 200, "VfModularity/VfModule-supercool.xml", 1); + mockSDNCAdapter("/SDNCAdapter", "SvcInstanceId><", 200, "VfModularity/StandardSDNCSynchResponse.xml"); + mockSDNCAdapter("/SDNCAdapter", "vnf-type>STMTN", 200, "VfModularity/StandardSDNCSynchResponse.xml"); + mockSDNCAdapter("/SDNCAdapter", "SvcAction>query", 200, "VfModularity/StandardSDNCSynchResponse.xml"); + mockVNFPut("skask", "/supercool", 202); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + String updaetVfModuleRequest = + FileUtil.readResourceFile("__files/InfrastructureFlows/UpdateVfModule_VID_request.json"); + + Map variables = setupVariablesSunnyDayVID(); + + + TestAsyncResponse asyncResponse = invokeAsyncProcess("UpdateVfModuleInfra", + "v1", businessKey, updaetVfModuleRequest, variables); + + WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 10000); + + String responseBody = response.getResponse(); + System.out.println("Workflow (Synch) Response:\n" + responseBody); + + injectSDNCCallbacks(callbacks, "changeassign, query"); + injectVNFRestCallbacks(callbacks, "vnfUpdate"); + injectSDNCCallbacks(callbacks, "activate"); + + // TODO add appropriate assertions + + waitForProcessEnd(businessKey, 10000); + checkVariable(businessKey, "UpdateVfModuleInfraSuccessIndicator", true); + + logEnd(); + } + + // 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("isBaseVfModule", false); + variables.put("isDebugLogEnabled", "true"); + variables.put("recipeTimeout", "0"); + variables.put("requestAction", "UPDATE_VF_MODULE"); + variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4"); + variables.put("vnfId", "skask"); + variables.put("vnfType", "vSAMP12"); + variables.put("vfModuleId", "supercool"); + variables.put("volumeGroupId", ""); + variables.put("serviceType", "MOG"); + variables.put("vfModuleType", ""); + return variables; + + } + } diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/UpdateVfModuleInfraV2Test.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/UpdateVfModuleInfraV2Test.java index b5f7f64561..65a514c804 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/UpdateVfModuleInfraV2Test.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/UpdateVfModuleInfraV2Test.java @@ -16,7 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.infrastructure; @@ -45,11 +45,11 @@ import org.openecomp.mso.bpmn.mock.FileUtil; * Unit test cases for UpdateVfModuleV2.bpmn */ public class UpdateVfModuleInfraV2Test extends WorkflowTest { + + private final CallbackSet callbacks = new CallbackSet(); - private final CallbackSet callbacks = new CallbackSet(); - - public UpdateVfModuleInfraV2Test() throws IOException { - /*callbacks.put("changeassign", FileUtil.readResourceFile( + public UpdateVfModuleInfraV2Test() throws IOException { + /*callbacks.put("changeassign", FileUtil.readResourceFile( "__files/VfModularity/SDNCTopologyChangeAssignCallback.xml")); callbacks.put("query", FileUtil.readResourceFile( "__files/VfModularity/SDNCTopologyQueryCallback.xml")); @@ -57,63 +57,63 @@ public class UpdateVfModuleInfraV2Test extends WorkflowTest { "__files/VfModularity/SDNCTopologyActivateCallback.xml")); callbacks.put("vnfUpdate", FileUtil.readResourceFile( "__files/VfModularity/VNFAdapterRestUpdateCallback.xml"));*/ - } - - @Test - @Ignore // IGNORED FOR 1710 MERGE TO ONAP - @Deployment(resources = { - "process/UpdateVfModuleInfraV2.bpmn", - "subprocess/DoUpdateVfModule.bpmn", - "subprocess/CompleteMsoProcess.bpmn", - }) - - public void sunnyDay() throws Exception { - //logStart(); - - - MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml"); - MockPutVfModuleIdNoResponse("skask", "PCRF", "supercool"); - MockGetGenericVnfByIdWithPriority("skask", "supercool", 200, "VfModularity/VfModule-supercool.xml", 1); - mockSDNCAdapter("/SDNCAdapter", "SvcInstanceId><", 200, "VfModularity/StandardSDNCSynchResponse.xml"); - mockSDNCAdapter("/SDNCAdapter", "vnf-type>STMTN", 200, "VfModularity/StandardSDNCSynchResponse.xml"); - mockSDNCAdapter("/SDNCAdapter", "SvcAction>query", 200, "VfModularity/StandardSDNCSynchResponse.xml"); - mockVNFPut("skask", "/supercool", 202); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = setupVariablesSunnyDayVID(); - - String updateVfModuleRequest = - FileUtil.readResourceFile("__files/InfrastructureFlows/UpdateVfModule_VID_request.json"); - TestAsyncResponse asyncResponse = invokeAsyncProcess("UpdateVfModuleInfraV2", - "v1", businessKey, updateVfModuleRequest, variables); - - WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 10000); - - //String responseBody = response.getResponse(); - //System.out.println("Workflow (Synch) Response:\n" + responseBody); - - //logEnd(); - } - - // Active Scenario - private Map setupVariablesSunnyDayVID() { - Map variables = new HashMap<>(); - variables.put("requestId", "testRequestId"); - variables.put("isBaseVfModule", false); - variables.put("isDebugLogEnabled", "true"); - variables.put("recipeTimeout", "0"); - variables.put("requestAction", "UPDATE_VF_MODULE"); - variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4"); - variables.put("vnfId", "skask"); - variables.put("vnfType", "vSAMP12"); - variables.put("vfModuleId", "supercool"); - variables.put("volumeGroupId", ""); - variables.put("serviceType", "MOG"); - variables.put("vfModuleType", ""); - variables.put("moduleUuid", "fe6985cd-ea33-3346-ac12-ab121484a3fe"); - return variables; - - } - + } + + @Test + @Ignore // IGNORED FOR 1710 MERGE TO ONAP + @Deployment(resources = { + "process/UpdateVfModuleInfraV2.bpmn", + "subprocess/DoUpdateVfModule.bpmn", + "subprocess/CompleteMsoProcess.bpmn", + }) + + public void sunnyDay() throws Exception { + //logStart(); + + + MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml"); + MockPutVfModuleIdNoResponse("skask", "PCRF", "supercool"); + MockGetGenericVnfByIdWithPriority("skask", "supercool", 200, "VfModularity/VfModule-supercool.xml", 1); + mockSDNCAdapter("/SDNCAdapter", "SvcInstanceId><", 200, "VfModularity/StandardSDNCSynchResponse.xml"); + mockSDNCAdapter("/SDNCAdapter", "vnf-type>STMTN", 200, "VfModularity/StandardSDNCSynchResponse.xml"); + mockSDNCAdapter("/SDNCAdapter", "SvcAction>query", 200, "VfModularity/StandardSDNCSynchResponse.xml"); + mockVNFPut("skask", "/supercool", 202); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = setupVariablesSunnyDayVID(); + + String updateVfModuleRequest = + FileUtil.readResourceFile("__files/InfrastructureFlows/UpdateVfModule_VID_request.json"); + TestAsyncResponse asyncResponse = invokeAsyncProcess("UpdateVfModuleInfraV2", + "v1", businessKey, updateVfModuleRequest, variables); + + WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 10000); + + //String responseBody = response.getResponse(); + //System.out.println("Workflow (Synch) Response:\n" + responseBody); + + //logEnd(); + } + + // Active Scenario + private Map setupVariablesSunnyDayVID() { + Map variables = new HashMap<>(); + variables.put("requestId", "testRequestId"); + variables.put("isBaseVfModule", false); + variables.put("isDebugLogEnabled", "true"); + variables.put("recipeTimeout", "0"); + variables.put("requestAction", "UPDATE_VF_MODULE"); + variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4"); + variables.put("vnfId", "skask"); + variables.put("vnfType", "vSAMP12"); + variables.put("vfModuleId", "supercool"); + variables.put("volumeGroupId", ""); + variables.put("serviceType", "MOG"); + variables.put("vfModuleType", ""); + variables.put("moduleUuid", "fe6985cd-ea33-3346-ac12-ab121484a3fe"); + return variables; + + } + } diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/UpdateVfModuleVolumeInfraV1Test.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/UpdateVfModuleVolumeInfraV1Test.java index 00efc575ef..b24eb56058 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/UpdateVfModuleVolumeInfraV1Test.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/UpdateVfModuleVolumeInfraV1Test.java @@ -16,7 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.infrastructure; @@ -41,104 +41,103 @@ import org.openecomp.mso.bpmn.mock.FileUtil; * Unit test cases for UpdateVfModuleVolume.bpmn */ public class UpdateVfModuleVolumeInfraV1Test extends WorkflowTest { - - private final CallbackSet callbacks = new CallbackSet(); - - public UpdateVfModuleVolumeInfraV1Test() throws IOException { - callbacks.put("volumeGroupUpdate", FileUtil.readResourceFile( - "__files/VfModularity/VNFAdapterRestVolumeGroupCallback.xml")); - } - - /** - * Happy path scenario. - * - * @throws Exception - */ - @Test - @Deployment(resources = { - "process/UpdateVfModuleVolumeInfraV1.bpmn", - "subprocess/VnfAdapterRestV1.bpmn", - "subprocess/CompleteMsoProcess.bpmn", - "subprocess/GenericNotificationService.bpmn", - "subprocess/FalloutHandler.bpmn" - }) - public void happyPath() throws Exception { - - logStart(); - - MockGetGenericVnfById("/TEST-VNF-ID-0123", "CreateVfModuleVolumeInfraV1/GenericVnf.xml", 200); - MockGetVolumeGroupById("mdt1", "78987", "UpdateVfModuleVolumeInfraV1/queryVolumeId_AAIResponse_Success.xml"); - MockGetVfModuleId("9e48f6ea-f786-46de-800a-d480e5ccc846", "6a1dc898-b590-47b9-bbf0-34424a7a2ec3/", "UpdateVfModuleVolumeInfraV1/vf_module_aai_response.xml", 200); - mockPutVNFVolumeGroup("78987", 202); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - String updaetVfModuleVolRequest = - FileUtil.readResourceFile("__files/UpdateVfModuleVolumeInfraV1/updateVfModuleVolume_VID_request.json"); - - Map testVariables = new HashMap<>(); - testVariables.put("requestId", "TEST-REQUEST-ID-0123"); - testVariables.put("serviceInstanceId", "test-service-instance-id"); - testVariables.put("volumeGroupId", "78987"); - testVariables.put("vnfId", "TEST-VNF-ID-0123"); - TestAsyncResponse asyncResponse = invokeAsyncProcess("UpdateVfModuleVolumeInfraV1", "v1", businessKey, updaetVfModuleVolRequest, testVariables); - WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 10000); - - String responseBody = response.getResponse(); - System.out.println("Workflow (Synch) Response:\n" + responseBody); - - injectVNFRestCallbacks(callbacks, "volumeGroupUpdate"); - - waitForProcessEnd(businessKey, 10000); - checkVariable(businessKey, "UpdateVfModuleVolumeSuccessIndicator", true); - - logEnd(); - } - - /** - * VF Module Personal model id does not match request model invariant id - * - * @throws Exception - */ - @Test - //@Ignore - @Deployment(resources = { - "process/UpdateVfModuleVolumeInfraV1.bpmn", - "subprocess/VnfAdapterRestV1.bpmn", - "subprocess/CompleteMsoProcess.bpmn", - "subprocess/GenericNotificationService.bpmn", - "subprocess/FalloutHandler.bpmn" - }) - public void testPersonaModelIdNotMatch() throws Exception { - - logStart(); - - MockGetVolumeGroupById("mdt1", "78987", "UpdateVfModuleVolumeInfraV1/queryVolumeId_AAIResponse_Success.xml"); - MockGetGenericVnfById("/TEST-VNF-ID-0123", "CreateVfModuleVolumeInfraV1/GenericVnf.xml", 200); - MockGetVfModuleId("9e48f6ea-f786-46de-800a-d480e5ccc846", "6a1dc898-b590-47b9-bbf0-34424a7a2ec3/", "UpdateVfModuleVolumeInfraV1/vf_module_aai_response.xml", 200); - mockPutVNFVolumeGroup("78987", 202); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - String updaetVfModuleVolRequest = - FileUtil.readResourceFile("__files/UpdateVfModuleVolumeInfraV1/updateVfModuleVolume_VID_request_2.json"); - - Map testVariables = new HashMap<>(); - testVariables.put("requestId", "TEST-REQUEST-ID-0123"); - testVariables.put("serviceInstanceId", "test-service-instance-id"); - testVariables.put("volumeGroupId", "78987"); - testVariables.put("vnfId", "TEST-VNF-ID-0123"); - TestAsyncResponse asyncResponse = invokeAsyncProcess("UpdateVfModuleVolumeInfraV1", "v1", businessKey, updaetVfModuleVolRequest, testVariables); - WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 10000); - - String responseBody = response.getResponse(); - System.out.println("Workflow (Synch) Response:\n" + responseBody); - - injectVNFRestCallbacks(callbacks, "volumeGroupUpdate"); - - waitForProcessEnd(businessKey, 10000); - checkVariable(businessKey, "UpdateVfModuleVolumeSuccessIndicator", true); - - logEnd(); - } + + private final CallbackSet callbacks = new CallbackSet(); + + public UpdateVfModuleVolumeInfraV1Test() throws IOException { + callbacks.put("volumeGroupUpdate", FileUtil.readResourceFile( + "__files/VfModularity/VNFAdapterRestVolumeGroupCallback.xml")); + } + + /** + * Happy path scenario. + * + * @throws Exception + */ + @Test + @Deployment(resources = { + "process/UpdateVfModuleVolumeInfraV1.bpmn", + "subprocess/VnfAdapterRestV1.bpmn", + "subprocess/CompleteMsoProcess.bpmn", + "subprocess/GenericNotificationService.bpmn", + "subprocess/FalloutHandler.bpmn" + }) + public void happyPath() throws Exception { + + logStart(); + + MockGetGenericVnfById("/TEST-VNF-ID-0123", "CreateVfModuleVolumeInfraV1/GenericVnf.xml", 200); + MockGetVolumeGroupById("mdt1", "78987", "UpdateVfModuleVolumeInfraV1/queryVolumeId_AAIResponse_Success.xml"); + MockGetVfModuleId("9e48f6ea-f786-46de-800a-d480e5ccc846", "6a1dc898-b590-47b9-bbf0-34424a7a2ec3/", "UpdateVfModuleVolumeInfraV1/vf_module_aai_response.xml", 200); + mockPutVNFVolumeGroup("78987", 202); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + String updaetVfModuleVolRequest = + FileUtil.readResourceFile("__files/UpdateVfModuleVolumeInfraV1/updateVfModuleVolume_VID_request.json"); + + Map testVariables = new HashMap<>(); + testVariables.put("requestId", "TEST-REQUEST-ID-0123"); + testVariables.put("serviceInstanceId", "test-service-instance-id"); + testVariables.put("volumeGroupId", "78987"); + testVariables.put("vnfId", "TEST-VNF-ID-0123"); + TestAsyncResponse asyncResponse = invokeAsyncProcess("UpdateVfModuleVolumeInfraV1", "v1", businessKey, updaetVfModuleVolRequest, testVariables); + WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 10000); + + String responseBody = response.getResponse(); + System.out.println("Workflow (Synch) Response:\n" + responseBody); + + injectVNFRestCallbacks(callbacks, "volumeGroupUpdate"); + + waitForProcessEnd(businessKey, 10000); + checkVariable(businessKey, "UpdateVfModuleVolumeSuccessIndicator", true); + + logEnd(); + } + + /** + * VF Module Personal model id does not match request model invariant id + * @throws Exception + */ + @Test + //@Ignore + @Deployment(resources = { + "process/UpdateVfModuleVolumeInfraV1.bpmn", + "subprocess/VnfAdapterRestV1.bpmn", + "subprocess/CompleteMsoProcess.bpmn", + "subprocess/GenericNotificationService.bpmn", + "subprocess/FalloutHandler.bpmn" + }) + public void testPersonaModelIdNotMatch() throws Exception { + + logStart(); + + MockGetVolumeGroupById("mdt1", "78987", "UpdateVfModuleVolumeInfraV1/queryVolumeId_AAIResponse_Success.xml"); + MockGetGenericVnfById("/TEST-VNF-ID-0123", "CreateVfModuleVolumeInfraV1/GenericVnf.xml", 200); + MockGetVfModuleId("9e48f6ea-f786-46de-800a-d480e5ccc846", "6a1dc898-b590-47b9-bbf0-34424a7a2ec3/", "UpdateVfModuleVolumeInfraV1/vf_module_aai_response.xml", 200); + mockPutVNFVolumeGroup("78987", 202); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + String updaetVfModuleVolRequest = + FileUtil.readResourceFile("__files/UpdateVfModuleVolumeInfraV1/updateVfModuleVolume_VID_request_2.json"); + + Map testVariables = new HashMap<>(); + testVariables.put("requestId", "TEST-REQUEST-ID-0123"); + testVariables.put("serviceInstanceId", "test-service-instance-id"); + testVariables.put("volumeGroupId", "78987"); + testVariables.put("vnfId", "TEST-VNF-ID-0123"); + TestAsyncResponse asyncResponse = invokeAsyncProcess("UpdateVfModuleVolumeInfraV1", "v1", businessKey, updaetVfModuleVolRequest, testVariables); + WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 10000); + + String responseBody = response.getResponse(); + System.out.println("Workflow (Synch) Response:\n" + responseBody); + + injectVNFRestCallbacks(callbacks, "volumeGroupUpdate"); + + waitForProcessEnd(businessKey, 10000); + checkVariable(businessKey, "UpdateVfModuleVolumeSuccessIndicator", true); + + logEnd(); + } } 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 b83040e60f..391fc2308b 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 @@ -16,7 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.infrastructure; @@ -56,119 +56,119 @@ import org.openecomp.mso.bpmn.mock.FileUtil; * Unit test cases for UpdateVnfInfra.bpmn */ public class UpdateVnfInfraTest extends WorkflowTest { - - private final CallbackSet callbacks = new CallbackSet(); - - public UpdateVnfInfraTest() throws IOException { - callbacks.put("changeassign", FileUtil.readResourceFile( - "__files/VfModularity/SDNCTopologyChangeAssignCallback.xml")); - callbacks.put("activate", FileUtil.readResourceFile( - "__files/VfModularity/SDNCTopologyActivateCallback.xml")); - callbacks.put("query", FileUtil.readResourceFile( - "__files/VfModularity/SDNCTopologyQueryCallback.xml")); - callbacks.put("vnfUpdate", FileUtil.readResourceFile( - "__files/VfModularity/VNFAdapterRestUpdateCallback.xml")); - } - - /** - * Sunny day scenario. - * - * @throws Exception - */ - @Test - @Ignore // IGNORED FOR 1710 MERGE TO ONAP - @Deployment(resources = { - "process/UpdateVnfInfra.bpmn", - "subprocess/DoUpdateVfModule.bpmn", - "subprocess/DoUpdateVnfAndModules.bpmn", - "subprocess/PrepareUpdateAAIVfModule.bpmn", - "subprocess/ConfirmVolumeGroupTenant.bpmn", - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/VnfAdapterRestV1.bpmn", - "subprocess/UpdateAAIGenericVnf.bpmn", - "subprocess/UpdateAAIVfModule.bpmn", - "subprocess/CompleteMsoProcess.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/BuildingBlock/DecomposeService.bpmn", - "subprocess/BuildingBlock/RainyDayHandler.bpmn", - "subprocess/BuildingBlock/ManualHandling.bpmn" - - }) - public void sunnyDay() throws Exception { - - logStart(); - - 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"); - MockGetServiceResourcesCatalogData("995256d2-5a33-55df-13ab-12abad84e7ff", "1.0", "VIPR/getCatalogServiceResourcesDataForUpdateVnfInfra.json"); - MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml"); - MockPutGenericVnf(".*"); - MockAAIVfModule(); - MockPatchGenericVnf("skask"); - MockPatchVfModuleId("skask", ".*"); - 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); - MockPolicySkip(); - - mockSDNCAdapter("VfModularity/StandardSDNCSynchResponse.xml"); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - String updaetVnfRequest = - FileUtil.readResourceFile("__files/InfrastructureFlows/UpdateVnf_VID_request.json"); - - Map variables = setupVariablesSunnyDayVID(); - - - TestAsyncResponse asyncResponse = invokeAsyncProcess("UpdateVnfInfra", - "v1", businessKey, updaetVnfRequest, variables); - - WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 10000); - - String responseBody = response.getResponse(); - System.out.println("Workflow (Synch) Response:\n" + responseBody); - - injectSDNCCallbacks(callbacks, "changeassign, query"); - injectVNFRestCallbacks(callbacks, "vnfUpdate"); - injectSDNCCallbacks(callbacks, "activate"); - injectSDNCCallbacks(callbacks, "changeassign, query"); - injectVNFRestCallbacks(callbacks, "vnfUpdate"); - injectSDNCCallbacks(callbacks, "activate"); - - // TODO add appropriate assertions - - waitForProcessEnd(businessKey, 10000); - checkVariable(businessKey, "UpdateVfModuleInfraSuccessIndicator", true); - - logEnd(); - } - - // 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"); - variables.put("vnfId", "skask"); - variables.put("vnfType", "vSAMP12"); - variables.put("serviceType", "MOG"); - - return variables; - - } - + + private final CallbackSet callbacks = new CallbackSet(); + + public UpdateVnfInfraTest() throws IOException { + callbacks.put("changeassign", FileUtil.readResourceFile( + "__files/VfModularity/SDNCTopologyChangeAssignCallback.xml")); + callbacks.put("activate", FileUtil.readResourceFile( + "__files/VfModularity/SDNCTopologyActivateCallback.xml")); + callbacks.put("query", FileUtil.readResourceFile( + "__files/VfModularity/SDNCTopologyQueryCallback.xml")); + callbacks.put("vnfUpdate", FileUtil.readResourceFile( + "__files/VfModularity/VNFAdapterRestUpdateCallback.xml")); + } + + /** + * Sunny day scenario. + * + * @throws Exception + */ + @Test + @Ignore // IGNORED FOR 1710 MERGE TO ONAP + @Deployment(resources = { + "process/UpdateVnfInfra.bpmn", + "subprocess/DoUpdateVfModule.bpmn", + "subprocess/DoUpdateVnfAndModules.bpmn", + "subprocess/PrepareUpdateAAIVfModule.bpmn", + "subprocess/ConfirmVolumeGroupTenant.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/VnfAdapterRestV1.bpmn", + "subprocess/UpdateAAIGenericVnf.bpmn", + "subprocess/UpdateAAIVfModule.bpmn", + "subprocess/CompleteMsoProcess.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/BuildingBlock/DecomposeService.bpmn", + "subprocess/BuildingBlock/RainyDayHandler.bpmn", + "subprocess/BuildingBlock/ManualHandling.bpmn" + + }) + public void sunnyDay() throws Exception { + + logStart(); + + 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"); + MockGetServiceResourcesCatalogData("995256d2-5a33-55df-13ab-12abad84e7ff", "1.0", "VIPR/getCatalogServiceResourcesDataForUpdateVnfInfra.json"); + MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml"); + MockPutGenericVnf(".*"); + MockAAIVfModule(); + MockPatchGenericVnf("skask"); + MockPatchVfModuleId("skask", ".*"); + 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); + MockPolicySkip(); + + mockSDNCAdapter("VfModularity/StandardSDNCSynchResponse.xml"); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + String updaetVnfRequest = + FileUtil.readResourceFile("__files/InfrastructureFlows/UpdateVnf_VID_request.json"); + + Map variables = setupVariablesSunnyDayVID(); + + + TestAsyncResponse asyncResponse = invokeAsyncProcess("UpdateVnfInfra", + "v1", businessKey, updaetVnfRequest, variables); + + WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 10000); + + String responseBody = response.getResponse(); + System.out.println("Workflow (Synch) Response:\n" + responseBody); + + injectSDNCCallbacks(callbacks, "changeassign, query"); + injectVNFRestCallbacks(callbacks, "vnfUpdate"); + injectSDNCCallbacks(callbacks, "activate"); + injectSDNCCallbacks(callbacks, "changeassign, query"); + injectVNFRestCallbacks(callbacks, "vnfUpdate"); + injectSDNCCallbacks(callbacks, "activate"); + + // TODO add appropriate assertions + + waitForProcessEnd(businessKey, 10000); + checkVariable(businessKey, "UpdateVfModuleInfraSuccessIndicator", true); + + logEnd(); + } + + // 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"); + variables.put("vnfId", "skask"); + variables.put("vnfType", "vSAMP12"); + variables.put("serviceType", "MOG"); + + return variables; + + } + } diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/vcpe/AbstractTestBase.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/vcpe/AbstractTestBase.java index 918311ba4b..e7b80f12ab 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/vcpe/AbstractTestBase.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/vcpe/AbstractTestBase.java @@ -22,20 +22,20 @@ package org.openecomp.mso.bpmn.vcpe; import org.openecomp.mso.bpmn.common.WorkflowTest; public class AbstractTestBase extends WorkflowTest { + + + public static final String CUST = "SDN-ETHERNET-INTERNET"; + public static final String SVC = "123456789"; + public static final String INST = "MIS%252F1604%252F0026%252FSW_INTERNET"; + public static final String PARENT_INST = "MIS%252F1604%252F0027%252FSW_INTERNET"; + public static final String ARID = "arId-1"; + public static final String ARVERS = "1490627351232"; + public static final String DEC_INST = "MIS%2F1604%2F0026%2FSW_INTERNET"; + public static final String DEC_PARENT_INST = "MIS%2F1604%2F0027%2FSW_INTERNET"; - public static final String CUST = "SDN-ETHERNET-INTERNET"; - public static final String SVC = "123456789"; - public static final String INST = "MIS%252F1604%252F0026%252FSW_INTERNET"; - public static final String PARENT_INST = "MIS%252F1604%252F0027%252FSW_INTERNET"; - public static final String ARID = "arId-1"; - public static final String ARVERS = "1490627351232"; - - public static final String DEC_INST = "MIS%2F1604%2F0026%2FSW_INTERNET"; - public static final String DEC_PARENT_INST = "MIS%2F1604%2F0027%2FSW_INTERNET"; - - public static final String VAR_SUCCESS_IND = "SuccessIndicator"; - public static final String VAR_WFEX = "SavedWorkflowException1"; - public static final String VAR_RESP_CODE = "CMSO_ResponseCode"; - public static final String VAR_COMP_REQ = "CompleteMsoProcessRequest"; + public static final String VAR_SUCCESS_IND = "SuccessIndicator"; + public static final String VAR_WFEX = "SavedWorkflowException1"; + public static final String VAR_RESP_CODE = "CMSO_ResponseCode"; + public static final String VAR_COMP_REQ = "CompleteMsoProcessRequest"; } 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 10809bef11..1b3bfa8c76 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 @@ -46,332 +46,332 @@ import org.openecomp.mso.bpmn.mock.FileUtil; public class CreateVcpeResCustServiceTest extends AbstractTestBase { - private static final String PROCNAME = "CreateVcpeResCustService"; - private static final String Prefix = "CVRCS_"; - - private final CallbackSet callbacks = new CallbackSet(); - private final String request; - - public CreateVcpeResCustServiceTest() throws IOException { - callbacks.put("assign", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyAssignCallback.xml")); - callbacks.put("create", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyCreateCallback.xml")); - callbacks.put("activate", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyActivateCallback.xml")); - callbacks.put("queryTXC", FileUtil.readResourceFile("__files/VCPE/CreateVcpeResCustService/SDNCTopologyQueryTXCCallback.xml")); - callbacks.put("queryBRG", FileUtil.readResourceFile("__files/VCPE/CreateVcpeResCustService/SDNCTopologyQueryBRGCallback.xml")); - callbacks.put("deactivate", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeactivateCallback.xml")); - callbacks.put("delete", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeleteCallback.xml")); - callbacks.put("unassign", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyUnassignCallback.xml")); - - request = FileUtil.readResourceFile("__files/VCPE/CreateVcpeResCustService/requestNoSIName.json"); - } - - @Test - @Deployment(resources = { - "process/CreateVcpeResCustService.bpmn", - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/GenericGetService.bpmn", - "subprocess/GenericPutService.bpmn", - "subprocess/BuildingBlock/DecomposeService.bpmn", + private static final String PROCNAME = "CreateVcpeResCustService"; + private static final String Prefix = "CVRCS_"; + + private final CallbackSet callbacks = new CallbackSet(); + private final String request; + + public CreateVcpeResCustServiceTest() throws IOException { + callbacks.put("assign", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyAssignCallback.xml")); + callbacks.put("create", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyCreateCallback.xml")); + callbacks.put("activate", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyActivateCallback.xml")); + callbacks.put("queryTXC", FileUtil.readResourceFile("__files/VCPE/CreateVcpeResCustService/SDNCTopologyQueryTXCCallback.xml")); + callbacks.put("queryBRG", FileUtil.readResourceFile("__files/VCPE/CreateVcpeResCustService/SDNCTopologyQueryBRGCallback.xml")); + callbacks.put("deactivate", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeactivateCallback.xml")); + callbacks.put("delete", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeleteCallback.xml")); + callbacks.put("unassign", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyUnassignCallback.xml")); + + request = FileUtil.readResourceFile("__files/VCPE/CreateVcpeResCustService/requestNoSIName.json"); + } + + @Test + @Deployment(resources = { + "process/CreateVcpeResCustService.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/GenericGetService.bpmn", + "subprocess/GenericPutService.bpmn", + "subprocess/BuildingBlock/DecomposeService.bpmn", "subprocess/DoCreateServiceInstance.bpmn", - "subprocess/DoCreateAllottedResourceTXC.bpmn", - "subprocess/DoCreateAllottedResourceBRG.bpmn", + "subprocess/DoCreateAllottedResourceTXC.bpmn", + "subprocess/DoCreateAllottedResourceBRG.bpmn", "subprocess/CompleteMsoProcess.bpmn", // stubs - "VCPE/stubprocess/Homing.bpmn", + "VCPE/stubprocess/Homing.bpmn", "VCPE/stubprocess/DoCreateVnfAndModules.bpmn"}) - - public void testCreateVcpeResCustService_Success() throws Exception { - - System.out.println("starting: testCreateVcpeResCustService_Success\n"); - MockGetServiceResourcesCatalogData("uuid-miu-svc-011-abcdef", "2", "VCPE/CreateVcpeResCustService/getCatalogServiceResourcesData.json"); - MockGetServiceResourcesCatalogData("uuid-miu-svc-011-abcdef", "VCPE/CreateVcpeResCustService/getCatalogServiceResourcesData.json"); - MockGetCustomer(CUST, "VCPE/CreateVcpeResCustService/getCustomer.xml"); - - // TODO: the SI should NOT have to be URL-encoded yet again! - MockPutServiceInstance(CUST, SVC, INST.replace("%", "%25"), "GenericFlows/getServiceInstance.xml"); - MockGetServiceInstance(CUST, SVC, INST.replace("%", "%25"), "GenericFlows/getServiceInstance.xml"); - - MockNodeQueryServiceInstanceById(INST, "GenericFlows/getSIUrlById.xml"); - MockNodeQueryServiceInstanceById(PARENT_INST, "GenericFlows/getParentSIUrlById.xml"); - MockGetServiceInstance(CUST, SVC, INST, "GenericFlows/getServiceInstance.xml"); - MockGetServiceInstance(CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml"); - MockPutAllottedResource(CUST, SVC, PARENT_INST, ARID); - MockPatchAllottedResource(CUST, SVC, PARENT_INST, ARID); - - mockSDNCAdapter(200); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - Map variables = setupVariables(); - - String businessKey = UUID.randomUUID().toString(); - invokeAsyncProcess(PROCNAME, "v1", businessKey, request, variables); - - // for SI - injectSDNCCallbacks(callbacks, "assign"); - - // for TXC - injectSDNCCallbacks(callbacks, "assign"); - injectSDNCCallbacks(callbacks, "create"); - injectSDNCCallbacks(callbacks, "activate"); - injectSDNCCallbacks(callbacks, "queryTXC"); - - // for BRG - injectSDNCCallbacks(callbacks, "assign"); - injectSDNCCallbacks(callbacks, "create"); - injectSDNCCallbacks(callbacks, "activate"); - injectSDNCCallbacks(callbacks, "queryBRG"); - - waitForProcessEnd(businessKey, 10000); - - String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); - System.out.println("workflowException:\n" + workflowException); - - String completionReq = BPMNUtil.getVariable(processEngineRule, PROCNAME, Prefix + VAR_COMP_REQ); - System.out.println("completionReq:\n" + completionReq); - - assertEquals("true", BPMNUtil.getVariable(processEngineRule, PROCNAME, PROCNAME + VAR_SUCCESS_IND)); - assertEquals("200", BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_RESP_CODE)); - assertEquals(null, workflowException); - assertTrue(completionReq.contains("request-id>testRequestId<")); - assertTrue(completionReq.contains("action>CREATE<")); - assertTrue(completionReq.contains("source>VID<")); - - assertEquals("1", BPMNUtil.getVariable(processEngineRule, PROCNAME, Prefix + "VnfsCreatedCount")); - } - - @Test - @Deployment(resources = { - "process/CreateVcpeResCustService.bpmn", - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/GenericGetService.bpmn", - "subprocess/GenericPutService.bpmn", - "subprocess/BuildingBlock/DecomposeService.bpmn", + + public void testCreateVcpeResCustService_Success() throws Exception { + + System.out.println("starting: testCreateVcpeResCustService_Success\n"); + MockGetServiceResourcesCatalogData("uuid-miu-svc-011-abcdef", "2", "VCPE/CreateVcpeResCustService/getCatalogServiceResourcesData.json"); + MockGetServiceResourcesCatalogData("uuid-miu-svc-011-abcdef", "VCPE/CreateVcpeResCustService/getCatalogServiceResourcesData.json"); + MockGetCustomer(CUST, "VCPE/CreateVcpeResCustService/getCustomer.xml"); + + // TODO: the SI should NOT have to be URL-encoded yet again! + MockPutServiceInstance(CUST, SVC, INST.replace("%", "%25"), "GenericFlows/getServiceInstance.xml"); + MockGetServiceInstance(CUST, SVC, INST.replace("%", "%25"), "GenericFlows/getServiceInstance.xml"); + + MockNodeQueryServiceInstanceById(INST, "GenericFlows/getSIUrlById.xml"); + MockNodeQueryServiceInstanceById(PARENT_INST, "GenericFlows/getParentSIUrlById.xml"); + MockGetServiceInstance(CUST, SVC, INST, "GenericFlows/getServiceInstance.xml"); + MockGetServiceInstance(CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml"); + MockPutAllottedResource(CUST, SVC, PARENT_INST, ARID); + MockPatchAllottedResource(CUST, SVC, PARENT_INST, ARID); + + mockSDNCAdapter(200); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + Map variables = setupVariables(); + + String businessKey = UUID.randomUUID().toString(); + invokeAsyncProcess(PROCNAME, "v1", businessKey, request, variables); + + // for SI + injectSDNCCallbacks(callbacks, "assign"); + + // for TXC + injectSDNCCallbacks(callbacks, "assign"); + injectSDNCCallbacks(callbacks, "create"); + injectSDNCCallbacks(callbacks, "activate"); + injectSDNCCallbacks(callbacks, "queryTXC"); + + // for BRG + injectSDNCCallbacks(callbacks, "assign"); + injectSDNCCallbacks(callbacks, "create"); + injectSDNCCallbacks(callbacks, "activate"); + injectSDNCCallbacks(callbacks, "queryBRG"); + + waitForProcessEnd(businessKey, 10000); + + String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); + System.out.println("workflowException:\n" + workflowException); + + String completionReq = BPMNUtil.getVariable(processEngineRule, PROCNAME, Prefix+VAR_COMP_REQ); + System.out.println("completionReq:\n" + completionReq); + + assertEquals("true", BPMNUtil.getVariable(processEngineRule, PROCNAME, PROCNAME+VAR_SUCCESS_IND)); + assertEquals("200", BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_RESP_CODE)); + assertEquals(null, workflowException); + assertTrue(completionReq.contains("request-id>testRequestId<")); + assertTrue(completionReq.contains("action>CREATE<")); + assertTrue(completionReq.contains("source>VID<")); + + assertEquals("1", BPMNUtil.getVariable(processEngineRule, PROCNAME, Prefix+"VnfsCreatedCount")); + } + + @Test + @Deployment(resources = { + "process/CreateVcpeResCustService.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/GenericGetService.bpmn", + "subprocess/GenericPutService.bpmn", + "subprocess/BuildingBlock/DecomposeService.bpmn", "subprocess/DoCreateServiceInstance.bpmn", - "subprocess/DoCreateAllottedResourceTXC.bpmn", - "subprocess/DoCreateAllottedResourceBRG.bpmn", + "subprocess/DoCreateAllottedResourceTXC.bpmn", + "subprocess/DoCreateAllottedResourceBRG.bpmn", "subprocess/CompleteMsoProcess.bpmn", // stubs - "VCPE/stubprocess/Homing.bpmn", + "VCPE/stubprocess/Homing.bpmn", "VCPE/stubprocess/DoCreateVnfAndModules.bpmn"}) - - public void testCreateVcpeResCustService_NoParts() throws Exception { - - System.out.println("starting: testCreateVcpeResCustService_NoParts\n"); - MockGetServiceResourcesCatalogData("uuid-miu-svc-011-abcdef", "2", "VCPE/CreateVcpeResCustService/getCatalogServiceResourcesNoData.json"); - MockGetServiceResourcesCatalogData("uuid-miu-svc-011-abcdef", "VCPE/CreateVcpeResCustService/getCatalogServiceResourcesNoData.json"); - MockGetCustomer(CUST, "VCPE/CreateVcpeResCustService/getCustomer.xml"); - - // TODO: the SI should NOT have to be URL-encoded yet again! - MockPutServiceInstance(CUST, SVC, INST.replace("%", "%25"), "GenericFlows/getServiceInstance.xml"); - MockGetServiceInstance(CUST, SVC, INST.replace("%", "%25"), "GenericFlows/getServiceInstance.xml"); - - MockNodeQueryServiceInstanceById(INST, "GenericFlows/getSIUrlById.xml"); - MockGetServiceInstance(CUST, SVC, INST, "GenericFlows/getServiceInstance.xml"); - MockNodeQueryServiceInstanceById(PARENT_INST, "GenericFlows/getParentSIUrlById.xml"); - MockGetServiceInstance(CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml"); - - // TODO: should these really be PARENT_INST, or should they be INST? - MockPutAllottedResource(CUST, SVC, PARENT_INST, ARID); - MockPatchAllottedResource(CUST, SVC, PARENT_INST, ARID); - - mockSDNCAdapter(200); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - Map variables = setupVariables(); - - String businessKey = UUID.randomUUID().toString(); - invokeAsyncProcess(PROCNAME, "v1", businessKey, request, variables); - - // for SI - injectSDNCCallbacks(callbacks, "assign"); - - waitForProcessEnd(businessKey, 10000); - - String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); - System.out.println("workflowException:\n" + workflowException); - - String completionReq = BPMNUtil.getVariable(processEngineRule, PROCNAME, Prefix + VAR_COMP_REQ); - System.out.println("completionReq:\n" + completionReq); - - assertEquals("true", BPMNUtil.getVariable(processEngineRule, PROCNAME, PROCNAME + VAR_SUCCESS_IND)); - assertEquals("200", BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_RESP_CODE)); - assertEquals(null, workflowException); - assertTrue(completionReq.contains("request-id>testRequestId<")); - assertTrue(completionReq.contains("action>CREATE<")); - assertTrue(completionReq.contains("source>VID<")); - - assertEquals("0", BPMNUtil.getVariable(processEngineRule, PROCNAME, Prefix + "VnfsCreatedCount")); - } - - @Test - @Deployment(resources = { - "process/CreateVcpeResCustService.bpmn", - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/GenericGetService.bpmn", - "subprocess/GenericPutService.bpmn", - "subprocess/BuildingBlock/DecomposeService.bpmn", + + public void testCreateVcpeResCustService_NoParts() throws Exception { + + System.out.println("starting: testCreateVcpeResCustService_NoParts\n" ); + MockGetServiceResourcesCatalogData("uuid-miu-svc-011-abcdef", "2", "VCPE/CreateVcpeResCustService/getCatalogServiceResourcesNoData.json"); + MockGetServiceResourcesCatalogData("uuid-miu-svc-011-abcdef", "VCPE/CreateVcpeResCustService/getCatalogServiceResourcesNoData.json"); + MockGetCustomer(CUST, "VCPE/CreateVcpeResCustService/getCustomer.xml"); + + // TODO: the SI should NOT have to be URL-encoded yet again! + MockPutServiceInstance(CUST, SVC, INST.replace("%", "%25"), "GenericFlows/getServiceInstance.xml"); + MockGetServiceInstance(CUST, SVC, INST.replace("%", "%25"), "GenericFlows/getServiceInstance.xml"); + + MockNodeQueryServiceInstanceById(INST, "GenericFlows/getSIUrlById.xml"); + MockGetServiceInstance(CUST, SVC, INST, "GenericFlows/getServiceInstance.xml"); + MockNodeQueryServiceInstanceById(PARENT_INST, "GenericFlows/getParentSIUrlById.xml"); + MockGetServiceInstance(CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml"); + + // TODO: should these really be PARENT_INST, or should they be INST? + MockPutAllottedResource(CUST, SVC, PARENT_INST, ARID); + MockPatchAllottedResource(CUST, SVC, PARENT_INST, ARID); + + mockSDNCAdapter(200); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + Map variables = setupVariables(); + + String businessKey = UUID.randomUUID().toString(); + invokeAsyncProcess(PROCNAME, "v1", businessKey, request, variables); + + // for SI + injectSDNCCallbacks(callbacks, "assign"); + + waitForProcessEnd(businessKey, 10000); + + String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); + System.out.println("workflowException:\n" + workflowException); + + String completionReq = BPMNUtil.getVariable(processEngineRule, PROCNAME, Prefix+VAR_COMP_REQ); + System.out.println("completionReq:\n" + completionReq); + + assertEquals("true", BPMNUtil.getVariable(processEngineRule, PROCNAME, PROCNAME+VAR_SUCCESS_IND)); + assertEquals("200", BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_RESP_CODE)); + assertEquals(null, workflowException); + assertTrue(completionReq.contains("request-id>testRequestId<")); + assertTrue(completionReq.contains("action>CREATE<")); + assertTrue(completionReq.contains("source>VID<")); + + assertEquals("0", BPMNUtil.getVariable(processEngineRule, PROCNAME, Prefix+"VnfsCreatedCount")); + } + + @Test + @Deployment(resources = { + "process/CreateVcpeResCustService.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/GenericGetService.bpmn", + "subprocess/GenericPutService.bpmn", + "subprocess/BuildingBlock/DecomposeService.bpmn", "subprocess/DoCreateServiceInstance.bpmn", - "subprocess/DoCreateAllottedResourceBRG.bpmn", + "subprocess/DoCreateAllottedResourceBRG.bpmn", "subprocess/CompleteMsoProcess.bpmn", // this stub will trigger a fault - "VCPE/stubprocess/DoCreateAllottedResourceTXC.bpmn", + "VCPE/stubprocess/DoCreateAllottedResourceTXC.bpmn", // stubs - "VCPE/stubprocess/Homing.bpmn", + "VCPE/stubprocess/Homing.bpmn", "VCPE/stubprocess/DoCreateVnfAndModules.bpmn"}) - - public void testCreateVcpeResCustService_Fault_NoRollback() throws Exception { - - System.out.println("starting: testCreateVcpeResCustService_Fault_NoRollback\n"); - MockGetServiceResourcesCatalogData("uuid-miu-svc-011-abcdef", "2", "VCPE/CreateVcpeResCustService/getCatalogServiceResourcesData.json"); - MockGetServiceResourcesCatalogData("uuid-miu-svc-011-abcdef", "VCPE/CreateVcpeResCustService/getCatalogServiceResourcesData.json"); - MockGetCustomer(CUST, "VCPE/CreateVcpeResCustService/getCustomer.xml"); - - // TODO: the SI should NOT have to be URL-encoded yet again! - MockPutServiceInstance(CUST, SVC, INST.replace("%", "%25"), "GenericFlows/getServiceInstance.xml"); - MockGetServiceInstance(CUST, SVC, INST.replace("%", "%25"), "GenericFlows/getServiceInstance.xml"); - - MockNodeQueryServiceInstanceById(INST, "GenericFlows/getSIUrlById.xml"); - MockNodeQueryServiceInstanceById(PARENT_INST, "GenericFlows/getParentSIUrlById.xml"); - MockGetServiceInstance(CUST, SVC, INST, "GenericFlows/getServiceInstance.xml"); - MockGetServiceInstance(CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml"); - MockPutAllottedResource(CUST, SVC, PARENT_INST, ARID); - MockPatchAllottedResource(CUST, SVC, PARENT_INST, ARID); - - mockSDNCAdapter(200); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - Map variables = setupVariables(); - - String req = FileUtil.readResourceFile("__files/VCPE/CreateVcpeResCustService/requestNoSINameNoRollback.json"); - - String businessKey = UUID.randomUUID().toString(); - invokeAsyncProcess(PROCNAME, "v1", businessKey, req, variables); - - // for SI - injectSDNCCallbacks(callbacks, "assign"); - - waitForProcessEnd(businessKey, 10000); - - String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); - System.out.println("workflowException:\n" + workflowException); - - String completionReq = BPMNUtil.getVariable(processEngineRule, PROCNAME, Prefix + VAR_COMP_REQ); - System.out.println("completionReq:\n" + completionReq); - - assertEquals(null, BPMNUtil.getVariable(processEngineRule, PROCNAME, PROCNAME + VAR_SUCCESS_IND)); - assertEquals(null, BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_RESP_CODE)); - assertNotNull(workflowException); - - BPMNUtil.assertNoProcessInstance(processEngineRule, "DoCreateAllottedResourceBRGRollback"); - BPMNUtil.assertNoProcessInstance(processEngineRule, "DoCreateVnfAndModulesRollback"); - BPMNUtil.assertNoProcessInstance(processEngineRule, "DoCreateAllottedResourceTXCRollback"); - } - - @Test - @Deployment(resources = { - "process/CreateVcpeResCustService.bpmn", - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/GenericGetService.bpmn", - "subprocess/GenericPutService.bpmn", - "subprocess/BuildingBlock/DecomposeService.bpmn", + + public void testCreateVcpeResCustService_Fault_NoRollback() throws Exception { + + System.out.println("starting: testCreateVcpeResCustService_Fault_NoRollback\n"); + MockGetServiceResourcesCatalogData("uuid-miu-svc-011-abcdef", "2", "VCPE/CreateVcpeResCustService/getCatalogServiceResourcesData.json"); + MockGetServiceResourcesCatalogData("uuid-miu-svc-011-abcdef", "VCPE/CreateVcpeResCustService/getCatalogServiceResourcesData.json"); + MockGetCustomer(CUST, "VCPE/CreateVcpeResCustService/getCustomer.xml"); + + // TODO: the SI should NOT have to be URL-encoded yet again! + MockPutServiceInstance(CUST, SVC, INST.replace("%", "%25"), "GenericFlows/getServiceInstance.xml"); + MockGetServiceInstance(CUST, SVC, INST.replace("%", "%25"), "GenericFlows/getServiceInstance.xml"); + + MockNodeQueryServiceInstanceById(INST, "GenericFlows/getSIUrlById.xml"); + MockNodeQueryServiceInstanceById(PARENT_INST, "GenericFlows/getParentSIUrlById.xml"); + MockGetServiceInstance(CUST, SVC, INST, "GenericFlows/getServiceInstance.xml"); + MockGetServiceInstance(CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml"); + MockPutAllottedResource(CUST, SVC, PARENT_INST, ARID); + MockPatchAllottedResource(CUST, SVC, PARENT_INST, ARID); + + mockSDNCAdapter(200); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + Map variables = setupVariables(); + + String req = FileUtil.readResourceFile("__files/VCPE/CreateVcpeResCustService/requestNoSINameNoRollback.json"); + + String businessKey = UUID.randomUUID().toString(); + invokeAsyncProcess(PROCNAME, "v1", businessKey, req, variables); + + // for SI + injectSDNCCallbacks(callbacks, "assign"); + + waitForProcessEnd(businessKey, 10000); + + String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); + System.out.println("workflowException:\n" + workflowException); + + String completionReq = BPMNUtil.getVariable(processEngineRule, PROCNAME, Prefix+VAR_COMP_REQ); + System.out.println("completionReq:\n" + completionReq); + + assertEquals(null, BPMNUtil.getVariable(processEngineRule, PROCNAME, PROCNAME+VAR_SUCCESS_IND)); + assertEquals(null, BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_RESP_CODE)); + assertNotNull(workflowException); + + BPMNUtil.assertNoProcessInstance(processEngineRule, "DoCreateAllottedResourceBRGRollback"); + BPMNUtil.assertNoProcessInstance(processEngineRule, "DoCreateVnfAndModulesRollback"); + BPMNUtil.assertNoProcessInstance(processEngineRule, "DoCreateAllottedResourceTXCRollback"); + } + + @Test + @Deployment(resources = { + "process/CreateVcpeResCustService.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/GenericGetService.bpmn", + "subprocess/GenericPutService.bpmn", + "subprocess/BuildingBlock/DecomposeService.bpmn", "subprocess/DoCreateServiceInstance.bpmn", - "subprocess/DoCreateAllottedResourceTXC.bpmn", - "subprocess/DoCreateAllottedResourceTXCRollback.bpmn", + "subprocess/DoCreateAllottedResourceTXC.bpmn", + "subprocess/DoCreateAllottedResourceTXCRollback.bpmn", "subprocess/CompleteMsoProcess.bpmn", // this stub will trigger a fault - "VCPE/stubprocess/DoCreateAllottedResourceBRG.bpmn", + "VCPE/stubprocess/DoCreateAllottedResourceBRG.bpmn", // stubs - "VCPE/stubprocess/DoCreateAllottedResourceBRGRollback.bpmn", - "VCPE/stubprocess/DoCreateVnfAndModulesRollback.bpmn", + "VCPE/stubprocess/DoCreateAllottedResourceBRGRollback.bpmn", + "VCPE/stubprocess/DoCreateVnfAndModulesRollback.bpmn", "VCPE/stubprocess/DoCreateServiceInstanceRollback.bpmn", - "VCPE/stubprocess/Homing.bpmn", + "VCPE/stubprocess/Homing.bpmn", "VCPE/stubprocess/DoCreateVnfAndModules.bpmn"}) - - public void testCreateVcpeResCustService_Fault_Rollback() throws Exception { - - System.out.println("starting: testCreateVcpeResCustService_Fault_Rollback\n"); - MockGetServiceResourcesCatalogData("uuid-miu-svc-011-abcdef", "2", "VCPE/CreateVcpeResCustService/getCatalogServiceResourcesData.json"); - MockGetServiceResourcesCatalogData("uuid-miu-svc-011-abcdef", "VCPE/CreateVcpeResCustService/getCatalogServiceResourcesData.json"); - MockGetCustomer(CUST, "VCPE/CreateVcpeResCustService/getCustomer.xml"); - - // TODO: the SI should NOT have to be URL-encoded yet again! - MockPutServiceInstance(CUST, SVC, INST.replace("%", "%25"), "GenericFlows/getServiceInstance.xml"); - MockGetServiceInstance(CUST, SVC, INST.replace("%", "%25"), "GenericFlows/getServiceInstance.xml"); - - MockNodeQueryServiceInstanceById(INST, "GenericFlows/getSIUrlById.xml"); - MockNodeQueryServiceInstanceById(PARENT_INST, "GenericFlows/getParentSIUrlById.xml"); - MockGetServiceInstance(CUST, SVC, INST, "GenericFlows/getServiceInstance.xml"); - MockGetServiceInstance(CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml"); - MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/CreateVcpeResCustService/arGetById.xml"); - MockGetAllottedResource(CUST, SVC, PARENT_INST, ARID, "VCPE/CreateVcpeResCustService/arGetById.xml"); - MockPutAllottedResource(CUST, SVC, PARENT_INST, ARID); - MockPatchAllottedResource(CUST, SVC, PARENT_INST, ARID); - MockDeleteAllottedResource(CUST, SVC, PARENT_INST, ARID, ARVERS); - - mockSDNCAdapter(200); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - Map variables = setupVariables(); - - String businessKey = UUID.randomUUID().toString(); - invokeAsyncProcess(PROCNAME, "v1", businessKey, request, variables); - - // for SI - injectSDNCCallbacks(callbacks, "assign"); - - // for TXC - injectSDNCCallbacks(callbacks, "assign"); - injectSDNCCallbacks(callbacks, "create"); - injectSDNCCallbacks(callbacks, "activate"); - injectSDNCCallbacks(callbacks, "queryTXC"); - - // BRG is a stub so don't need SDNC callbacks - - // for TXC rollback - injectSDNCCallbacks(callbacks, "deactivate"); - injectSDNCCallbacks(callbacks, "delete"); - injectSDNCCallbacks(callbacks, "unassign"); - - waitForProcessEnd(businessKey, 10000); - - String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); - System.out.println("workflowException:\n" + workflowException); - - String completionReq = BPMNUtil.getVariable(processEngineRule, PROCNAME, Prefix + VAR_COMP_REQ); - System.out.println("completionReq:\n" + completionReq); - - assertEquals(null, BPMNUtil.getVariable(processEngineRule, PROCNAME, PROCNAME + VAR_SUCCESS_IND)); - assertEquals(null, BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_RESP_CODE)); - assertEquals(null, completionReq); - assertNotNull(workflowException); - - BPMNUtil.assertAnyProcessInstanceFinished(processEngineRule, "DoCreateAllottedResourceBRGRollback"); - BPMNUtil.assertAnyProcessInstanceFinished(processEngineRule, "DoCreateVnfAndModulesRollback"); - BPMNUtil.assertAnyProcessInstanceFinished(processEngineRule, "DoCreateAllottedResourceTXCRollback"); - } - - // ***************** - // Utility Section - // ***************** - - // Success Scenario - private Map setupVariables() { - Map variables = new HashMap<>(); - variables.put("requestId", "testRequestId"); - variables.put("request-id", "testRequestId"); - variables.put("serviceInstanceId", DEC_INST); - variables.put("allottedResourceId", ARID); - return variables; - - } + + public void testCreateVcpeResCustService_Fault_Rollback() throws Exception { + + System.out.println("starting: testCreateVcpeResCustService_Fault_Rollback\n"); + MockGetServiceResourcesCatalogData("uuid-miu-svc-011-abcdef", "2", "VCPE/CreateVcpeResCustService/getCatalogServiceResourcesData.json"); + MockGetServiceResourcesCatalogData("uuid-miu-svc-011-abcdef", "VCPE/CreateVcpeResCustService/getCatalogServiceResourcesData.json"); + MockGetCustomer(CUST, "VCPE/CreateVcpeResCustService/getCustomer.xml"); + + // TODO: the SI should NOT have to be URL-encoded yet again! + MockPutServiceInstance(CUST, SVC, INST.replace("%", "%25"), "GenericFlows/getServiceInstance.xml"); + MockGetServiceInstance(CUST, SVC, INST.replace("%", "%25"), "GenericFlows/getServiceInstance.xml"); + + MockNodeQueryServiceInstanceById(INST, "GenericFlows/getSIUrlById.xml"); + MockNodeQueryServiceInstanceById(PARENT_INST, "GenericFlows/getParentSIUrlById.xml"); + MockGetServiceInstance(CUST, SVC, INST, "GenericFlows/getServiceInstance.xml"); + MockGetServiceInstance(CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml"); + MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/CreateVcpeResCustService/arGetById.xml"); + MockGetAllottedResource(CUST, SVC, PARENT_INST, ARID, "VCPE/CreateVcpeResCustService/arGetById.xml"); + MockPutAllottedResource(CUST, SVC, PARENT_INST, ARID); + MockPatchAllottedResource(CUST, SVC, PARENT_INST, ARID); + MockDeleteAllottedResource(CUST, SVC, PARENT_INST, ARID, ARVERS); + + mockSDNCAdapter(200); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + Map variables = setupVariables(); + + String businessKey = UUID.randomUUID().toString(); + invokeAsyncProcess(PROCNAME, "v1", businessKey, request, variables); + + // for SI + injectSDNCCallbacks(callbacks, "assign"); + + // for TXC + injectSDNCCallbacks(callbacks, "assign"); + injectSDNCCallbacks(callbacks, "create"); + injectSDNCCallbacks(callbacks, "activate"); + injectSDNCCallbacks(callbacks, "queryTXC"); + + // BRG is a stub so don't need SDNC callbacks + + // for TXC rollback + injectSDNCCallbacks(callbacks, "deactivate"); + injectSDNCCallbacks(callbacks, "delete"); + injectSDNCCallbacks(callbacks, "unassign"); + + waitForProcessEnd(businessKey, 10000); + + String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); + System.out.println("workflowException:\n" + workflowException); + + String completionReq = BPMNUtil.getVariable(processEngineRule, PROCNAME, Prefix+VAR_COMP_REQ); + System.out.println("completionReq:\n" + completionReq); + + assertEquals(null, BPMNUtil.getVariable(processEngineRule, PROCNAME, PROCNAME+VAR_SUCCESS_IND)); + assertEquals(null, BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_RESP_CODE)); + assertEquals(null, completionReq); + assertNotNull(workflowException); + + BPMNUtil.assertAnyProcessInstanceFinished(processEngineRule, "DoCreateAllottedResourceBRGRollback"); + BPMNUtil.assertAnyProcessInstanceFinished(processEngineRule, "DoCreateVnfAndModulesRollback"); + BPMNUtil.assertAnyProcessInstanceFinished(processEngineRule, "DoCreateAllottedResourceTXCRollback"); + } + + // ***************** + // Utility Section + // ***************** + + // Success Scenario + private Map setupVariables() { + Map variables = new HashMap<>(); + variables.put("requestId", "testRequestId"); + variables.put("request-id", "testRequestId"); + variables.put("serviceInstanceId", DEC_INST); + variables.put("allottedResourceId", ARID); + return variables; + + } } diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/vcpe/DeleteVcpeResCustServiceTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/vcpe/DeleteVcpeResCustServiceTest.java index c8edc82a23..d026b7a949 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/vcpe/DeleteVcpeResCustServiceTest.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/vcpe/DeleteVcpeResCustServiceTest.java @@ -50,248 +50,248 @@ import com.github.tomakehurst.wiremock.stubbing.Scenario; public class DeleteVcpeResCustServiceTest extends AbstractTestBase { - private static final String PROCNAME = "DeleteVcpeResCustService"; - private static final String Prefix = "DVRCS_"; - private static final String AR_BRG_ID = "ar-brgB"; - private static final String AR_TXC_ID = "ar-txcA"; - - private final CallbackSet callbacks = new CallbackSet(); - private final String request; - - public DeleteVcpeResCustServiceTest() throws IOException { - callbacks.put("deactivate", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeactivateCallback.xml")); - callbacks.put("delete", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeleteCallback.xml")); - callbacks.put("unassign", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyUnassignCallback.xml")); - - request = FileUtil.readResourceFile("__files/VCPE/DeleteVcpeResCustService/request.json"); - } - - @Test - @Deployment(resources = { - "process/DeleteVcpeResCustService.bpmn", - "subprocess/GenericGetService.bpmn", - "subprocess/GenericDeleteService.bpmn", - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/FalloutHandler.bpmn", + private static final String PROCNAME = "DeleteVcpeResCustService"; + private static final String Prefix = "DVRCS_"; + private static final String AR_BRG_ID = "ar-brgB"; + private static final String AR_TXC_ID = "ar-txcA"; + + private final CallbackSet callbacks = new CallbackSet(); + private final String request; + + public DeleteVcpeResCustServiceTest() throws IOException { + callbacks.put("deactivate", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeactivateCallback.xml")); + callbacks.put("delete", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeleteCallback.xml")); + callbacks.put("unassign", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyUnassignCallback.xml")); + + request = FileUtil.readResourceFile("__files/VCPE/DeleteVcpeResCustService/request.json"); + } + + @Test + @Deployment(resources = { + "process/DeleteVcpeResCustService.bpmn", + "subprocess/GenericGetService.bpmn", + "subprocess/GenericDeleteService.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/FalloutHandler.bpmn", "subprocess/DoDeleteServiceInstance.bpmn", - "subprocess/DoDeleteAllottedResourceBRG.bpmn", - "subprocess/DoDeleteAllottedResourceTXC.bpmn", + "subprocess/DoDeleteAllottedResourceBRG.bpmn", + "subprocess/DoDeleteAllottedResourceTXC.bpmn", "subprocess/CompleteMsoProcess.bpmn", // stubs "VCPE/stubprocess/DoDeleteVnfAndModules.bpmn"}) + + public void testDeleteVcpeResCustService_Success() throws Exception { - public void testDeleteVcpeResCustService_Success() throws Exception { - - MockNodeQueryServiceInstanceById(INST, "GenericFlows/getSIUrlById.xml"); + MockNodeQueryServiceInstanceById(INST, "GenericFlows/getSIUrlById.xml"); - // TODO: use INST instead of DEC_INST - /* + // TODO: use INST instead of DEC_INST + /* * Seems to be a bug in GenericDeleteService (or its subflows) as they * fail to URL-encode the SI id before performing the query so we'll * add a stub for that case, too. */ - MockNodeQueryServiceInstanceById(DEC_INST, "GenericFlows/getSIUrlById.xml"); + MockNodeQueryServiceInstanceById(DEC_INST, "GenericFlows/getSIUrlById.xml"); /* * cannot use MockGetServiceInstance(), because we need to return * different responses as we traverse through the flow - */ - - // initially, the SI includes the ARs - stubFor(get(urlMatching("/aai/v[0-9]+/business/customers/customer/" + CUST + "/service-subscriptions/service-subscription/" + SVC + "/service-instances/service-instance/" + INST)) - .inScenario("SI retrieval") - .whenScenarioStateIs(Scenario.STARTED) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile("VCPE/DeleteVcpeResCustService/getSI.xml")) - .willSetStateTo("ARs Deleted")); - - // once the ARs have been deleted, the SI should be empty - stubFor(get(urlMatching("/aai/v[0-9]+/business/customers/customer/" + CUST + "/service-subscriptions/service-subscription/" + SVC + "/service-instances/service-instance/" + INST)) - .inScenario("SI retrieval") - .whenScenarioStateIs("ARs Deleted") - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBodyFile("VCPE/DeleteVcpeResCustService/getSIAfterDelArs.xml"))); - - // for BRG - MockQueryAllottedResourceById(AR_BRG_ID, "VCPE/DeleteVcpeResCustService/getBRGArUrlById.xml"); - MockGetAllottedResource(CUST, SVC, INST, AR_BRG_ID, "VCPE/DeleteVcpeResCustService/arGetBRGById.xml"); - MockPatchAllottedResource(CUST, SVC, INST, AR_BRG_ID); - MockDeleteAllottedResource(CUST, SVC, INST, AR_BRG_ID, ARVERS); - - // for TXC - MockQueryAllottedResourceById(AR_TXC_ID, "VCPE/DeleteVcpeResCustService/getTXCArUrlById.xml"); - MockGetAllottedResource(CUST, SVC, INST, AR_TXC_ID, "VCPE/DeleteVcpeResCustService/arGetTXCById.xml"); - MockPatchAllottedResource(CUST, SVC, INST, AR_TXC_ID); - MockDeleteAllottedResource(CUST, SVC, INST, AR_TXC_ID, ARVERS); - - mockSDNCAdapter(200); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - Map variables = setupVariables(); - - String businessKey = UUID.randomUUID().toString(); - invokeAsyncProcess(PROCNAME, "v1", businessKey, request, variables); - - // for BRG - injectSDNCCallbacks(callbacks, "deactivate"); - injectSDNCCallbacks(callbacks, "delete"); - injectSDNCCallbacks(callbacks, "unassign"); - - // for TXC - injectSDNCCallbacks(callbacks, "deactivate"); - injectSDNCCallbacks(callbacks, "delete"); - injectSDNCCallbacks(callbacks, "unassign"); - - // for SI - injectSDNCCallbacks(callbacks, "deactivate"); - injectSDNCCallbacks(callbacks, "delete"); - - waitForProcessEnd(businessKey, 10000); - - String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); - System.out.println("workflowException:\n" + workflowException); - - String completionReq = BPMNUtil.getVariable(processEngineRule, PROCNAME, Prefix + VAR_COMP_REQ); - System.out.println("completionReq:\n" + completionReq); - - assertEquals("true", BPMNUtil.getVariable(processEngineRule, PROCNAME, PROCNAME + VAR_SUCCESS_IND)); - assertEquals("200", BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_RESP_CODE)); - assertEquals(null, workflowException); - assertTrue(completionReq.contains("testRequestId<")); - assertTrue(completionReq.contains("DELETE<")); - assertTrue(completionReq.contains("VID<")); + */ + + // initially, the SI includes the ARs + stubFor(get(urlMatching("/aai/v[0-9]+/business/customers/customer/" + CUST + "/service-subscriptions/service-subscription/" + SVC + "/service-instances/service-instance/" + INST)) + .inScenario("SI retrieval") + .whenScenarioStateIs(Scenario.STARTED) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile("VCPE/DeleteVcpeResCustService/getSI.xml")) + .willSetStateTo("ARs Deleted")); + + // once the ARs have been deleted, the SI should be empty + stubFor(get(urlMatching("/aai/v[0-9]+/business/customers/customer/" + CUST + "/service-subscriptions/service-subscription/" + SVC + "/service-instances/service-instance/" + INST)) + .inScenario("SI retrieval") + .whenScenarioStateIs("ARs Deleted") + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "text/xml") + .withBodyFile("VCPE/DeleteVcpeResCustService/getSIAfterDelArs.xml"))); + + // for BRG + MockQueryAllottedResourceById(AR_BRG_ID, "VCPE/DeleteVcpeResCustService/getBRGArUrlById.xml"); + MockGetAllottedResource(CUST, SVC, INST, AR_BRG_ID, "VCPE/DeleteVcpeResCustService/arGetBRGById.xml"); + MockPatchAllottedResource(CUST, SVC, INST, AR_BRG_ID); + MockDeleteAllottedResource(CUST, SVC, INST, AR_BRG_ID, ARVERS); + + // for TXC + MockQueryAllottedResourceById(AR_TXC_ID, "VCPE/DeleteVcpeResCustService/getTXCArUrlById.xml"); + MockGetAllottedResource(CUST, SVC, INST, AR_TXC_ID, "VCPE/DeleteVcpeResCustService/arGetTXCById.xml"); + MockPatchAllottedResource(CUST, SVC, INST, AR_TXC_ID); + MockDeleteAllottedResource(CUST, SVC, INST, AR_TXC_ID, ARVERS); + + mockSDNCAdapter(200); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + Map variables = setupVariables(); - assertEquals("2", BPMNUtil.getVariable(processEngineRule, PROCNAME, Prefix + "vnfsDeletedCount")); + String businessKey = UUID.randomUUID().toString(); + invokeAsyncProcess(PROCNAME, "v1", businessKey, request, variables); + + // for BRG + injectSDNCCallbacks(callbacks, "deactivate"); + injectSDNCCallbacks(callbacks, "delete"); + injectSDNCCallbacks(callbacks, "unassign"); + + // for TXC + injectSDNCCallbacks(callbacks, "deactivate"); + injectSDNCCallbacks(callbacks, "delete"); + injectSDNCCallbacks(callbacks, "unassign"); + + // for SI + injectSDNCCallbacks(callbacks, "deactivate"); + injectSDNCCallbacks(callbacks, "delete"); + + waitForProcessEnd(businessKey, 10000); - BPMNUtil.assertAnyProcessInstanceFinished(processEngineRule, "DoDeleteVnfAndModules"); - } + String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); + System.out.println("workflowException:\n" + workflowException); - @Test - @Deployment(resources = { - "process/DeleteVcpeResCustService.bpmn", - "subprocess/GenericGetService.bpmn", - "subprocess/GenericDeleteService.bpmn", - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/FalloutHandler.bpmn", + String completionReq = BPMNUtil.getVariable(processEngineRule, PROCNAME, Prefix+VAR_COMP_REQ); + System.out.println("completionReq:\n" + completionReq); + + assertEquals("true", BPMNUtil.getVariable(processEngineRule, PROCNAME, PROCNAME+VAR_SUCCESS_IND)); + assertEquals("200", BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_RESP_CODE)); + assertEquals(null, workflowException); + assertTrue(completionReq.contains("testRequestId<")); + assertTrue(completionReq.contains("DELETE<")); + assertTrue(completionReq.contains("VID<")); + + assertEquals("2", BPMNUtil.getVariable(processEngineRule, PROCNAME, Prefix+"vnfsDeletedCount")); + + BPMNUtil.assertAnyProcessInstanceFinished(processEngineRule, "DoDeleteVnfAndModules"); + } + + @Test + @Deployment(resources = { + "process/DeleteVcpeResCustService.bpmn", + "subprocess/GenericGetService.bpmn", + "subprocess/GenericDeleteService.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/FalloutHandler.bpmn", "subprocess/DoDeleteServiceInstance.bpmn", - "subprocess/DoDeleteAllottedResourceBRG.bpmn", - "subprocess/DoDeleteAllottedResourceTXC.bpmn", + "subprocess/DoDeleteAllottedResourceBRG.bpmn", + "subprocess/DoDeleteAllottedResourceTXC.bpmn", "subprocess/CompleteMsoProcess.bpmn", // stubs "VCPE/stubprocess/DoDeleteVnfAndModules.bpmn"}) + + public void testDeleteVcpeResCustService_NoBRG_NoTXC_NoVNF() throws Exception { - public void testDeleteVcpeResCustService_NoBRG_NoTXC_NoVNF() throws Exception { - - MockNodeQueryServiceInstanceById(INST, "GenericFlows/getSIUrlById.xml"); + MockNodeQueryServiceInstanceById(INST, "GenericFlows/getSIUrlById.xml"); - // TODO: use INST instead of DEC_INST + // TODO: use INST instead of DEC_INST /* * Seems to be a bug in GenericDeleteService (or its subflows) as they * fail to URL-encode the SI id before performing the query so we'll * add a stub for that case, too. */ - MockNodeQueryServiceInstanceById(DEC_INST, "GenericFlows/getSIUrlById.xml"); - - MockGetServiceInstance(CUST, SVC, INST, "VCPE/DeleteVcpeResCustService/getSIAfterDelArs.xml"); - - mockSDNCAdapter(200); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - Map variables = setupVariables(); - - String businessKey = UUID.randomUUID().toString(); - invokeAsyncProcess(PROCNAME, "v1", businessKey, request, variables); - - // for SI - injectSDNCCallbacks(callbacks, "deactivate"); - injectSDNCCallbacks(callbacks, "delete"); - - waitForProcessEnd(businessKey, 10000); - - String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); - System.out.println("workflowException:\n" + workflowException); - - String completionReq = BPMNUtil.getVariable(processEngineRule, PROCNAME, Prefix + VAR_COMP_REQ); - System.out.println("completionReq:\n" + completionReq); - - assertEquals("true", BPMNUtil.getVariable(processEngineRule, PROCNAME, PROCNAME + VAR_SUCCESS_IND)); - assertEquals("200", BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_RESP_CODE)); - assertEquals(null, workflowException); - assertTrue(completionReq.contains("testRequestId<")); - assertTrue(completionReq.contains("DELETE<")); - assertTrue(completionReq.contains("VID<")); + MockNodeQueryServiceInstanceById(DEC_INST, "GenericFlows/getSIUrlById.xml"); + + MockGetServiceInstance(CUST, SVC, INST, "VCPE/DeleteVcpeResCustService/getSIAfterDelArs.xml"); + + mockSDNCAdapter(200); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + Map variables = setupVariables(); - assertEquals("0", BPMNUtil.getVariable(processEngineRule, PROCNAME, Prefix + "vnfsDeletedCount")); + String businessKey = UUID.randomUUID().toString(); + invokeAsyncProcess(PROCNAME, "v1", businessKey, request, variables); + + // for SI + injectSDNCCallbacks(callbacks, "deactivate"); + injectSDNCCallbacks(callbacks, "delete"); + + waitForProcessEnd(businessKey, 10000); - BPMNUtil.assertNoProcessInstance(processEngineRule, "DoDeleteVnfAndModules"); - } + String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); + System.out.println("workflowException:\n" + workflowException); - @Test - @Deployment(resources = { - "process/DeleteVcpeResCustService.bpmn", - "subprocess/GenericGetService.bpmn", - "subprocess/GenericDeleteService.bpmn", - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/FalloutHandler.bpmn", + String completionReq = BPMNUtil.getVariable(processEngineRule, PROCNAME, Prefix+VAR_COMP_REQ); + System.out.println("completionReq:\n" + completionReq); + + assertEquals("true", BPMNUtil.getVariable(processEngineRule, PROCNAME, PROCNAME+VAR_SUCCESS_IND)); + assertEquals("200", BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_RESP_CODE)); + assertEquals(null, workflowException); + assertTrue(completionReq.contains("testRequestId<")); + assertTrue(completionReq.contains("DELETE<")); + assertTrue(completionReq.contains("VID<")); + + assertEquals("0", BPMNUtil.getVariable(processEngineRule, PROCNAME, Prefix+"vnfsDeletedCount")); + + BPMNUtil.assertNoProcessInstance(processEngineRule, "DoDeleteVnfAndModules"); + } + + @Test + @Deployment(resources = { + "process/DeleteVcpeResCustService.bpmn", + "subprocess/GenericGetService.bpmn", + "subprocess/GenericDeleteService.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/FalloutHandler.bpmn", "subprocess/DoDeleteServiceInstance.bpmn", - "subprocess/DoDeleteAllottedResourceBRG.bpmn", - "subprocess/DoDeleteAllottedResourceTXC.bpmn", + "subprocess/DoDeleteAllottedResourceBRG.bpmn", + "subprocess/DoDeleteAllottedResourceTXC.bpmn", "subprocess/CompleteMsoProcess.bpmn", // stubs "VCPE/stubprocess/DoDeleteVnfAndModules.bpmn"}) + + public void testDeleteVcpeResCustService_Fault() throws Exception { - public void testDeleteVcpeResCustService_Fault() throws Exception { + MockNodeQueryServiceInstanceById(INST, "GenericFlows/getSIUrlById.xml"); - MockNodeQueryServiceInstanceById(INST, "GenericFlows/getSIUrlById.xml"); - - // TODO: use INST instead of DEC_INST + // TODO: use INST instead of DEC_INST /* * Seems to be a bug in GenericDeleteService (or its subflows) as they * fail to URL-encode the SI id before performing the query so we'll * add a stub for that case, too. */ - MockNodeQueryServiceInstanceById(DEC_INST, "GenericFlows/getSIUrlById.xml"); - - MockGetServiceInstance(CUST, SVC, INST, "VCPE/DeleteVcpeResCustService/getSIAfterDelArs.xml"); - - // generate failure - mockSDNCAdapter(404); - - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - Map variables = setupVariables(); - - String businessKey = UUID.randomUUID().toString(); - invokeAsyncProcess(PROCNAME, "v1", businessKey, request, variables); - - waitForProcessEnd(businessKey, 10000); - - String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); - System.out.println("workflowException:\n" + workflowException); - - String completionReq = BPMNUtil.getVariable(processEngineRule, PROCNAME, Prefix + VAR_COMP_REQ); - System.out.println("completionReq:\n" + completionReq); + MockNodeQueryServiceInstanceById(DEC_INST, "GenericFlows/getSIUrlById.xml"); + + MockGetServiceInstance(CUST, SVC, INST, "VCPE/DeleteVcpeResCustService/getSIAfterDelArs.xml"); + + // generate failure + mockSDNCAdapter(404); + + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + Map variables = setupVariables(); - assertEquals(null, BPMNUtil.getVariable(processEngineRule, PROCNAME, PROCNAME + VAR_SUCCESS_IND)); - assertEquals(null, BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_RESP_CODE)); - assertNotNull(workflowException); - } + String businessKey = UUID.randomUUID().toString(); + invokeAsyncProcess(PROCNAME, "v1", businessKey, request, variables); + + waitForProcessEnd(businessKey, 10000); - private Map setupVariables() throws UnsupportedEncodingException { - Map variables = new HashMap<>(); - variables.put("isDebugLogEnabled", "true"); - variables.put("requestId", "testRequestId"); - variables.put("serviceInstanceId", DEC_INST); - variables.put("sdncVersion", "1802"); - variables.put("serviceInstanceName", "some-junk-name"); - return variables; - } + String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); + System.out.println("workflowException:\n" + workflowException); + String completionReq = BPMNUtil.getVariable(processEngineRule, PROCNAME, Prefix+VAR_COMP_REQ); + System.out.println("completionReq:\n" + completionReq); + + assertEquals(null, BPMNUtil.getVariable(processEngineRule, PROCNAME, PROCNAME+VAR_SUCCESS_IND)); + assertEquals(null, BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_RESP_CODE)); + assertNotNull(workflowException); + } + + private Map setupVariables() throws UnsupportedEncodingException { + Map variables = new HashMap<>(); + variables.put("isDebugLogEnabled", "true"); + variables.put("requestId", "testRequestId"); + variables.put("serviceInstanceId", DEC_INST); + variables.put("sdncVersion", "1802"); + variables.put("serviceInstanceName", "some-junk-name"); + return variables; + } + } diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/vcpe/DoCreateAllottedResourceBRGRollbackTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/vcpe/DoCreateAllottedResourceBRGRollbackTest.java index d467bbdb2a..0407e172e2 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/vcpe/DoCreateAllottedResourceBRGRollbackTest.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/vcpe/DoCreateAllottedResourceBRGRollbackTest.java @@ -43,303 +43,303 @@ import org.openecomp.mso.bpmn.mock.FileUtil; public class DoCreateAllottedResourceBRGRollbackTest extends AbstractTestBase { - private static final String PROCNAME = "DoCreateAllottedResourceBRGRollback"; - private static final String RbType = "DCARBRG_"; - private final CallbackSet callbacks = new CallbackSet(); - - public DoCreateAllottedResourceBRGRollbackTest() throws IOException { - callbacks.put("deactivate", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeactivateCallback.xml")); - callbacks.put("delete", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeleteCallback.xml")); - callbacks.put("unassign", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyUnassignCallback.xml")); - } - - @Test - @Deployment(resources = { - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/DoCreateAllottedResourceBRGRollback.bpmn"}) - public void testDoCreateAllottedResourceBRGRollback_Success() throws Exception { - - MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceBRGRollback/arGetById.xml"); - MockPatchAllottedResource(CUST, SVC, INST, ARID); - MockDeleteAllottedResource(CUST, SVC, INST, ARID, ARVERS); - mockSDNCAdapter(200); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - setVariablesSuccess(variables, "testRequestId1"); - - invokeSubProcess(PROCNAME, businessKey, variables); - - injectSDNCCallbacks(callbacks, "deactivate"); - injectSDNCCallbacks(callbacks, "delete"); - injectSDNCCallbacks(callbacks, "unassign"); - - waitForProcessEnd(businessKey, 10000); - - assertTrue(isProcessEnded(businessKey)); - String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); - System.out.println("workflowException:\n" + workflowException); - assertEquals(null, workflowException); - assertEquals("true", BPMNUtil.getVariable(processEngineRule, PROCNAME, "rolledBack")); - assertNull(BPMNUtil.getVariable(processEngineRule, PROCNAME, "rollbackError")); - } - - @Test - @Deployment(resources = { - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/DoCreateAllottedResourceBRGRollback.bpmn"}) - public void testDoCreateAllottedResourceBRGRollback_skipRollback() throws Exception { - - MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceBRGRollback/arGetById.xml"); - MockPatchAllottedResource(CUST, SVC, INST, ARID); - MockDeleteAllottedResource(CUST, SVC, INST, ARID, ARVERS); - mockSDNCAdapter(200); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - RollbackData rollbackData = setVariablesSuccess(variables, "testRequestId1"); - - rollbackData.put(RbType, "rollbackAAI", "false"); - rollbackData.put(RbType, "rollbackSDNCassign", "false"); - - invokeSubProcess(PROCNAME, businessKey, variables); - - waitForProcessEnd(businessKey, 10000); - - assertTrue(isProcessEnded(businessKey)); - String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); - System.out.println("workflowException:\n" + workflowException); - assertEquals(null, workflowException); - assertEquals(null, BPMNUtil.getVariable(processEngineRule, PROCNAME, "rolledBack")); - assertNull(BPMNUtil.getVariable(processEngineRule, PROCNAME, "rollbackError")); - } - - @Test - @Deployment(resources = { - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/DoCreateAllottedResourceBRGRollback.bpmn"}) - public void testDoCreateAllottedResourceBRGRollback_DoNotRollBack() throws Exception { - - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - RollbackData rollbackData = setVariablesSuccess(variables, "testRequestId1"); - - // this will cause "rollbackSDNC" to be set to false - rollbackData.put(RbType, "rollbackSDNCassign", "false"); - - invokeSubProcess(PROCNAME, businessKey, variables); - - waitForProcessEnd(businessKey, 10000); - - assertTrue(isProcessEnded(businessKey)); - String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); - System.out.println("workflowException:\n" + workflowException); - assertEquals(null, workflowException); - assertEquals("true", BPMNUtil.getVariable(processEngineRule, PROCNAME, "rolledBack")); - assertNull(BPMNUtil.getVariable(processEngineRule, PROCNAME, "rollbackError")); - } - - @Test - @Deployment(resources = { - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/DoCreateAllottedResourceBRGRollback.bpmn"}) - public void testDoCreateAllottedResourceBRGRollback_NoDeactivate() throws Exception { - - MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceBRGRollback/arGetById.xml"); - MockPatchAllottedResource(CUST, SVC, INST, ARID); - MockDeleteAllottedResource(CUST, SVC, INST, ARID, ARVERS); - mockSDNCAdapter(200); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - RollbackData rollbackData = setVariablesSuccess(variables, "testRequestId1"); - - rollbackData.put(RbType, "rollbackSDNCactivate", "false"); - - invokeSubProcess(PROCNAME, businessKey, variables); - - injectSDNCCallbacks(callbacks, "delete"); - injectSDNCCallbacks(callbacks, "unassign"); - - waitForProcessEnd(businessKey, 10000); - - assertTrue(isProcessEnded(businessKey)); - String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); - System.out.println("workflowException:\n" + workflowException); - assertEquals(null, workflowException); - assertEquals("true", BPMNUtil.getVariable(processEngineRule, PROCNAME, "rolledBack")); - assertNull(BPMNUtil.getVariable(processEngineRule, PROCNAME, "rollbackError")); - } - - @Test - @Deployment(resources = { - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/DoCreateAllottedResourceBRGRollback.bpmn"}) - public void testDoCreateAllottedResourceBRGRollback_NoDelete() throws Exception { - - MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceBRGRollback/arGetById.xml"); - MockPatchAllottedResource(CUST, SVC, INST, ARID); - MockDeleteAllottedResource(CUST, SVC, INST, ARID, ARVERS); - mockSDNCAdapter(200); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - RollbackData rollbackData = setVariablesSuccess(variables, "testRequestId1"); - - rollbackData.put(RbType, "rollbackSDNCcreate", "false"); - - invokeSubProcess(PROCNAME, businessKey, variables); - - injectSDNCCallbacks(callbacks, "deactivate"); - injectSDNCCallbacks(callbacks, "unassign"); - - waitForProcessEnd(businessKey, 10000); - - assertTrue(isProcessEnded(businessKey)); - String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); - System.out.println("workflowException:\n" + workflowException); - assertEquals(null, workflowException); - assertEquals("true", BPMNUtil.getVariable(processEngineRule, PROCNAME, "rolledBack")); - assertNull(BPMNUtil.getVariable(processEngineRule, PROCNAME, "rollbackError")); - } - - @Test - @Deployment(resources = { - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/DoCreateAllottedResourceBRGRollback.bpmn"}) - public void testDoCreateAllottedResourceBRGRollback_NoUnassign() throws Exception { - - MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceBRGRollback/arGetById.xml"); - MockPatchAllottedResource(CUST, SVC, INST, ARID); - MockDeleteAllottedResource(CUST, SVC, INST, ARID, ARVERS); - mockSDNCAdapter(200); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - RollbackData rollbackData = setVariablesSuccess(variables, "testRequestId1"); - - rollbackData.put(RbType, "rollbackSDNCassign", "false"); - + private static final String PROCNAME = "DoCreateAllottedResourceBRGRollback"; + private static final String RbType = "DCARBRG_"; + private final CallbackSet callbacks = new CallbackSet(); + + public DoCreateAllottedResourceBRGRollbackTest() throws IOException { + callbacks.put("deactivate", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeactivateCallback.xml")); + callbacks.put("delete", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeleteCallback.xml")); + callbacks.put("unassign", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyUnassignCallback.xml")); + } + + @Test + @Deployment(resources = { + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/DoCreateAllottedResourceBRGRollback.bpmn"}) + public void testDoCreateAllottedResourceBRGRollback_Success() throws Exception { + + MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceBRGRollback/arGetById.xml"); + MockPatchAllottedResource(CUST, SVC, INST, ARID); + MockDeleteAllottedResource(CUST, SVC, INST, ARID, ARVERS); + mockSDNCAdapter(200); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariablesSuccess(variables, "testRequestId1"); + + invokeSubProcess(PROCNAME, businessKey, variables); + + injectSDNCCallbacks(callbacks, "deactivate"); + injectSDNCCallbacks(callbacks, "delete"); + injectSDNCCallbacks(callbacks, "unassign"); + + waitForProcessEnd(businessKey, 10000); + + assertTrue(isProcessEnded(businessKey)); + String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); + System.out.println("workflowException:\n" + workflowException); + assertEquals(null, workflowException); + assertEquals("true", BPMNUtil.getVariable(processEngineRule, PROCNAME, "rolledBack")); + assertNull(BPMNUtil.getVariable(processEngineRule, PROCNAME, "rollbackError")); + } + + @Test + @Deployment(resources = { + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/DoCreateAllottedResourceBRGRollback.bpmn"}) + public void testDoCreateAllottedResourceBRGRollback_skipRollback() throws Exception { + + MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceBRGRollback/arGetById.xml"); + MockPatchAllottedResource(CUST, SVC, INST, ARID); + MockDeleteAllottedResource(CUST, SVC, INST, ARID, ARVERS); + mockSDNCAdapter(200); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + RollbackData rollbackData = setVariablesSuccess(variables, "testRequestId1"); + + rollbackData.put(RbType, "rollbackAAI", "false"); + rollbackData.put(RbType, "rollbackSDNCassign", "false"); + + invokeSubProcess(PROCNAME, businessKey, variables); + + waitForProcessEnd(businessKey, 10000); + + assertTrue(isProcessEnded(businessKey)); + String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); + System.out.println("workflowException:\n" + workflowException); + assertEquals(null, workflowException); + assertEquals(null, BPMNUtil.getVariable(processEngineRule, PROCNAME, "rolledBack")); + assertNull(BPMNUtil.getVariable(processEngineRule, PROCNAME, "rollbackError")); + } + + @Test + @Deployment(resources = { + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/DoCreateAllottedResourceBRGRollback.bpmn"}) + public void testDoCreateAllottedResourceBRGRollback_DoNotRollBack() throws Exception { + + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + RollbackData rollbackData = setVariablesSuccess(variables, "testRequestId1"); + + // this will cause "rollbackSDNC" to be set to false + rollbackData.put(RbType, "rollbackSDNCassign", "false"); + + invokeSubProcess(PROCNAME, businessKey, variables); + + waitForProcessEnd(businessKey, 10000); + + assertTrue(isProcessEnded(businessKey)); + String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); + System.out.println("workflowException:\n" + workflowException); + assertEquals(null, workflowException); + assertEquals("true", BPMNUtil.getVariable(processEngineRule, PROCNAME, "rolledBack")); + assertNull(BPMNUtil.getVariable(processEngineRule, PROCNAME, "rollbackError")); + } + + @Test + @Deployment(resources = { + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/DoCreateAllottedResourceBRGRollback.bpmn"}) + public void testDoCreateAllottedResourceBRGRollback_NoDeactivate() throws Exception { + + MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceBRGRollback/arGetById.xml"); + MockPatchAllottedResource(CUST, SVC, INST, ARID); + MockDeleteAllottedResource(CUST, SVC, INST, ARID, ARVERS); + mockSDNCAdapter(200); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + RollbackData rollbackData = setVariablesSuccess(variables, "testRequestId1"); + + rollbackData.put(RbType, "rollbackSDNCactivate", "false"); + + invokeSubProcess(PROCNAME, businessKey, variables); + + injectSDNCCallbacks(callbacks, "delete"); + injectSDNCCallbacks(callbacks, "unassign"); + + waitForProcessEnd(businessKey, 10000); + + assertTrue(isProcessEnded(businessKey)); + String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); + System.out.println("workflowException:\n" + workflowException); + assertEquals(null, workflowException); + assertEquals("true", BPMNUtil.getVariable(processEngineRule, PROCNAME, "rolledBack")); + assertNull(BPMNUtil.getVariable(processEngineRule, PROCNAME, "rollbackError")); + } + + @Test + @Deployment(resources = { + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/DoCreateAllottedResourceBRGRollback.bpmn"}) + public void testDoCreateAllottedResourceBRGRollback_NoDelete() throws Exception { + + MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceBRGRollback/arGetById.xml"); + MockPatchAllottedResource(CUST, SVC, INST, ARID); + MockDeleteAllottedResource(CUST, SVC, INST, ARID, ARVERS); + mockSDNCAdapter(200); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + RollbackData rollbackData = setVariablesSuccess(variables, "testRequestId1"); + + rollbackData.put(RbType, "rollbackSDNCcreate", "false"); + + invokeSubProcess(PROCNAME, businessKey, variables); + + injectSDNCCallbacks(callbacks, "deactivate"); + injectSDNCCallbacks(callbacks, "unassign"); + + waitForProcessEnd(businessKey, 10000); + + assertTrue(isProcessEnded(businessKey)); + String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); + System.out.println("workflowException:\n" + workflowException); + assertEquals(null, workflowException); + assertEquals("true", BPMNUtil.getVariable(processEngineRule, PROCNAME, "rolledBack")); + assertNull(BPMNUtil.getVariable(processEngineRule, PROCNAME, "rollbackError")); + } + + @Test + @Deployment(resources = { + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/DoCreateAllottedResourceBRGRollback.bpmn"}) + public void testDoCreateAllottedResourceBRGRollback_NoUnassign() throws Exception { + + MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceBRGRollback/arGetById.xml"); + MockPatchAllottedResource(CUST, SVC, INST, ARID); + MockDeleteAllottedResource(CUST, SVC, INST, ARID, ARVERS); + mockSDNCAdapter(200); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + RollbackData rollbackData = setVariablesSuccess(variables, "testRequestId1"); + + rollbackData.put(RbType, "rollbackSDNCassign", "false"); + /* * Note: if assign == false then the flow/script will set * "skipRollback" to false, which will cause ALL of the SDNC steps * to be skipped, not just the unassign step. */ - - invokeSubProcess(PROCNAME, businessKey, variables); - - waitForProcessEnd(businessKey, 10000); - - assertTrue(isProcessEnded(businessKey)); - String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); - System.out.println("workflowException:\n" + workflowException); - assertEquals(null, workflowException); - assertEquals("true", BPMNUtil.getVariable(processEngineRule, PROCNAME, "rolledBack")); - assertNull(BPMNUtil.getVariable(processEngineRule, PROCNAME, "rollbackError")); - } - - @Test - @Deployment(resources = { - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/DoCreateAllottedResourceBRGRollback.bpmn"}) - public void testDoCreateAllottedResourceBRGRollback_SubProcessError() throws Exception { - - MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceBRGRollback/arGetById.xml"); - MockPatchAllottedResource(CUST, SVC, INST, ARID); - MockDeleteAllottedResource(CUST, SVC, INST, ARID, ARVERS); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - mockSDNCAdapter(404); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - setVariablesSuccess(variables, "testRequestId1"); - - invokeSubProcess(PROCNAME, businessKey, variables); - - waitForProcessEnd(businessKey, 10000); - - assertTrue(isProcessEnded(businessKey)); - String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); - System.out.println("workflowException:\n" + workflowException); - assertEquals(null, workflowException); - assertEquals("false", BPMNUtil.getVariable(processEngineRule, PROCNAME, "rolledBack")); - assertNotNull(BPMNUtil.getVariable(processEngineRule, PROCNAME, "rollbackError")); - } - - @Test - @Deployment(resources = { - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/DoCreateAllottedResourceBRGRollback.bpmn"}) - public void testDoCreateAllottedResourceBRGRollback_JavaException() throws Exception { - - MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceBRGRollback/arGetById.xml"); - MockPatchAllottedResource(CUST, SVC, INST, ARID); - MockDeleteAllottedResource(CUST, SVC, INST, ARID, ARVERS); - mockSDNCAdapter(200); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - setVariablesSuccess(variables, "testRequestId1"); - - variables.put("rollbackData", "string instead of rollback data"); - - invokeSubProcess(PROCNAME, businessKey, variables); - - waitForProcessEnd(businessKey, 10000); - - assertTrue(isProcessEnded(businessKey)); - String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); - System.out.println("workflowException:\n" + workflowException); - assertEquals(null, workflowException); - assertEquals("false", BPMNUtil.getVariable(processEngineRule, PROCNAME, "rolledBack")); - assertNotNull(BPMNUtil.getVariable(processEngineRule, PROCNAME, "rollbackError")); - } - - private RollbackData setVariablesSuccess(Map variables, String requestId) { - variables.put("isDebugLogEnabled", "true"); - variables.put("failNotFound", "true"); - variables.put("msoRequestId", requestId); - variables.put("mso-request-id", "requestId"); - variables.put("allottedResourceId", ARID); - - variables.put("serviceInstanceId", DEC_INST); - variables.put("parentServiceInstanceId", DEC_PARENT_INST); - - RollbackData rollbackData = new RollbackData(); - - rollbackData.put(RbType, "serviceInstanceId", DEC_INST); - rollbackData.put(RbType, "serviceSubscriptionType", SVC); - rollbackData.put(RbType, "disablerollback", "false"); - rollbackData.put(RbType, "rollbackAAI", "true"); - rollbackData.put(RbType, "rollbackSDNCassign", "true"); - rollbackData.put(RbType, "rollbackSDNCactivate", "true"); - rollbackData.put(RbType, "rollbackSDNCcreate", "true"); - rollbackData.put(RbType, "aaiARPath", "http://localhost:28090/aai/v9/business/customers/customer/" + CUST + "/service-subscriptions/service-subscription/" + SVC + "/service-instances/service-instance/" + INST + "/allotted-resources/allotted-resource/" + ARID); - - rollbackData.put(RbType, "sdncActivateRollbackReq", FileUtil.readResourceFile("__files/VCPE/DoCreateAllottedResourceBRGRollback/sdncActivateRollbackReq.xml")); - rollbackData.put(RbType, "sdncCreateRollbackReq", FileUtil.readResourceFile("__files/VCPE/DoCreateAllottedResourceBRGRollback/sdncCreateRollbackReq.xml")); - rollbackData.put(RbType, "sdncAssignRollbackReq", FileUtil.readResourceFile("__files/VCPE/DoCreateAllottedResourceBRGRollback/sdncAssignRollbackReq.xml")); - - variables.put("rollbackData", rollbackData); - - return rollbackData; - } + + invokeSubProcess(PROCNAME, businessKey, variables); + + waitForProcessEnd(businessKey, 10000); + + assertTrue(isProcessEnded(businessKey)); + String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); + System.out.println("workflowException:\n" + workflowException); + assertEquals(null, workflowException); + assertEquals("true", BPMNUtil.getVariable(processEngineRule, PROCNAME, "rolledBack")); + assertNull(BPMNUtil.getVariable(processEngineRule, PROCNAME, "rollbackError")); + } + + @Test + @Deployment(resources = { + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/DoCreateAllottedResourceBRGRollback.bpmn"}) + public void testDoCreateAllottedResourceBRGRollback_SubProcessError() throws Exception { + + MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceBRGRollback/arGetById.xml"); + MockPatchAllottedResource(CUST, SVC, INST, ARID); + MockDeleteAllottedResource(CUST, SVC, INST, ARID, ARVERS); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + mockSDNCAdapter(404); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariablesSuccess(variables, "testRequestId1"); + + invokeSubProcess(PROCNAME, businessKey, variables); + + waitForProcessEnd(businessKey, 10000); + + assertTrue(isProcessEnded(businessKey)); + String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); + System.out.println("workflowException:\n" + workflowException); + assertEquals(null, workflowException); + assertEquals("false", BPMNUtil.getVariable(processEngineRule, PROCNAME, "rolledBack")); + assertNotNull(BPMNUtil.getVariable(processEngineRule, PROCNAME, "rollbackError")); + } + + @Test + @Deployment(resources = { + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/DoCreateAllottedResourceBRGRollback.bpmn"}) + public void testDoCreateAllottedResourceBRGRollback_JavaException() throws Exception { + + MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceBRGRollback/arGetById.xml"); + MockPatchAllottedResource(CUST, SVC, INST, ARID); + MockDeleteAllottedResource(CUST, SVC, INST, ARID, ARVERS); + mockSDNCAdapter(200); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariablesSuccess(variables, "testRequestId1"); + + variables.put("rollbackData", "string instead of rollback data"); + + invokeSubProcess(PROCNAME, businessKey, variables); + + waitForProcessEnd(businessKey, 10000); + + assertTrue(isProcessEnded(businessKey)); + String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); + System.out.println("workflowException:\n" + workflowException); + assertEquals(null, workflowException); + assertEquals("false", BPMNUtil.getVariable(processEngineRule, PROCNAME, "rolledBack")); + assertNotNull(BPMNUtil.getVariable(processEngineRule, PROCNAME, "rollbackError")); + } + + private RollbackData setVariablesSuccess(Map variables, String requestId) { + variables.put("isDebugLogEnabled", "true"); + variables.put("failNotFound", "true"); + variables.put("msoRequestId", requestId); + variables.put("mso-request-id", "requestId"); + variables.put("allottedResourceId", ARID); + + variables.put("serviceInstanceId", DEC_INST); + variables.put("parentServiceInstanceId", DEC_PARENT_INST); + + RollbackData rollbackData = new RollbackData(); + + rollbackData.put(RbType, "serviceInstanceId", DEC_INST); + rollbackData.put(RbType, "serviceSubscriptionType", SVC); + rollbackData.put(RbType, "disablerollback", "false"); + rollbackData.put(RbType, "rollbackAAI", "true"); + rollbackData.put(RbType, "rollbackSDNCassign", "true"); + rollbackData.put(RbType, "rollbackSDNCactivate", "true"); + rollbackData.put(RbType, "rollbackSDNCcreate", "true"); + rollbackData.put(RbType, "aaiARPath", "http://localhost:28090/aai/v9/business/customers/customer/"+CUST+"/service-subscriptions/service-subscription/"+SVC+"/service-instances/service-instance/"+INST+"/allotted-resources/allotted-resource/"+ARID); + + rollbackData.put(RbType, "sdncActivateRollbackReq", FileUtil.readResourceFile("__files/VCPE/DoCreateAllottedResourceBRGRollback/sdncActivateRollbackReq.xml")); + rollbackData.put(RbType, "sdncCreateRollbackReq", FileUtil.readResourceFile("__files/VCPE/DoCreateAllottedResourceBRGRollback/sdncCreateRollbackReq.xml")); + rollbackData.put(RbType, "sdncAssignRollbackReq", FileUtil.readResourceFile("__files/VCPE/DoCreateAllottedResourceBRGRollback/sdncAssignRollbackReq.xml")); + + variables.put("rollbackData",rollbackData); + + return rollbackData; + } } diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/vcpe/DoCreateAllottedResourceBRGTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/vcpe/DoCreateAllottedResourceBRGTest.java index 7b858c464e..0373266ce1 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/vcpe/DoCreateAllottedResourceBRGTest.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/vcpe/DoCreateAllottedResourceBRGTest.java @@ -43,254 +43,254 @@ import org.openecomp.mso.bpmn.mock.FileUtil; public class DoCreateAllottedResourceBRGTest extends AbstractTestBase { - private static final String PROCNAME = "DoCreateAllottedResourceBRG"; - private final CallbackSet callbacks = new CallbackSet(); - - public DoCreateAllottedResourceBRGTest() throws IOException { - callbacks.put("assign", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyAssignCallback.xml")); - callbacks.put("create", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyCreateCallback.xml")); - callbacks.put("activate", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyActivateCallback.xml")); - callbacks.put("query", FileUtil.readResourceFile("__files/VCPE/DoCreateAllottedResourceBRG/SDNCTopologyQueryCallback.xml")); - } - - @Test - @Deployment(resources = { - "subprocess/GenericGetService.bpmn", - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/DoCreateAllottedResourceBRG.bpmn", - "subprocess/DoCreateAllottedResourceBRGRollback.bpmn"}) - public void testDoCreateAllottedResourceBRG_Success() throws Exception { - - // TODO: use INST instead of DEC_INST - /* + private static final String PROCNAME = "DoCreateAllottedResourceBRG"; + private final CallbackSet callbacks = new CallbackSet(); + + public DoCreateAllottedResourceBRGTest() throws IOException { + callbacks.put("assign", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyAssignCallback.xml")); + callbacks.put("create", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyCreateCallback.xml")); + callbacks.put("activate", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyActivateCallback.xml")); + callbacks.put("query", FileUtil.readResourceFile("__files/VCPE/DoCreateAllottedResourceBRG/SDNCTopologyQueryCallback.xml")); + } + + @Test + @Deployment(resources = { + "subprocess/GenericGetService.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/DoCreateAllottedResourceBRG.bpmn", + "subprocess/DoCreateAllottedResourceBRGRollback.bpmn"}) + public void testDoCreateAllottedResourceBRG_Success() throws Exception{ + + // TODO: use INST instead of DEC_INST + /* * should be INST instead of DEC_INST, but AAI utilities appear to * have a bug in that they don't URL-encode the SI id before using * it in the query */ - MockNodeQueryServiceInstanceById(DEC_INST, "GenericFlows/getSIUrlById.xml"); - MockNodeQueryServiceInstanceById(DEC_PARENT_INST, "GenericFlows/getParentSIUrlById.xml"); - - MockGetServiceInstance(CUST, SVC, INST, "GenericFlows/getServiceInstance.xml"); - MockGetServiceInstance(CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml"); - MockPutAllottedResource(CUST, SVC, PARENT_INST, ARID); - MockPatchAllottedResource(CUST, SVC, PARENT_INST, ARID); - mockSDNCAdapter(200); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - setVariablesSuccess(variables, "testRequestId123"); - - invokeSubProcess(PROCNAME, businessKey, variables); - - injectSDNCCallbacks(callbacks, "assign"); - injectSDNCCallbacks(callbacks, "create"); - injectSDNCCallbacks(callbacks, "activate"); - injectSDNCCallbacks(callbacks, "query"); - - waitForProcessEnd(businessKey, 10000); - - Assert.assertTrue(isProcessEnded(businessKey)); - String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); - assertEquals(null, workflowException); - - assertEquals("namefromrequest", BPMNUtil.getVariable(processEngineRule, PROCNAME, "allotedResourceName")); - } - - @Test - @Deployment(resources = { - "subprocess/GenericGetService.bpmn", - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/DoCreateAllottedResourceBRG.bpmn", - "subprocess/DoCreateAllottedResourceBRGRollback.bpmn"}) - public void testDoCreateAllottedResourceBRG_NoSI() throws Exception { - - // TODO: use INST instead of DEC_INST + MockNodeQueryServiceInstanceById(DEC_INST, "GenericFlows/getSIUrlById.xml"); + MockNodeQueryServiceInstanceById(DEC_PARENT_INST, "GenericFlows/getParentSIUrlById.xml"); + + MockGetServiceInstance(CUST, SVC, INST, "GenericFlows/getServiceInstance.xml"); + MockGetServiceInstance(CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml"); + MockPutAllottedResource(CUST, SVC, PARENT_INST, ARID); + MockPatchAllottedResource(CUST, SVC, PARENT_INST, ARID); + mockSDNCAdapter(200); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariablesSuccess(variables, "testRequestId123"); + + invokeSubProcess(PROCNAME, businessKey, variables); + + injectSDNCCallbacks(callbacks, "assign"); + injectSDNCCallbacks(callbacks, "create"); + injectSDNCCallbacks(callbacks, "activate"); + injectSDNCCallbacks(callbacks, "query"); + + waitForProcessEnd(businessKey, 10000); + + Assert.assertTrue(isProcessEnded(businessKey)); + String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); + assertEquals(null, workflowException); + + assertEquals("namefromrequest", BPMNUtil.getVariable(processEngineRule, PROCNAME, "allotedResourceName")); + } + + @Test + @Deployment(resources = { + "subprocess/GenericGetService.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/DoCreateAllottedResourceBRG.bpmn", + "subprocess/DoCreateAllottedResourceBRGRollback.bpmn"}) + public void testDoCreateAllottedResourceBRG_NoSI() throws Exception{ + + // TODO: use INST instead of DEC_INST /* * should be INST instead of DEC_INST, but AAI utilities appear to * have a bug in that they don't URL-encode the SI id before using * it in the query */ - MockNodeQueryServiceInstanceById(DEC_INST, "GenericFlows/getNotFound.xml"); - MockNodeQueryServiceInstanceById(DEC_PARENT_INST, "GenericFlows/getParentSIUrlById.xml"); - - MockGetServiceInstance(CUST, SVC, INST, "GenericFlows/getServiceInstance.xml"); - MockGetServiceInstance(CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml"); - MockPutAllottedResource(CUST, SVC, PARENT_INST, ARID); - MockPatchAllottedResource(CUST, SVC, PARENT_INST, ARID); - mockSDNCAdapter(200); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - setVariablesSuccess(variables, "testRequestId123"); - - invokeSubProcess(PROCNAME, businessKey, variables); - - waitForProcessEnd(businessKey, 10000); - - Assert.assertTrue(isProcessEnded(businessKey)); - String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); - assertNotNull(workflowException); - - assertEquals(null, BPMNUtil.getVariable(processEngineRule, PROCNAME, "allotedResourceName")); - } - - @Test - @Deployment(resources = { - "subprocess/GenericGetService.bpmn", - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/DoCreateAllottedResourceBRG.bpmn", - "subprocess/DoCreateAllottedResourceBRGRollback.bpmn"}) - public void testDoCreateAllottedResourceBRG_ActiveAr() throws Exception { - - // TODO: use INST instead of DEC_INST + MockNodeQueryServiceInstanceById(DEC_INST, "GenericFlows/getNotFound.xml"); + MockNodeQueryServiceInstanceById(DEC_PARENT_INST, "GenericFlows/getParentSIUrlById.xml"); + + MockGetServiceInstance(CUST, SVC, INST, "GenericFlows/getServiceInstance.xml"); + MockGetServiceInstance(CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml"); + MockPutAllottedResource(CUST, SVC, PARENT_INST, ARID); + MockPatchAllottedResource(CUST, SVC, PARENT_INST, ARID); + mockSDNCAdapter(200); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariablesSuccess(variables, "testRequestId123"); + + invokeSubProcess(PROCNAME, businessKey, variables); + + waitForProcessEnd(businessKey, 10000); + + Assert.assertTrue(isProcessEnded(businessKey)); + String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); + assertNotNull(workflowException); + + assertEquals(null, BPMNUtil.getVariable(processEngineRule, PROCNAME, "allotedResourceName")); + } + + @Test + @Deployment(resources = { + "subprocess/GenericGetService.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/DoCreateAllottedResourceBRG.bpmn", + "subprocess/DoCreateAllottedResourceBRGRollback.bpmn"}) + public void testDoCreateAllottedResourceBRG_ActiveAr() throws Exception{ + + // TODO: use INST instead of DEC_INST /* * should be INST instead of DEC_INST, but AAI utilities appear to * have a bug in that they don't URL-encode the SI id before using * it in the query */ - MockNodeQueryServiceInstanceById(DEC_INST, "GenericFlows/getSIUrlById.xml"); - MockNodeQueryServiceInstanceById(DEC_PARENT_INST, "GenericFlows/getParentSIUrlById.xml"); - - MockGetServiceInstance(CUST, SVC, INST, "VCPE/DoCreateAllottedResourceBRG/getSIandAR.xml"); - MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceBRG/getArBrg2.xml"); - MockGetServiceInstance(CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml"); - MockPutAllottedResource(CUST, SVC, PARENT_INST, ARID); - MockPatchAllottedResource(CUST, SVC, PARENT_INST, ARID); - mockSDNCAdapter(200); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - setVariablesSuccess(variables, "testRequestId123"); - - variables.put("failExists", "false"); - - invokeSubProcess(PROCNAME, businessKey, variables); - - injectSDNCCallbacks(callbacks, "query"); - - waitForProcessEnd(businessKey, 10000); - - Assert.assertTrue(isProcessEnded(businessKey)); - String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); - assertEquals(null, workflowException); - - assertEquals("namefromrequest", BPMNUtil.getVariable(processEngineRule, PROCNAME, "allotedResourceName")); - } - - @Test - @Deployment(resources = { - "subprocess/GenericGetService.bpmn", - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/DoCreateAllottedResourceBRG.bpmn", - "subprocess/DoCreateAllottedResourceBRGRollback.bpmn"}) - public void testDoCreateAllottedResourceBRG_NoParentSI() throws Exception { - - // TODO: use INST instead of DEC_INST + MockNodeQueryServiceInstanceById(DEC_INST, "GenericFlows/getSIUrlById.xml"); + MockNodeQueryServiceInstanceById(DEC_PARENT_INST, "GenericFlows/getParentSIUrlById.xml"); + + MockGetServiceInstance(CUST, SVC, INST, "VCPE/DoCreateAllottedResourceBRG/getSIandAR.xml"); + MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceBRG/getArBrg2.xml"); + MockGetServiceInstance(CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml"); + MockPutAllottedResource(CUST, SVC, PARENT_INST, ARID); + MockPatchAllottedResource(CUST, SVC, PARENT_INST, ARID); + mockSDNCAdapter(200); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariablesSuccess(variables, "testRequestId123"); + + variables.put("failExists", "false"); + + invokeSubProcess(PROCNAME, businessKey, variables); + + injectSDNCCallbacks(callbacks, "query"); + + waitForProcessEnd(businessKey, 10000); + + Assert.assertTrue(isProcessEnded(businessKey)); + String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); + assertEquals(null, workflowException); + + assertEquals("namefromrequest", BPMNUtil.getVariable(processEngineRule, PROCNAME, "allotedResourceName")); + } + + @Test + @Deployment(resources = { + "subprocess/GenericGetService.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/DoCreateAllottedResourceBRG.bpmn", + "subprocess/DoCreateAllottedResourceBRGRollback.bpmn"}) + public void testDoCreateAllottedResourceBRG_NoParentSI() throws Exception{ + + // TODO: use INST instead of DEC_INST /* * should be INST instead of DEC_INST, but AAI utilities appear to * have a bug in that they don't URL-encode the SI id before using * it in the query */ - MockNodeQueryServiceInstanceById(DEC_INST, "GenericFlows/getSIUrlById.xml"); - MockNodeQueryServiceInstanceById(DEC_PARENT_INST, "GenericFlows/getNotFound.xml"); - - MockGetServiceInstance(CUST, SVC, INST, "GenericFlows/getServiceInstance.xml"); - MockGetServiceInstance(CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml"); - MockPutAllottedResource(CUST, SVC, PARENT_INST, ARID); - MockPatchAllottedResource(CUST, SVC, PARENT_INST, ARID); - mockSDNCAdapter(200); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - setVariablesSuccess(variables, "testRequestId123"); - - invokeSubProcess(PROCNAME, businessKey, variables); - - waitForProcessEnd(businessKey, 10000); - - Assert.assertTrue(isProcessEnded(businessKey)); - String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); - assertNotNull(workflowException); - - assertEquals(null, BPMNUtil.getVariable(processEngineRule, PROCNAME, "allotedResourceName")); - } - - @Test - @Deployment(resources = { - "subprocess/GenericGetService.bpmn", - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/DoCreateAllottedResourceBRG.bpmn", - "subprocess/DoCreateAllottedResourceBRGRollback.bpmn"}) - public void testDoCreateAllottedResourceBRG_SubProcessError() throws Exception { - - // TODO: use INST instead of DEC_INST + MockNodeQueryServiceInstanceById(DEC_INST, "GenericFlows/getSIUrlById.xml"); + MockNodeQueryServiceInstanceById(DEC_PARENT_INST, "GenericFlows/getNotFound.xml"); + + MockGetServiceInstance(CUST, SVC, INST, "GenericFlows/getServiceInstance.xml"); + MockGetServiceInstance(CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml"); + MockPutAllottedResource(CUST, SVC, PARENT_INST, ARID); + MockPatchAllottedResource(CUST, SVC, PARENT_INST, ARID); + mockSDNCAdapter(200); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariablesSuccess(variables, "testRequestId123"); + + invokeSubProcess(PROCNAME, businessKey, variables); + + waitForProcessEnd(businessKey, 10000); + + Assert.assertTrue(isProcessEnded(businessKey)); + String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); + assertNotNull(workflowException); + + assertEquals(null, BPMNUtil.getVariable(processEngineRule, PROCNAME, "allotedResourceName")); + } + + @Test + @Deployment(resources = { + "subprocess/GenericGetService.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/DoCreateAllottedResourceBRG.bpmn", + "subprocess/DoCreateAllottedResourceBRGRollback.bpmn"}) + public void testDoCreateAllottedResourceBRG_SubProcessError() throws Exception{ + + // TODO: use INST instead of DEC_INST /* * should be INST instead of DEC_INST, but AAI utilities appear to * have a bug in that they don't URL-encode the SI id before using * it in the query */ - MockNodeQueryServiceInstanceById(DEC_INST, "GenericFlows/getSIUrlById.xml"); - MockNodeQueryServiceInstanceById(DEC_PARENT_INST, "GenericFlows/getParentSIUrlById.xml"); - - MockGetServiceInstance(CUST, SVC, INST, "GenericFlows/getServiceInstance.xml"); - MockGetServiceInstance(CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml"); - MockPutAllottedResource(CUST, SVC, PARENT_INST, ARID); - MockPatchAllottedResource(CUST, SVC, PARENT_INST, ARID); - mockSDNCAdapter(404); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - setVariablesSuccess(variables, "testRequestId123"); - - invokeSubProcess(PROCNAME, businessKey, variables); - - waitForProcessEnd(businessKey, 10000); - - Assert.assertTrue(isProcessEnded(businessKey)); - String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); - assertNotNull(workflowException); - - assertEquals(null, BPMNUtil.getVariable(processEngineRule, PROCNAME, "allotedResourceName")); - } - - private void setVariablesSuccess(Map variables, String requestId) { - variables.put("isDebugLogEnabled", "true"); - variables.put("failExists", "true"); - variables.put("disableRollback", "true"); - variables.put("msoRequestId", requestId); - variables.put("mso-request-id", "requestId"); - variables.put("sourceNetworkId", "snId"); - variables.put("sourceNetworkRole", "snRole"); - variables.put("allottedResourceRole", "txc"); - variables.put("allottedResourceType", "BRG"); - variables.put("allottedResourceId", ARID); - variables.put("vni", "BRG"); - variables.put("vgmuxBearerIP", "bearerip"); - variables.put("brgWanMacAddress", "wanmac"); - - variables.put("serviceInstanceId", DEC_INST); - variables.put("parentServiceInstanceId", DEC_PARENT_INST); - - variables.put("serviceChainServiceInstanceId", "scsiId"); - - String arModelInfo = "{ " + "\"modelType\": \"allotted-resource\"," + - "\"modelInvariantUuid\": \"ff5256d2-5a33-55df-13ab-12abad84e7ff\"," + - "\"modelUuid\": \"fe6478e5-ea33-3346-ac12-ab121484a3fe\"," + - "\"modelName\": \"vSAMP12\"," + - "\"modelVersion\": \"1.0\"," + - "\"modelCustomizationUuid\": \"MODEL-ID-1234\"," + - "}"; - variables.put("allottedResourceModelInfo", arModelInfo); - } + MockNodeQueryServiceInstanceById(DEC_INST, "GenericFlows/getSIUrlById.xml"); + MockNodeQueryServiceInstanceById(DEC_PARENT_INST, "GenericFlows/getParentSIUrlById.xml"); + + MockGetServiceInstance(CUST, SVC, INST, "GenericFlows/getServiceInstance.xml"); + MockGetServiceInstance(CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml"); + MockPutAllottedResource(CUST, SVC, PARENT_INST, ARID); + MockPatchAllottedResource(CUST, SVC, PARENT_INST, ARID); + mockSDNCAdapter(404); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariablesSuccess(variables, "testRequestId123"); + + invokeSubProcess(PROCNAME, businessKey, variables); + + waitForProcessEnd(businessKey, 10000); + + Assert.assertTrue(isProcessEnded(businessKey)); + String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); + assertNotNull(workflowException); + + assertEquals(null, BPMNUtil.getVariable(processEngineRule, PROCNAME, "allotedResourceName")); + } + + private void setVariablesSuccess(Map variables, String requestId) { + variables.put("isDebugLogEnabled", "true"); + variables.put("failExists", "true"); + variables.put("disableRollback", "true"); + variables.put("msoRequestId", requestId); + variables.put("mso-request-id", "requestId"); + variables.put("sourceNetworkId", "snId"); + variables.put("sourceNetworkRole", "snRole"); + variables.put("allottedResourceRole", "txc"); + variables.put("allottedResourceType", "BRG"); + variables.put("allottedResourceId", ARID); + variables.put("vni", "BRG"); + variables.put("vgmuxBearerIP", "bearerip"); + variables.put("brgWanMacAddress", "wanmac"); + + variables.put("serviceInstanceId", DEC_INST); + variables.put("parentServiceInstanceId", DEC_PARENT_INST); + + variables.put("serviceChainServiceInstanceId", "scsiId"); + + String arModelInfo = "{ "+ "\"modelType\": \"allotted-resource\"," + + "\"modelInvariantUuid\": \"ff5256d2-5a33-55df-13ab-12abad84e7ff\"," + + "\"modelUuid\": \"fe6478e5-ea33-3346-ac12-ab121484a3fe\"," + + "\"modelName\": \"vSAMP12\"," + + "\"modelVersion\": \"1.0\"," + + "\"modelCustomizationUuid\": \"MODEL-ID-1234\"," + + "}"; + variables.put("allottedResourceModelInfo", arModelInfo); + } } diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/vcpe/DoCreateAllottedResourceTXCRollbackTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/vcpe/DoCreateAllottedResourceTXCRollbackTest.java index b8b0130159..cdce56ee63 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/vcpe/DoCreateAllottedResourceTXCRollbackTest.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/vcpe/DoCreateAllottedResourceTXCRollbackTest.java @@ -43,303 +43,303 @@ import org.openecomp.mso.bpmn.mock.FileUtil; public class DoCreateAllottedResourceTXCRollbackTest extends AbstractTestBase { - private static final String PROCNAME = "DoCreateAllottedResourceTXCRollback"; - private static final String RbType = "DCARTXC_"; - private final CallbackSet callbacks = new CallbackSet(); - - public DoCreateAllottedResourceTXCRollbackTest() throws IOException { - callbacks.put("deactivate", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeactivateCallback.xml")); - callbacks.put("delete", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeleteCallback.xml")); - callbacks.put("unassign", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyUnassignCallback.xml")); - } - - @Test - @Deployment(resources = { - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/DoCreateAllottedResourceTXCRollback.bpmn"}) - public void testDoCreateAllottedResourceTXCRollback_Success() throws Exception { - - MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceTXCRollback/arGetById.xml"); - MockPatchAllottedResource(CUST, SVC, INST, ARID); - MockDeleteAllottedResource(CUST, SVC, INST, ARID, ARVERS); - mockSDNCAdapter(200); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - setVariablesSuccess(variables, "testRequestId1"); - - invokeSubProcess(PROCNAME, businessKey, variables); - - injectSDNCCallbacks(callbacks, "deactivate"); - injectSDNCCallbacks(callbacks, "delete"); - injectSDNCCallbacks(callbacks, "unassign"); - - waitForProcessEnd(businessKey, 10000); - - assertTrue(isProcessEnded(businessKey)); - String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); - System.out.println("workflowException:\n" + workflowException); - assertEquals(null, workflowException); - assertEquals("true", BPMNUtil.getVariable(processEngineRule, PROCNAME, "rolledBack")); - assertNull(BPMNUtil.getVariable(processEngineRule, PROCNAME, "rollbackError")); - } - - @Test - @Deployment(resources = { - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/DoCreateAllottedResourceTXCRollback.bpmn"}) - public void testDoCreateAllottedResourceTXCRollback_skipRollback() throws Exception { - - MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceTXCRollback/arGetById.xml"); - MockPatchAllottedResource(CUST, SVC, INST, ARID); - MockDeleteAllottedResource(CUST, SVC, INST, ARID, ARVERS); - mockSDNCAdapter(200); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - RollbackData rollbackData = setVariablesSuccess(variables, "testRequestId1"); - - rollbackData.put(RbType, "rollbackAAI", "false"); - rollbackData.put(RbType, "rollbackSDNCassign", "false"); - - invokeSubProcess(PROCNAME, businessKey, variables); - - waitForProcessEnd(businessKey, 10000); - - assertTrue(isProcessEnded(businessKey)); - String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); - System.out.println("workflowException:\n" + workflowException); - assertEquals(null, workflowException); - assertEquals(null, BPMNUtil.getVariable(processEngineRule, PROCNAME, "rolledBack")); - assertNull(BPMNUtil.getVariable(processEngineRule, PROCNAME, "rollbackError")); - } - - @Test - @Deployment(resources = { - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/DoCreateAllottedResourceTXCRollback.bpmn"}) - public void testDoCreateAllottedResourceTXCRollback_DoNotRollBack() throws Exception { - - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - RollbackData rollbackData = setVariablesSuccess(variables, "testRequestId1"); - - // this will cause "rollbackSDNC" to be set to false - rollbackData.put(RbType, "rollbackSDNCassign", "false"); - - invokeSubProcess(PROCNAME, businessKey, variables); - - waitForProcessEnd(businessKey, 10000); - - assertTrue(isProcessEnded(businessKey)); - String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); - System.out.println("workflowException:\n" + workflowException); - assertEquals(null, workflowException); - assertEquals("true", BPMNUtil.getVariable(processEngineRule, PROCNAME, "rolledBack")); - assertNull(BPMNUtil.getVariable(processEngineRule, PROCNAME, "rollbackError")); - } - - @Test - @Deployment(resources = { - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/DoCreateAllottedResourceTXCRollback.bpmn"}) - public void testDoCreateAllottedResourceTXCRollback_NoDeactivate() throws Exception { - - MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceTXCRollback/arGetById.xml"); - MockPatchAllottedResource(CUST, SVC, INST, ARID); - MockDeleteAllottedResource(CUST, SVC, INST, ARID, ARVERS); - mockSDNCAdapter(200); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - RollbackData rollbackData = setVariablesSuccess(variables, "testRequestId1"); - - rollbackData.put(RbType, "rollbackSDNCactivate", "false"); - - invokeSubProcess(PROCNAME, businessKey, variables); - - injectSDNCCallbacks(callbacks, "delete"); - injectSDNCCallbacks(callbacks, "unassign"); - - waitForProcessEnd(businessKey, 10000); - - assertTrue(isProcessEnded(businessKey)); - String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); - System.out.println("workflowException:\n" + workflowException); - assertEquals(null, workflowException); - assertEquals("true", BPMNUtil.getVariable(processEngineRule, PROCNAME, "rolledBack")); - assertNull(BPMNUtil.getVariable(processEngineRule, PROCNAME, "rollbackError")); - } - - @Test - @Deployment(resources = { - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/DoCreateAllottedResourceTXCRollback.bpmn"}) - public void testDoCreateAllottedResourceTXCRollback_NoDelete() throws Exception { - - MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceTXCRollback/arGetById.xml"); - MockPatchAllottedResource(CUST, SVC, INST, ARID); - MockDeleteAllottedResource(CUST, SVC, INST, ARID, ARVERS); - mockSDNCAdapter(200); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - RollbackData rollbackData = setVariablesSuccess(variables, "testRequestId1"); - - rollbackData.put(RbType, "rollbackSDNCcreate", "false"); - - invokeSubProcess(PROCNAME, businessKey, variables); - - injectSDNCCallbacks(callbacks, "deactivate"); - injectSDNCCallbacks(callbacks, "unassign"); - - waitForProcessEnd(businessKey, 10000); - - assertTrue(isProcessEnded(businessKey)); - String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); - System.out.println("workflowException:\n" + workflowException); - assertEquals(null, workflowException); - assertEquals("true", BPMNUtil.getVariable(processEngineRule, PROCNAME, "rolledBack")); - assertNull(BPMNUtil.getVariable(processEngineRule, PROCNAME, "rollbackError")); - } - - @Test - @Deployment(resources = { - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/DoCreateAllottedResourceTXCRollback.bpmn"}) - public void testDoCreateAllottedResourceTXCRollback_NoUnassign() throws Exception { - - MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceTXCRollback/arGetById.xml"); - MockPatchAllottedResource(CUST, SVC, INST, ARID); - MockDeleteAllottedResource(CUST, SVC, INST, ARID, ARVERS); - mockSDNCAdapter(200); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - RollbackData rollbackData = setVariablesSuccess(variables, "testRequestId1"); - - rollbackData.put(RbType, "rollbackSDNCassign", "false"); - + private static final String PROCNAME = "DoCreateAllottedResourceTXCRollback"; + private static final String RbType = "DCARTXC_"; + private final CallbackSet callbacks = new CallbackSet(); + + public DoCreateAllottedResourceTXCRollbackTest() throws IOException { + callbacks.put("deactivate", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeactivateCallback.xml")); + callbacks.put("delete", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeleteCallback.xml")); + callbacks.put("unassign", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyUnassignCallback.xml")); + } + + @Test + @Deployment(resources = { + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/DoCreateAllottedResourceTXCRollback.bpmn"}) + public void testDoCreateAllottedResourceTXCRollback_Success() throws Exception { + + MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceTXCRollback/arGetById.xml"); + MockPatchAllottedResource(CUST, SVC, INST, ARID); + MockDeleteAllottedResource(CUST, SVC, INST, ARID, ARVERS); + mockSDNCAdapter(200); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariablesSuccess(variables, "testRequestId1"); + + invokeSubProcess(PROCNAME, businessKey, variables); + + injectSDNCCallbacks(callbacks, "deactivate"); + injectSDNCCallbacks(callbacks, "delete"); + injectSDNCCallbacks(callbacks, "unassign"); + + waitForProcessEnd(businessKey, 10000); + + assertTrue(isProcessEnded(businessKey)); + String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); + System.out.println("workflowException:\n" + workflowException); + assertEquals(null, workflowException); + assertEquals("true", BPMNUtil.getVariable(processEngineRule, PROCNAME, "rolledBack")); + assertNull(BPMNUtil.getVariable(processEngineRule, PROCNAME, "rollbackError")); + } + + @Test + @Deployment(resources = { + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/DoCreateAllottedResourceTXCRollback.bpmn"}) + public void testDoCreateAllottedResourceTXCRollback_skipRollback() throws Exception { + + MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceTXCRollback/arGetById.xml"); + MockPatchAllottedResource(CUST, SVC, INST, ARID); + MockDeleteAllottedResource(CUST, SVC, INST, ARID, ARVERS); + mockSDNCAdapter(200); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + RollbackData rollbackData = setVariablesSuccess(variables, "testRequestId1"); + + rollbackData.put(RbType, "rollbackAAI", "false"); + rollbackData.put(RbType, "rollbackSDNCassign", "false"); + + invokeSubProcess(PROCNAME, businessKey, variables); + + waitForProcessEnd(businessKey, 10000); + + assertTrue(isProcessEnded(businessKey)); + String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); + System.out.println("workflowException:\n" + workflowException); + assertEquals(null, workflowException); + assertEquals(null, BPMNUtil.getVariable(processEngineRule, PROCNAME, "rolledBack")); + assertNull(BPMNUtil.getVariable(processEngineRule, PROCNAME, "rollbackError")); + } + + @Test + @Deployment(resources = { + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/DoCreateAllottedResourceTXCRollback.bpmn"}) + public void testDoCreateAllottedResourceTXCRollback_DoNotRollBack() throws Exception { + + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + RollbackData rollbackData = setVariablesSuccess(variables, "testRequestId1"); + + // this will cause "rollbackSDNC" to be set to false + rollbackData.put(RbType, "rollbackSDNCassign", "false"); + + invokeSubProcess(PROCNAME, businessKey, variables); + + waitForProcessEnd(businessKey, 10000); + + assertTrue(isProcessEnded(businessKey)); + String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); + System.out.println("workflowException:\n" + workflowException); + assertEquals(null, workflowException); + assertEquals("true", BPMNUtil.getVariable(processEngineRule, PROCNAME, "rolledBack")); + assertNull(BPMNUtil.getVariable(processEngineRule, PROCNAME, "rollbackError")); + } + + @Test + @Deployment(resources = { + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/DoCreateAllottedResourceTXCRollback.bpmn"}) + public void testDoCreateAllottedResourceTXCRollback_NoDeactivate() throws Exception { + + MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceTXCRollback/arGetById.xml"); + MockPatchAllottedResource(CUST, SVC, INST, ARID); + MockDeleteAllottedResource(CUST, SVC, INST, ARID, ARVERS); + mockSDNCAdapter(200); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + RollbackData rollbackData = setVariablesSuccess(variables, "testRequestId1"); + + rollbackData.put(RbType, "rollbackSDNCactivate", "false"); + + invokeSubProcess(PROCNAME, businessKey, variables); + + injectSDNCCallbacks(callbacks, "delete"); + injectSDNCCallbacks(callbacks, "unassign"); + + waitForProcessEnd(businessKey, 10000); + + assertTrue(isProcessEnded(businessKey)); + String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); + System.out.println("workflowException:\n" + workflowException); + assertEquals(null, workflowException); + assertEquals("true", BPMNUtil.getVariable(processEngineRule, PROCNAME, "rolledBack")); + assertNull(BPMNUtil.getVariable(processEngineRule, PROCNAME, "rollbackError")); + } + + @Test + @Deployment(resources = { + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/DoCreateAllottedResourceTXCRollback.bpmn"}) + public void testDoCreateAllottedResourceTXCRollback_NoDelete() throws Exception { + + MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceTXCRollback/arGetById.xml"); + MockPatchAllottedResource(CUST, SVC, INST, ARID); + MockDeleteAllottedResource(CUST, SVC, INST, ARID, ARVERS); + mockSDNCAdapter(200); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + RollbackData rollbackData = setVariablesSuccess(variables, "testRequestId1"); + + rollbackData.put(RbType, "rollbackSDNCcreate", "false"); + + invokeSubProcess(PROCNAME, businessKey, variables); + + injectSDNCCallbacks(callbacks, "deactivate"); + injectSDNCCallbacks(callbacks, "unassign"); + + waitForProcessEnd(businessKey, 10000); + + assertTrue(isProcessEnded(businessKey)); + String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); + System.out.println("workflowException:\n" + workflowException); + assertEquals(null, workflowException); + assertEquals("true", BPMNUtil.getVariable(processEngineRule, PROCNAME, "rolledBack")); + assertNull(BPMNUtil.getVariable(processEngineRule, PROCNAME, "rollbackError")); + } + + @Test + @Deployment(resources = { + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/DoCreateAllottedResourceTXCRollback.bpmn"}) + public void testDoCreateAllottedResourceTXCRollback_NoUnassign() throws Exception { + + MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceTXCRollback/arGetById.xml"); + MockPatchAllottedResource(CUST, SVC, INST, ARID); + MockDeleteAllottedResource(CUST, SVC, INST, ARID, ARVERS); + mockSDNCAdapter(200); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + RollbackData rollbackData = setVariablesSuccess(variables, "testRequestId1"); + + rollbackData.put(RbType, "rollbackSDNCassign", "false"); + /* * Note: if assign == false then the flow/script will set * "skipRollback" to false, which will cause ALL of the SDNC steps * to be skipped, not just the unassign step. */ - - invokeSubProcess(PROCNAME, businessKey, variables); - - waitForProcessEnd(businessKey, 10000); - - assertTrue(isProcessEnded(businessKey)); - String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); - System.out.println("workflowException:\n" + workflowException); - assertEquals(null, workflowException); - assertEquals("true", BPMNUtil.getVariable(processEngineRule, PROCNAME, "rolledBack")); - assertNull(BPMNUtil.getVariable(processEngineRule, PROCNAME, "rollbackError")); - } - - @Test - @Deployment(resources = { - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/DoCreateAllottedResourceTXCRollback.bpmn"}) - public void testDoCreateAllottedResourceTXCRollback_SubProcessError() throws Exception { - - MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceTXCRollback/arGetById.xml"); - MockPatchAllottedResource(CUST, SVC, INST, ARID); - MockDeleteAllottedResource(CUST, SVC, INST, ARID, ARVERS); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - mockSDNCAdapter(404); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - setVariablesSuccess(variables, "testRequestId1"); - - invokeSubProcess(PROCNAME, businessKey, variables); - - waitForProcessEnd(businessKey, 10000); - - assertTrue(isProcessEnded(businessKey)); - String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); - System.out.println("workflowException:\n" + workflowException); - assertEquals(null, workflowException); - assertEquals("false", BPMNUtil.getVariable(processEngineRule, PROCNAME, "rolledBack")); - assertNotNull(BPMNUtil.getVariable(processEngineRule, PROCNAME, "rollbackError")); - } - - @Test - @Deployment(resources = { - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/DoCreateAllottedResourceTXCRollback.bpmn"}) - public void testDoCreateAllottedResourceTXCRollback_JavaException() throws Exception { - - MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceTXCRollback/arGetById.xml"); - MockPatchAllottedResource(CUST, SVC, INST, ARID); - MockDeleteAllottedResource(CUST, SVC, INST, ARID, ARVERS); - mockSDNCAdapter(200); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - setVariablesSuccess(variables, "testRequestId1"); - - variables.put("rollbackData", "string instead of rollback data"); - - invokeSubProcess(PROCNAME, businessKey, variables); - - waitForProcessEnd(businessKey, 10000); - - assertTrue(isProcessEnded(businessKey)); - String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); - System.out.println("workflowException:\n" + workflowException); - assertEquals(null, workflowException); - assertEquals("false", BPMNUtil.getVariable(processEngineRule, PROCNAME, "rolledBack")); - assertNotNull(BPMNUtil.getVariable(processEngineRule, PROCNAME, "rollbackError")); - } - - private RollbackData setVariablesSuccess(Map variables, String requestId) { - variables.put("isDebugLogEnabled", "true"); - variables.put("failNotFound", "true"); - variables.put("msoRequestId", requestId); - variables.put("mso-request-id", "requestId"); - variables.put("allottedResourceId", ARID); - - variables.put("serviceInstanceId", DEC_INST); - variables.put("parentServiceInstanceId", DEC_PARENT_INST); - - RollbackData rollbackData = new RollbackData(); - - rollbackData.put(RbType, "serviceInstanceId", DEC_INST); - rollbackData.put(RbType, "serviceSubscriptionType", SVC); - rollbackData.put(RbType, "disablerollback", "false"); - rollbackData.put(RbType, "rollbackAAI", "true"); - rollbackData.put(RbType, "rollbackSDNCassign", "true"); - rollbackData.put(RbType, "rollbackSDNCactivate", "true"); - rollbackData.put(RbType, "rollbackSDNCcreate", "true"); - rollbackData.put(RbType, "aaiARPath", "http://localhost:28090/aai/v9/business/customers/customer/" + CUST + "/service-subscriptions/service-subscription/" + SVC + "/service-instances/service-instance/" + INST + "/allotted-resources/allotted-resource/" + ARID); - - rollbackData.put(RbType, "sdncActivateRollbackReq", FileUtil.readResourceFile("__files/VCPE/DoCreateAllottedResourceTXCRollback/sdncActivateRollbackReq.xml")); - rollbackData.put(RbType, "sdncCreateRollbackReq", FileUtil.readResourceFile("__files/VCPE/DoCreateAllottedResourceTXCRollback/sdncCreateRollbackReq.xml")); - rollbackData.put(RbType, "sdncAssignRollbackReq", FileUtil.readResourceFile("__files/VCPE/DoCreateAllottedResourceTXCRollback/sdncAssignRollbackReq.xml")); - - variables.put("rollbackData", rollbackData); - - return rollbackData; - } + + invokeSubProcess(PROCNAME, businessKey, variables); + + waitForProcessEnd(businessKey, 10000); + + assertTrue(isProcessEnded(businessKey)); + String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); + System.out.println("workflowException:\n" + workflowException); + assertEquals(null, workflowException); + assertEquals("true", BPMNUtil.getVariable(processEngineRule, PROCNAME, "rolledBack")); + assertNull(BPMNUtil.getVariable(processEngineRule, PROCNAME, "rollbackError")); + } + + @Test + @Deployment(resources = { + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/DoCreateAllottedResourceTXCRollback.bpmn"}) + public void testDoCreateAllottedResourceTXCRollback_SubProcessError() throws Exception { + + MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceTXCRollback/arGetById.xml"); + MockPatchAllottedResource(CUST, SVC, INST, ARID); + MockDeleteAllottedResource(CUST, SVC, INST, ARID, ARVERS); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + mockSDNCAdapter(404); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariablesSuccess(variables, "testRequestId1"); + + invokeSubProcess(PROCNAME, businessKey, variables); + + waitForProcessEnd(businessKey, 10000); + + assertTrue(isProcessEnded(businessKey)); + String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); + System.out.println("workflowException:\n" + workflowException); + assertEquals(null, workflowException); + assertEquals("false", BPMNUtil.getVariable(processEngineRule, PROCNAME, "rolledBack")); + assertNotNull(BPMNUtil.getVariable(processEngineRule, PROCNAME, "rollbackError")); + } + + @Test + @Deployment(resources = { + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/DoCreateAllottedResourceTXCRollback.bpmn"}) + public void testDoCreateAllottedResourceTXCRollback_JavaException() throws Exception { + + MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceTXCRollback/arGetById.xml"); + MockPatchAllottedResource(CUST, SVC, INST, ARID); + MockDeleteAllottedResource(CUST, SVC, INST, ARID, ARVERS); + mockSDNCAdapter(200); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariablesSuccess(variables, "testRequestId1"); + + variables.put("rollbackData", "string instead of rollback data"); + + invokeSubProcess(PROCNAME, businessKey, variables); + + waitForProcessEnd(businessKey, 10000); + + assertTrue(isProcessEnded(businessKey)); + String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); + System.out.println("workflowException:\n" + workflowException); + assertEquals(null, workflowException); + assertEquals("false", BPMNUtil.getVariable(processEngineRule, PROCNAME, "rolledBack")); + assertNotNull(BPMNUtil.getVariable(processEngineRule, PROCNAME, "rollbackError")); + } + + private RollbackData setVariablesSuccess(Map variables, String requestId) { + variables.put("isDebugLogEnabled", "true"); + variables.put("failNotFound", "true"); + variables.put("msoRequestId", requestId); + variables.put("mso-request-id", "requestId"); + variables.put("allottedResourceId", ARID); + + variables.put("serviceInstanceId", DEC_INST); + variables.put("parentServiceInstanceId", DEC_PARENT_INST); + + RollbackData rollbackData = new RollbackData(); + + rollbackData.put(RbType, "serviceInstanceId", DEC_INST); + rollbackData.put(RbType, "serviceSubscriptionType", SVC); + rollbackData.put(RbType, "disablerollback", "false"); + rollbackData.put(RbType, "rollbackAAI", "true"); + rollbackData.put(RbType, "rollbackSDNCassign", "true"); + rollbackData.put(RbType, "rollbackSDNCactivate", "true"); + rollbackData.put(RbType, "rollbackSDNCcreate", "true"); + rollbackData.put(RbType, "aaiARPath", "http://localhost:28090/aai/v9/business/customers/customer/"+CUST+"/service-subscriptions/service-subscription/"+SVC+"/service-instances/service-instance/"+INST+"/allotted-resources/allotted-resource/"+ARID); + + rollbackData.put(RbType, "sdncActivateRollbackReq", FileUtil.readResourceFile("__files/VCPE/DoCreateAllottedResourceTXCRollback/sdncActivateRollbackReq.xml")); + rollbackData.put(RbType, "sdncCreateRollbackReq", FileUtil.readResourceFile("__files/VCPE/DoCreateAllottedResourceTXCRollback/sdncCreateRollbackReq.xml")); + rollbackData.put(RbType, "sdncAssignRollbackReq", FileUtil.readResourceFile("__files/VCPE/DoCreateAllottedResourceTXCRollback/sdncAssignRollbackReq.xml")); + + variables.put("rollbackData",rollbackData); + + return rollbackData; + } } diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/vcpe/DoCreateAllottedResourceTXCTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/vcpe/DoCreateAllottedResourceTXCTest.java index 643ff3cc01..9cf059c24c 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/vcpe/DoCreateAllottedResourceTXCTest.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/vcpe/DoCreateAllottedResourceTXCTest.java @@ -43,260 +43,260 @@ import org.openecomp.mso.bpmn.mock.FileUtil; public class DoCreateAllottedResourceTXCTest extends AbstractTestBase { - private static final String PROCNAME = "DoCreateAllottedResourceTXC"; - private final CallbackSet callbacks = new CallbackSet(); - - public DoCreateAllottedResourceTXCTest() throws IOException { - callbacks.put("assign", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyAssignCallback.xml")); - callbacks.put("create", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyCreateCallback.xml")); - callbacks.put("activate", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyActivateCallback.xml")); - callbacks.put("query", FileUtil.readResourceFile("__files/VCPE/DoCreateAllottedResourceTXC/SDNCTopologyQueryCallback.xml")); - } - - @Test - @Deployment(resources = { - "subprocess/GenericGetService.bpmn", - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/DoCreateAllottedResourceTXC.bpmn", - "subprocess/DoCreateAllottedResourceTXCRollback.bpmn"}) - public void testDoCreateAllottedResourceTXC_Success() throws Exception { - - // TODO: use INST instead of DEC_INST - /* + private static final String PROCNAME = "DoCreateAllottedResourceTXC"; + private final CallbackSet callbacks = new CallbackSet(); + + public DoCreateAllottedResourceTXCTest() throws IOException { + callbacks.put("assign", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyAssignCallback.xml")); + callbacks.put("create", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyCreateCallback.xml")); + callbacks.put("activate", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyActivateCallback.xml")); + callbacks.put("query", FileUtil.readResourceFile("__files/VCPE/DoCreateAllottedResourceTXC/SDNCTopologyQueryCallback.xml")); + } + + @Test + @Deployment(resources = { + "subprocess/GenericGetService.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/DoCreateAllottedResourceTXC.bpmn", + "subprocess/DoCreateAllottedResourceTXCRollback.bpmn"}) + public void testDoCreateAllottedResourceTXC_Success() throws Exception{ + + // TODO: use INST instead of DEC_INST + /* * should be INST instead of DEC_INST, but AAI utilities appear to * have a bug in that they don't URL-encode the SI id before using * it in the query */ - MockNodeQueryServiceInstanceById(DEC_INST, "GenericFlows/getSIUrlById.xml"); - MockNodeQueryServiceInstanceById(DEC_PARENT_INST, "GenericFlows/getParentSIUrlById.xml"); - - MockGetServiceInstance(CUST, SVC, INST, "GenericFlows/getServiceInstance.xml"); - MockGetServiceInstance(CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml"); - MockPutAllottedResource(CUST, SVC, PARENT_INST, ARID); - MockPatchAllottedResource(CUST, SVC, PARENT_INST, ARID); - mockSDNCAdapter(200); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - setVariablesSuccess(variables, "testRequestId123"); - - invokeSubProcess(PROCNAME, businessKey, variables); - - injectSDNCCallbacks(callbacks, "assign"); - injectSDNCCallbacks(callbacks, "create"); - injectSDNCCallbacks(callbacks, "activate"); - injectSDNCCallbacks(callbacks, "query"); - - waitForProcessEnd(businessKey, 10000); - - Assert.assertTrue(isProcessEnded(businessKey)); - String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); - assertEquals(null, workflowException); - - assertEquals("namefromrequest", BPMNUtil.getVariable(processEngineRule, PROCNAME, "allotedResourceName")); - assertEquals("my-vni", BPMNUtil.getVariable(processEngineRule, PROCNAME, "vni")); - assertEquals("my-bearer-ip", BPMNUtil.getVariable(processEngineRule, PROCNAME, "vgmuxBearerIP")); - assertEquals("my-lan-ip", BPMNUtil.getVariable(processEngineRule, PROCNAME, "vgmuxLanIP")); - } - - @Test - @Deployment(resources = { - "subprocess/GenericGetService.bpmn", - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/DoCreateAllottedResourceTXC.bpmn", - "subprocess/DoCreateAllottedResourceTXCRollback.bpmn"}) - public void testDoCreateAllottedResourceTXC_NoSI() throws Exception { - - // TODO: use INST instead of DEC_INST + MockNodeQueryServiceInstanceById(DEC_INST, "GenericFlows/getSIUrlById.xml"); + MockNodeQueryServiceInstanceById(DEC_PARENT_INST, "GenericFlows/getParentSIUrlById.xml"); + + MockGetServiceInstance(CUST, SVC, INST, "GenericFlows/getServiceInstance.xml"); + MockGetServiceInstance(CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml"); + MockPutAllottedResource(CUST, SVC, PARENT_INST, ARID); + MockPatchAllottedResource(CUST, SVC, PARENT_INST, ARID); + mockSDNCAdapter(200); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariablesSuccess(variables, "testRequestId123"); + + invokeSubProcess(PROCNAME, businessKey, variables); + + injectSDNCCallbacks(callbacks, "assign"); + injectSDNCCallbacks(callbacks, "create"); + injectSDNCCallbacks(callbacks, "activate"); + injectSDNCCallbacks(callbacks, "query"); + + waitForProcessEnd(businessKey, 10000); + + Assert.assertTrue(isProcessEnded(businessKey)); + String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); + assertEquals(null, workflowException); + + assertEquals("namefromrequest", BPMNUtil.getVariable(processEngineRule, PROCNAME, "allotedResourceName")); + assertEquals("my-vni", BPMNUtil.getVariable(processEngineRule, PROCNAME, "vni")); + assertEquals("my-bearer-ip", BPMNUtil.getVariable(processEngineRule, PROCNAME, "vgmuxBearerIP")); + assertEquals("my-lan-ip", BPMNUtil.getVariable(processEngineRule, PROCNAME, "vgmuxLanIP")); + } + + @Test + @Deployment(resources = { + "subprocess/GenericGetService.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/DoCreateAllottedResourceTXC.bpmn", + "subprocess/DoCreateAllottedResourceTXCRollback.bpmn"}) + public void testDoCreateAllottedResourceTXC_NoSI() throws Exception{ + + // TODO: use INST instead of DEC_INST /* * should be INST instead of DEC_INST, but AAI utilities appear to * have a bug in that they don't URL-encode the SI id before using * it in the query */ - MockNodeQueryServiceInstanceById(DEC_INST, "GenericFlows/getNotFound.xml"); - MockNodeQueryServiceInstanceById(DEC_PARENT_INST, "GenericFlows/getParentSIUrlById.xml"); - - MockGetServiceInstance(CUST, SVC, INST, "GenericFlows/getServiceInstance.xml"); - MockGetServiceInstance(CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml"); - MockPutAllottedResource(CUST, SVC, PARENT_INST, ARID); - MockPatchAllottedResource(CUST, SVC, PARENT_INST, ARID); - mockSDNCAdapter(200); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - setVariablesSuccess(variables, "testRequestId123"); - - invokeSubProcess(PROCNAME, businessKey, variables); - - waitForProcessEnd(businessKey, 10000); - - Assert.assertTrue(isProcessEnded(businessKey)); - String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); - assertNotNull(workflowException); - - assertEquals(null, BPMNUtil.getVariable(processEngineRule, PROCNAME, "allotedResourceName")); - } - - @Test - @Deployment(resources = { - "subprocess/GenericGetService.bpmn", - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/DoCreateAllottedResourceTXC.bpmn", - "subprocess/DoCreateAllottedResourceTXCRollback.bpmn"}) - public void testDoCreateAllottedResourceTXC_ActiveAr() throws Exception { - - // TODO: use INST instead of DEC_INST + MockNodeQueryServiceInstanceById(DEC_INST, "GenericFlows/getNotFound.xml"); + MockNodeQueryServiceInstanceById(DEC_PARENT_INST, "GenericFlows/getParentSIUrlById.xml"); + + MockGetServiceInstance(CUST, SVC, INST, "GenericFlows/getServiceInstance.xml"); + MockGetServiceInstance(CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml"); + MockPutAllottedResource(CUST, SVC, PARENT_INST, ARID); + MockPatchAllottedResource(CUST, SVC, PARENT_INST, ARID); + mockSDNCAdapter(200); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariablesSuccess(variables, "testRequestId123"); + + invokeSubProcess(PROCNAME, businessKey, variables); + + waitForProcessEnd(businessKey, 10000); + + Assert.assertTrue(isProcessEnded(businessKey)); + String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); + assertNotNull(workflowException); + + assertEquals(null, BPMNUtil.getVariable(processEngineRule, PROCNAME, "allotedResourceName")); + } + + @Test + @Deployment(resources = { + "subprocess/GenericGetService.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/DoCreateAllottedResourceTXC.bpmn", + "subprocess/DoCreateAllottedResourceTXCRollback.bpmn"}) + public void testDoCreateAllottedResourceTXC_ActiveAr() throws Exception{ + + // TODO: use INST instead of DEC_INST /* * should be INST instead of DEC_INST, but AAI utilities appear to * have a bug in that they don't URL-encode the SI id before using * it in the query */ - MockNodeQueryServiceInstanceById(DEC_INST, "GenericFlows/getSIUrlById.xml"); - MockNodeQueryServiceInstanceById(DEC_PARENT_INST, "GenericFlows/getParentSIUrlById.xml"); - - MockGetServiceInstance(CUST, SVC, INST, "VCPE/DoCreateAllottedResourceTXC/getSIandAR.xml"); - MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceTXC/getArTxc2.xml"); - MockGetServiceInstance(CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml"); - MockPutAllottedResource(CUST, SVC, PARENT_INST, ARID); - MockPatchAllottedResource(CUST, SVC, PARENT_INST, ARID); - mockSDNCAdapter(200); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - setVariablesSuccess(variables, "testRequestId123"); - - variables.put("failExists", "false"); - - invokeSubProcess(PROCNAME, businessKey, variables); - - injectSDNCCallbacks(callbacks, "query"); - - waitForProcessEnd(businessKey, 10000); - - Assert.assertTrue(isProcessEnded(businessKey)); - String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); - assertEquals(null, workflowException); - - assertEquals("namefromrequest", BPMNUtil.getVariable(processEngineRule, PROCNAME, "allotedResourceName")); - assertEquals("my-vni", BPMNUtil.getVariable(processEngineRule, PROCNAME, "vni")); - assertEquals("my-bearer-ip", BPMNUtil.getVariable(processEngineRule, PROCNAME, "vgmuxBearerIP")); - assertEquals("my-lan-ip", BPMNUtil.getVariable(processEngineRule, PROCNAME, "vgmuxLanIP")); - } - - @Test - @Deployment(resources = { - "subprocess/GenericGetService.bpmn", - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/DoCreateAllottedResourceTXC.bpmn", - "subprocess/DoCreateAllottedResourceTXCRollback.bpmn"}) - public void testDoCreateAllottedResourceTXC_NoParentSI() throws Exception { - - // TODO: use INST instead of DEC_INST + MockNodeQueryServiceInstanceById(DEC_INST, "GenericFlows/getSIUrlById.xml"); + MockNodeQueryServiceInstanceById(DEC_PARENT_INST, "GenericFlows/getParentSIUrlById.xml"); + + MockGetServiceInstance(CUST, SVC, INST, "VCPE/DoCreateAllottedResourceTXC/getSIandAR.xml"); + MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceTXC/getArTxc2.xml"); + MockGetServiceInstance(CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml"); + MockPutAllottedResource(CUST, SVC, PARENT_INST, ARID); + MockPatchAllottedResource(CUST, SVC, PARENT_INST, ARID); + mockSDNCAdapter(200); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariablesSuccess(variables, "testRequestId123"); + + variables.put("failExists", "false"); + + invokeSubProcess(PROCNAME, businessKey, variables); + + injectSDNCCallbacks(callbacks, "query"); + + waitForProcessEnd(businessKey, 10000); + + Assert.assertTrue(isProcessEnded(businessKey)); + String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); + assertEquals(null, workflowException); + + assertEquals("namefromrequest", BPMNUtil.getVariable(processEngineRule, PROCNAME, "allotedResourceName")); + assertEquals("my-vni", BPMNUtil.getVariable(processEngineRule, PROCNAME, "vni")); + assertEquals("my-bearer-ip", BPMNUtil.getVariable(processEngineRule, PROCNAME, "vgmuxBearerIP")); + assertEquals("my-lan-ip", BPMNUtil.getVariable(processEngineRule, PROCNAME, "vgmuxLanIP")); + } + + @Test + @Deployment(resources = { + "subprocess/GenericGetService.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/DoCreateAllottedResourceTXC.bpmn", + "subprocess/DoCreateAllottedResourceTXCRollback.bpmn"}) + public void testDoCreateAllottedResourceTXC_NoParentSI() throws Exception{ + + // TODO: use INST instead of DEC_INST /* * should be INST instead of DEC_INST, but AAI utilities appear to * have a bug in that they don't URL-encode the SI id before using * it in the query */ - MockNodeQueryServiceInstanceById(DEC_INST, "GenericFlows/getSIUrlById.xml"); - - MockNodeQueryServiceInstanceById(DEC_PARENT_INST, "GenericFlows/getNotFound.xml"); - - MockGetServiceInstance(CUST, SVC, INST, "GenericFlows/getServiceInstance.xml"); - MockGetServiceInstance(CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml"); - MockPutAllottedResource(CUST, SVC, PARENT_INST, ARID); - MockPatchAllottedResource(CUST, SVC, PARENT_INST, ARID); - mockSDNCAdapter(200); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - setVariablesSuccess(variables, "testRequestId123"); - - invokeSubProcess(PROCNAME, businessKey, variables); - - waitForProcessEnd(businessKey, 10000); - - Assert.assertTrue(isProcessEnded(businessKey)); - String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); - assertNotNull(workflowException); - - assertEquals(null, BPMNUtil.getVariable(processEngineRule, PROCNAME, "allotedResourceName")); - } - - @Test - @Deployment(resources = { - "subprocess/GenericGetService.bpmn", - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/DoCreateAllottedResourceTXC.bpmn", - "subprocess/DoCreateAllottedResourceTXCRollback.bpmn"}) - public void testDoCreateAllottedResourceTXC_SubProcessError() throws Exception { - - // TODO: use INST instead of DEC_INST + MockNodeQueryServiceInstanceById(DEC_INST, "GenericFlows/getSIUrlById.xml"); + + MockNodeQueryServiceInstanceById(DEC_PARENT_INST, "GenericFlows/getNotFound.xml"); + + MockGetServiceInstance(CUST, SVC, INST, "GenericFlows/getServiceInstance.xml"); + MockGetServiceInstance(CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml"); + MockPutAllottedResource(CUST, SVC, PARENT_INST, ARID); + MockPatchAllottedResource(CUST, SVC, PARENT_INST, ARID); + mockSDNCAdapter(200); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariablesSuccess(variables, "testRequestId123"); + + invokeSubProcess(PROCNAME, businessKey, variables); + + waitForProcessEnd(businessKey, 10000); + + Assert.assertTrue(isProcessEnded(businessKey)); + String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); + assertNotNull(workflowException); + + assertEquals(null, BPMNUtil.getVariable(processEngineRule, PROCNAME, "allotedResourceName")); + } + + @Test + @Deployment(resources = { + "subprocess/GenericGetService.bpmn", + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/DoCreateAllottedResourceTXC.bpmn", + "subprocess/DoCreateAllottedResourceTXCRollback.bpmn"}) + public void testDoCreateAllottedResourceTXC_SubProcessError() throws Exception{ + + // TODO: use INST instead of DEC_INST /* * should be INST instead of DEC_INST, but AAI utilities appear to * have a bug in that they don't URL-encode the SI id before using * it in the query */ - MockNodeQueryServiceInstanceById(DEC_INST, "GenericFlows/getSIUrlById.xml"); - MockNodeQueryServiceInstanceById(DEC_PARENT_INST, "GenericFlows/getParentSIUrlById.xml"); - - MockGetServiceInstance(CUST, SVC, INST, "GenericFlows/getServiceInstance.xml"); - MockGetServiceInstance(CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml"); - MockPutAllottedResource(CUST, SVC, PARENT_INST, ARID); - MockPatchAllottedResource(CUST, SVC, PARENT_INST, ARID); - mockSDNCAdapter(404); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - setVariablesSuccess(variables, "testRequestId123"); - - invokeSubProcess(PROCNAME, businessKey, variables); - - waitForProcessEnd(businessKey, 10000); - - Assert.assertTrue(isProcessEnded(businessKey)); - String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); - assertNotNull(workflowException); - - assertEquals(null, BPMNUtil.getVariable(processEngineRule, PROCNAME, "allotedResourceName")); - } - - private void setVariablesSuccess(Map variables, String requestId) { - // TODO: need all of these? - variables.put("isDebugLogEnabled", "true"); - variables.put("failExists", "true"); - variables.put("disableRollback", "true"); - variables.put("msoRequestId", requestId); - variables.put("mso-request-id", "requestId"); - variables.put("sourceNetworkId", "snId"); - variables.put("sourceNetworkRole", "snRole"); - variables.put("allottedResourceRole", "brg"); - variables.put("allottedResourceType", "TXC"); - variables.put("allottedResourceId", ARID); - variables.put("brgWanMacAddress", "wanmac"); - - variables.put("serviceInstanceId", DEC_INST); - variables.put("parentServiceInstanceId", DEC_PARENT_INST); - - variables.put("serviceChainServiceInstanceId", "scsiId"); - - String arModelInfo = "{ " + "\"modelType\": \"allotted-resource\"," + - "\"modelInvariantUuid\": \"ff5256d2-5a33-55df-13ab-12abad84e7ff\"," + - "\"modelUuid\": \"fe6478e5-ea33-3346-ac12-ab121484a3fe\"," + - "\"modelName\": \"vSAMP12\"," + - "\"modelVersion\": \"1.0\"," + - "\"modelCustomizationUuid\": \"MODEL-ID-1234\"," + - "}"; - variables.put("allottedResourceModelInfo", arModelInfo); - } + MockNodeQueryServiceInstanceById(DEC_INST, "GenericFlows/getSIUrlById.xml"); + MockNodeQueryServiceInstanceById(DEC_PARENT_INST, "GenericFlows/getParentSIUrlById.xml"); + + MockGetServiceInstance(CUST, SVC, INST, "GenericFlows/getServiceInstance.xml"); + MockGetServiceInstance(CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml"); + MockPutAllottedResource(CUST, SVC, PARENT_INST, ARID); + MockPatchAllottedResource(CUST, SVC, PARENT_INST, ARID); + mockSDNCAdapter(404); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariablesSuccess(variables, "testRequestId123"); + + invokeSubProcess(PROCNAME, businessKey, variables); + + waitForProcessEnd(businessKey, 10000); + + Assert.assertTrue(isProcessEnded(businessKey)); + String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); + assertNotNull(workflowException); + + assertEquals(null, BPMNUtil.getVariable(processEngineRule, PROCNAME, "allotedResourceName")); + } + + private void setVariablesSuccess(Map variables, String requestId) { + // TODO: need all of these? + variables.put("isDebugLogEnabled", "true"); + variables.put("failExists", "true"); + variables.put("disableRollback", "true"); + variables.put("msoRequestId", requestId); + variables.put("mso-request-id", "requestId"); + variables.put("sourceNetworkId", "snId"); + variables.put("sourceNetworkRole", "snRole"); + variables.put("allottedResourceRole", "brg"); + variables.put("allottedResourceType", "TXC"); + variables.put("allottedResourceId", ARID); + variables.put("brgWanMacAddress", "wanmac"); + + variables.put("serviceInstanceId", DEC_INST); + variables.put("parentServiceInstanceId", DEC_PARENT_INST); + + variables.put("serviceChainServiceInstanceId", "scsiId"); + + String arModelInfo = "{ "+ "\"modelType\": \"allotted-resource\"," + + "\"modelInvariantUuid\": \"ff5256d2-5a33-55df-13ab-12abad84e7ff\"," + + "\"modelUuid\": \"fe6478e5-ea33-3346-ac12-ab121484a3fe\"," + + "\"modelName\": \"vSAMP12\"," + + "\"modelVersion\": \"1.0\"," + + "\"modelCustomizationUuid\": \"MODEL-ID-1234\"," + + "}"; + variables.put("allottedResourceModelInfo", arModelInfo); + } } diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/vcpe/DoDeleteAllottedResourceBRGTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/vcpe/DoDeleteAllottedResourceBRGTest.java index 1395d7b9ed..03972da789 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/vcpe/DoDeleteAllottedResourceBRGTest.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/vcpe/DoDeleteAllottedResourceBRGTest.java @@ -43,120 +43,120 @@ import org.openecomp.mso.bpmn.mock.FileUtil; public class DoDeleteAllottedResourceBRGTest extends AbstractTestBase { - private static final String PROCNAME = "DoDeleteAllottedResourceBRG"; - private final CallbackSet callbacks = new CallbackSet(); - - public DoDeleteAllottedResourceBRGTest() throws IOException { - callbacks.put("deactivate", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeactivateCallback.xml")); - callbacks.put("deactivateNF", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeactivateCallbackNotFound.xml")); - callbacks.put("delete", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeleteCallback.xml")); - callbacks.put("unassign", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyUnassignCallback.xml")); - } - - @Test - @Deployment(resources = { - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/DoDeleteAllottedResourceBRG.bpmn"}) - public void testDoDeleteAllottedResourceBRG_Success() throws Exception { - - MockQueryAllottedResourceById(ARID, "GenericFlows/getARUrlById.xml"); - MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoDeleteAllottedResourceBRG/arGetById.xml"); - MockPatchAllottedResource(CUST, SVC, INST, ARID); - MockDeleteAllottedResource(CUST, SVC, INST, ARID, ARVERS); - mockSDNCAdapter(200); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - setVariablesSuccess(variables, "testRequestId1"); - - invokeSubProcess(PROCNAME, businessKey, variables); - - injectSDNCCallbacks(callbacks, "deactivate"); - injectSDNCCallbacks(callbacks, "delete"); - injectSDNCCallbacks(callbacks, "unassign"); - - waitForProcessEnd(businessKey, 10000); - - Assert.assertTrue(isProcessEnded(businessKey)); - String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); - System.out.println("workflowException:\n" + workflowException); - assertEquals(null, workflowException); - } - - @Test - @Deployment(resources = { - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/DoDeleteAllottedResourceBRG.bpmn"}) - public void testDoDeleteAllottedResourceBRG_ARNotInSDNC() throws Exception { - - MockQueryAllottedResourceById(ARID, "GenericFlows/getARUrlById.xml"); - MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoDeleteAllottedResourceBRG/arGetById.xml"); - MockPatchAllottedResource(CUST, SVC, INST, ARID); - MockDeleteAllottedResource(CUST, SVC, INST, ARID, ARVERS); - mockSDNCAdapter(200); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - setVariablesSuccess(variables, "testRequestId1"); - - variables.put("failNotFound", "false"); - - invokeSubProcess(PROCNAME, businessKey, variables); - - injectSDNCCallbacks(callbacks, "deactivateNF"); - - waitForProcessEnd(businessKey, 10000); - - Assert.assertTrue(isProcessEnded(businessKey)); - String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); - System.out.println("workflowException:\n" + workflowException); - assertEquals(null, workflowException); - } - - // TODO - exception is not caught - @Test - @Ignore - @Deployment(resources = { - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/DoDeleteAllottedResourceBRG.bpmn"}) - public void testDoDeleteAllottedResourceBRG_SubProcessError() throws Exception { - - MockQueryAllottedResourceById(ARID, "GenericFlows/getARUrlById.xml"); - MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoDeleteAllottedResourceBRG/arGetById.xml"); - MockPatchAllottedResource(CUST, SVC, INST, ARID); - MockDeleteAllottedResource(CUST, SVC, INST, ARID, ARVERS); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - mockSDNCAdapter(500); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - setVariablesSuccess(variables, "testRequestId1"); - - invokeSubProcess(PROCNAME, businessKey, variables); - - waitForProcessEnd(businessKey, 10000); - - Assert.assertTrue(isProcessEnded(businessKey)); - String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); - System.out.println("workflowException:\n" + workflowException); - assertNotNull(workflowException); - } - - private void setVariablesSuccess(Map variables, String requestId) { - variables.put("isDebugLogEnabled", "true"); - variables.put("failNotFound", "true"); - variables.put("msoRequestId", requestId); - variables.put("mso-request-id", "requestId"); - variables.put("allottedResourceId", ARID); - - variables.put("serviceInstanceId", DEC_INST); - variables.put("parentServiceInstanceId", DEC_PARENT_INST); - } + private static final String PROCNAME = "DoDeleteAllottedResourceBRG"; + private final CallbackSet callbacks = new CallbackSet(); + + public DoDeleteAllottedResourceBRGTest() throws IOException { + callbacks.put("deactivate", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeactivateCallback.xml")); + callbacks.put("deactivateNF", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeactivateCallbackNotFound.xml")); + callbacks.put("delete", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeleteCallback.xml")); + callbacks.put("unassign", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyUnassignCallback.xml")); + } + + @Test + @Deployment(resources = { + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/DoDeleteAllottedResourceBRG.bpmn"}) + public void testDoDeleteAllottedResourceBRG_Success() throws Exception { + + MockQueryAllottedResourceById(ARID, "GenericFlows/getARUrlById.xml"); + MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoDeleteAllottedResourceBRG/arGetById.xml"); + MockPatchAllottedResource(CUST, SVC, INST, ARID); + MockDeleteAllottedResource(CUST, SVC, INST, ARID, ARVERS); + mockSDNCAdapter(200); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariablesSuccess(variables, "testRequestId1"); + + invokeSubProcess(PROCNAME, businessKey, variables); + + injectSDNCCallbacks(callbacks, "deactivate"); + injectSDNCCallbacks(callbacks, "delete"); + injectSDNCCallbacks(callbacks, "unassign"); + + waitForProcessEnd(businessKey, 10000); + + Assert.assertTrue(isProcessEnded(businessKey)); + String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); + System.out.println("workflowException:\n" + workflowException); + assertEquals(null, workflowException); + } + + @Test + @Deployment(resources = { + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/DoDeleteAllottedResourceBRG.bpmn"}) + public void testDoDeleteAllottedResourceBRG_ARNotInSDNC() throws Exception { + + MockQueryAllottedResourceById(ARID, "GenericFlows/getARUrlById.xml"); + MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoDeleteAllottedResourceBRG/arGetById.xml"); + MockPatchAllottedResource(CUST, SVC, INST, ARID); + MockDeleteAllottedResource(CUST, SVC, INST, ARID, ARVERS); + mockSDNCAdapter(200); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariablesSuccess(variables, "testRequestId1"); + + variables.put("failNotFound", "false"); + + invokeSubProcess(PROCNAME, businessKey, variables); + + injectSDNCCallbacks(callbacks, "deactivateNF"); + + waitForProcessEnd(businessKey, 10000); + + Assert.assertTrue(isProcessEnded(businessKey)); + String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); + System.out.println("workflowException:\n" + workflowException); + assertEquals(null, workflowException); + } + + // TODO - exception is not caught + @Test + @Ignore + @Deployment(resources = { + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/DoDeleteAllottedResourceBRG.bpmn"}) + public void testDoDeleteAllottedResourceBRG_SubProcessError() throws Exception { + + MockQueryAllottedResourceById(ARID, "GenericFlows/getARUrlById.xml"); + MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoDeleteAllottedResourceBRG/arGetById.xml"); + MockPatchAllottedResource(CUST, SVC, INST, ARID); + MockDeleteAllottedResource(CUST, SVC, INST, ARID, ARVERS); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + mockSDNCAdapter(500); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariablesSuccess(variables, "testRequestId1"); + + invokeSubProcess(PROCNAME, businessKey, variables); + + waitForProcessEnd(businessKey, 10000); + + Assert.assertTrue(isProcessEnded(businessKey)); + String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); + System.out.println("workflowException:\n" + workflowException); + assertNotNull(workflowException); + } + + private void setVariablesSuccess(Map variables, String requestId) { + variables.put("isDebugLogEnabled", "true"); + variables.put("failNotFound", "true"); + variables.put("msoRequestId", requestId); + variables.put("mso-request-id", "requestId"); + variables.put("allottedResourceId", ARID); + + variables.put("serviceInstanceId", DEC_INST); + variables.put("parentServiceInstanceId", DEC_PARENT_INST); + } } diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/vcpe/DoDeleteAllottedResourceTXCTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/vcpe/DoDeleteAllottedResourceTXCTest.java index 6990cc0689..2b0364c3c9 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/vcpe/DoDeleteAllottedResourceTXCTest.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/vcpe/DoDeleteAllottedResourceTXCTest.java @@ -43,120 +43,120 @@ import org.openecomp.mso.bpmn.mock.FileUtil; public class DoDeleteAllottedResourceTXCTest extends AbstractTestBase { - private static final String PROCNAME = "DoDeleteAllottedResourceTXC"; - private final CallbackSet callbacks = new CallbackSet(); - - public DoDeleteAllottedResourceTXCTest() throws IOException { - callbacks.put("deactivate", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeactivateCallback.xml")); - callbacks.put("deactivateNF", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeactivateCallbackNotFound.xml")); - callbacks.put("delete", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeleteCallback.xml")); - callbacks.put("unassign", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyUnassignCallback.xml")); - } - - @Test - @Deployment(resources = { - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/DoDeleteAllottedResourceTXC.bpmn"}) - public void testDoDeleteAllottedResourceTXC_Success() throws Exception { - - MockQueryAllottedResourceById(ARID, "GenericFlows/getARUrlById.xml"); - MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoDeleteAllottedResourceTXC/arGetById.xml"); - MockPatchAllottedResource(CUST, SVC, INST, ARID); - MockDeleteAllottedResource(CUST, SVC, INST, ARID, ARVERS); - mockSDNCAdapter(200); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - setVariablesSuccess(variables, "testRequestId1"); - - invokeSubProcess(PROCNAME, businessKey, variables); - - injectSDNCCallbacks(callbacks, "deactivate"); - injectSDNCCallbacks(callbacks, "delete"); - injectSDNCCallbacks(callbacks, "unassign"); - - waitForProcessEnd(businessKey, 10000); - - Assert.assertTrue(isProcessEnded(businessKey)); - String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); - System.out.println("workflowException:\n" + workflowException); - assertEquals(null, workflowException); - } - - @Test - @Deployment(resources = { - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/DoDeleteAllottedResourceTXC.bpmn"}) - public void testDoDeleteAllottedResourceTXC_ARNotInSDNC() throws Exception { - - MockQueryAllottedResourceById(ARID, "GenericFlows/getARUrlById.xml"); - MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoDeleteAllottedResourceTXC/arGetById.xml"); - MockPatchAllottedResource(CUST, SVC, INST, ARID); - MockDeleteAllottedResource(CUST, SVC, INST, ARID, ARVERS); - mockSDNCAdapter(200); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - setVariablesSuccess(variables, "testRequestId1"); - - variables.put("failNotFound", "false"); - - invokeSubProcess(PROCNAME, businessKey, variables); - - injectSDNCCallbacks(callbacks, "deactivateNF"); - - waitForProcessEnd(businessKey, 10000); - - Assert.assertTrue(isProcessEnded(businessKey)); - String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); - System.out.println("workflowException:\n" + workflowException); - assertEquals(null, workflowException); - } - - // TODO - exception is not caught - @Test - @Ignore - @Deployment(resources = { - "subprocess/SDNCAdapterV1.bpmn", - "subprocess/FalloutHandler.bpmn", - "subprocess/DoDeleteAllottedResourceTXC.bpmn"}) - public void testDoDeleteAllottedResourceTXC_SubProcessError() throws Exception { - - MockQueryAllottedResourceById(ARID, "GenericFlows/getARUrlById.xml"); - MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoDeleteAllottedResourceTXC/arGetById.xml"); - MockPatchAllottedResource(CUST, SVC, INST, ARID); - MockDeleteAllottedResource(CUST, SVC, INST, ARID, ARVERS); - mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); - - mockSDNCAdapter(500); - - String businessKey = UUID.randomUUID().toString(); - Map variables = new HashMap<>(); - setVariablesSuccess(variables, "testRequestId1"); - - invokeSubProcess(PROCNAME, businessKey, variables); - - waitForProcessEnd(businessKey, 10000); - - Assert.assertTrue(isProcessEnded(businessKey)); - String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); - System.out.println("workflowException:\n" + workflowException); - assertNotNull(workflowException); - } - - private void setVariablesSuccess(Map variables, String requestId) { - variables.put("isDebugLogEnabled", "true"); - variables.put("failNotFound", "true"); - variables.put("msoRequestId", requestId); - variables.put("mso-request-id", "requestId"); - variables.put("allottedResourceId", ARID); - - variables.put("serviceInstanceId", DEC_INST); - variables.put("parentServiceInstanceId", DEC_PARENT_INST); - } + private static final String PROCNAME = "DoDeleteAllottedResourceTXC"; + private final CallbackSet callbacks = new CallbackSet(); + + public DoDeleteAllottedResourceTXCTest() throws IOException { + callbacks.put("deactivate", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeactivateCallback.xml")); + callbacks.put("deactivateNF", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeactivateCallbackNotFound.xml")); + callbacks.put("delete", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeleteCallback.xml")); + callbacks.put("unassign", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyUnassignCallback.xml")); + } + + @Test + @Deployment(resources = { + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/DoDeleteAllottedResourceTXC.bpmn"}) + public void testDoDeleteAllottedResourceTXC_Success() throws Exception { + + MockQueryAllottedResourceById(ARID, "GenericFlows/getARUrlById.xml"); + MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoDeleteAllottedResourceTXC/arGetById.xml"); + MockPatchAllottedResource(CUST, SVC, INST, ARID); + MockDeleteAllottedResource(CUST, SVC, INST, ARID, ARVERS); + mockSDNCAdapter(200); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariablesSuccess(variables, "testRequestId1"); + + invokeSubProcess(PROCNAME, businessKey, variables); + + injectSDNCCallbacks(callbacks, "deactivate"); + injectSDNCCallbacks(callbacks, "delete"); + injectSDNCCallbacks(callbacks, "unassign"); + + waitForProcessEnd(businessKey, 10000); + + Assert.assertTrue(isProcessEnded(businessKey)); + String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); + System.out.println("workflowException:\n" + workflowException); + assertEquals(null, workflowException); + } + + @Test + @Deployment(resources = { + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/DoDeleteAllottedResourceTXC.bpmn"}) + public void testDoDeleteAllottedResourceTXC_ARNotInSDNC() throws Exception { + + MockQueryAllottedResourceById(ARID, "GenericFlows/getARUrlById.xml"); + MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoDeleteAllottedResourceTXC/arGetById.xml"); + MockPatchAllottedResource(CUST, SVC, INST, ARID); + MockDeleteAllottedResource(CUST, SVC, INST, ARID, ARVERS); + mockSDNCAdapter(200); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariablesSuccess(variables, "testRequestId1"); + + variables.put("failNotFound", "false"); + + invokeSubProcess(PROCNAME, businessKey, variables); + + injectSDNCCallbacks(callbacks, "deactivateNF"); + + waitForProcessEnd(businessKey, 10000); + + Assert.assertTrue(isProcessEnded(businessKey)); + String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); + System.out.println("workflowException:\n" + workflowException); + assertEquals(null, workflowException); + } + + // TODO - exception is not caught + @Test + @Ignore + @Deployment(resources = { + "subprocess/SDNCAdapterV1.bpmn", + "subprocess/FalloutHandler.bpmn", + "subprocess/DoDeleteAllottedResourceTXC.bpmn"}) + public void testDoDeleteAllottedResourceTXC_SubProcessError() throws Exception { + + MockQueryAllottedResourceById(ARID, "GenericFlows/getARUrlById.xml"); + MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoDeleteAllottedResourceTXC/arGetById.xml"); + MockPatchAllottedResource(CUST, SVC, INST, ARID); + MockDeleteAllottedResource(CUST, SVC, INST, ARID, ARVERS); + mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml"); + + mockSDNCAdapter(500); + + String businessKey = UUID.randomUUID().toString(); + Map variables = new HashMap<>(); + setVariablesSuccess(variables, "testRequestId1"); + + invokeSubProcess(PROCNAME, businessKey, variables); + + waitForProcessEnd(businessKey, 10000); + + Assert.assertTrue(isProcessEnded(businessKey)); + String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX); + System.out.println("workflowException:\n" + workflowException); + assertNotNull(workflowException); + } + + private void setVariablesSuccess(Map variables, String requestId) { + variables.put("isDebugLogEnabled", "true"); + variables.put("failNotFound", "true"); + variables.put("msoRequestId", requestId); + variables.put("mso-request-id", "requestId"); + variables.put("allottedResourceId", ARID); + + variables.put("serviceInstanceId", DEC_INST); + variables.put("parentServiceInstanceId", DEC_PARENT_INST); + } } -- cgit 1.2.3-korg