Merge "Added pom for aria rest server build"
[so.git] / bpmn / MSOInfrastructureBPMN / src / test / java / org / openecomp / mso / bpmn / infrastructure / DeleteNetworkInstanceTest.java
1 package org.openecomp.mso.bpmn.infrastructure;\r
2 \r
3 import static org.openecomp.mso.bpmn.common.BPMNUtil.executeAsyncWorkflow;\r
4 import static org.openecomp.mso.bpmn.common.BPMNUtil.getVariable;\r
5 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetCloudRegion;\r
6 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetNetworkByIdWithDepth;\r
7 import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.mockUpdateRequestDB;\r
8 import static org.openecomp.mso.bpmn.mock.StubResponseNetworkAdapter.MockNetworkAdapter;\r
9 import static org.openecomp.mso.bpmn.mock.StubResponseNetworkAdapter.MockNetworkAdapterContainingRequest;\r
10 import static org.openecomp.mso.bpmn.mock.StubResponseSDNCAdapter.mockSDNCAdapter;\r
11 import static org.openecomp.mso.bpmn.mock.StubResponseSDNCAdapter.mockSDNCAdapterTopology;\r
12 \r
13 import java.util.HashMap;\r
14 import java.util.Map;\r
15 \r
16 import org.camunda.bpm.engine.test.Deployment;\r
17 import org.junit.Assert;\r
18 import org.junit.Rule;\r
19 import org.junit.Test;\r
20 import org.openecomp.mso.bpmn.common.BPMNUtil;\r
21 import org.openecomp.mso.bpmn.common.SDNCAdapterCallbackRule;\r
22 import org.openecomp.mso.bpmn.common.WorkflowTest;\r
23 import org.openecomp.mso.bpmn.common.WorkflowTestTransformer;\r
24 import org.openecomp.mso.bpmn.mock.SDNCAdapterNetworkTopologyMockTransformer;\r
25 \r
26 import com.github.tomakehurst.wiremock.extension.ResponseTransformer;\r
27 \r
28 \r
29 /**\r
30  * Unit test cases for DeleteNetworkInstance.bpmn\r
31  *\r
32  */\r
33 //@Ignore\r
34 public class DeleteNetworkInstanceTest extends WorkflowTest {\r
35         @WorkflowTestTransformer\r
36         public static final ResponseTransformer sdncAdapterMockTransformer =\r
37                 new SDNCAdapterNetworkTopologyMockTransformer();\r
38 \r
39         @Rule\r
40         public final SDNCAdapterCallbackRule sdncAdapterCallbackRule =\r
41                 new SDNCAdapterCallbackRule(processEngineRule);\r
42 \r
43         /**\r
44          * End-to-End flow - Unit test for DeleteNetworkInstance.bpmn\r
45          *  - String input & String response\r
46          */\r
47 \r
48         @Test\r
49         //@Ignore\r
50         @Deployment(resources = {"process/DeleteNetworkInstance.bpmn",\r
51                                                          "subprocess/DoDeleteNetworkInstance.bpmn",\r
52                                                          "subprocess/DoDeleteNetworkInstanceRollback.bpmn",\r
53                                          "subprocess/FalloutHandler.bpmn",\r
54                                  "subprocess/CompleteMsoProcess.bpmn",\r
55                                  "subprocess/SDNCAdapterV1.bpmn"})\r
56 \r
57         public void shouldInvokeServiceDeleteNetworkInstance_VID_Success() throws Exception {\r
58 \r
59                 System.out.println("----------------------------------------------------------");\r
60                 System.out.println("      Success VID - DeleteNetworkInstance flow Started!   ");\r
61                 System.out.println("----------------------------------------------------------");\r
62 \r
63                 // setup simulators\r
64                 mockSDNCAdapterTopology("DeleteNetworkV2mock/sdncDeleteNetworkTopologySimResponse.xml", "SvcAction>delete");\r
65                 MockNetworkAdapter("bdc5efe8-404a-409b-85f6-0dcc9eebae30", 200, "deleteNetworkResponse_Success.xml");\r
66                 MockGetNetworkByIdWithDepth("bdc5efe8-404a-409b-85f6-0dcc9eebae30", "DeleteNetworkV2/deleteNetworkAAIResponse_Success.xml", "1");\r
67                 mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");\r
68                 MockGetCloudRegion("RDM2WAGPLCP", 200, "DeleteNetworkV2/cloudRegion30_AAIResponse_Success.xml");\r
69 \r
70                 Map<String, String> variables = new HashMap<String, String>();\r
71                 variables.put("mso-request-id", "testRequestId");\r
72                 variables.put("requestId", "testRequestId");\r
73                 variables.put("isBaseVfModule", "true");\r
74                 variables.put("recipeTimeout", "0");\r
75                 variables.put("requestAction", "DELETE");\r
76                 variables.put("serviceInstanceId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb");\r
77                 variables.put("vnfId", "");\r
78                 variables.put("vfModuleId", "");\r
79                 variables.put("volumeGroupId", "");\r
80                 variables.put("networkId", "bdc5efe8-404a-409b-85f6-0dcc9eebae30");\r
81                 variables.put("serviceType", "MOG");\r
82                 variables.put("vfModuleType", "");\r
83                 variables.put("networkType", "modelName");\r
84                 variables.put("bpmnRequest", getDeleteNetworkInstanceInfraRequest());\r
85 \r
86                 executeAsyncWorkflow(processEngineRule, "DeleteNetworkInstance", variables);\r
87 \r
88             Assert.assertNotNull("DELNI_CompleteMsoProcessRequest - ", getVariable(processEngineRule, "DeleteNetworkInstance", "DELNI_CompleteMsoProcessRequest"));\r
89             Assert.assertEquals("true", getVariable(processEngineRule, "DeleteNetworkInstance", "DELNI_Success"));\r
90 \r
91                 String workflowResp = BPMNUtil.getVariable(processEngineRule, "DeleteNetworkInstance", "WorkflowResponse");\r
92                 Assert.assertNotNull(workflowResp);\r
93                 System.out.println("DeleteNetworkInstanceTest.shouldInvokeServiceDeleteNetworkInstance_Success() WorkflowResponse:\n" + workflowResp);\r
94 \r
95             String completeMsoProcessRequest =\r
96                         "<aetgt:MsoCompletionRequest xmlns:aetgt=\"http://org.openecomp/mso/workflow/schema/v1\""  + '\n'\r
97                   + "                            xmlns:ns=\"http://org.openecomp/mso/request/types/v1\""  + '\n'\r
98                   + "                            xmlns=\"http://org.openecomp/mso/infra/vnf-request/v1\">"  + '\n'\r
99                   + "   <request-info>"  + '\n'\r
100                   + "      <request-id>testRequestId</request-id>"  + '\n'\r
101                   + "      <action>DELETE</action>"  + '\n'\r
102                   + "      <source>VID</source>"  + '\n'\r
103                   + "   </request-info>"  + '\n'\r
104                   + "   <aetgt:status-message>Network has been deleted successfully.</aetgt:status-message>"  + '\n'\r
105                   + "   <aetgt:mso-bpel-name>BPMN Network action: DELETE</aetgt:mso-bpel-name>" + '\n'\r
106                   + "</aetgt:MsoCompletionRequest>";\r
107 \r
108             Assert.assertEquals(completeMsoProcessRequest, getVariable(processEngineRule, "DeleteNetworkInstance", "DELNI_CompleteMsoProcessRequest"));\r
109 \r
110                 System.out.println("----------------------------------------------------------");\r
111                 System.out.println("     Success VID - DeleteNetworkInstance flow Completed   ");\r
112                 System.out.println("----------------------------------------------------------");\r
113 \r
114 \r
115         }\r
116 \r
117         @Test\r
118         //@Ignore\r
119         @Deployment(resources = {"process/DeleteNetworkInstance.bpmn",\r
120                                                          "subprocess/DoDeleteNetworkInstance.bpmn",\r
121                                                          //"subprocess/DoDeleteNetworkInstanceRollback.bpmn",\r
122                                          "subprocess/FalloutHandler.bpmn",\r
123                                  "subprocess/CompleteMsoProcess.bpmn",\r
124                                  "subprocess/SDNCAdapterV1.bpmn"})\r
125 \r
126         public void shouldInvokeServiceDeleteNetworkInstance_vIPER_Success() throws Exception {\r
127 \r
128                 System.out.println("----------------------------------------------------------");\r
129                 System.out.println("      Success vIPER - DeleteNetworkInstance flow Started! ");\r
130                 System.out.println("----------------------------------------------------------");\r
131 \r
132                 // setup simulators\r
133                 mockSDNCAdapterTopology("DeleteNetworkV2mock/sdncDeleteNetworkTopologySimResponse.xml", "SvcAction>unassign");\r
134                 mockSDNCAdapterTopology("DeleteNetworkV2mock/sdncDeleteNetworkTopologySimResponse.xml", "SvcAction>deactivate");\r
135                 MockNetworkAdapter("bdc5efe8-404a-409b-85f6-0dcc9eebae30", 200, "deleteNetworkResponse_Success.xml");\r
136                 MockGetNetworkByIdWithDepth("bdc5efe8-404a-409b-85f6-0dcc9eebae30", "DeleteNetworkV2/deleteNetworkAAIResponse_Success.xml", "1");\r
137                 mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");\r
138                 MockGetCloudRegion("RDM2WAGPLCP", 200, "DeleteNetworkV2/cloudRegion30_AAIResponse_Success.xml");\r
139 \r
140                 String networkModelInfo = "  {\"modelName\": \"modelName\", " + '\n' +\r
141                                           "   \"networkType\": \"modelName\" }";\r
142 \r
143                 Map<String, String> variables = new HashMap<String, String>();\r
144                 variables.put("testMessageId", "88f65519-9a38-4c4b-8445-9eb4a5a5af56");\r
145                 variables.put("msoRequestId", "testRequestId");\r
146                 variables.put("requestId", "testRequestId");\r
147                 variables.put("serviceInstanceId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb");\r
148                 variables.put("networkId", "bdc5efe8-404a-409b-85f6-0dcc9eebae30");\r
149                 variables.put("networkName", "HSL_direct_net_2");\r
150                 variables.put("lcpCloudRegionId", "RDM2WAGPLCP");\r
151                 variables.put("tenantId", "88a6ca3ee0394ade9403f075db23167e");\r
152                 variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb");\r
153                 variables.put("disableRollback", "false");  // 1702\r
154                 variables.put("failIfExists", "false");\r
155                 //variables.put("sdncVersion", "1702");\r
156                 variables.put("sdncVersion", "1707");\r
157                 variables.put("subscriptionServiceType", "MSO-dev-service-type");\r
158                 variables.put("networkModelInfo", networkModelInfo);\r
159 \r
160                 executeAsyncWorkflow(processEngineRule, "DeleteNetworkInstance", variables);\r
161 \r
162             Assert.assertNotNull("DELNI_CompleteMsoProcessRequest - ", getVariable(processEngineRule, "DeleteNetworkInstance", "DELNI_CompleteMsoProcessRequest"));\r
163             Assert.assertEquals("true", getVariable(processEngineRule, "DeleteNetworkInstance", "DELNI_Success"));\r
164 \r
165                 String workflowResp = BPMNUtil.getVariable(processEngineRule, "DeleteNetworkInstance", "WorkflowResponse");\r
166                 Assert.assertNotNull(workflowResp);\r
167                 System.out.println("DeleteNetworkInstanceTest.shouldInvokeServiceDeleteNetworkInstance_vIPER_Success() WorkflowResponse:\n" + workflowResp);\r
168 \r
169             String completeMsoProcessRequest =\r
170                         "<aetgt:MsoCompletionRequest xmlns:aetgt=\"http://org.openecomp/mso/workflow/schema/v1\""  + '\n'\r
171                   + "                            xmlns:ns=\"http://org.openecomp/mso/request/types/v1\""  + '\n'\r
172                   + "                            xmlns=\"http://org.openecomp/mso/infra/vnf-request/v1\">"  + '\n'\r
173                   + "   <request-info>"  + '\n'\r
174                   + "      <request-id>testRequestId</request-id>"  + '\n'\r
175                   + "      <action>DELETE</action>"  + '\n'\r
176                   + "      <source>VID</source>"  + '\n'\r
177                   + "   </request-info>"  + '\n'\r
178                   + "   <aetgt:status-message>Network has been deleted successfully.</aetgt:status-message>"  + '\n'\r
179                   + "   <aetgt:mso-bpel-name>BPMN Network action: DELETE</aetgt:mso-bpel-name>" + '\n'\r
180                   + "</aetgt:MsoCompletionRequest>";\r
181 \r
182             Assert.assertEquals(completeMsoProcessRequest, getVariable(processEngineRule, "DeleteNetworkInstance", "DELNI_CompleteMsoProcessRequest"));\r
183 \r
184                 System.out.println("----------------------------------------------------------");\r
185                 System.out.println("     Success VID - DeleteNetworkInstance flow Completed   ");\r
186                 System.out.println("----------------------------------------------------------");\r
187 \r
188 \r
189         }\r
190 \r
191         @Test\r
192         //@Ignore\r
193         @Deployment(resources = {"process/DeleteNetworkInstance.bpmn",\r
194                                                          "subprocess/DoDeleteNetworkInstance.bpmn",\r
195                                                          "subprocess/DoDeleteNetworkInstanceRollback.bpmn",\r
196                                          "subprocess/FalloutHandler.bpmn",\r
197                                  "subprocess/CompleteMsoProcess.bpmn",\r
198                                  "subprocess/SDNCAdapterV1.bpmn"})\r
199 \r
200         public void shouldInvokeServiceDeleteNetworkInstanceInfra_vIPER_Rollback() throws Exception {\r
201         // Rollback is not Applicable for DeleteNetwork (no requirements). Rollback should not be invoked.\r
202                 System.out.println("----------------------------------------------------------");\r
203                 System.out.println("      Rollback - DeleteNetworkInstance flow Started!      ");\r
204                 System.out.println("----------------------------------------------------------");\r
205 \r
206                 // setup simulatores\r
207                 mockSDNCAdapter("/SDNCAdapter", "SvcAction>unassign", 500, "");\r
208                 mockSDNCAdapterTopology("DeleteNetworkV2mock/sdncDeleteNetworkTopologySimResponse.xml", "SvcAction>deactivate");\r
209                 mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologySimResponse.xml", "SvcAction>activate");\r
210                 MockNetworkAdapter("bdc5efe8-404a-409b-85f6-0dcc9eebae30", 200, "deleteNetworkResponse_Success.xml");\r
211                 MockNetworkAdapterContainingRequest("createNetworkRequest", 200, "CreateNetworkV2/createNetworkResponse_Success.xml");\r
212                 MockGetNetworkByIdWithDepth     ("bdc5efe8-404a-409b-85f6-0dcc9eebae30", "DeleteNetworkV2/deleteNetworkAAIResponse_Success.xml", "1");\r
213                 mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");\r
214                 MockGetCloudRegion("RDM2WAGPLCP", 200, "DeleteNetworkV2/cloudRegion30_AAIResponse_Success.xml");\r
215 \r
216                 String networkModelInfo = "  {\"modelCustomizationId\": \"uuid-nrc-001-1234\", " + '\n' +\r
217                 "   \"modelInvariantId\": \"was-ist-das-001-1234\" }";\r
218 \r
219                 Map<String, String> variables = new HashMap<String, String>();\r
220                 variables.put("testMessageId", "88f65519-9a38-4c4b-8445-9eb4a5a5af56");\r
221                 variables.put("msoRequestId", "testRequestId");\r
222                 variables.put("requestId", "testRequestId");\r
223                 variables.put("serviceInstanceId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb");\r
224                 variables.put("networkId", "bdc5efe8-404a-409b-85f6-0dcc9eebae30");\r
225                 variables.put("networkName", "HSL_direct_net_2");\r
226                 variables.put("lcpCloudRegionId", "RDM2WAGPLCP");\r
227                 variables.put("tenantId", "88a6ca3ee0394ade9403f075db23167e");\r
228                 variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb");\r
229                 variables.put("disableRollback", "false");  // 1702\r
230                 variables.put("failIfExists", "false");\r
231                 variables.put("sdncVersion", "1702");\r
232                 variables.put("subscriptionServiceType", "MSO-dev-service-type");\r
233                 variables.put("networkModelInfo", networkModelInfo);\r
234 \r
235                 executeAsyncWorkflow(processEngineRule, "DeleteNetworkInstance", variables);\r
236                 //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "DeleteNetworkInstance", variables);\r
237                 //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID());\r
238 \r
239                 String workflowResp = BPMNUtil.getVariable(processEngineRule, "DeleteNetworkInstance", "WorkflowResponse");\r
240                 Assert.assertNotNull(workflowResp);\r
241 \r
242                 Assert.assertNotNull("DELNI_FalloutHandlerRequest - ", getVariable(processEngineRule, "DeleteNetworkInstance", "DELNI_FalloutHandlerRequest"));\r
243             Assert.assertEquals("false", getVariable(processEngineRule, "DeleteNetworkInstance", "DELNI_Success"));\r
244             Assert.assertEquals("false", BPMNUtil.getVariable(processEngineRule, "DoDeleteNetworkInstance", "DELNWKI_Success"));\r
245 \r
246                 System.out.println("----------------------------------------------------------");\r
247                 System.out.println("     Rollback - DeleteNetworkInstanceModular flow Completed     ");\r
248                 System.out.println("----------------------------------------------------------");\r
249 \r
250 \r
251         }\r
252 \r
253 \r
254         // *****************\r
255         // Utility Section\r
256         // *****************\r
257 \r
258         public String getDeleteNetworkInstanceInfraRequest() {\r
259 \r
260                 String request =\r
261                                 "{ \"requestDetails\": { " + '\n' +\r
262                                 "      \"modelInfo\": { " + '\n' +\r
263                                 "         \"modelType\": \"modelType\", " + '\n' +\r
264                                 "         \"modelCustomizationId\": \"f21df226-8093-48c3-be7e-0408fcda0422\", " + '\n' +\r
265                                 "         \"modelName\": \"CONTRAIL_EXTERNAL\", " + '\n' +\r
266                                 "         \"modelVersion\": \"1.0\" " + '\n' +\r
267                                 "      }, " + '\n' +\r
268                                 "      \"cloudConfiguration\": { " + '\n' +\r
269                                 "          \"lcpCloudRegionId\": \"RDM2WAGPLCP\", " + '\n' +\r
270                                 "          \"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\" " + '\n' +\r
271                                 "      }, " + '\n' +\r
272                                 "      \"requestInfo\": { " + '\n' +\r
273                                 "          \"instanceName\": \"HSL_direct_net_2\", " + '\n' +\r
274                                 "          \"source\": \"VID\", " + '\n' +\r
275                                 "          \"suppressRollback\": \"false\", " + '\n' +\r
276                                 "          \"callbackUrl\": \"\" " + '\n' +\r
277                                 "      }, " + '\n' +\r
278                                 "      \"requestParameters\": { " + '\n' +\r
279                                 "          \"backoutOnFailure\": true, " + '\n' +\r
280                                 "          \"serviceId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\", " + '\n' +\r
281                                 "          \"userParams\": {} " + '\n' +\r
282                                 "      }        " + '\n' +\r
283                             " } " + '\n' +\r
284                             "}";\r
285                 return request;\r
286 \r
287         }\r
288 \r
289 \r
290         public String getDeleteNetworkInstanceInfraRequest_MissingId() {\r
291 \r
292                 String request =\r
293                                 "{ \"requestDetails\": { " + '\n' +\r
294                                 "      \"modelInfo\": { " + '\n' +\r
295                                 "         \"modelType\": \"modelType\", " + '\n' +\r
296                                 "         \"modelId\": \"modelId\", " + '\n' +\r
297                                 "         \"modelNameVersionId\": \"modelNameVersionId\", " + '\n' +\r
298                                 "         \"modelName\": \"CONTRAIL_EXTERNAL\", " + '\n' +\r
299                                 "         \"modelVersion\": \"1\" " + '\n' +\r
300                                 "      }, " + '\n' +\r
301                                 "      \"cloudConfiguration\": { " + '\n' +\r
302                                 "          \"lcpCloudRegionId\": \"RDM2WAGPLCP\", " + '\n' +\r
303                                 "          \"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\" " + '\n' +\r
304                                 "      }, " + '\n' +\r
305                                 "      \"requestInfo\": { " + '\n' +\r
306                                 "          \"instanceName\": \"HSL_direct_net_2\", " + '\n' +\r
307                                 "          \"source\": \"VID\", " + '\n' +\r
308                                 "          \"callbackUrl\": \"\" " + '\n' +\r
309                                 "      }, " + '\n' +\r
310                                 "      \"requestParameters\": { " + '\n' +\r
311                                 "          \"backoutOnFailure\": true, " + '\n' +\r
312                                 "          \"serviceId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\", " + '\n' +\r
313                                 "          \"userParams\": [] " + '\n' +\r
314                                 "      }        " + '\n' +\r
315                             " } " + '\n' +\r
316                             "}";\r
317                 return request;\r
318 \r
319         }\r
320 \r
321 }