1 package org.openecomp.mso.bpmn.infrastructure;
3 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.*;
4 import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.MockUpdateRequestDB;
5 import static org.openecomp.mso.bpmn.mock.StubResponseNetworkAdapter.MockNetworkAdapterPost;
6 import static org.openecomp.mso.bpmn.mock.StubResponseNetworkAdapter.MockNetworkAdapterRestRollbackDelete;
8 import static org.openecomp.mso.bpmn.mock.StubResponseSDNCAdapter.mockSDNCAdapterTopology;
9 import static org.openecomp.mso.bpmn.mock.StubResponseSDNCAdapter.mockSDNCAdapter_500;
10 import org.openecomp.mso.bpmn.mock.SDNCAdapterNetworkTopologyMockTransformer;
12 import static org.openecomp.mso.bpmn.common.BPMNUtil.executeAsyncWorkflow;
13 import static org.openecomp.mso.bpmn.common.BPMNUtil.getVariable;
14 import static org.junit.Assert.assertEquals;
16 import java.util.HashMap;
19 import org.camunda.bpm.engine.test.Deployment;
20 import org.junit.Assert;
21 import org.junit.Rule;
22 import org.junit.Test;
24 import org.openecomp.mso.bpmn.common.BPMNUtil;
25 import org.openecomp.mso.bpmn.common.WorkflowTest;
26 import org.openecomp.mso.bpmn.common.WorkflowTestTransformer;
27 import org.openecomp.mso.bpmn.common.SDNCAdapterCallbackRule;
28 import com.github.tomakehurst.wiremock.extension.ResponseTransformer;
31 * Unit test cases for CreateNetworkInstance.bpmn
34 public class CreateNetworkInstanceTest extends WorkflowTest {
35 @WorkflowTestTransformer
36 public static final ResponseTransformer sdncAdapterMockTransformer =
37 new SDNCAdapterNetworkTopologyMockTransformer();
40 public final SDNCAdapterCallbackRule sdncAdapterCallbackRule =
41 new SDNCAdapterCallbackRule(processEngineRule);
44 * End-to-End flow - Unit test for CreateNetworkInstance.bpmn
45 * - String input & String response
51 @Deployment(resources = {"process/CreateNetworkInstance.bpmn",
52 "subprocess/DoCreateNetworkInstance.bpmn",
53 "subprocess/DoCreateNetworkInstanceRollback.bpmn",
54 "subprocess/FalloutHandler.bpmn",
55 "subprocess/CompleteMsoProcess.bpmn",
56 "subprocess/GenericGetService.bpmn",
57 "subprocess/SDNCAdapterV1.bpmn"})
59 public void shouldInvokeServiceCreateNetworkInstance_vIPER_Success1() throws Exception {
61 System.out.println("-----------------------------------------------------------------");
62 System.out.println(" Success vIPER 1 - CreateNetworkInstance flow Started! ");
63 System.out.println("-----------------------------------------------------------------");
66 mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologyRsrcAssignResponse.xml", "SvcAction>assign");
67 mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologySimResponse.xml", "SvcAction>activate");
68 MockNetworkAdapterPost("CreateNetworkV2/createNetworkResponse_Success.xml", "createNetworkRequest");
69 MockGetNetworkByName("MNS-25180-L-01-dmz_direct_net_1", "CreateNetworkV2/createNetwork_queryName_AAIResponse_Success.xml");
70 MockGetNetworkCloudRegion("CreateNetworkV2/cloudRegion25_AAIResponse_Success.xml", "RDM2WAGPLCP");
71 MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "CreateNetworkV2/createNetwork_queryNetworkId_AAIResponse_Success.xml", "1");
72 MockGetNetworkVpnBinding("CreateNetworkV2/createNetwork_queryVpnBinding_AAIResponse_Success.xml", "85f015d0-2e32-4c30-96d2-87a1a27f8017");
73 MockGetNetworkVpnBinding("CreateNetworkV2/createNetwork_queryVpnBinding_AAIResponse_Success.xml", "c980a6ef-3b88-49f0-9751-dbad8608d0a6");
74 MockGetNetworkPolicy("CreateNetworkV2/createNetwork_queryNetworkPolicy_AAIResponse_Success.xml", "cee6d136-e378-4678-a024-2cd15f0ee0cg");
75 MockGetNetworkTableReference("CreateNetworkV2/createNetwork_queryNetworkTableRef1_AAIResponse_Success.xml", "refFQDN1");
76 MockGetNetworkTableReference("CreateNetworkV2/createNetwork_queryNetworkTableRef2_AAIResponse_Success.xml", "refFQDN2");
77 MockPutNetworkIdWithDepth("CreateNetworkV2/createNetwork_updateContrail_AAIResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4", "1");
78 MockUpdateRequestDB("DBUpdateResponse.xml");
79 //MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "CreateNetworkV2/createNetwork_queryInstance_Success.xml", "v8");
80 MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "CreateNetworkV2/createNetwork_queryInstance_Success.xml");
82 Map<String, String> variables = setupVariables1();
83 //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables);
84 executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables);
85 System.out.println("----------------------------------------------------------");
86 System.out.println("- got workflow response -");
87 System.out.println("----------------------------------------------------------");
88 //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID());
90 assertEquals("true", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_Success"));
91 assertEquals("true", getVariable(processEngineRule, "DoCreateNetworkInstance", "CRENWKI_Success"));
92 Assert.assertNotNull("CRENI_CompleteMsoProcessRequest - ", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_CompleteMsoProcessRequest"));
94 String workflowResp = BPMNUtil.getVariable(processEngineRule, "CreateNetworkInstance", "WorkflowResponse");
95 Assert.assertNotNull(workflowResp);
97 System.out.println("----------------------------------------------------------");
98 System.out.println(" Success vIPER 1 - CreateNetworkInstance flow Completed ");
99 System.out.println("----------------------------------------------------------");
105 @Deployment(resources = {"process/CreateNetworkInstance.bpmn",
106 "subprocess/DoCreateNetworkInstance.bpmn",
107 "subprocess/DoCreateNetworkInstanceRollback.bpmn",
108 "subprocess/GenericGetService.bpmn",
109 "subprocess/FalloutHandler.bpmn",
110 "subprocess/CompleteMsoProcess.bpmn",
111 "subprocess/SDNCAdapterV1.bpmn"})
113 public void shouldInvokeServiceCreateNetworkInstance_vIPER_Success2() throws Exception {
115 System.out.println("----------------------------------------------------------------");
116 System.out.println(" Success viPER 2 - CreateNetworkInstance flow Started! ");
117 System.out.println("----------------------------------------------------------------");
120 mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologyRsrcAssignResponse.xml", "SvcAction>assign");
121 mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologySimResponse.xml", "SvcAction>activate");
122 MockNetworkAdapterPost("CreateNetworkV2/createNetworkResponse_Success.xml", "createNetworkRequest");
123 MockGetNetworkByName_404("CreateNetworkV2/createNetwork_queryName_AAIResponse_Success.xml", "myOwn_Network");
124 MockGetNetworkCloudRegion("CreateNetworkV2/cloudRegion25_AAIResponse_Success.xml", "RDM2WAGPLCP");
125 MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "CreateNetworkV2/createNetwork_queryNetworkId_AAIResponse_Success.xml", "1");
126 MockGetNetworkVpnBinding("CreateNetworkV2/createNetwork_queryVpnBinding_AAIResponse_Success.xml", "85f015d0-2e32-4c30-96d2-87a1a27f8017");
127 MockGetNetworkVpnBinding("CreateNetworkV2/createNetwork_queryVpnBinding_AAIResponse_Success.xml", "c980a6ef-3b88-49f0-9751-dbad8608d0a6");
128 MockGetNetworkPolicy("CreateNetworkV2/createNetwork_queryNetworkPolicy_AAIResponse_Success.xml", "cee6d136-e378-4678-a024-2cd15f0ee0cg");
129 MockGetNetworkTableReference("CreateNetworkV2/createNetwork_queryNetworkTableRef1_AAIResponse_Success.xml", "refFQDN1");
130 MockGetNetworkTableReference("CreateNetworkV2/createNetwork_queryNetworkTableRef2_AAIResponse_Success.xml", "refFQDN2");
131 MockPutNetworkIdWithDepth("CreateNetworkV2/createNetwork_updateContrail_AAIResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4", "1");
132 MockUpdateRequestDB("DBUpdateResponse.xml");
133 //MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "CreateNetworkV2/createNetwork_queryInstance_Success.xml", "v8");
134 MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "CreateNetworkV2/createNetwork_queryInstance_Success.xml");
136 Map<String, String> variables = setupVariables2();
137 //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables);
138 executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables);
139 //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID());
141 assertEquals("true", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_Success"));
142 assertEquals("true", getVariable(processEngineRule, "DoCreateNetworkInstance", "CRENWKI_Success"));
143 Assert.assertNotNull("CRENI_CompleteMsoProcessRequest - ", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_CompleteMsoProcessRequest"));
145 String completeMsoProcessRequest =
146 "<aetgt:MsoCompletionRequest xmlns:aetgt=\"http://org.openecomp/mso/workflow/schema/v1\"" + '\n'
147 + " xmlns:ns=\"http://org.openecomp/mso/request/types/v1\"" + '\n'
148 + " xmlns=\"http://org.openecomp/mso/infra/vnf-request/v1\">" + '\n'
149 + " <request-info>" + '\n'
150 + " <request-id>testRequestId</request-id>" + '\n'
151 + " <action>CREATE</action>" + '\n'
152 + " <source>VID</source>" + '\n'
153 + " </request-info>" + '\n'
154 + " <aetgt:status-message>Network has been created successfully.</aetgt:status-message>" + '\n'
155 + " <aetgt:mso-bpel-name>BPMN Network action: CREATE</aetgt:mso-bpel-name>" + '\n'
156 + "</aetgt:MsoCompletionRequest>";
158 Assert.assertEquals(completeMsoProcessRequest, getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_CompleteMsoProcessRequest"));
160 System.out.println("---------------------------------------------------------");
161 System.out.println(" Success viPER 2 - CreateNetworkInstance flow Completed ");
162 System.out.println("---------------------------------------------------------");
168 @Deployment(resources = {"process/CreateNetworkInstance.bpmn",
169 "subprocess/DoCreateNetworkInstance.bpmn",
170 "subprocess/DoCreateNetworkInstanceRollback.bpmn",
171 "subprocess/GenericGetService.bpmn",
172 "subprocess/FalloutHandler.bpmn",
173 "subprocess/CompleteMsoProcess.bpmn",
174 "subprocess/SDNCAdapterV1.bpmn"})
176 public void shouldInvokeServiceCreateNetworkInstance_VID_1610_Network_SDNC_Rollback() throws Exception {
178 System.out.println("--------------------------------------------------------------------------");
179 System.out.println(" Network and SDNC Rollback - CreateNetworkInstance flow Started! ");
180 System.out.println("--------------------------------------------------------------------------");
183 mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologySimResponse.xml", "SvcAction>assign");
184 mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologySimResponse.xml", "SvcAction>rollback");
185 MockNetworkAdapterPost("CreateNetworkV2/createNetworkResponse_Success.xml", "createNetworkRequest");
186 MockGetNetworkByName("MNS-25180-L-01-dmz_direct_net_1", "CreateNetworkV2/createNetwork_queryName_AAIResponse_Success.xml");
187 MockGetNetworkCloudRegion("CreateNetworkV2/cloudRegion25_AAIResponse_Success.xml", "RDM2WAGPLCP");
188 MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "CreateNetworkV2/createNetwork_queryNetworkId_AAIResponse_Success.xml", "1");
189 MockGetNetworkVpnBinding("CreateNetworkV2/createNetwork_queryVpnBinding_AAIResponse_Success.xml", "85f015d0-2e32-4c30-96d2-87a1a27f8017");
190 MockGetNetworkVpnBinding("CreateNetworkV2/createNetwork_queryVpnBinding_AAIResponse_Success.xml", "c980a6ef-3b88-49f0-9751-dbad8608d0a6");
191 MockGetNetworkPolicy("CreateNetworkV2/createNetwork_queryNetworkPolicy_AAIResponse_Success.xml", "cee6d136-e378-4678-a024-2cd15f0ee0cg");
192 MockGetNetworkTableReference("CreateNetworkV2/createNetwork_queryNetworkTableRef1_AAIResponse_Success.xml", "refFQDN1");
193 MockGetNetworkTableReference("CreateNetworkV2/createNetwork_queryNetworkTableRef2_AAIResponse_Success.xml", "refFQDN2");
194 MockUpdateRequestDB("DBUpdateResponse.xml");
195 //MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "CreateNetworkV2/createNetwork_queryInstance_Success.xml", "v8");
196 MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "CreateNetworkV2/createNetwork_queryInstance_Success.xml");
197 MockNetworkAdapterRestRollbackDelete("deleteNetworkResponse_Success.xml","49c86598-f766-46f8-84f8-8d1c1b10f9b4");
199 Map<String, String> variables = setupVariablesVID1();
200 executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables);
201 //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables);
202 //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID());
204 assertEquals("false", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_Success"));
205 assertEquals("false", getVariable(processEngineRule, "DoCreateNetworkInstance", "CRENWKI_Success"));
206 Assert.assertNotNull("CRENI_FalloutHandlerRequest - ", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_FalloutHandlerRequest"));
208 System.out.println("--------------------------------------------------------------------");
209 System.out.println(" Network and SCNC Rollback - CreateNetworkInstance flow Completed ");
210 System.out.println("--------------------------------------------------------------------");
216 @Deployment(resources = {"process/CreateNetworkInstance.bpmn",
217 "subprocess/DoCreateNetworkInstance.bpmn",
218 "subprocess/DoCreateNetworkInstanceRollback.bpmn",
219 "subprocess/GenericGetService.bpmn",
220 "subprocess/FalloutHandler.bpmn",
221 "subprocess/CompleteMsoProcess.bpmn",
222 "subprocess/SDNCAdapterV1.bpmn"})
224 public void shouldInvokeServiceCreateNetworkInstance_vIPER_1702_Network_SDNC_Rollback() throws Exception {
226 System.out.println("--------------------------------------------------------------------------");
227 System.out.println(" Network and SDNC Rollback - CreateNetworkInstance flow Started! ");
228 System.out.println("--------------------------------------------------------------------------");
231 mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologyRsrcAssignResponse.xml", "SvcAction>assign");
232 mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologySimResponse.xml", "SvcAction>unassign");
233 mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologySimResponse.xml", "SvcAction>activate");
234 mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologySimResponse.xml", "SvcAction>deactivate");
235 MockNetworkAdapterPost("CreateNetworkV2/createNetworkResponse_Success.xml", "createNetworkRequest");
236 MockGetNetworkByName("MNS-25180-L-01-dmz_direct_net_1", "CreateNetworkV2/createNetwork_queryName_AAIResponse_Success.xml");
237 MockGetNetworkCloudRegion("CreateNetworkV2/cloudRegion25_AAIResponse_Success.xml", "RDM2WAGPLCP");
238 MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "CreateNetworkV2/createNetwork_queryNetworkId_AAIResponse_Success.xml", "1");
239 MockGetNetworkVpnBinding("CreateNetworkV2/createNetwork_queryVpnBinding_AAIResponse_Success.xml", "85f015d0-2e32-4c30-96d2-87a1a27f8017");
240 MockGetNetworkVpnBinding("CreateNetworkV2/createNetwork_queryVpnBinding_AAIResponse_Success.xml", "c980a6ef-3b88-49f0-9751-dbad8608d0a6");
241 MockGetNetworkPolicy("CreateNetworkV2/createNetwork_queryNetworkPolicy_AAIResponse_Success.xml", "cee6d136-e378-4678-a024-2cd15f0ee0cg");
242 MockGetNetworkTableReference("CreateNetworkV2/createNetwork_queryNetworkTableRef1_AAIResponse_Success.xml", "refFQDN1");
243 MockGetNetworkTableReference("CreateNetworkV2/createNetwork_queryNetworkTableRef2_AAIResponse_Success.xml", "refFQDN2");
244 MockUpdateRequestDB("DBUpdateResponse.xml");
245 //MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "CreateNetworkV2/createNetwork_queryInstance_Success.xml", "v8");
246 MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "CreateNetworkV2/createNetwork_queryInstance_Success.xml");
247 MockNetworkAdapterRestRollbackDelete("deleteNetworkResponse_Success.xml","49c86598-f766-46f8-84f8-8d1c1b10f9b4");
249 Map<String, String> variables = setupVariables1();
250 executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables);
251 //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables);
252 //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID());
254 assertEquals("false", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_Success"));
255 assertEquals("false", getVariable(processEngineRule, "DoCreateNetworkInstance", "CRENWKI_Success"));
256 Assert.assertNotNull("CRENI_FalloutHandlerRequest - ", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_FalloutHandlerRequest"));
258 System.out.println("--------------------------------------------------------------------");
259 System.out.println(" Network and SCNC Rollback - CreateNetworkInstance flow Completed ");
260 System.out.println("--------------------------------------------------------------------");
266 @Deployment(resources = {"process/CreateNetworkInstance.bpmn",
267 "subprocess/DoCreateNetworkInstance.bpmn",
268 "subprocess/DoCreateNetworkInstanceRollback.bpmn",
269 "subprocess/GenericGetService.bpmn",
270 "subprocess/FalloutHandler.bpmn",
271 "subprocess/CompleteMsoProcess.bpmn",
272 "subprocess/SDNCAdapterV1.bpmn"})
274 public void shouldInvokeServiceCreateNetworkInstance_sdncFailure() throws Exception {
276 System.out.println("----------------------------------------------------------------");
277 System.out.println(" SNDC Failure - CreateNetworkInstance flow Started! ");
278 System.out.println("----------------------------------------------------------------");
281 mockSDNCAdapter_500("SvcAction>query");
282 MockGetNetworkByName_404("CreateNetworkV2/createNetwork_queryName_AAIResponse_Success.xml", "myOwn_Network");
283 MockGetNetworkCloudRegion("CreateNetworkV2/cloudRegion25_AAIResponse_Success.xml", "RDM2WAGPLCP");
284 MockUpdateRequestDB("DBUpdateResponse.xml");
285 //MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "CreateNetworkV2/createNetwork_queryInstance_Success.xml", "v8");
286 MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "CreateNetworkV2/createNetwork_queryInstance_Success.xml");
288 Map<String, String> variables = setupVariables2();
289 //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables);
290 executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables);
291 //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID());
293 assertEquals("false", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_Success"));
294 assertEquals("false", getVariable(processEngineRule, "DoCreateNetworkInstance", "CRENWKI_Success"));
295 Assert.assertNotNull("CRENI_FalloutHandlerRequest - ", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_FalloutHandlerRequest"));
297 System.out.println("---------------------------------------------------------");
298 System.out.println(" SNDC Failure - CreateNetworkInstance flow Completed ");
299 System.out.println("---------------------------------------------------------");
305 @Deployment(resources = {"process/CreateNetworkInstance.bpmn",
306 "subprocess/DoCreateNetworkInstance.bpmn",
307 "subprocess/DoCreateNetworkInstanceRollback.bpmn",
308 "subprocess/GenericGetService.bpmn",
309 "subprocess/FalloutHandler.bpmn",
310 "subprocess/CompleteMsoProcess.bpmn",
311 "subprocess/SDNCAdapterV1.bpmn"})
313 public void shouldInvokeServiceCreateNetworkInstance_queryServiceInstance404() throws Exception {
315 System.out.println("----------------------------------------------------------------------------------");
316 System.out.println(" Query ServiceIntance Not found - CreateNetworkInstance flow Started! ");
317 System.out.println("----------------------------------------------------------------------------------");
320 mockSDNCAdapter_500("SvcAction>query");
321 MockGetNetworkByName_404("CreateNetworkV2/createNetwork_queryName_AAIResponse_Success.xml", "myOwn_Network");
322 MockUpdateRequestDB("DBUpdateResponse.xml");
323 MockNodeQueryServiceInstanceById_404("f70e927b-6087-4974-9ef8-c5e4d5847ca4");
325 Map<String, String> variables = setupVariables2();
326 //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables);
327 executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables);
328 //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID());
330 assertEquals("false", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_Success"));
331 assertEquals("false", getVariable(processEngineRule, "DoCreateNetworkInstance", "CRENWKI_Success"));
332 Assert.assertNotNull("CRENI_FalloutHandlerRequest - ", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_FalloutHandlerRequest"));
334 System.out.println("---------------------------------------------------------------------------------");
335 System.out.println(" Query ServiceIntance Not found - CreateNetworkInstance flow Completed ");
336 System.out.println("---------------------------------------------------------------------------------");
342 @Deployment(resources = {"process/CreateNetworkInstance.bpmn",
343 "subprocess/DoCreateNetworkInstance.bpmn",
344 "subprocess/DoCreateNetworkInstanceRollback.bpmn",
345 "subprocess/GenericGetService.bpmn",
346 "subprocess/FalloutHandler.bpmn",
347 "subprocess/CompleteMsoProcess.bpmn",
348 "subprocess/SDNCAdapterV1.bpmn"})
350 public void shouldInvokeServiceCreateNetworkInstance_VID_Success1() throws Exception {
352 System.out.println("----------------------------------------------------------");
353 System.out.println(" Success VID1 - CreateNetworkInstance flow Started! ");
354 System.out.println("----------------------------------------------------------");
357 mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologySimResponse.xml", "SvcAction>assign");
358 MockNetworkAdapterPost("CreateNetworkV2/createNetworkResponse_Success.xml", "createNetworkRequest");
359 MockGetNetworkByName("MNS-25180-L-01-dmz_direct_net_1", "CreateNetworkV2/createNetwork_queryName_AAIResponse_Success.xml");
360 MockGetNetworkCloudRegion("CreateNetworkV2/cloudRegion25_AAIResponse_Success.xml", "RDM2WAGPLCP");
361 MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "CreateNetworkV2/createNetwork_queryNetworkId_AAIResponse_Success.xml", "1");
362 MockGetNetworkVpnBinding("CreateNetworkV2/createNetwork_queryVpnBinding_AAIResponse_Success.xml", "85f015d0-2e32-4c30-96d2-87a1a27f8017");
363 MockGetNetworkVpnBinding("CreateNetworkV2/createNetwork_queryVpnBinding_AAIResponse_Success.xml", "c980a6ef-3b88-49f0-9751-dbad8608d0a6");
364 MockGetNetworkPolicy("CreateNetworkV2/createNetwork_queryNetworkPolicy_AAIResponse_Success.xml", "cee6d136-e378-4678-a024-2cd15f0ee0cg");
365 MockGetNetworkTableReference("CreateNetworkV2/createNetwork_queryNetworkTableRef1_AAIResponse_Success.xml", "refFQDN1");
366 MockGetNetworkTableReference("CreateNetworkV2/createNetwork_queryNetworkTableRef2_AAIResponse_Success.xml", "refFQDN2");
367 MockPutNetworkIdWithDepth("CreateNetworkV2/createNetwork_updateContrail_AAIResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4", "1");
368 MockUpdateRequestDB("DBUpdateResponse.xml");
369 //MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "CreateNetworkV2/createNetwork_queryInstance_Success.xml", "v8");
370 MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "CreateNetworkV2/createNetwork_queryInstance_Success.xml");
372 Map<String, String> variables = setupVariablesVID1();
373 //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables);
374 executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables);
375 System.out.println("----------------------------------------------------------");
376 System.out.println("- got workflow response -");
377 System.out.println("----------------------------------------------------------");
378 //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID());
380 assertEquals("true", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_Success"));
381 Assert.assertNotNull("CRENI_CompleteMsoProcessRequest - ", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_CompleteMsoProcessRequest"));
383 String workflowResp = BPMNUtil.getVariable(processEngineRule, "CreateNetworkInstance", "WorkflowResponse");
384 Assert.assertNotNull(workflowResp);
386 System.out.println("-----------------------------------------------------------");
387 System.out.println(" Success VID1 - CreateNetworkInstanceInfra flow Completed ");
388 System.out.println("-----------------------------------------------------------");
396 String networkModelInfo =
397 " {\"modelUuid\": \"mod-inst-uuid-123\", " + '\n' +
398 " \"modelName\": \"mod_inst_z_123\", " + '\n' +
399 " \"modelVersion\": \"mod-inst-uuid-123\", " + '\n' +
400 " \"modelCustomizationUuid\": \"z_network_123\", " + '\n' +
401 " \"modelInvariantUuid\": \"mod-invar-uuid-123\" " + '\n' +
404 String serviceModelInfo =
405 " {\"modelUuid\": \"36a3a8ea-49a6-4ac8-b06c-89a54544b9b6\", " + '\n' +
406 " \"modelName\": \"HNGW Protected OAM\", " + '\n' +
407 " \"modelVersion\": \"1.0\", " + '\n' +
408 " \"modelInvariantUuid\": \"fcc85cb0-ad74-45d7-a5a1-17c8744fdb71\" " + '\n' +
412 private Map<String, String> setupVariables1() {
413 Map<String, String> variables = new HashMap<String, String>();
414 variables.put("testMessageId", "88f65519-9a38-4c4b-8445-9eb4a5a5af56");
415 variables.put("msoRequestId", "testRequestId");
416 variables.put("requestId", "testRequestId");
417 variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4");
418 variables.put("networkId", "networkId");
419 variables.put("networkName", "MNS-25180-L-01-dmz_direct_net_1");
420 variables.put("lcpCloudRegionId", "RDM2WAGPLCP");
421 variables.put("tenantId", "7dd5365547234ee8937416c65507d266");
422 variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb");
423 variables.put("disableRollback", "false"); // macro
424 variables.put("failIfExists", "false");
425 variables.put("sdncVersion", "1702");
426 variables.put("subscriptionServiceType", "MSO-dev-service-type");
427 variables.put("globalSubscriberId", "globalId_45678905678");
428 variables.put("networkModelInfo", networkModelInfo);
429 variables.put("serviceModelInfo", serviceModelInfo);
436 // Success Scenario 2
437 private Map<String, String> setupVariables2() {
438 Map<String, String> variables = new HashMap<String, String>();
439 variables.put("testMessageId", "88f65519-9a38-4c4b-8445-9eb4a5a5af56");
440 variables.put("msoRequestId", "testRequestId");
441 variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4");
442 variables.put("networkId", "networkId");
443 variables.put("networkName", "myOwn_Network"); // Name Not found in AA&I
444 variables.put("lcpCloudRegionId", "RDM2WAGPLCP");
445 variables.put("tenantId", "7dd5365547234ee8937416c65507d266");
446 variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb");
447 variables.put("disableRollback", "false"); // 1702
448 variables.put("failIfExists", "false");
449 //variables.put("sdncVersion", "1702");
450 variables.put("sdncVersion", "1707");
451 variables.put("subscriptionServiceType", "MSO-dev-service-type");
452 variables.put("globalSubscriberId", "globalId_45678905678");
453 variables.put("networkModelInfo", networkModelInfo);
454 variables.put("serviceModelInfo", serviceModelInfo);
461 private Map<String, String> setupVariablesActive() {
462 Map<String, String> variables = new HashMap<String, String>();
463 variables.put("testMessageId", "88f65519-9a38-4c4b-8445-9eb4a5a5af56");
464 variables.put("msoRequestId", "testRequestId");
465 variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4");
466 variables.put("networkId", "networkId");
467 variables.put("networkName", "MNS-25180-L-01-dmz_direct_net_2"); // Unique name for Active
468 variables.put("lcpCloudRegionId", "RDM2WAGPLCP");
469 variables.put("tenantId", "7dd5365547234ee8937416c65507d266");
470 variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb");
471 variables.put("suppressRollback", "false");
472 variables.put("disableRollback", "false");
473 variables.put("failIfExists", "false");
474 variables.put("sdncVersion", "1702");
475 variables.put("subscriptionServiceType", "MSO-dev-service-type");
476 variables.put("globalSubscriberId", "globalId_45678905678");
477 variables.put("networkModelInfo", networkModelInfo);
478 variables.put("serviceModelInfo", serviceModelInfo);
484 // Missing Name Scenario
485 private Map<String, String> setupVariablesMissingName() {
486 Map<String, String> variables = new HashMap<String, String>();
487 //variables.put("bpmnRequest", getCreateNetworkRequestMissingName());
488 variables.put("testMessageId", "88f65519-9a38-4c4b-8445-9eb4a5a5af56");
489 variables.put("msoRequestId", "testRequestId");
490 variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4");
491 variables.put("networkId", "networkId");
492 // variables.put("networkName", "MNS-25180-L-01-dmz_direct_net_2"); // Missing 'name' variable
493 // variables.put("networkName", ""); // Missing 'value' of name variable
494 variables.put("modelName", "CONTRAIL_EXTERNAL");
495 variables.put("cloudConfiguration", "RDM2WAGPLCP");
496 variables.put("tenantId", "7dd5365547234ee8937416c65507d266");
497 variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb");
498 variables.put("suppressRollback", "true");
499 variables.put("failIfExists", "false");
505 // SDNC Rollback Scenario
506 private Map<String, String> setupVariablesSDNCRollback() {
507 Map<String, String> variables = new HashMap<String, String>();
508 variables.put("testMessageId", "88f65519-9a38-4c4b-8445-9eb4a5a5af56");
509 variables.put("msoRequestId", "testRequestId");
510 variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4");
511 variables.put("networkId", "networkId");
512 variables.put("networkName", "MNS-25180-L-01-dmz_direct_net_3"); // Unique name for Rollback
513 variables.put("modelName", "CONTRAIL_EXTERNAL");
514 variables.put("cloudConfiguration", "RDM2WAGPLCP");
515 variables.put("tenantId", "7dd5365547234ee8937416c65507d266");
516 variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb");
517 variables.put("suppressRollback", "true");
518 variables.put("disableRollback", "false");
525 public String getCreateNetworkRequestActive() {
528 "{ \"requestDetails\": { " + '\n' +
529 " \"modelInfo\": { " + '\n' +
530 " \"modelType\": \"modelType\", " + '\n' +
531 " \"modelId\": \"modelId\", " + '\n' +
532 " \"modelCustomizationUuid\": \"modelCustUuid\", " + '\n' +
533 " \"modelName\": \"CONTRAIL_EXTERNAL\", " + '\n' +
534 " \"modelVersion\": \"1\" " + '\n' +
536 " \"cloudConfiguration\": { " + '\n' +
537 " \"lcpCloudRegionId\": \"RDM2WAGPLCP\", " + '\n' +
538 " \"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\" " + '\n' +
540 " \"requestInfo\": { " + '\n' +
541 " \"instanceName\": \"MNS-25180-L-01-dmz_direct_net_2\", " + '\n' +
542 " \"source\": \"VID\", " + '\n' +
543 " \"callbackUrl\": \"\", " + '\n' +
544 " \"suppressRollback\": \"false\" ," + '\n' +
545 " \"productFamilyId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\" " + '\n' +
547 " \"requestParameters\": { " + '\n' +
548 " \"userParams\": [] " + '\n' +
557 public String getCreateNetworkRequestSDNCRollback() {
560 "{ \"requestDetails\": { " + '\n' +
561 " \"modelInfo\": { " + '\n' +
562 " \"modelType\": \"modelType\", " + '\n' +
563 " \"modelId\": \"modelId\", " + '\n' +
564 " \"modelNameVersionId\": \"modelNameVersionId\", " + '\n' +
565 " \"modelName\": \"CONTRAIL_EXTERNAL\", " + '\n' +
566 " \"modelVersion\": \"1\" " + '\n' +
568 " \"cloudConfiguration\": { " + '\n' +
569 " \"lcpCloudRegionId\": \"RDM2WAGPLCP\", " + '\n' +
570 " \"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\" " + '\n' +
572 " \"requestInfo\": { " + '\n' +
573 " \"instanceName\": \"MNS-25180-L-01-dmz_direct_net_3\", " + '\n' +
574 " \"source\": \"VID\", " + '\n' +
575 " \"callbackUrl\": \"\", " + '\n' +
576 " \"suppressRollback\": \"true\" ," + '\n' +
577 " \"productFamilyId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\" " + '\n' +
579 " \"requestParameters\": { " + '\n' +
580 " \"userParams\": [] " + '\n' +
591 private Map<String, String> setupVariablesVID1() {
592 Map<String, String> variables = new HashMap<String, String>();
593 variables.put("bpmnRequest", getCreateNetworkRequestVID1());
594 variables.put("mso-request-id", "testRequestId");
595 //variables.put("msoRequestId", "testRequestId");
596 variables.put("requestId", "testRequestId");
597 variables.put("isBaseVfModule", "true");
598 variables.put("recipeTimeout", "0");
599 variables.put("requestAction", "CREATE");
600 variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4");
601 variables.put("vnfId", "");
602 variables.put("vfModuleId", "");
603 variables.put("volumeGroupId", "");
604 //variables.put("networkId", "networkId");
605 variables.put("serviceType", "vMOG");
606 variables.put("vfModuleType", "");
607 variables.put("networkType", "modelName");
613 public String getCreateNetworkRequestVID1() {
616 "{ \"requestDetails\": { " + '\n' +
617 " \"modelInfo\": { " + '\n' +
618 " \"modelType\": \"modelType\", " + '\n' +
619 " \"modelCustomizationId\": \"f21df226-8093-48c3-be7e-0408fcda0422\", " + '\n' +
620 " \"modelName\": \"CONTRAIL_EXTERNAL\", " + '\n' +
621 " \"modelVersion\": \"1.0\" " + '\n' +
623 " \"cloudConfiguration\": { " + '\n' +
624 " \"lcpCloudRegionId\": \"RDM2WAGPLCP\", " + '\n' +
625 " \"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\" " + '\n' +
627 " \"requestInfo\": { " + '\n' +
628 " \"instanceName\": \"MNS-25180-L-01-dmz_direct_net_1\", " + '\n' +
629 " \"source\": \"VID\", " + '\n' +
630 " \"callbackUrl\": \"\", " + '\n' +
631 " \"suppressRollback\": \"false\" ," + '\n' +
632 " \"productFamilyId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\" " + '\n' +
634 " \"requestParameters\": { " + '\n' +
635 " \"backoutOnFailure\": false, " + '\n' +
636 " \"serviceId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\", " + '\n' +
637 " \"userParams\": [] " + '\n' +