2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.openecomp.mso.bpmn.infrastructure;
23 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.*;
24 import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.MockUpdateRequestDB;
25 import static org.openecomp.mso.bpmn.mock.StubResponseNetworkAdapter.MockNetworkAdapterPost;
26 import static org.openecomp.mso.bpmn.mock.StubResponseNetworkAdapter.MockNetworkAdapterRestRollbackDelete;
28 import static org.openecomp.mso.bpmn.mock.StubResponseSDNCAdapter.mockSDNCAdapterTopology;
29 import static org.openecomp.mso.bpmn.mock.StubResponseSDNCAdapter.mockSDNCAdapter_500;
30 import org.openecomp.mso.bpmn.mock.SDNCAdapterNetworkTopologyMockTransformer;
32 import static org.openecomp.mso.bpmn.common.BPMNUtil.executeAsyncWorkflow;
33 import static org.openecomp.mso.bpmn.common.BPMNUtil.getVariable;
34 import static org.junit.Assert.assertEquals;
36 import java.util.HashMap;
39 import org.camunda.bpm.engine.test.Deployment;
40 import org.junit.Assert;
41 import org.junit.Rule;
42 import org.junit.Test;
44 import org.openecomp.mso.bpmn.common.BPMNUtil;
45 import org.openecomp.mso.bpmn.common.WorkflowTest;
46 import org.openecomp.mso.bpmn.common.WorkflowTestTransformer;
47 import org.openecomp.mso.bpmn.common.SDNCAdapterCallbackRule;
48 import com.github.tomakehurst.wiremock.extension.ResponseTransformer;
51 * Unit test cases for CreateNetworkInstance.bpmn
54 public class CreateNetworkInstanceTest extends WorkflowTest {
55 @WorkflowTestTransformer
56 public static final ResponseTransformer sdncAdapterMockTransformer =
57 new SDNCAdapterNetworkTopologyMockTransformer();
60 public final SDNCAdapterCallbackRule sdncAdapterCallbackRule =
61 new SDNCAdapterCallbackRule(processEngineRule);
64 * End-to-End flow - Unit test for CreateNetworkInstance.bpmn
65 * - String input & String response
71 @Deployment(resources = {"process/CreateNetworkInstance.bpmn",
72 "subprocess/DoCreateNetworkInstance.bpmn",
73 "subprocess/DoCreateNetworkInstanceRollback.bpmn",
74 "subprocess/FalloutHandler.bpmn",
75 "subprocess/CompleteMsoProcess.bpmn",
76 "subprocess/GenericGetService.bpmn",
77 "subprocess/SDNCAdapterV1.bpmn"})
79 public void shouldInvokeServiceCreateNetworkInstance_vIPER_Success1() throws Exception {
81 System.out.println("-----------------------------------------------------------------");
82 System.out.println(" Success vIPER 1 - CreateNetworkInstance flow Started! ");
83 System.out.println("-----------------------------------------------------------------");
86 mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologyRsrcAssignResponse.xml", "SvcAction>assign");
87 mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologySimResponse.xml", "SvcAction>activate");
88 MockNetworkAdapterPost("CreateNetworkV2/createNetworkResponse_Success.xml", "createNetworkRequest");
89 MockGetNetworkByName("MNS-25180-L-01-dmz_direct_net_1", "CreateNetworkV2/createNetwork_queryName_AAIResponse_Success.xml");
90 MockGetNetworkCloudRegion("CreateNetworkV2/cloudRegion25_AAIResponse_Success.xml", "RDM2WAGPLCP");
91 MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "CreateNetworkV2/createNetwork_queryNetworkId_AAIResponse_Success.xml", "1");
92 MockGetNetworkVpnBinding("CreateNetworkV2/createNetwork_queryVpnBinding_AAIResponse_Success.xml", "85f015d0-2e32-4c30-96d2-87a1a27f8017");
93 MockGetNetworkVpnBinding("CreateNetworkV2/createNetwork_queryVpnBinding_AAIResponse_Success.xml", "c980a6ef-3b88-49f0-9751-dbad8608d0a6");
94 MockGetNetworkPolicy("CreateNetworkV2/createNetwork_queryNetworkPolicy_AAIResponse_Success.xml", "cee6d136-e378-4678-a024-2cd15f0ee0cg");
95 MockGetNetworkTableReference("CreateNetworkV2/createNetwork_queryNetworkTableRef1_AAIResponse_Success.xml", "refFQDN1");
96 MockGetNetworkTableReference("CreateNetworkV2/createNetwork_queryNetworkTableRef2_AAIResponse_Success.xml", "refFQDN2");
97 MockPutNetworkIdWithDepth("CreateNetworkV2/createNetwork_updateContrail_AAIResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4", "1");
98 MockUpdateRequestDB("DBUpdateResponse.xml");
99 //MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "CreateNetworkV2/createNetwork_queryInstance_Success.xml", "v8");
100 MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "CreateNetworkV2/createNetwork_queryInstance_Success.xml");
102 Map<String, String> variables = setupVariables1();
103 //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables);
104 executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables);
105 System.out.println("----------------------------------------------------------");
106 System.out.println("- got workflow response -");
107 System.out.println("----------------------------------------------------------");
108 //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID());
110 assertEquals("true", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_Success"));
111 assertEquals("true", getVariable(processEngineRule, "DoCreateNetworkInstance", "CRENWKI_Success"));
112 Assert.assertNotNull("CRENI_CompleteMsoProcessRequest - ", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_CompleteMsoProcessRequest"));
114 String workflowResp = BPMNUtil.getVariable(processEngineRule, "CreateNetworkInstance", "WorkflowResponse");
115 Assert.assertNotNull(workflowResp);
117 System.out.println("----------------------------------------------------------");
118 System.out.println(" Success vIPER 1 - CreateNetworkInstance flow Completed ");
119 System.out.println("----------------------------------------------------------");
125 @Deployment(resources = {"process/CreateNetworkInstance.bpmn",
126 "subprocess/DoCreateNetworkInstance.bpmn",
127 "subprocess/DoCreateNetworkInstanceRollback.bpmn",
128 "subprocess/GenericGetService.bpmn",
129 "subprocess/FalloutHandler.bpmn",
130 "subprocess/CompleteMsoProcess.bpmn",
131 "subprocess/SDNCAdapterV1.bpmn"})
133 public void shouldInvokeServiceCreateNetworkInstance_vIPER_Success2() throws Exception {
135 System.out.println("----------------------------------------------------------------");
136 System.out.println(" Success viPER 2 - CreateNetworkInstance flow Started! ");
137 System.out.println("----------------------------------------------------------------");
140 mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologyRsrcAssignResponse.xml", "SvcAction>assign");
141 mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologySimResponse.xml", "SvcAction>activate");
142 MockNetworkAdapterPost("CreateNetworkV2/createNetworkResponse_Success.xml", "createNetworkRequest");
143 MockGetNetworkByName_404("CreateNetworkV2/createNetwork_queryName_AAIResponse_Success.xml", "myOwn_Network");
144 MockGetNetworkCloudRegion("CreateNetworkV2/cloudRegion25_AAIResponse_Success.xml", "RDM2WAGPLCP");
145 MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "CreateNetworkV2/createNetwork_queryNetworkId_AAIResponse_Success.xml", "1");
146 MockGetNetworkVpnBinding("CreateNetworkV2/createNetwork_queryVpnBinding_AAIResponse_Success.xml", "85f015d0-2e32-4c30-96d2-87a1a27f8017");
147 MockGetNetworkVpnBinding("CreateNetworkV2/createNetwork_queryVpnBinding_AAIResponse_Success.xml", "c980a6ef-3b88-49f0-9751-dbad8608d0a6");
148 MockGetNetworkPolicy("CreateNetworkV2/createNetwork_queryNetworkPolicy_AAIResponse_Success.xml", "cee6d136-e378-4678-a024-2cd15f0ee0cg");
149 MockGetNetworkTableReference("CreateNetworkV2/createNetwork_queryNetworkTableRef1_AAIResponse_Success.xml", "refFQDN1");
150 MockGetNetworkTableReference("CreateNetworkV2/createNetwork_queryNetworkTableRef2_AAIResponse_Success.xml", "refFQDN2");
151 MockPutNetworkIdWithDepth("CreateNetworkV2/createNetwork_updateContrail_AAIResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4", "1");
152 MockUpdateRequestDB("DBUpdateResponse.xml");
153 //MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "CreateNetworkV2/createNetwork_queryInstance_Success.xml", "v8");
154 MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "CreateNetworkV2/createNetwork_queryInstance_Success.xml");
156 Map<String, String> variables = setupVariables2();
157 //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables);
158 executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables);
159 //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID());
161 assertEquals("true", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_Success"));
162 assertEquals("true", getVariable(processEngineRule, "DoCreateNetworkInstance", "CRENWKI_Success"));
163 Assert.assertNotNull("CRENI_CompleteMsoProcessRequest - ", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_CompleteMsoProcessRequest"));
165 String completeMsoProcessRequest =
166 "<aetgt:MsoCompletionRequest xmlns:aetgt=\"http://org.openecomp/mso/workflow/schema/v1\"" + '\n'
167 + " xmlns:ns=\"http://org.openecomp/mso/request/types/v1\"" + '\n'
168 + " xmlns=\"http://org.openecomp/mso/infra/vnf-request/v1\">" + '\n'
169 + " <request-info>" + '\n'
170 + " <request-id>testRequestId</request-id>" + '\n'
171 + " <action>CREATE</action>" + '\n'
172 + " <source>VID</source>" + '\n'
173 + " </request-info>" + '\n'
174 + " <aetgt:status-message>Network has been created successfully.</aetgt:status-message>" + '\n'
175 + " <aetgt:mso-bpel-name>BPMN Network action: CREATE</aetgt:mso-bpel-name>" + '\n'
176 + "</aetgt:MsoCompletionRequest>";
178 Assert.assertEquals(completeMsoProcessRequest, getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_CompleteMsoProcessRequest"));
180 System.out.println("---------------------------------------------------------");
181 System.out.println(" Success viPER 2 - CreateNetworkInstance flow Completed ");
182 System.out.println("---------------------------------------------------------");
188 @Deployment(resources = {"process/CreateNetworkInstance.bpmn",
189 "subprocess/DoCreateNetworkInstance.bpmn",
190 "subprocess/DoCreateNetworkInstanceRollback.bpmn",
191 "subprocess/GenericGetService.bpmn",
192 "subprocess/FalloutHandler.bpmn",
193 "subprocess/CompleteMsoProcess.bpmn",
194 "subprocess/SDNCAdapterV1.bpmn"})
196 public void shouldInvokeServiceCreateNetworkInstance_VID_1610_Network_SDNC_Rollback() throws Exception {
198 System.out.println("--------------------------------------------------------------------------");
199 System.out.println(" Network and SDNC Rollback - CreateNetworkInstance flow Started! ");
200 System.out.println("--------------------------------------------------------------------------");
203 mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologySimResponse.xml", "SvcAction>assign");
204 mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologySimResponse.xml", "SvcAction>rollback");
205 MockNetworkAdapterPost("CreateNetworkV2/createNetworkResponse_Success.xml", "createNetworkRequest");
206 MockGetNetworkByName("MNS-25180-L-01-dmz_direct_net_1", "CreateNetworkV2/createNetwork_queryName_AAIResponse_Success.xml");
207 MockGetNetworkCloudRegion("CreateNetworkV2/cloudRegion25_AAIResponse_Success.xml", "RDM2WAGPLCP");
208 MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "CreateNetworkV2/createNetwork_queryNetworkId_AAIResponse_Success.xml", "1");
209 MockGetNetworkVpnBinding("CreateNetworkV2/createNetwork_queryVpnBinding_AAIResponse_Success.xml", "85f015d0-2e32-4c30-96d2-87a1a27f8017");
210 MockGetNetworkVpnBinding("CreateNetworkV2/createNetwork_queryVpnBinding_AAIResponse_Success.xml", "c980a6ef-3b88-49f0-9751-dbad8608d0a6");
211 MockGetNetworkPolicy("CreateNetworkV2/createNetwork_queryNetworkPolicy_AAIResponse_Success.xml", "cee6d136-e378-4678-a024-2cd15f0ee0cg");
212 MockGetNetworkTableReference("CreateNetworkV2/createNetwork_queryNetworkTableRef1_AAIResponse_Success.xml", "refFQDN1");
213 MockGetNetworkTableReference("CreateNetworkV2/createNetwork_queryNetworkTableRef2_AAIResponse_Success.xml", "refFQDN2");
214 MockUpdateRequestDB("DBUpdateResponse.xml");
215 //MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "CreateNetworkV2/createNetwork_queryInstance_Success.xml", "v8");
216 MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "CreateNetworkV2/createNetwork_queryInstance_Success.xml");
217 MockNetworkAdapterRestRollbackDelete("deleteNetworkResponse_Success.xml","49c86598-f766-46f8-84f8-8d1c1b10f9b4");
219 Map<String, String> variables = setupVariablesVID1();
220 executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables);
221 //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables);
222 //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID());
224 assertEquals("false", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_Success"));
225 assertEquals("false", getVariable(processEngineRule, "DoCreateNetworkInstance", "CRENWKI_Success"));
226 Assert.assertNotNull("CRENI_FalloutHandlerRequest - ", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_FalloutHandlerRequest"));
228 System.out.println("--------------------------------------------------------------------");
229 System.out.println(" Network and SCNC Rollback - CreateNetworkInstance flow Completed ");
230 System.out.println("--------------------------------------------------------------------");
236 @Deployment(resources = {"process/CreateNetworkInstance.bpmn",
237 "subprocess/DoCreateNetworkInstance.bpmn",
238 "subprocess/DoCreateNetworkInstanceRollback.bpmn",
239 "subprocess/GenericGetService.bpmn",
240 "subprocess/FalloutHandler.bpmn",
241 "subprocess/CompleteMsoProcess.bpmn",
242 "subprocess/SDNCAdapterV1.bpmn"})
244 public void shouldInvokeServiceCreateNetworkInstance_vIPER_1702_Network_SDNC_Rollback() throws Exception {
246 System.out.println("--------------------------------------------------------------------------");
247 System.out.println(" Network and SDNC Rollback - CreateNetworkInstance flow Started! ");
248 System.out.println("--------------------------------------------------------------------------");
251 mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologyRsrcAssignResponse.xml", "SvcAction>assign");
252 mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologySimResponse.xml", "SvcAction>unassign");
253 mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologySimResponse.xml", "SvcAction>activate");
254 mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologySimResponse.xml", "SvcAction>deactivate");
255 MockNetworkAdapterPost("CreateNetworkV2/createNetworkResponse_Success.xml", "createNetworkRequest");
256 MockGetNetworkByName("MNS-25180-L-01-dmz_direct_net_1", "CreateNetworkV2/createNetwork_queryName_AAIResponse_Success.xml");
257 MockGetNetworkCloudRegion("CreateNetworkV2/cloudRegion25_AAIResponse_Success.xml", "RDM2WAGPLCP");
258 MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "CreateNetworkV2/createNetwork_queryNetworkId_AAIResponse_Success.xml", "1");
259 MockGetNetworkVpnBinding("CreateNetworkV2/createNetwork_queryVpnBinding_AAIResponse_Success.xml", "85f015d0-2e32-4c30-96d2-87a1a27f8017");
260 MockGetNetworkVpnBinding("CreateNetworkV2/createNetwork_queryVpnBinding_AAIResponse_Success.xml", "c980a6ef-3b88-49f0-9751-dbad8608d0a6");
261 MockGetNetworkPolicy("CreateNetworkV2/createNetwork_queryNetworkPolicy_AAIResponse_Success.xml", "cee6d136-e378-4678-a024-2cd15f0ee0cg");
262 MockGetNetworkTableReference("CreateNetworkV2/createNetwork_queryNetworkTableRef1_AAIResponse_Success.xml", "refFQDN1");
263 MockGetNetworkTableReference("CreateNetworkV2/createNetwork_queryNetworkTableRef2_AAIResponse_Success.xml", "refFQDN2");
264 MockUpdateRequestDB("DBUpdateResponse.xml");
265 //MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "CreateNetworkV2/createNetwork_queryInstance_Success.xml", "v8");
266 MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "CreateNetworkV2/createNetwork_queryInstance_Success.xml");
267 MockNetworkAdapterRestRollbackDelete("deleteNetworkResponse_Success.xml","49c86598-f766-46f8-84f8-8d1c1b10f9b4");
269 Map<String, String> variables = setupVariables1();
270 executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables);
271 //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables);
272 //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID());
274 assertEquals("false", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_Success"));
275 assertEquals("false", getVariable(processEngineRule, "DoCreateNetworkInstance", "CRENWKI_Success"));
276 Assert.assertNotNull("CRENI_FalloutHandlerRequest - ", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_FalloutHandlerRequest"));
278 System.out.println("--------------------------------------------------------------------");
279 System.out.println(" Network and SCNC Rollback - CreateNetworkInstance flow Completed ");
280 System.out.println("--------------------------------------------------------------------");
286 @Deployment(resources = {"process/CreateNetworkInstance.bpmn",
287 "subprocess/DoCreateNetworkInstance.bpmn",
288 "subprocess/DoCreateNetworkInstanceRollback.bpmn",
289 "subprocess/GenericGetService.bpmn",
290 "subprocess/FalloutHandler.bpmn",
291 "subprocess/CompleteMsoProcess.bpmn",
292 "subprocess/SDNCAdapterV1.bpmn"})
294 public void shouldInvokeServiceCreateNetworkInstance_sdncFailure() throws Exception {
296 System.out.println("----------------------------------------------------------------");
297 System.out.println(" SNDC Failure - CreateNetworkInstance flow Started! ");
298 System.out.println("----------------------------------------------------------------");
301 mockSDNCAdapter_500("SvcAction>query");
302 MockGetNetworkByName_404("CreateNetworkV2/createNetwork_queryName_AAIResponse_Success.xml", "myOwn_Network");
303 MockGetNetworkCloudRegion("CreateNetworkV2/cloudRegion25_AAIResponse_Success.xml", "RDM2WAGPLCP");
304 MockUpdateRequestDB("DBUpdateResponse.xml");
305 //MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "CreateNetworkV2/createNetwork_queryInstance_Success.xml", "v8");
306 MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "CreateNetworkV2/createNetwork_queryInstance_Success.xml");
308 Map<String, String> variables = setupVariables2();
309 //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables);
310 executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables);
311 //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID());
313 assertEquals("false", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_Success"));
314 assertEquals("false", getVariable(processEngineRule, "DoCreateNetworkInstance", "CRENWKI_Success"));
315 Assert.assertNotNull("CRENI_FalloutHandlerRequest - ", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_FalloutHandlerRequest"));
317 System.out.println("---------------------------------------------------------");
318 System.out.println(" SNDC Failure - CreateNetworkInstance flow Completed ");
319 System.out.println("---------------------------------------------------------");
325 @Deployment(resources = {"process/CreateNetworkInstance.bpmn",
326 "subprocess/DoCreateNetworkInstance.bpmn",
327 "subprocess/DoCreateNetworkInstanceRollback.bpmn",
328 "subprocess/GenericGetService.bpmn",
329 "subprocess/FalloutHandler.bpmn",
330 "subprocess/CompleteMsoProcess.bpmn",
331 "subprocess/SDNCAdapterV1.bpmn"})
333 public void shouldInvokeServiceCreateNetworkInstance_queryServiceInstance404() throws Exception {
335 System.out.println("----------------------------------------------------------------------------------");
336 System.out.println(" Query ServiceIntance Not found - CreateNetworkInstance flow Started! ");
337 System.out.println("----------------------------------------------------------------------------------");
340 mockSDNCAdapter_500("SvcAction>query");
341 MockGetNetworkByName_404("CreateNetworkV2/createNetwork_queryName_AAIResponse_Success.xml", "myOwn_Network");
342 MockUpdateRequestDB("DBUpdateResponse.xml");
343 MockNodeQueryServiceInstanceById_404("f70e927b-6087-4974-9ef8-c5e4d5847ca4");
345 Map<String, String> variables = setupVariables2();
346 //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables);
347 executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables);
348 //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID());
350 assertEquals("false", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_Success"));
351 assertEquals("false", getVariable(processEngineRule, "DoCreateNetworkInstance", "CRENWKI_Success"));
352 Assert.assertNotNull("CRENI_FalloutHandlerRequest - ", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_FalloutHandlerRequest"));
354 System.out.println("---------------------------------------------------------------------------------");
355 System.out.println(" Query ServiceIntance Not found - CreateNetworkInstance flow Completed ");
356 System.out.println("---------------------------------------------------------------------------------");
362 @Deployment(resources = {"process/CreateNetworkInstance.bpmn",
363 "subprocess/DoCreateNetworkInstance.bpmn",
364 "subprocess/DoCreateNetworkInstanceRollback.bpmn",
365 "subprocess/GenericGetService.bpmn",
366 "subprocess/FalloutHandler.bpmn",
367 "subprocess/CompleteMsoProcess.bpmn",
368 "subprocess/SDNCAdapterV1.bpmn"})
370 public void shouldInvokeServiceCreateNetworkInstance_VID_Success1() throws Exception {
372 System.out.println("----------------------------------------------------------");
373 System.out.println(" Success VID1 - CreateNetworkInstance flow Started! ");
374 System.out.println("----------------------------------------------------------");
377 mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologySimResponse.xml", "SvcAction>assign");
378 MockNetworkAdapterPost("CreateNetworkV2/createNetworkResponse_Success.xml", "createNetworkRequest");
379 MockGetNetworkByName("MNS-25180-L-01-dmz_direct_net_1", "CreateNetworkV2/createNetwork_queryName_AAIResponse_Success.xml");
380 MockGetNetworkCloudRegion("CreateNetworkV2/cloudRegion25_AAIResponse_Success.xml", "RDM2WAGPLCP");
381 MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "CreateNetworkV2/createNetwork_queryNetworkId_AAIResponse_Success.xml", "1");
382 MockGetNetworkVpnBinding("CreateNetworkV2/createNetwork_queryVpnBinding_AAIResponse_Success.xml", "85f015d0-2e32-4c30-96d2-87a1a27f8017");
383 MockGetNetworkVpnBinding("CreateNetworkV2/createNetwork_queryVpnBinding_AAIResponse_Success.xml", "c980a6ef-3b88-49f0-9751-dbad8608d0a6");
384 MockGetNetworkPolicy("CreateNetworkV2/createNetwork_queryNetworkPolicy_AAIResponse_Success.xml", "cee6d136-e378-4678-a024-2cd15f0ee0cg");
385 MockGetNetworkTableReference("CreateNetworkV2/createNetwork_queryNetworkTableRef1_AAIResponse_Success.xml", "refFQDN1");
386 MockGetNetworkTableReference("CreateNetworkV2/createNetwork_queryNetworkTableRef2_AAIResponse_Success.xml", "refFQDN2");
387 MockPutNetworkIdWithDepth("CreateNetworkV2/createNetwork_updateContrail_AAIResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4", "1");
388 MockUpdateRequestDB("DBUpdateResponse.xml");
389 //MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "CreateNetworkV2/createNetwork_queryInstance_Success.xml", "v8");
390 MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "CreateNetworkV2/createNetwork_queryInstance_Success.xml");
392 Map<String, String> variables = setupVariablesVID1();
393 //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables);
394 executeAsyncWorkflow(processEngineRule, "CreateNetworkInstance", variables);
395 System.out.println("----------------------------------------------------------");
396 System.out.println("- got workflow response -");
397 System.out.println("----------------------------------------------------------");
398 //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID());
400 assertEquals("true", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_Success"));
401 Assert.assertNotNull("CRENI_CompleteMsoProcessRequest - ", getVariable(processEngineRule, "CreateNetworkInstance", "CRENI_CompleteMsoProcessRequest"));
403 String workflowResp = BPMNUtil.getVariable(processEngineRule, "CreateNetworkInstance", "WorkflowResponse");
404 Assert.assertNotNull(workflowResp);
406 System.out.println("-----------------------------------------------------------");
407 System.out.println(" Success VID1 - CreateNetworkInstanceInfra flow Completed ");
408 System.out.println("-----------------------------------------------------------");
416 String networkModelInfo =
417 " {\"modelUuid\": \"mod-inst-uuid-123\", " + '\n' +
418 " \"modelName\": \"mod_inst_z_123\", " + '\n' +
419 " \"modelVersion\": \"mod-inst-uuid-123\", " + '\n' +
420 " \"modelCustomizationUuid\": \"z_network_123\", " + '\n' +
421 " \"modelInvariantUuid\": \"mod-invar-uuid-123\" " + '\n' +
424 String serviceModelInfo =
425 " {\"modelUuid\": \"36a3a8ea-49a6-4ac8-b06c-89a54544b9b6\", " + '\n' +
426 " \"modelName\": \"HNGW Protected OAM\", " + '\n' +
427 " \"modelVersion\": \"1.0\", " + '\n' +
428 " \"modelInvariantUuid\": \"fcc85cb0-ad74-45d7-a5a1-17c8744fdb71\" " + '\n' +
432 private Map<String, String> setupVariables1() {
433 Map<String, String> variables = new HashMap<String, String>();
434 variables.put("testMessageId", "88f65519-9a38-4c4b-8445-9eb4a5a5af56");
435 variables.put("msoRequestId", "testRequestId");
436 variables.put("requestId", "testRequestId");
437 variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4");
438 variables.put("networkId", "networkId");
439 variables.put("networkName", "MNS-25180-L-01-dmz_direct_net_1");
440 variables.put("lcpCloudRegionId", "RDM2WAGPLCP");
441 variables.put("tenantId", "7dd5365547234ee8937416c65507d266");
442 variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb");
443 variables.put("disableRollback", "false"); // macro
444 variables.put("failIfExists", "false");
445 variables.put("sdncVersion", "1702");
446 variables.put("subscriptionServiceType", "MSO-dev-service-type");
447 variables.put("globalSubscriberId", "globalId_45678905678");
448 variables.put("networkModelInfo", networkModelInfo);
449 variables.put("serviceModelInfo", serviceModelInfo);
456 // Success Scenario 2
457 private Map<String, String> setupVariables2() {
458 Map<String, String> variables = new HashMap<String, String>();
459 variables.put("testMessageId", "88f65519-9a38-4c4b-8445-9eb4a5a5af56");
460 variables.put("msoRequestId", "testRequestId");
461 variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4");
462 variables.put("networkId", "networkId");
463 variables.put("networkName", "myOwn_Network"); // Name Not found in AA&I
464 variables.put("lcpCloudRegionId", "RDM2WAGPLCP");
465 variables.put("tenantId", "7dd5365547234ee8937416c65507d266");
466 variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb");
467 variables.put("disableRollback", "false"); // 1702
468 variables.put("failIfExists", "false");
469 //variables.put("sdncVersion", "1702");
470 variables.put("sdncVersion", "1707");
471 variables.put("subscriptionServiceType", "MSO-dev-service-type");
472 variables.put("globalSubscriberId", "globalId_45678905678");
473 variables.put("networkModelInfo", networkModelInfo);
474 variables.put("serviceModelInfo", serviceModelInfo);
481 private Map<String, String> setupVariablesActive() {
482 Map<String, String> variables = new HashMap<String, String>();
483 variables.put("testMessageId", "88f65519-9a38-4c4b-8445-9eb4a5a5af56");
484 variables.put("msoRequestId", "testRequestId");
485 variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4");
486 variables.put("networkId", "networkId");
487 variables.put("networkName", "MNS-25180-L-01-dmz_direct_net_2"); // Unique name for Active
488 variables.put("lcpCloudRegionId", "RDM2WAGPLCP");
489 variables.put("tenantId", "7dd5365547234ee8937416c65507d266");
490 variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb");
491 variables.put("suppressRollback", "false");
492 variables.put("disableRollback", "false");
493 variables.put("failIfExists", "false");
494 variables.put("sdncVersion", "1702");
495 variables.put("subscriptionServiceType", "MSO-dev-service-type");
496 variables.put("globalSubscriberId", "globalId_45678905678");
497 variables.put("networkModelInfo", networkModelInfo);
498 variables.put("serviceModelInfo", serviceModelInfo);
504 // Missing Name Scenario
505 private Map<String, String> setupVariablesMissingName() {
506 Map<String, String> variables = new HashMap<String, String>();
507 //variables.put("bpmnRequest", getCreateNetworkRequestMissingName());
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_2"); // Missing 'name' variable
513 // variables.put("networkName", ""); // Missing 'value' of name variable
514 variables.put("modelName", "CONTRAIL_EXTERNAL");
515 variables.put("cloudConfiguration", "RDM2WAGPLCP");
516 variables.put("tenantId", "7dd5365547234ee8937416c65507d266");
517 variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb");
518 variables.put("suppressRollback", "true");
519 variables.put("failIfExists", "false");
525 // SDNC Rollback Scenario
526 private Map<String, String> setupVariablesSDNCRollback() {
527 Map<String, String> variables = new HashMap<String, String>();
528 variables.put("testMessageId", "88f65519-9a38-4c4b-8445-9eb4a5a5af56");
529 variables.put("msoRequestId", "testRequestId");
530 variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4");
531 variables.put("networkId", "networkId");
532 variables.put("networkName", "MNS-25180-L-01-dmz_direct_net_3"); // Unique name for Rollback
533 variables.put("modelName", "CONTRAIL_EXTERNAL");
534 variables.put("cloudConfiguration", "RDM2WAGPLCP");
535 variables.put("tenantId", "7dd5365547234ee8937416c65507d266");
536 variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb");
537 variables.put("suppressRollback", "true");
538 variables.put("disableRollback", "false");
545 public String getCreateNetworkRequestActive() {
548 "{ \"requestDetails\": { " + '\n' +
549 " \"modelInfo\": { " + '\n' +
550 " \"modelType\": \"modelType\", " + '\n' +
551 " \"modelId\": \"modelId\", " + '\n' +
552 " \"modelCustomizationUuid\": \"modelCustUuid\", " + '\n' +
553 " \"modelName\": \"CONTRAIL_EXTERNAL\", " + '\n' +
554 " \"modelVersion\": \"1\" " + '\n' +
556 " \"cloudConfiguration\": { " + '\n' +
557 " \"lcpCloudRegionId\": \"RDM2WAGPLCP\", " + '\n' +
558 " \"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\" " + '\n' +
560 " \"requestInfo\": { " + '\n' +
561 " \"instanceName\": \"MNS-25180-L-01-dmz_direct_net_2\", " + '\n' +
562 " \"source\": \"VID\", " + '\n' +
563 " \"callbackUrl\": \"\", " + '\n' +
564 " \"suppressRollback\": \"false\" ," + '\n' +
565 " \"productFamilyId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\" " + '\n' +
567 " \"requestParameters\": { " + '\n' +
568 " \"userParams\": [] " + '\n' +
577 public String getCreateNetworkRequestSDNCRollback() {
580 "{ \"requestDetails\": { " + '\n' +
581 " \"modelInfo\": { " + '\n' +
582 " \"modelType\": \"modelType\", " + '\n' +
583 " \"modelId\": \"modelId\", " + '\n' +
584 " \"modelNameVersionId\": \"modelNameVersionId\", " + '\n' +
585 " \"modelName\": \"CONTRAIL_EXTERNAL\", " + '\n' +
586 " \"modelVersion\": \"1\" " + '\n' +
588 " \"cloudConfiguration\": { " + '\n' +
589 " \"lcpCloudRegionId\": \"RDM2WAGPLCP\", " + '\n' +
590 " \"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\" " + '\n' +
592 " \"requestInfo\": { " + '\n' +
593 " \"instanceName\": \"MNS-25180-L-01-dmz_direct_net_3\", " + '\n' +
594 " \"source\": \"VID\", " + '\n' +
595 " \"callbackUrl\": \"\", " + '\n' +
596 " \"suppressRollback\": \"true\" ," + '\n' +
597 " \"productFamilyId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\" " + '\n' +
599 " \"requestParameters\": { " + '\n' +
600 " \"userParams\": [] " + '\n' +
611 private Map<String, String> setupVariablesVID1() {
612 Map<String, String> variables = new HashMap<String, String>();
613 variables.put("bpmnRequest", getCreateNetworkRequestVID1());
614 variables.put("mso-request-id", "testRequestId");
615 //variables.put("msoRequestId", "testRequestId");
616 variables.put("requestId", "testRequestId");
617 variables.put("isBaseVfModule", "true");
618 variables.put("recipeTimeout", "0");
619 variables.put("requestAction", "CREATE");
620 variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4");
621 variables.put("vnfId", "");
622 variables.put("vfModuleId", "");
623 variables.put("volumeGroupId", "");
624 //variables.put("networkId", "networkId");
625 variables.put("serviceType", "vMOG");
626 variables.put("vfModuleType", "");
627 variables.put("networkType", "modelName");
633 public String getCreateNetworkRequestVID1() {
636 "{ \"requestDetails\": { " + '\n' +
637 " \"modelInfo\": { " + '\n' +
638 " \"modelType\": \"modelType\", " + '\n' +
639 " \"modelCustomizationId\": \"f21df226-8093-48c3-be7e-0408fcda0422\", " + '\n' +
640 " \"modelName\": \"CONTRAIL_EXTERNAL\", " + '\n' +
641 " \"modelVersion\": \"1.0\" " + '\n' +
643 " \"cloudConfiguration\": { " + '\n' +
644 " \"lcpCloudRegionId\": \"RDM2WAGPLCP\", " + '\n' +
645 " \"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\" " + '\n' +
647 " \"requestInfo\": { " + '\n' +
648 " \"instanceName\": \"MNS-25180-L-01-dmz_direct_net_1\", " + '\n' +
649 " \"source\": \"VID\", " + '\n' +
650 " \"callbackUrl\": \"\", " + '\n' +
651 " \"suppressRollback\": \"false\" ," + '\n' +
652 " \"productFamilyId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\" " + '\n' +
654 " \"requestParameters\": { " + '\n' +
655 " \"backoutOnFailure\": false, " + '\n' +
656 " \"serviceId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\", " + '\n' +
657 " \"userParams\": [] " + '\n' +