aeb47c00a9148778eead4e60b556f956be2919b1
[so.git] /
1 /*-\r
2  * ============LICENSE_START=======================================================\r
3  * ONAP - SO\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
10  *\r
11  *      http://www.apache.org/licenses/LICENSE-2.0\r
12  *\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
19  */\r
20 \r
21 package org.openecomp.mso.bpmn.infrastructure;\r
22 \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
27 \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
35 \r
36 @Ignore\r
37 public class DoCreateVfModuleVolumeV2Test extends WorkflowTest {\r
38 \r
39     public static final String _prefix = "CVFMODVOL2_";\r
40 \r
41     private final CallbackSet callbacks = new CallbackSet();\r
42 \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
48     }\r
49 \r
50     /**\r
51      * Happy Path\r
52      *\r
53      * @throws Exception\r
54      */\r
55     @Test\r
56     //@Ignore\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
63 \r
64         logStart();\r
65 \r
66 //              DoCreateVfModuleVolume_Success();\r
67 \r
68         String businessKey = UUID.randomUUID().toString();\r
69         String createVfModuleVolRequest = FileUtil.readResourceFile("__files/DoCreateVfModuleVolumeV1/CreateVfModuleVolumeRequest.xml");\r
70 \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
79 \r
80         injectVNFRestCallbacks(callbacks, "volumeGroupCreate");\r
81 \r
82         waitForProcessEnd(businessKey, 100000);\r
83         checkVariable(businessKey, "DCVFMODVOLV2_SuccessIndicator", true);\r
84 \r
85         logEnd();\r
86     }\r
87 \r
88     @Test\r
89 //      @Ignore\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
96 \r
97         logStart();\r
98 \r
99 //              DoCreateVfModuleVolume_VolumeGroupExistsFail();\r
100 \r
101         String businessKey = UUID.randomUUID().toString();\r
102         String createVfModuleVolRequest = FileUtil.readResourceFile("__files/DoCreateVfModuleVolumeV1/CreateVfModuleVolumeRequest.xml");\r
103 \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
111 \r
112         //injectVNFRestCallbacks(callbacks, "volumeGroupCreate");\r
113 \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
119 \r
120         logEnd();\r
121     }\r
122 \r
123     /**\r
124      * Will trigger AAI create rollback\r
125      *\r
126      * @throws Exception\r
127      */\r
128     @Test\r
129 //      @Ignore\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
136 \r
137         logStart();\r
138 \r
139 //              DoCreateVfModuleVolume_VnfCreateVolumeGroupFail();\r
140 \r
141         String businessKey = UUID.randomUUID().toString();\r
142         String createVfModuleVolRequest = FileUtil.readResourceFile("__files/DoCreateVfModuleVolumeV1/CreateVfModuleVolumeRequest.xml");\r
143 \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
152 \r
153         //injectVNFRestCallbacks(callbacks, "volumeGroupCreate");\r
154 \r
155         waitForProcessEnd(businessKey, 100000);\r
156         checkVariable(businessKey, "DCVFMODVOLV2_SuccessIndicator", false);\r
157 \r
158         logEnd();\r
159     }\r
160 \r
161     /**\r
162      * Will trigger AAI create rollback\r
163      *\r
164      * @throws Exception\r
165      */\r
166     @Test\r
167 //      @Ignore\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
174 \r
175         logStart();\r
176 \r
177 //              DoCreateVfModuleVolume_AaiVolumeGroupUpdateFail();\r
178 \r
179         String businessKey = UUID.randomUUID().toString();\r
180         String createVfModuleVolRequest = FileUtil.readResourceFile("__files/DoCreateVfModuleVolumeV1/CreateVfModuleVolumeRequest.xml");\r
181 \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
190 \r
191         // VNF callback not needed fort this failure scenario\r
192 //              injectVNFRestCallbacks(callbacks, "volumeGroupCreate,volumeGroupRollback");\r
193 \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
199 \r
200         logEnd();\r
201     }\r
202 \r
203     /**\r
204      * Will trigger not trigger rollback\r
205      *\r
206      * @throws Exception\r
207      */\r
208     @Test\r
209 //      @Ignore\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
216 \r
217         logStart();\r
218 \r
219 //              DoCreateVfModuleVolume_AaiVolumeGroupUpdateFail();\r
220 \r
221         String businessKey = UUID.randomUUID().toString();\r
222         String createVfModuleVolRequest = FileUtil.readResourceFile("__files/DoCreateVfModuleVolumeV1/CreateVfModuleVolumeNoRollbackRequest.xml");\r
223 \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
232 \r
233         // VNF callback not needed fort this failure scenario\r
234 //              injectVNFRestCallbacks(callbacks, "volumeGroupCreate");\r
235 \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
241 \r
242         logEnd();\r
243     }\r
244 }\r