2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.openecomp.mso.bpmn.infrastructure;
23 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfById;
24 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetVfModuleId;
25 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetVolumeGroupById;
26 import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.mockUpdateRequestDB;
27 import static org.openecomp.mso.bpmn.mock.StubResponseVNFAdapter.mockPutVNFVolumeGroup;
29 import java.io.IOException;
30 import java.util.HashMap;
32 import java.util.UUID;
34 import org.camunda.bpm.engine.test.Deployment;
35 import org.junit.Test;
36 import org.openecomp.mso.bpmn.common.WorkflowTest;
37 import org.openecomp.mso.bpmn.common.workflow.service.WorkflowResponse;
38 import org.openecomp.mso.bpmn.mock.FileUtil;
41 * Unit test cases for UpdateVfModuleVolume.bpmn
43 public class UpdateVfModuleVolumeInfraV1Test extends WorkflowTest {
45 private final CallbackSet callbacks = new CallbackSet();
47 public UpdateVfModuleVolumeInfraV1Test() throws IOException {
48 callbacks.put("volumeGroupUpdate", FileUtil.readResourceFile(
49 "__files/VfModularity/VNFAdapterRestVolumeGroupCallback.xml"));
53 * Happy path scenario.
58 @Deployment(resources = {
59 "process/UpdateVfModuleVolumeInfraV1.bpmn",
60 "subprocess/VnfAdapterRestV1.bpmn",
61 "subprocess/CompleteMsoProcess.bpmn",
62 "subprocess/FalloutHandler.bpmn"
64 public void happyPath() throws Exception {
68 MockGetGenericVnfById("/TEST-VNF-ID-0123", "CreateVfModuleVolumeInfraV1/GenericVnf.xml", 200);
69 MockGetVolumeGroupById("mdt1", "78987", "UpdateVfModuleVolumeInfraV1/queryVolumeId_AAIResponse_Success.xml");
70 MockGetVfModuleId("9e48f6ea-f786-46de-800a-d480e5ccc846", "6a1dc898-b590-47b9-bbf0-34424a7a2ec3/", "UpdateVfModuleVolumeInfraV1/vf_module_aai_response.xml", 200);
71 mockPutVNFVolumeGroup("78987", 202);
72 mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");
74 String businessKey = UUID.randomUUID().toString();
75 String updaetVfModuleVolRequest =
76 FileUtil.readResourceFile("__files/UpdateVfModuleVolumeInfraV1/updateVfModuleVolume_VID_request.json");
78 Map<String, Object> testVariables = new HashMap<String, Object>();
79 testVariables.put("requestId", "TEST-REQUEST-ID-0123");
80 testVariables.put("serviceInstanceId", "test-service-instance-id");
81 testVariables.put("volumeGroupId", "78987");
82 testVariables.put("vnfId", "TEST-VNF-ID-0123");
83 TestAsyncResponse asyncResponse = invokeAsyncProcess("UpdateVfModuleVolumeInfraV1", "v1", businessKey, updaetVfModuleVolRequest, testVariables);
84 WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 10000);
86 String responseBody = response.getResponse();
87 System.out.println("Workflow (Synch) Response:\n" + responseBody);
89 injectVNFRestCallbacks(callbacks, "volumeGroupUpdate");
91 waitForProcessEnd(businessKey, 10000);
92 checkVariable(businessKey, "UpdateVfModuleVolumeSuccessIndicator", true);
98 * VF Module Personal model id does not match request model invariant id
103 @Deployment(resources = {
104 "process/UpdateVfModuleVolumeInfraV1.bpmn",
105 "subprocess/VnfAdapterRestV1.bpmn",
106 "subprocess/CompleteMsoProcess.bpmn",
107 "subprocess/FalloutHandler.bpmn"
109 public void testPersonaModelIdNotMatch() throws Exception {
113 MockGetVolumeGroupById("mdt1", "78987", "UpdateVfModuleVolumeInfraV1/queryVolumeId_AAIResponse_Success.xml");
114 MockGetGenericVnfById("/TEST-VNF-ID-0123", "CreateVfModuleVolumeInfraV1/GenericVnf.xml", 200);
115 MockGetVfModuleId("9e48f6ea-f786-46de-800a-d480e5ccc846", "6a1dc898-b590-47b9-bbf0-34424a7a2ec3/", "UpdateVfModuleVolumeInfraV1/vf_module_aai_response.xml", 200);
116 mockPutVNFVolumeGroup("78987", 202);
117 mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");
119 String businessKey = UUID.randomUUID().toString();
120 String updaetVfModuleVolRequest =
121 FileUtil.readResourceFile("__files/UpdateVfModuleVolumeInfraV1/updateVfModuleVolume_VID_request_2.json");
123 Map<String, Object> testVariables = new HashMap<String, Object>();
124 testVariables.put("requestId", "TEST-REQUEST-ID-0123");
125 testVariables.put("serviceInstanceId", "test-service-instance-id");
126 testVariables.put("volumeGroupId", "78987");
127 testVariables.put("vnfId", "TEST-VNF-ID-0123");
128 TestAsyncResponse asyncResponse = invokeAsyncProcess("UpdateVfModuleVolumeInfraV1", "v1", businessKey, updaetVfModuleVolRequest, testVariables);
129 WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 10000);
131 String responseBody = response.getResponse();
132 System.out.println("Workflow (Synch) Response:\n" + responseBody);
134 injectVNFRestCallbacks(callbacks, "volumeGroupUpdate");
136 waitForProcessEnd(businessKey, 10000);
137 checkVariable(businessKey, "UpdateVfModuleVolumeSuccessIndicator", true);