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.MockGetGenericVnfById;
\r
24 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetVfModuleId;
\r
25 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetVolumeGroupById;
\r
26 import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.mockUpdateRequestDB;
\r
27 import static org.openecomp.mso.bpmn.mock.StubResponseVNFAdapter.mockPutVNFVolumeGroup;
\r
29 import java.io.IOException;
\r
30 import java.util.HashMap;
\r
31 import java.util.Map;
\r
32 import java.util.UUID;
\r
34 import org.camunda.bpm.engine.test.Deployment;
\r
35 import org.junit.Test;
\r
36 import org.openecomp.mso.bpmn.common.WorkflowTest;
\r
37 import org.openecomp.mso.bpmn.common.workflow.service.WorkflowResponse;
\r
38 import org.openecomp.mso.bpmn.mock.FileUtil;
\r
41 * Unit test cases for UpdateVfModuleVolume.bpmn
\r
43 public class UpdateVfModuleVolumeInfraV1Test extends WorkflowTest {
\r
45 private final CallbackSet callbacks = new CallbackSet();
\r
47 public UpdateVfModuleVolumeInfraV1Test() throws IOException {
\r
48 callbacks.put("volumeGroupUpdate", FileUtil.readResourceFile(
\r
49 "__files/VfModularity/VNFAdapterRestVolumeGroupCallback.xml"));
\r
53 * Happy path scenario.
\r
58 @Deployment(resources = {
\r
59 "process/UpdateVfModuleVolumeInfraV1.bpmn",
\r
60 "subprocess/VnfAdapterRestV1.bpmn",
\r
61 "subprocess/CompleteMsoProcess.bpmn",
\r
62 "subprocess/GenericNotificationService.bpmn",
\r
63 "subprocess/FalloutHandler.bpmn"
\r
65 public void happyPath() throws Exception {
\r
69 MockGetGenericVnfById("/TEST-VNF-ID-0123", "CreateVfModuleVolumeInfraV1/GenericVnf.xml", 200);
\r
70 MockGetVolumeGroupById("mdt1", "78987", "UpdateVfModuleVolumeInfraV1/queryVolumeId_AAIResponse_Success.xml");
\r
71 MockGetVfModuleId("9e48f6ea-f786-46de-800a-d480e5ccc846", "6a1dc898-b590-47b9-bbf0-34424a7a2ec3/", "UpdateVfModuleVolumeInfraV1/vf_module_aai_response.xml", 200);
\r
72 mockPutVNFVolumeGroup("78987", 202);
\r
73 mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");
\r
75 String businessKey = UUID.randomUUID().toString();
\r
76 String updaetVfModuleVolRequest =
\r
77 FileUtil.readResourceFile("__files/UpdateVfModuleVolumeInfraV1/updateVfModuleVolume_VID_request.json");
\r
79 Map<String, Object> testVariables = new HashMap<>();
\r
80 testVariables.put("requestId", "TEST-REQUEST-ID-0123");
\r
81 testVariables.put("serviceInstanceId", "test-service-instance-id");
\r
82 testVariables.put("volumeGroupId", "78987");
\r
83 testVariables.put("vnfId", "TEST-VNF-ID-0123");
\r
84 TestAsyncResponse asyncResponse = invokeAsyncProcess("UpdateVfModuleVolumeInfraV1", "v1", businessKey, updaetVfModuleVolRequest, testVariables);
\r
85 WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 10000);
\r
87 String responseBody = response.getContent();
\r
88 System.out.println("Workflow (Synch) Response:\n" + responseBody);
\r
90 injectVNFRestCallbacks(callbacks, "volumeGroupUpdate");
\r
92 waitForProcessEnd(businessKey, 10000);
\r
93 checkVariable(businessKey, "UpdateVfModuleVolumeSuccessIndicator", true);
\r
99 * VF Module Personal model id does not match request model invariant id
\r
100 * @throws Exception
\r
104 @Deployment(resources = {
\r
105 "process/UpdateVfModuleVolumeInfraV1.bpmn",
\r
106 "subprocess/VnfAdapterRestV1.bpmn",
\r
107 "subprocess/CompleteMsoProcess.bpmn",
\r
108 "subprocess/GenericNotificationService.bpmn",
\r
109 "subprocess/FalloutHandler.bpmn"
\r
111 public void testPersonaModelIdNotMatch() throws Exception {
\r
115 MockGetVolumeGroupById("mdt1", "78987", "UpdateVfModuleVolumeInfraV1/queryVolumeId_AAIResponse_Success.xml");
\r
116 MockGetGenericVnfById("/TEST-VNF-ID-0123", "CreateVfModuleVolumeInfraV1/GenericVnf.xml", 200);
\r
117 MockGetVfModuleId("9e48f6ea-f786-46de-800a-d480e5ccc846", "6a1dc898-b590-47b9-bbf0-34424a7a2ec3/", "UpdateVfModuleVolumeInfraV1/vf_module_aai_response.xml", 200);
\r
118 mockPutVNFVolumeGroup("78987", 202);
\r
119 mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");
\r
121 String businessKey = UUID.randomUUID().toString();
\r
122 String updaetVfModuleVolRequest =
\r
123 FileUtil.readResourceFile("__files/UpdateVfModuleVolumeInfraV1/updateVfModuleVolume_VID_request_2.json");
\r
125 Map<String, Object> testVariables = new HashMap<>();
\r
126 testVariables.put("requestId", "TEST-REQUEST-ID-0123");
\r
127 testVariables.put("serviceInstanceId", "test-service-instance-id");
\r
128 testVariables.put("volumeGroupId", "78987");
\r
129 testVariables.put("vnfId", "TEST-VNF-ID-0123");
\r
130 TestAsyncResponse asyncResponse = invokeAsyncProcess("UpdateVfModuleVolumeInfraV1", "v1", businessKey, updaetVfModuleVolRequest, testVariables);
\r
131 WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 10000);
\r
133 String responseBody = response.getContent();
\r
134 System.out.println("Workflow (Synch) Response:\n" + responseBody);
\r
136 injectVNFRestCallbacks(callbacks, "volumeGroupUpdate");
\r
138 waitForProcessEnd(businessKey, 10000);
\r
139 checkVariable(businessKey, "UpdateVfModuleVolumeSuccessIndicator", true);
\r