8d2991e7f20af6759847bdd7132e7eaf33bfd7cc
[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 static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockDeleteVolumeGroupById;\r
24 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetNetworkCloudRegion;\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
28 import static org.openecomp.mso.bpmn.mock.StubResponseVNFAdapter.mockVfModuleDelete;\r
29 \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
34 \r
35 import org.camunda.bpm.engine.test.Deployment;\r
36 import org.junit.Test;\r
37 import org.openecomp.mso.bpmn.common.WorkflowTest;\r
38 import org.openecomp.mso.bpmn.core.WorkflowException;\r
39 import org.openecomp.mso.bpmn.mock.FileUtil;\r
40 \r
41 public class DoDeleteVfModuleVolumeV2Test extends WorkflowTest {\r
42 \r
43     private final CallbackSet callbacks = new CallbackSet();\r
44 \r
45     public DoDeleteVfModuleVolumeV2Test() throws IOException {\r
46         callbacks.put("volumeGroupDelete", FileUtil.readResourceFile(\r
47                 "__files/DeleteVfModuleVolumeInfraV1/DeleteVfModuleVolumeCallbackResponse.xml"));\r
48     }\r
49 \r
50     @Test\r
51     //@Ignore\r
52     @Deployment(resources = {"subprocess/DoDeleteVfModuleVolumeV2.bpmn", "subprocess/VnfAdapterRestV1.bpmn"})\r
53     public void happyPath() throws Exception {\r
54 \r
55         logStart();\r
56 \r
57         MockGetNetworkCloudRegion("MDTWNJ21", "CreateNetworkV2/cloudRegion30_AAIResponse_Success.xml");\r
58         MockGetVolumeGroupById("RDM2WAGPLCP", "78987", "DeleteVfModuleVolumeInfraV1/queryVolumeId_AAIResponse_Success.xml");\r
59         MockDeleteVolumeGroupById("RDM2WAGPLCP", "78987", "0000020", 200);\r
60         mockPutVNFVolumeGroup("78987", 202);\r
61         mockVfModuleDelete("78987");\r
62         MockDeleteVolumeGroupById("AAIAIC25", "78987", "0000020", 200);\r
63         mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");\r
64         MockGetVolumeGroupById("AAIAIC25", "78987", "VfModularity/VolumeGroup.xml");\r
65         String businessKey = UUID.randomUUID().toString();\r
66 \r
67         Map<String, Object> testVariables = new HashMap<>();\r
68         testVariables.put("mso-request-id", "TEST-REQUEST-ID-0123");\r
69         testVariables.put("msoRequestId", "TEST-REQUEST-ID-0123");\r
70         testVariables.put("isDebugLogEnabled", "true");\r
71         //testVariables.put("lcpCloudRegionId", "MDTWNJ21");\r
72         //testVariables.put("tenantId", "fba1bd1e195a404cacb9ce17a9b2b421");\r
73         testVariables.put("volumeGroupId", "78987");\r
74         testVariables.put("serviceInstanceId", "test-service-instance-id-0123");\r
75 \r
76         String cloudConfiguration = "{" +\r
77                 "\"lcpCloudRegionId\": \"MDTWNJ21\"," +\r
78                 "\"tenantId\": \"fba1bd1e195a404cacb9ce17a9b2b421\"" + "}";\r
79         testVariables.put("cloudConfiguration", cloudConfiguration);\r
80 \r
81         invokeSubProcess("DoDeleteVfModuleVolumeV2", businessKey, testVariables);\r
82 \r
83         injectVNFRestCallbacks(callbacks, "volumeGroupDelete");\r
84 \r
85         waitForProcessEnd(businessKey, 100000);\r
86         checkVariable(businessKey, "wasDeleted", "true");\r
87 \r
88         logEnd();\r
89     }\r
90 \r
91 \r
92     @Test\r
93     //@Ignore\r
94     @Deployment(resources = {"subprocess/DoDeleteVfModuleVolumeV2.bpmn", "subprocess/VnfAdapterRestV1.bpmn"})\r
95     public void testVolumeGroupInUse() throws Exception {\r
96 \r
97         logStart();\r
98         MockGetNetworkCloudRegion("MDTWNJ21", "CreateNetworkV2/cloudRegion30_AAIResponse_Success.xml");\r
99         MockGetVolumeGroupById("RDM2WAGPLCP", "78987", "DeleteVfModuleVolumeInfraV1/queryVolumeId_AAIResponse_HasVfModRelationship.xml");\r
100         MockDeleteVolumeGroupById("RDM2WAGPLCP", "78987", "0000020", 200);\r
101         mockVfModuleDelete("78987");\r
102         mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");\r
103         String businessKey = UUID.randomUUID().toString();\r
104 \r
105         Map<String, Object> testVariables = new HashMap<>();\r
106         testVariables.put("mso-request-id", "TEST-REQUEST-ID-0123");\r
107         testVariables.put("msoRequestId", "TEST-REQUEST-ID-0123");\r
108         testVariables.put("isDebugLogEnabled", "true");\r
109         testVariables.put("volumeGroupId", "78987");\r
110         testVariables.put("serviceInstanceId", "test-service-instance-id-0123");\r
111 \r
112         String cloudConfiguration = "{" +\r
113                 "\"lcpCloudRegionId\": \"MDTWNJ21\"," +\r
114                 "\"tenantId\": \"fba1bd1e195a404cacb9ce17a9b2b421\"" + "}";\r
115         testVariables.put("cloudConfiguration", cloudConfiguration);\r
116 \r
117         invokeSubProcess("DoDeleteVfModuleVolumeV2", businessKey, testVariables);\r
118 \r
119         waitForProcessEnd(businessKey, 100000);\r
120         checkVariable(businessKey, "wasDeleted", "false");\r
121         WorkflowException msoException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");\r
122         System.out.println("WorkflowException - Code: " + msoException.getErrorCode() + " Message: " + msoException.getErrorMessage());\r
123 \r
124 \r
125         logEnd();\r
126     }\r
127 \r
128     @Test\r
129     //@Ignore\r
130     @Deployment(resources = {"subprocess/DoDeleteVfModuleVolumeV2.bpmn", "subprocess/VnfAdapterRestV1.bpmn"})\r
131     public void testTenantIdMismatch() throws Exception {\r
132 \r
133         logStart();\r
134         MockGetNetworkCloudRegion("MDTWNJ21", "CreateNetworkV2/cloudRegion30_AAIResponse_Success.xml");\r
135         MockGetVolumeGroupById("RDM2WAGPLCP", "78987", "DeleteVfModuleVolumeInfraV1/queryVolumeId_AAIResponse_Success.xml");\r
136         MockDeleteVolumeGroupById("RDM2WAGPLCP", "78987", "0000020", 200);\r
137         mockVfModuleDelete("78987", 404);\r
138         mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");\r
139         String businessKey = UUID.randomUUID().toString();\r
140 \r
141         Map<String, Object> testVariables = new HashMap<>();\r
142         testVariables.put("mso-request-id", "TEST-REQUEST-ID-0123");\r
143         testVariables.put("msoRequestId", "TEST-REQUEST-ID-0123");\r
144         testVariables.put("isDebugLogEnabled", "true");\r
145         testVariables.put("volumeGroupId", "78987");\r
146         testVariables.put("serviceInstanceId", "test-service-instance-id-0123");\r
147 \r
148         String cloudConfiguration = "{" +\r
149                 "\"lcpCloudRegionId\": \"MDTWNJ21\"," +\r
150                 "\"tenantId\": \"fba1bd1e195a404cacb9ce17a9b2b421xxx\"" + "}";\r
151         testVariables.put("cloudConfiguration", cloudConfiguration);\r
152 \r
153         invokeSubProcess("DoDeleteVfModuleVolumeV2", businessKey, testVariables);\r
154 \r
155         waitForProcessEnd(businessKey, 100000);\r
156         checkVariable(businessKey, "wasDeleted", "false");\r
157         WorkflowException msoException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");\r
158         System.out.println("WorkflowException - Code: " + msoException.getErrorCode() + " Message: " + msoException.getErrorMessage());\r
159 \r
160 \r
161         logEnd();\r
162     }\r
163 \r
164     @Test\r
165     //@Ignore\r
166     @Deployment(resources = {"subprocess/DoDeleteVfModuleVolumeV2.bpmn", "subprocess/VnfAdapterRestV1.bpmn"})\r
167     public void testVnfAdapterCallfail() throws Exception {\r
168 \r
169         logStart();\r
170         MockGetNetworkCloudRegion("MDTWNJ21", "CreateNetworkV2/cloudRegion30_AAIResponse_Success.xml");\r
171         MockGetVolumeGroupById("RDM2WAGPLCP", "78987", "DeleteVfModuleVolumeInfraV1/queryVolumeId_AAIResponse_Success.xml");\r
172         MockDeleteVolumeGroupById("RDM2WAGPLCP", "78987", "0000020", 200);\r
173         mockVfModuleDelete("78987", 404);\r
174         mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");\r
175         String businessKey = UUID.randomUUID().toString();\r
176 \r
177         Map<String, Object> testVariables = new HashMap<>();\r
178         testVariables.put("mso-request-id", "TEST-REQUEST-ID-0123");\r
179         testVariables.put("msoRequestId", "TEST-REQUEST-ID-0123");\r
180         testVariables.put("isDebugLogEnabled", "true");\r
181         testVariables.put("volumeGroupId", "78987");\r
182         testVariables.put("serviceInstanceId", "test-service-instance-id-0123");\r
183 \r
184         String cloudConfiguration = "{" +\r
185                 "\"lcpCloudRegionId\": \"MDTWNJ21\"," +\r
186                 "\"tenantId\": \"fba1bd1e195a404cacb9ce17a9b2b421\"" + "}";\r
187         testVariables.put("cloudConfiguration", cloudConfiguration);\r
188 \r
189         invokeSubProcess("DoDeleteVfModuleVolumeV2", businessKey, testVariables);\r
190 \r
191         waitForProcessEnd(businessKey, 100000);\r
192         checkVariable(businessKey, "wasDeleted", "false");\r
193         WorkflowException msoException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");\r
194         System.out.println("WorkflowException - Code: " + msoException.getErrorCode() + " Message: " + msoException.getErrorMessage());\r
195 \r
196         logEnd();\r
197     }\r
198 }\r