Change the header to SO
[so.git] / bpmn / MSOInfrastructureBPMN / src / test / java / org / openecomp / mso / bpmn / infrastructure / DoDeleteVfModuleVolumeV2Test.java
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<String, Object>();\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<String, Object>();\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<String, Object>();\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<String, Object>();\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