2  * ============LICENSE_START======================================================= 
\r 
   4  * ================================================================================ 
\r 
   5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. 
\r 
   6  * ================================================================================ 
\r 
   7  * Licensed under the Apache License, Version 2.0 (the "License"); 
\r 
   8  * you may not use this file except in compliance with the License. 
\r 
   9  * You may obtain a copy of the License at 
\r 
  11  *      http://www.apache.org/licenses/LICENSE-2.0 
\r 
  13  * Unless required by applicable law or agreed to in writing, software 
\r 
  14  * distributed under the License is distributed on an "AS IS" BASIS, 
\r 
  15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
\r 
  16  * See the License for the specific language governing permissions and 
\r 
  17  * limitations under the License. 
\r 
  18  * ============LICENSE_END========================================================= 
\r 
  21 package org.openecomp.mso.bpmn.infrastructure;
\r 
  23 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfByIdWithDepth;
\r 
  24 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfByIdWithPriority;
\r 
  25 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPutVfModuleIdNoResponse;
\r 
  26 import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.mockUpdateRequestDB;
\r 
  27 import static org.openecomp.mso.bpmn.mock.StubResponseSDNCAdapter.mockSDNCAdapter;
\r 
  28 import static org.openecomp.mso.bpmn.mock.StubResponseVNFAdapter.mockVNFPut;
\r 
  30 import java.io.IOException;
\r 
  31 import java.util.HashMap;
\r 
  32 import java.util.Map;
\r 
  33 import java.util.UUID;
\r 
  35 import org.camunda.bpm.engine.test.Deployment;
\r 
  36 import org.junit.Ignore;
\r 
  37 import org.junit.Test;
\r 
  38 import org.openecomp.mso.bpmn.common.WorkflowTest;
\r 
  39 import org.openecomp.mso.bpmn.common.WorkflowTest.CallbackSet;
\r 
  40 import org.openecomp.mso.bpmn.common.WorkflowTest.TestAsyncResponse;
\r 
  41 import org.openecomp.mso.bpmn.common.workflow.service.WorkflowResponse;
\r 
  42 import org.openecomp.mso.bpmn.mock.FileUtil;
\r 
  45  * Unit test cases for UpdateVfModuleV2.bpmn
\r 
  47 public class UpdateVfModuleInfraV2Test extends WorkflowTest {
\r 
  49         private final CallbackSet callbacks = new CallbackSet();
\r 
  51         public UpdateVfModuleInfraV2Test() throws IOException {
\r 
  52                 /*callbacks.put("changeassign", FileUtil.readResourceFile(
\r 
  53                                 "__files/VfModularity/SDNCTopologyChangeAssignCallback.xml"));
\r 
  54                 callbacks.put("query", FileUtil.readResourceFile(
\r 
  55                                 "__files/VfModularity/SDNCTopologyQueryCallback.xml"));
\r 
  56                 callbacks.put("activate", FileUtil.readResourceFile(
\r 
  57                                 "__files/VfModularity/SDNCTopologyActivateCallback.xml"));
\r 
  58                 callbacks.put("vnfUpdate", FileUtil.readResourceFile(
\r 
  59                                 "__files/VfModularity/VNFAdapterRestUpdateCallback.xml"));*/
\r 
  63         @Ignore // IGNORED FOR 1710 MERGE TO ONAP
\r 
  64         @Deployment(resources = {
\r 
  65                 "process/UpdateVfModuleInfraV2.bpmn",
\r 
  66                 "subprocess/DoUpdateVfModule.bpmn",
\r 
  67                 "subprocess/CompleteMsoProcess.bpmn",
\r 
  70         public void sunnyDay() throws Exception {
\r 
  74                 MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml");
\r 
  75                 MockPutVfModuleIdNoResponse("skask", "PCRF", "supercool");
\r 
  76                 MockGetGenericVnfByIdWithPriority("skask", "supercool", 200, "VfModularity/VfModule-supercool.xml", 1);
\r 
  77                 mockSDNCAdapter("/SDNCAdapter", "SvcInstanceId><", 200, "VfModularity/StandardSDNCSynchResponse.xml");
\r 
  78                 mockSDNCAdapter("/SDNCAdapter", "vnf-type>STMTN", 200, "VfModularity/StandardSDNCSynchResponse.xml");
\r 
  79                 mockSDNCAdapter("/SDNCAdapter", "SvcAction>query", 200, "VfModularity/StandardSDNCSynchResponse.xml");
\r 
  80                 mockVNFPut("skask", "/supercool", 202);
\r 
  81                 mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");
\r 
  83                 String businessKey = UUID.randomUUID().toString();      
\r 
  84                 Map<String, Object> variables = setupVariablesSunnyDayVID();
\r 
  86                 String updateVfModuleRequest =
\r 
  87                                 FileUtil.readResourceFile("__files/InfrastructureFlows/UpdateVfModule_VID_request.json");
\r 
  88                 TestAsyncResponse asyncResponse = invokeAsyncProcess("UpdateVfModuleInfraV2",
\r 
  89                                 "v1", businessKey, updateVfModuleRequest, variables);
\r 
  91                 WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 10000);
\r 
  93                 //String responseBody = response.getResponse();
\r 
  94                 //System.out.println("Workflow (Synch) Response:\n" + responseBody);
\r 
 100         private Map<String, Object> setupVariablesSunnyDayVID() {
\r 
 101                                 Map<String, Object> variables = new HashMap<String, Object>();
\r 
 102                                 variables.put("requestId", "testRequestId");            
\r 
 103                                 variables.put("isBaseVfModule", false);
\r 
 104                                 variables.put("isDebugLogEnabled", "true");
\r 
 105                                 variables.put("recipeTimeout", "0");            
\r 
 106                                 variables.put("requestAction", "UPDATE_VF_MODULE");
\r 
 107                                 variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4");
\r 
 108                                 variables.put("vnfId", "skask");
\r 
 109                                 variables.put("vnfType", "vSAMP12");
\r 
 110                                 variables.put("vfModuleId", "supercool");
\r 
 111                                 variables.put("volumeGroupId", "");                     
\r 
 112                                 variables.put("serviceType", "MOG");    
\r 
 113                                 variables.put("vfModuleType", "");      
\r 
 114                                 variables.put("moduleUuid", "fe6985cd-ea33-3346-ac12-ab121484a3fe");
\r