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 java.io.IOException;
\r
24 import java.util.HashMap;
\r
25 import java.util.Map;
\r
26 import java.util.UUID;
\r
28 import org.camunda.bpm.engine.test.Deployment;
\r
29 import org.junit.Assert;
\r
30 import org.junit.Ignore;
\r
31 import org.junit.Test;
\r
32 import org.openecomp.mso.bpmn.common.WorkflowTest;
\r
33 import org.openecomp.mso.bpmn.core.WorkflowException;
\r
34 import org.openecomp.mso.bpmn.mock.FileUtil;
\r
37 public class DoCreateVfModuleVolumeV2Test extends WorkflowTest {
\r
39 public static final String _prefix = "CVFMODVOL2_";
\r
41 private final CallbackSet callbacks = new CallbackSet();
\r
43 public DoCreateVfModuleVolumeV2Test() throws IOException {
\r
44 callbacks.put("volumeGroupCreate", FileUtil.readResourceFile(
\r
45 "__files/DoCreateVfModuleVolumeV1/CreateVfModuleVolumeCallbackResponse.xml"));
\r
46 callbacks.put("volumeGroupRollback", FileUtil.readResourceFile(
\r
47 "__files/DoCreateVfModuleVolumeV1/RollbackVfModuleVolumeCallbackResponse.xml"));
\r
57 @Deployment(resources = {"subprocess/DoCreateVfModuleVolumeV2.bpmn",
\r
58 "subprocess/FalloutHandler.bpmn",
\r
59 "subprocess/CompleteMsoProcess.bpmn",
\r
60 "subprocess/vnfAdapterRestV1.bpmn",
\r
61 "subprocess/DoCreateVfModuleVolumeRollback.bpmn"})
\r
62 public void TestHappyPath() throws Exception {
\r
66 // DoCreateVfModuleVolume_Success();
\r
68 String businessKey = UUID.randomUUID().toString();
\r
69 String createVfModuleVolRequest = FileUtil.readResourceFile("__files/DoCreateVfModuleVolumeV1/CreateVfModuleVolumeRequest.xml");
\r
71 Map<String, Object> testVariables = new HashMap<>();
\r
72 testVariables.put("volumeGroupId", "TEST-VOLUME-VOLUME-GROUP-ID-0123");
\r
73 testVariables.put("vnfId", "TEST-VNF-ID-0123");
\r
74 testVariables.put("lcpCloudRegionId", "AAIAIC25");
\r
75 testVariables.put("test-volume-group-name", "MSOTESTVOL101a-vSAMP12_base_vol_module-01");
\r
76 testVariables.put("test-volume-group-id", "TEST-VOLUME-GROUP-ID-0123");
\r
77 //testVariables.put("DoCreateVfModuleVolumeV1Request", createVfModuleVolRequest);
\r
78 TestAsyncResponse asyncResponse = invokeAsyncProcess("DoCreateVfModuleVolumeV2", "v1", businessKey, createVfModuleVolRequest, testVariables);
\r
80 injectVNFRestCallbacks(callbacks, "volumeGroupCreate");
\r
82 waitForProcessEnd(businessKey, 100000);
\r
83 checkVariable(businessKey, "DCVFMODVOLV2_SuccessIndicator", true);
\r
90 @Deployment(resources = {"subprocess/DoCreateVfModuleVolumeV2.bpmn",
\r
91 "subprocess/FalloutHandler.bpmn",
\r
92 "subprocess/CompleteMsoProcess.bpmn",
\r
93 "subprocess/vnfAdapterRestV1.bpmn",
\r
94 "subprocess/DoCreateVfModuleVolumeRollback.bpmn"})
\r
95 public void TestVolumeGroupExistError() throws Exception {
\r
99 // DoCreateVfModuleVolume_VolumeGroupExistsFail();
\r
101 String businessKey = UUID.randomUUID().toString();
\r
102 String createVfModuleVolRequest = FileUtil.readResourceFile("__files/DoCreateVfModuleVolumeV1/CreateVfModuleVolumeRequest.xml");
\r
104 Map<String, Object> testVariables = new HashMap<>();
\r
105 testVariables.put("DCVFMODVOLV2_volumeGroupId", "TEST-VOLUME-VOLUME-GROUP-ID-0123");
\r
106 testVariables.put("vnf-id", "TEST-VNF-ID-0123");
\r
107 testVariables.put("volume-group-id", "TEST-VOLUME-GROUP-ID-0123");
\r
108 testVariables.put("test-volume-group-name", "TEST-MSOTESTVOL101a-vSAMP12_base_vol_module-0");
\r
109 testVariables.put("DoCreateVfModuleVolumeV1Request", createVfModuleVolRequest);
\r
110 TestAsyncResponse asyncResponse = invokeAsyncProcess("DoCreateVfModuleVolumeV2", "v1", businessKey, createVfModuleVolRequest, testVariables);
\r
112 //injectVNFRestCallbacks(callbacks, "volumeGroupCreate");
\r
114 waitForProcessEnd(businessKey, 100000);
\r
115 WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, "SavedWorkflowException1");
\r
116 Assert.assertTrue(wfe.getErrorCode() == 2500);
\r
117 Assert.assertTrue(wfe.getErrorMessage().startsWith("Generic vnf null was not found in AAI. Return code: 404."));
\r
118 checkVariable(businessKey, "DCVFMODVOLV2_SuccessIndicator", false);
\r
124 * Will trigger AAI create rollback
\r
126 * @throws Exception
\r
130 @Deployment(resources = {"subprocess/DoCreateVfModuleVolumeV2.bpmn",
\r
131 "subprocess/FalloutHandler.bpmn",
\r
132 "subprocess/CompleteMsoProcess.bpmn",
\r
133 "subprocess/vnfAdapterRestV1.bpmn",
\r
134 "subprocess/DoCreateVfModuleVolumeRollback.bpmn"})
\r
135 public void TestVnfVolumeGroupCreateError() throws Exception {
\r
139 // DoCreateVfModuleVolume_VnfCreateVolumeGroupFail();
\r
141 String businessKey = UUID.randomUUID().toString();
\r
142 String createVfModuleVolRequest = FileUtil.readResourceFile("__files/DoCreateVfModuleVolumeV1/CreateVfModuleVolumeRequest.xml");
\r
144 Map<String, Object> testVariables = new HashMap<>();
\r
145 testVariables.put("DCVFMODVOLV2_volumeGroupId", "TEST-VOLUME-VOLUME-GROUP-ID-0123");
\r
146 testVariables.put("vnf-id", "TEST-VNF-ID-0123");
\r
147 testVariables.put("volume-group-id", "TEST-VOLUME-GROUP-ID-0123");
\r
148 testVariables.put("test-volume-group-name", "TEST-MSOTESTVOL101a-vSAMP12_base_vol_module-0");
\r
149 testVariables.put("test-volume-group-id", "TEST-VOLUME-GROUP-ID-0123");
\r
150 testVariables.put("DoCreateVfModuleVolumeV1Request", createVfModuleVolRequest);
\r
151 TestAsyncResponse asyncResponse = invokeAsyncProcess("DoCreateVfModuleVolumeV2", "v1", businessKey, createVfModuleVolRequest, testVariables);
\r
153 //injectVNFRestCallbacks(callbacks, "volumeGroupCreate");
\r
155 waitForProcessEnd(businessKey, 100000);
\r
156 checkVariable(businessKey, "DCVFMODVOLV2_SuccessIndicator", false);
\r
162 * Will trigger AAI create rollback
\r
164 * @throws Exception
\r
168 @Deployment(resources = {"subprocess/DoCreateVfModuleVolumeV2.bpmn",
\r
169 "subprocess/FalloutHandler.bpmn",
\r
170 "subprocess/CompleteMsoProcess.bpmn",
\r
171 "subprocess/vnfAdapterRestV1.bpmn",
\r
172 "subprocess/DoCreateVfModuleVolumeRollback.bpmn"})
\r
173 public void TestUpdateAaiVolumeGroupError() throws Exception {
\r
177 // DoCreateVfModuleVolume_AaiVolumeGroupUpdateFail();
\r
179 String businessKey = UUID.randomUUID().toString();
\r
180 String createVfModuleVolRequest = FileUtil.readResourceFile("__files/DoCreateVfModuleVolumeV1/CreateVfModuleVolumeRequest.xml");
\r
182 Map<String, Object> testVariables = new HashMap<>();
\r
183 testVariables.put("DCVFMODVOLV2_volumeGroupId", "TEST-VOLUME-VOLUME-GROUP-ID-0123");
\r
184 testVariables.put("vnf-id", "TEST-VNF-ID-0123");
\r
185 testVariables.put("volume-group-id", "TEST-VOLUME-GROUP-ID-0123");
\r
186 testVariables.put("test-volume-group-name", "TEST-MSOTESTVOL101a-vSAMP12_base_vol_module-0");
\r
187 testVariables.put("test-volume-group-id", "TEST-VOLUME-GROUP-ID-0123");
\r
188 testVariables.put("DoCreateVfModuleVolumeV1Request", createVfModuleVolRequest);
\r
189 TestAsyncResponse asyncResponse = invokeAsyncProcess("DoCreateVfModuleVolumeV2", "v1", businessKey, createVfModuleVolRequest, testVariables);
\r
191 // VNF callback not needed fort this failure scenario
\r
192 // injectVNFRestCallbacks(callbacks, "volumeGroupCreate,volumeGroupRollback");
\r
194 waitForProcessEnd(businessKey, 100000);
\r
195 WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, "SavedWorkflowException1");
\r
196 Assert.assertTrue(wfe.getErrorCode() == 2500);
\r
197 Assert.assertTrue(wfe.getErrorMessage().startsWith("Generic vnf null was not found in AAI. Return code: 404."));
\r
198 checkVariable(businessKey, "DCVFMODVOLV2_SuccessIndicator", false);
\r
204 * Will trigger not trigger rollback
\r
206 * @throws Exception
\r
210 @Deployment(resources = {"subprocess/DoCreateVfModuleVolumeV2.bpmn",
\r
211 "subprocess/FalloutHandler.bpmn",
\r
212 "subprocess/CompleteMsoProcess.bpmn",
\r
213 "subprocess/vnfAdapterRestV1.bpmn",
\r
214 "subprocess/DoCreateVfModuleVolumeRollback.bpmn"})
\r
215 public void TestUpdateAaiVolumeGroupErrorNoRollback() throws Exception {
\r
219 // DoCreateVfModuleVolume_AaiVolumeGroupUpdateFail();
\r
221 String businessKey = UUID.randomUUID().toString();
\r
222 String createVfModuleVolRequest = FileUtil.readResourceFile("__files/DoCreateVfModuleVolumeV1/CreateVfModuleVolumeNoRollbackRequest.xml");
\r
224 Map<String, Object> testVariables = new HashMap<>();
\r
225 testVariables.put("DCVFMODVOLV2_volumeGroupId", "TEST-VOLUME-VOLUME-GROUP-ID-0123");
\r
226 testVariables.put("vnf-id", "TEST-VNF-ID-0123");
\r
227 testVariables.put("volume-group-id", "TEST-VOLUME-GROUP-ID-0123");
\r
228 testVariables.put("test-volume-group-name", "TEST-MSOTESTVOL101a-vSAMP12_base_vol_module-0");
\r
229 testVariables.put("test-volume-group-id", "TEST-VOLUME-GROUP-ID-0123");
\r
230 testVariables.put("DoCreateVfModuleVolumeV1Request", createVfModuleVolRequest);
\r
231 TestAsyncResponse asyncResponse = invokeAsyncProcess("DoCreateVfModuleVolumeV2", "v1", businessKey, createVfModuleVolRequest, testVariables);
\r
233 // VNF callback not needed fort this failure scenario
\r
234 // injectVNFRestCallbacks(callbacks, "volumeGroupCreate");
\r
236 waitForProcessEnd(businessKey, 100000);
\r
237 WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, "SavedWorkflowException1");
\r
238 Assert.assertTrue(wfe.getErrorCode() == 2500);
\r
239 Assert.assertTrue(wfe.getErrorMessage().startsWith("Generic vnf null was not found in AAI. Return code: 404."));
\r
240 checkVariable(businessKey, "DCVFMODVOLV2_SuccessIndicator", false);
\r