[MSO-8] Update the maven dependency
[so.git] / bpmn / MSOInfrastructureBPMN / src / test / java / org / openecomp / mso / bpmn / infrastructure / UpdateNetworkInstanceInfraTest.java
1 /*- 
2  * ============LICENSE_START======================================================= 
3  * OPENECOMP - MSO 
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 
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0 
12  * 
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========================================================= 
19  */ 
20
21 package org.openecomp.mso.bpmn.infrastructure;
22
23 import static org.junit.Assert.assertEquals;
24 import static org.openecomp.mso.bpmn.common.BPMNUtil.executeAsyncWorkflow;
25 import static org.openecomp.mso.bpmn.common.BPMNUtil.getVariable;
26 import static org.openecomp.mso.bpmn.common.BPMNUtil.waitForWorkflowToFinish;
27 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetCloudRegion;
28 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetNetwork;
29 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetNetworkPolicy;
30 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetNetworkRouteTable;
31 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetNetworkVpnBinding;
32 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockNodeQueryServiceInstanceById;
33 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPutNetwork;
34 import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.mockUpdateRequestDB;
35 import static org.openecomp.mso.bpmn.mock.StubResponseNetworkAdapter.MockPutNetworkAdapter;
36 import static org.openecomp.mso.bpmn.mock.StubResponseSDNCAdapter.mockSDNCAdapter;
37 import static org.openecomp.mso.bpmn.mock.StubResponseSDNCAdapter.mockSDNCAdapterTopology;
38
39 import java.util.HashMap;
40 import java.util.Map;
41
42 import org.camunda.bpm.engine.test.Deployment;
43 import org.junit.Assert;
44 import org.junit.Rule;
45 import org.junit.Test;
46 import org.openecomp.mso.bpmn.common.BPMNUtil;
47 import org.openecomp.mso.bpmn.common.SDNCAdapterCallbackRule;
48 import org.openecomp.mso.bpmn.common.WorkflowTest;
49 import org.openecomp.mso.bpmn.common.WorkflowTestTransformer;
50 import org.openecomp.mso.bpmn.common.workflow.service.WorkflowResponse;
51 import org.openecomp.mso.bpmn.mock.SDNCAdapterNetworkTopologyMockTransformer;
52
53 import com.github.tomakehurst.wiremock.extension.ResponseTransformer;
54
55 /**
56  * Unit test cases for UpdateNetworkInstanceInfra.bpmn
57  *
58  */
59 public class UpdateNetworkInstanceInfraTest extends WorkflowTest {
60         @WorkflowTestTransformer
61         public static final ResponseTransformer sdncAdapterMockTransformer =
62                 new SDNCAdapterNetworkTopologyMockTransformer();
63
64         @Rule
65         public final SDNCAdapterCallbackRule sdncAdapterCallbackRule =
66                 new SDNCAdapterCallbackRule(processEngineRule);
67
68         /**
69          * End-to-End flow - Unit test for UpdateNetworkInstanceInfra.bpmn
70          *  - String input & String response
71          */
72
73         @Test
74         //@Ignore 
75         @Deployment(resources = {"process/UpdateNetworkInstanceInfra.bpmn",
76                                          "subprocess/FalloutHandler.bpmn",
77                                  "subprocess/CompleteMsoProcess.bpmn",
78                                  "subprocess/GenericGetService.bpmn",
79                                  "subprocess/SDNCAdapterV1.bpmn"})
80
81         public void shouldInvokeServiceUpdateNetworkInstanceInfra_Success1() throws Exception {
82
83                 System.out.println("----------------------------------------------------------");
84                 System.out.println("            Success1 - UpdateNetworkInstanceInfra flow Started!       ");
85                 System.out.println("----------------------------------------------------------");
86
87                 // setup simulators
88
89                 mockSDNCAdapterTopology("UpdateNetworkV2mock/sdncUpdateNetworkTopologySimResponse.xml", "SvcAction>changeassign");  //
90                 MockPutNetworkAdapter("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "updateNetworkRequest", 200, "UpdateNetworkV2/updateNetworkResponse_Success.xml");
91                 MockGetCloudRegion("RDM2WAGPLCP", 200, "CreateNetworkV2/cloudRegion25_AAIResponse_Success.xml");
92                 MockGetNetwork("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "UpdateNetworkV2/updateNetwork_queryNetworkId_AAIResponse_Success.xml", 200);
93                 MockGetNetworkVpnBinding("85f015d0-2e32-4c30-96d2-87a1a27f8017", "UpdateNetworkV2/updateNetwork_queryVpnBinding_AAIResponse_Success.xml", 200);
94                 MockGetNetworkVpnBinding("c980a6ef-3b88-49f0-9751-dbad8608d0a6", "UpdateNetworkV2/updateNetwork_queryVpnBinding_AAIResponse_Success.xml", 200);
95                 MockGetNetworkPolicy("cee6d136-e378-4678-a024-2cd15f0ee0cg", "UpdateNetworkV2/updateNetwork_queryNetworkPolicy_AAIResponse_Success.xml", 200);
96                 MockGetNetworkRouteTable("refFQDN1", "UpdateNetworkV2/updateNetwork_queryNetworkTableRef1_AAIResponse_Success.xml", 200);
97                 MockGetNetworkRouteTable("refFQDN2", "UpdateNetworkV2/updateNetwork_queryNetworkTableRef2_AAIResponse_Success.xml", 200);
98                 MockPutNetwork("49c86598-f766-46f8-84f8-8d1c1b10f9b4", 200, "UpdateNetworkV2/updateNetwork_updateContrail_AAIResponse_Success.xml");
99                 mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");
100                 MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "UpdateNetworkV2/updateNetwork_queryInstance_Success.xml");
101
102                 Map<String, String> variables = setupVariables1();
103                 WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "UpdateNetworkInstanceInfra", variables);
104                 System.out.println("----------------------------------------------------------");
105                 System.out.println("- got workflow response -");
106                 System.out.println("----------------------------------------------------------");
107                 waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID());
108
109             assertEquals("true", getVariable(processEngineRule, "UpdateNetworkInstanceInfra", "UPDNETI_Success"));
110             Assert.assertNotNull("UPDNETI_CompleteMsoProcessRequest - ", getVariable(processEngineRule, "UpdateNetworkInstanceInfra", "UPDNETI_CompleteMsoProcessRequest"));
111
112                 String workflowResp = BPMNUtil.getVariable(processEngineRule, "UpdateNetworkInstanceInfra", "WorkflowResponse");
113                 Assert.assertNotNull(workflowResp);
114
115                 System.out.println("----------------------------------------------------------");
116                 System.out.println("     Success1 - UpdateNetworkInstanceInfra flow Completed      ");
117                 System.out.println("----------------------------------------------------------");
118
119         }
120
121         @Test
122         //@Ignore 
123         @Deployment(resources = {"process/UpdateNetworkInstanceInfra.bpmn",
124                                                          "subprocess/GenericGetService.bpmn",
125                                          "subprocess/FalloutHandler.bpmn",
126                                  "subprocess/CompleteMsoProcess.bpmn",
127                                  "subprocess/SDNCAdapterV1.bpmn"})
128
129         public void shouldInvokeServiceUpdateNetworkInstanceInfra_Success2() throws Exception {
130
131                 System.out.println("----------------------------------------------------------");
132                 System.out.println("            Success2 - UpdateNetworkInstanceInfra flow Started!      ");
133                 System.out.println("----------------------------------------------------------");
134
135                 // setup simulators
136
137                 mockSDNCAdapterTopology("UpdateNetworkV2mock/sdncUpdateNetworkTopologySimResponse.xml", "SvcAction>changeassign");
138                 MockPutNetworkAdapter("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "updateNetworkRequest", 200, "UpdateNetworkV2/updateNetworkResponse_Success.xml");
139                 MockGetCloudRegion("RDM2WAGPLCP", 200, "CreateNetworkV2/cloudRegion25_AAIResponse_Success.xml");
140                 MockGetNetwork("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "UpdateNetworkV2/updateNetwork_queryNetworkId_AAIResponse_Success.xml", 200);
141                 MockGetNetworkVpnBinding("85f015d0-2e32-4c30-96d2-87a1a27f8017", "UpdateNetworkV2/updateNetwork_queryVpnBinding_AAIResponse_Success.xml", 200);
142                 MockGetNetworkVpnBinding("c980a6ef-3b88-49f0-9751-dbad8608d0a6", "UpdateNetworkV2/updateNetwork_queryVpnBinding_AAIResponse_Success.xml", 200);
143                 MockGetNetworkPolicy("cee6d136-e378-4678-a024-2cd15f0ee0cg", "UpdateNetworkV2/updateNetwork_queryNetworkPolicy_AAIResponse_Success.xml", 200);
144                 MockGetNetworkRouteTable("refFQDN1", "UpdateNetworkV2/updateNetwork_queryNetworkTableRef1_AAIResponse_Success.xml", 200);
145                 MockGetNetworkRouteTable("refFQDN2", "UpdateNetworkV2/updateNetwork_queryNetworkTableRef2_AAIResponse_Success.xml", 200);
146                 MockPutNetwork("49c86598-f766-46f8-84f8-8d1c1b10f9b4", 200, "UpdateNetworkV2/updateNetwork_updateContrail_AAIResponse_Success.xml");
147                 mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");
148                 MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "UpdateNetworkV2/updateNetwork_queryInstance_Success.xml");
149
150                 Map<String, String> variables = setupVariables2();
151                 WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "UpdateNetworkInstanceInfra", variables);
152                 waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID());
153
154             assertEquals("true", getVariable(processEngineRule, "UpdateNetworkInstanceInfra", "UPDNETI_Success"));
155             Assert.assertNotNull("UPDNETI_CompleteMsoProcessRequest - ", getVariable(processEngineRule, "UpdateNetworkInstanceInfra", "UPDNETI_CompleteMsoProcessRequest"));
156
157             String completeMsoProcessRequest =
158                         "<aetgt:MsoCompletionRequest xmlns:aetgt=\"http://org.openecomp/mso/workflow/schema/v1\""  + '\n'
159                   + "                            xmlns:ns=\"http://org.openecomp/mso/request/types/v1\""  + '\n'
160                   + "                            xmlns=\"http://org.openecomp/mso/infra/vnf-request/v1\">"  + '\n'
161                   + "   <request-info>"  + '\n'
162                   + "      <request-id>testRequestId</request-id>"  + '\n'
163                   + "      <action>UPDATE</action>"  + '\n'
164                   + "      <source>VID</source>"  + '\n'
165                   + "   </request-info>"  + '\n'
166                   + "   <aetgt:mso-bpel-name>BPMN Network action: UPDATE</aetgt:mso-bpel-name>" + '\n'
167                   + "</aetgt:MsoCompletionRequest>";
168
169             Assert.assertEquals(completeMsoProcessRequest, getVariable(processEngineRule, "UpdateNetworkInstanceInfra", "UPDNETI_CompleteMsoProcessRequest"));
170
171                 System.out.println("----------------------------------------------------------");
172                 System.out.println("     Success2 - UpdateNetworkInstanceInfra flow Completed     ");
173                 System.out.println("----------------------------------------------------------");
174
175         }
176
177
178         @Test
179         @Deployment(resources = {"process/UpdateNetworkInstanceInfra.bpmn",
180                                                          "subprocess/GenericGetService.bpmn",
181                                          "subprocess/FalloutHandler.bpmn",
182                                  "subprocess/CompleteMsoProcess.bpmn",
183                                  "subprocess/SDNCAdapterV1.bpmn"})
184
185         public void shouldInvokeServiceUpdateNetworkInstanceInfra_MissingNetworkId() throws Exception {
186
187                 System.out.println("--------------------------------------------------------------------");
188                 System.out.println("     Missing networkId - UpdateNetworkInstanceInfra flow Started!   ");
189                 System.out.println("--------------------------------------------------------------------");
190
191                 // setup simulators
192
193                 mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");
194                 MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "UpdateNetworkV2/updateNetwork_queryInstance_Success.xml");
195
196                 Map<String, String> variables = setupVariablesMissingNetworkId();
197                 WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "UpdateNetworkInstanceInfra", variables);
198                 waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID());
199
200             assertEquals("false", getVariable(processEngineRule, "UpdateNetworkInstanceInfra", "UPDNETI_Success"));
201             Assert.assertNotNull("UPDNETI_FalloutHandlerRequest - ", getVariable(processEngineRule, "UpdateNetworkInstanceInfra", "UPDNETI_FalloutHandlerRequest"));
202             
203             String falloutHandlerActual = getVariable(processEngineRule, "UpdateNetworkInstanceInfra", "UPDNETI_FalloutHandlerRequest");        
204             String falloutHandlerExpected = 
205 "<aetgt:FalloutHandlerRequest xmlns:aetgt=\"http://org.openecomp/mso/workflow/schema/v1\"" + "\n" +
206 "                                                                    xmlns:ns=\"http://org.openecomp/mso/request/types/v1\"" + "\n" +
207 "                                                                    xmlns:wfsch=\"http://org.openecomp/mso/workflow/schema/v1\">" + "\n" +
208 "                                          <request-info xmlns=\"http://org.openecomp/mso/infra/vnf-request/v1\">" + "\n" +
209 "                                             <request-id>88f65519-9a38-4c4b-8445-9eb4a5a5af56</request-id>" + "\n" +
210 "                                             <action>UPDATE</action>" + "\n" +
211 "                                             <source>VID</source>" + "\n" +
212 "                                          </request-info>" + "\n" +
213 "                                               <aetgt:WorkflowException xmlns:aetgt=\"http://org.openecomp/mso/workflow/schema/v1\">" + "\n" +
214 "                                                       <aetgt:ErrorMessage>Variable 'network-id' value/element is missing.</aetgt:ErrorMessage>" + "\n" +
215 "                                                       <aetgt:ErrorCode>2500</aetgt:ErrorCode>" + "\n" +
216 "                                               </aetgt:WorkflowException>" + "\n" +
217 "                                       </aetgt:FalloutHandlerRequest>"; 
218                         
219                 assertEquals("Response", falloutHandlerExpected, falloutHandlerActual);
220
221                 System.out.println("------------------------------------------------------------------");
222                 System.out.println("    Missing networkId - UpdateNetworkInstanceInfra flow Completed ");
223                 System.out.println("------------------------------------------------------------------");
224
225         }
226
227         /* NOT NEEDED
228         @Test
229         @Deployment(resources = {"process/UpdateNetworkInstanceInfra.bpmn",
230                                                          "subprocess/GenericGetService.bpmn",
231                                          "subprocess/FalloutHandler.bpmn",
232                                  "subprocess/CompleteMsoProcess.bpmn",
233                                  "subprocess/SDNCAdapterV1.bpmn"})
234
235         public void shouldInvokeServiceUpdateNetworkInstanceInfra_SDNCRollback1() throws Exception {
236
237                 System.out.println("----------------------------------------------------------");
238                 System.out.println("       SDNCRollback1 - UpdateNetworkInstanceInfra flow Started!       ");
239                 System.out.println("----------------------------------------------------------");
240
241                 // setup simulators
242
243                 mockSDNCAdapterTopology("UpdateNetworkV2mock/sdncUpdateNetworkTopologySimResponse.xml", "SvcAction>changeassign");
244                 mockSDNCAdapterTopology("UpdateNetworkV2mock/sdncUpdateNetworkTopologySimResponse.xml", "SvcAction>rollback");
245                 MockPutNetworkAdapter("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "updateNetworkRequest", 200, "UpdateNetworkV2/updateNetworkResponse_Success.xml");
246                 MockGetCloudRegion("RDM2WAGPLCP", 200, "CreateNetworkV2/cloudRegion25_AAIResponse_Success.xml");
247                 MockAAIResponse_queryId_UpdateNetwork_404V2();            // failure in queryId in AAI
248                 mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");
249                 MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "UpdateNetworkV2/updateNetwork_queryInstance_Success.xml");
250
251                 Map<String, String> variables = setupVariablesSDNCRollback();
252                 WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "UpdateNetworkInstanceInfra", variables);
253                 waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID());
254
255             assertEquals("false", getVariable(processEngineRule, "UpdateNetworkInstanceInfra", "UPDNETI_Success"));
256             Assert.assertNotNull("UPDNETI_FalloutHandlerRequest - ", getVariable(processEngineRule, "UpdateNetworkInstanceInfra", "UPDNETI_FalloutHandlerRequest"));
257
258                 System.out.println("----------------------------------------------------------");
259                 System.out.println("   SDNCRollback1 - UpdateNetworkInstanceInfra flow Completed   ");
260                 System.out.println("----------------------------------------------------------");
261
262         } */
263
264         @Test
265         @Deployment(resources = {"process/UpdateNetworkInstanceInfra.bpmn",
266                                                          "subprocess/GenericGetService.bpmn",
267                                          "subprocess/FalloutHandler.bpmn",
268                                  "subprocess/CompleteMsoProcess.bpmn",
269                                  "subprocess/SDNCAdapterV1.bpmn"})
270
271         public void shouldInvokeServiceUpdateNetworkInstanceInfra_SDNCRollback_Scenario01() throws Exception {
272
273                 System.out.println("----------------------------------------------------------");
274                 System.out.println("       SDNCRollback - UpdateNetworkInstanceInfra flow Started!       ");
275                 System.out.println("----------------------------------------------------------");
276
277                 // setup simulators
278
279                 mockSDNCAdapterTopology("UpdateNetworkV2mock/sdncUpdateNetworkTopologySimResponse.xml", "SvcAction>changeassign");          //
280                 mockSDNCAdapterTopology("UpdateNetworkV2mock/sdncUpdateNetworkTopologySimResponse.xml", "SvcAction>rollback");
281                 MockPutNetworkAdapter("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "updateNetworkRequest", 200, "UpdateNetworkV2/updateNetworkResponse_Success.xml");
282                 MockGetCloudRegion("RDM2WAGPLCP", 200, "CreateNetworkV2/cloudRegion25_AAIResponse_Success.xml");
283                 MockGetNetwork("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "UpdateNetworkV2/updateNetwork_queryNetworkId_AAIResponse_NoPayload_Success.xml", 200);    // no 'payload' response from NetworkAdapter, version 2
284                 //MockGetNetworkVpnBinding("85f015d0-2e32-4c30-96d2-87a1a27f8017", "UpdateNetworkV2/updateNetwork_queryVpnBinding_AAIResponse_Success.xml", 200);     // let it fail (404) to see SDNC compensation
285                 //MockGetNetworkVpnBinding("c980a6ef-3b88-49f0-9751-dbad8608d0a6", "UpdateNetworkV2/updateNetwork_queryVpnBinding_AAIResponse_Success.xml", 200);        // let it fail (404) to see SDNC compensation
286                 //MockGetNetworkRouteTable("refFQDN2", "UpdateNetworkV2/updateNetwork_queryNetworkTableRef2_AAIResponse_Success.xml", 200);
287                 mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");
288                 MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "UpdateNetworkV2/updateNetwork_queryInstance_Success.xml");
289
290                 Map<String, String> variables = setupVariablesSDNCRollback();
291                 WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "UpdateNetworkInstanceInfra", variables);
292                 waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID());
293
294             assertEquals("false", getVariable(processEngineRule, "UpdateNetworkInstanceInfra", "UPDNETI_Success"));
295             Assert.assertNotNull("UPDNETI_FalloutHandlerRequest - ", getVariable(processEngineRule, "UpdateNetworkInstanceInfra", "UPDNETI_FalloutHandlerRequest"));
296
297                 System.out.println("----------------------------------------------------------");
298                 System.out.println("   SDNCRollback - UpdateNetworkInstanceInfra flow Completed   ");
299                 System.out.println("----------------------------------------------------------");
300
301         }
302
303         @Test
304         @Deployment(resources = {"process/UpdateNetworkInstanceInfra.bpmn",
305                                                      "subprocess/GenericGetService.bpmn",
306                                          "subprocess/FalloutHandler.bpmn",
307                                  "subprocess/CompleteMsoProcess.bpmn",
308                                  "subprocess/SDNCAdapterV1.bpmn"})
309
310         public void shouldInvokeServiceUpdateNetworkInstanceInfra_Network_SDNC_Rollback() throws Exception {
311
312                 System.out.println("---------------------------------------------------------------");
313                 System.out.println("    Network and SDNC Rollback - UpdateNetworkInstanceInfra flow Started!       ");
314                 System.out.println("---------------------------------------------------------------");
315
316                 // setup simulators
317
318                 mockSDNCAdapterTopology("UpdateNetworkV2mock/sdncUpdateNetworkTopologySimResponse.xml", "SvcAction>changeassign");          //
319                 mockSDNCAdapterTopology("UpdateNetworkV2mock/sdncUpdateNetworkTopologySimResponse.xml", "SvcAction>rollback");
320                 MockPutNetworkAdapter("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "updateNetworkRequest", 200, "UpdateNetworkV2/updateNetworkResponse_Success.xml");
321                 MockGetCloudRegion("RDM2WAGPLCP", 200, "CreateNetworkV2/cloudRegion25_AAIResponse_Success.xml");
322                 MockGetNetwork("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "UpdateNetworkV2/updateNetwork_queryNetworkId_AAIResponse_Success.xml", 200);
323                 MockGetNetworkVpnBinding("85f015d0-2e32-4c30-96d2-87a1a27f8017", "UpdateNetworkV2/updateNetwork_queryVpnBinding_AAIResponse_Success.xml", 200);
324                 MockGetNetworkVpnBinding("c980a6ef-3b88-49f0-9751-dbad8608d0a6", "UpdateNetworkV2/updateNetwork_queryVpnBinding_AAIResponse_Success.xml", 200);
325                 MockGetNetworkPolicy("cee6d136-e378-4678-a024-2cd15f0ee0cg", "UpdateNetworkV2/updateNetwork_queryNetworkPolicy_AAIResponse_Success.xml", 200);
326                 MockGetNetworkRouteTable("refFQDN1", "UpdateNetworkV2/updateNetwork_queryNetworkTableRef1_AAIResponse_Success.xml", 200);
327                 MockGetNetworkRouteTable("refFQDN2", "UpdateNetworkV2/updateNetwork_queryNetworkTableRef2_AAIResponse_Success.xml", 200);
328                 //MockAAIResponse_updateContrail_CreateNetwork_SuccessV2();  // designed to fail in AAI Update
329                 //mockUpdateRequestDB(500, "Database/DBUpdateResponse.xml");
330                 mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");
331                 MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "UpdateNetworkV2/updateNetwork_queryInstance_Success.xml");
332
333                 Map<String, String> variables = setupVariables1();
334                 WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "UpdateNetworkInstanceInfra", variables);
335                 waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID());
336
337             assertEquals("false", getVariable(processEngineRule, "UpdateNetworkInstanceInfra", "UPDNETI_Success"));
338             Assert.assertNotNull("UPDNETI_FalloutHandlerRequest - ", getVariable(processEngineRule, "UpdateNetworkInstanceInfra", "UPDNETI_FalloutHandlerRequest"));
339
340                 System.out.println("---------------------------------------------------------------------");
341                 System.out.println(" Network and SCNC Rollback - UpdateNetworkInstanceInfra flow Completed   ");
342                 System.out.println("---------------------------------------------------------------------");
343
344         }
345
346         @Test
347         @Deployment(resources = {"process/UpdateNetworkInstanceInfra.bpmn",
348                                                          "subprocess/GenericGetService.bpmn",
349                                          "subprocess/FalloutHandler.bpmn",
350                                  "subprocess/CompleteMsoProcess.bpmn",
351                                  "subprocess/SDNCAdapterV1.bpmn"})
352
353         public void shouldInvokeServiceUpdateNetworkInstanceInfra_Network_SDNC_Rollback_Failed() throws Exception {
354
355                 System.out.println("---------------------------------------------------------------");
356                 System.out.println("    Network and SDNC Rollback - UpdateNetworkInstanceInfra flow Started!       ");
357                 System.out.println("---------------------------------------------------------------");
358
359                 // setup simulators
360
361                 mockSDNCAdapterTopology("UpdateNetworkV2mock/sdncUpdateNetworkTopologySimResponse.xml", "SvcAction>changeassign");          //
362                 mockSDNCAdapterTopology("UpdateNetworkV2mock/sdncUpdateNetworkTopologySim500Response.xml", "SvcAction>rollback");
363                 MockPutNetworkAdapter("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "updateNetworkRequest", 200, "UpdateNetworkV2/updateNetworkResponse_Success.xml");
364                 MockGetCloudRegion("RDM2WAGPLCP", 200, "CreateNetworkV2/cloudRegion25_AAIResponse_Success.xml");
365                 MockGetNetwork("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "UpdateNetworkV2/updateNetwork_queryNetworkId_AAIResponse_Success.xml", 200);
366                 MockGetNetworkVpnBinding("85f015d0-2e32-4c30-96d2-87a1a27f8017", "UpdateNetworkV2/updateNetwork_queryVpnBinding_AAIResponse_Success.xml", 200);
367                 MockGetNetworkVpnBinding("c980a6ef-3b88-49f0-9751-dbad8608d0a6", "UpdateNetworkV2/updateNetwork_queryVpnBinding_AAIResponse_Success.xml", 200);
368                 MockGetNetworkPolicy("cee6d136-e378-4678-a024-2cd15f0ee0cg", "UpdateNetworkV2/updateNetwork_queryNetworkPolicy_AAIResponse_Success.xml", 200);
369                 MockGetNetworkRouteTable("refFQDN1", "UpdateNetworkV2/updateNetwork_queryNetworkTableRef1_AAIResponse_Success.xml", 200);
370                 MockGetNetworkRouteTable("refFQDN2", "UpdateNetworkV2/updateNetwork_queryNetworkTableRef2_AAIResponse_Success.xml", 200);
371                 //MockAAIResponse_updateContrail_CreateNetwork_SuccessV2();  // designed to fail in AAI Update
372                 //mockUpdateRequestDB(500, "Database/DBUpdateResponse.xml");
373                 mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");
374                 MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "UpdateNetworkV2/updateNetwork_queryInstance_Success.xml");
375
376                 Map<String, String> variables = setupVariables1();
377                 WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "UpdateNetworkInstanceInfra", variables);
378                 waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID());
379
380             assertEquals("false", getVariable(processEngineRule, "UpdateNetworkInstanceInfra", "UPDNETI_Success"));
381             Assert.assertNotNull("UPDNETI_FalloutHandlerRequest - ", getVariable(processEngineRule, "UpdateNetworkInstanceInfra", "UPDNETI_FalloutHandlerRequest"));
382
383                 System.out.println("---------------------------------------------------------------------");
384                 System.out.println(" Network and SCNC Rollback - UpdateNetworkInstanceInfra flow Completed   ");
385                 System.out.println("---------------------------------------------------------------------");
386
387         }
388
389         @Test
390         @Deployment(resources = {"process/UpdateNetworkInstanceInfra.bpmn",
391                                          "subprocess/GenericGetService.bpmn",
392                                          "subprocess/FalloutHandler.bpmn",
393                                  "subprocess/CompleteMsoProcess.bpmn",
394                                  "subprocess/SDNCAdapterV1.bpmn"})
395
396         public void shouldInvokeServiceUpdateNetworkInstanceInfra_SDNCRollback2() throws Exception {
397
398                 System.out.println("----------------------------------------------------");
399                 System.out.println("    SDNCRollback2 - UpdateNetworkInstanceInfra flow Started!    ");
400                 System.out.println("----------------------------------------------------");
401
402                 // setup simulators
403
404                 mockSDNCAdapterTopology("UpdateNetworkV2mock/sdncUpdateNetworkTopologySimResponse.xml", "SvcAction>changeassign");
405                 mockSDNCAdapterTopology("UpdateNetworkV2mock/sdncUpdateNetworkTopologySimResponse.xml", "SvcAction>rollback");
406                 MockPutNetworkAdapter("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "updateNetworkRequest", 500, "UpdateNetworkV2/updateNetworkResponse_500.xml");            // failure 500 in NetworkAdapter
407                 MockGetCloudRegion("RDM2WAGPLCP", 200, "CreateNetworkV2/cloudRegion25_AAIResponse_Success.xml");
408                 MockGetNetwork("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "UpdateNetworkV2/updateNetwork_queryNetworkId_AAIResponse_Success.xml", 200);
409                 MockGetNetworkVpnBinding("85f015d0-2e32-4c30-96d2-87a1a27f8017", "UpdateNetworkV2/updateNetwork_queryVpnBinding_AAIResponse_Success.xml", 200);
410                 MockGetNetworkVpnBinding("c980a6ef-3b88-49f0-9751-dbad8608d0a6", "UpdateNetworkV2/updateNetwork_queryVpnBinding_AAIResponse_Success.xml", 200);
411                 MockGetNetworkPolicy("cee6d136-e378-4678-a024-2cd15f0ee0cg", "UpdateNetworkV2/updateNetwork_queryNetworkPolicy_AAIResponse_Success.xml", 200);
412                 MockGetNetworkRouteTable("refFQDN1", "UpdateNetworkV2/updateNetwork_queryNetworkTableRef1_AAIResponse_Success.xml", 200);
413                 MockGetNetworkRouteTable("refFQDN2", "UpdateNetworkV2/updateNetwork_queryNetworkTableRef2_AAIResponse_Success.xml", 200);
414                 //MockPutNetwork("49c86598-f766-46f8-84f8-8d1c1b10f9b4", 200, "UpdateNetworkV2/updateNetwork_updateContrail_AAIResponse_Success.xml");
415                 mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");
416                 MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "UpdateNetworkV2/updateNetwork_queryInstance_Success.xml");
417
418                 Map<String, String> variables = setupVariables1();
419                 WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "UpdateNetworkInstanceInfra", variables);
420                 waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID());
421
422             assertEquals("false", getVariable(processEngineRule, "UpdateNetworkInstanceInfra", "UPDNETI_Success"));
423             Assert.assertNotNull("UPDNETI_FalloutHandlerRequest - ", getVariable(processEngineRule, "UpdateNetworkInstanceInfra", "UPDNETI_FalloutHandlerRequest"));
424
425                 System.out.println("------------------------------------------------------------");
426                 System.out.println(" SDNCRollback2 - UpdateNetworkInstanceInfra flow Completed      ");
427                 System.out.println("------------------------------------------------------------");
428
429         }
430
431         @Test
432         @Deployment(resources = {"process/UpdateNetworkInstanceInfra.bpmn",
433                                                          "subprocess/GenericGetService.bpmn",
434                                          "subprocess/FalloutHandler.bpmn",
435                                  "subprocess/CompleteMsoProcess.bpmn",
436                                  "subprocess/SDNCAdapterV1.bpmn"})
437
438         public void shouldInvokeServiceUpdateNetworkInstanceInfra_SDNCRollback3() throws Exception {
439
440                 System.out.println("----------------------------------------------------");
441                 System.out.println("    SDNCRollback3 - UpdateNetworkInstanceInfra flow Started!    ");
442                 System.out.println("----------------------------------------------------");
443
444                 // setup simulators
445
446                 mockSDNCAdapterTopology("UpdateNetworkV2mock/sdncUpdateNetworkTopologySimResponse.xml", "SvcAction>changeassign");
447                 mockSDNCAdapterTopology("UpdateNetworkV2mock/sdncUpdateNetworkTopologySimResponse.xml", "SvcAction>rollback");
448                 MockPutNetworkAdapter("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "updateNetworkRequest", 400, "UpdateNetworkV2/updateNetworkResponse_400.xml");            // failure 400 in NetworkAdapter
449                 MockGetCloudRegion("RDM2WAGPLCP", 200, "CreateNetworkV2/cloudRegion25_AAIResponse_Success.xml");
450                 MockGetNetwork("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "UpdateNetworkV2/updateNetwork_queryNetworkId_AAIResponse_Success.xml", 200);
451                 MockGetNetworkVpnBinding("85f015d0-2e32-4c30-96d2-87a1a27f8017", "UpdateNetworkV2/updateNetwork_queryVpnBinding_AAIResponse_Success.xml", 200);
452                 MockGetNetworkVpnBinding("c980a6ef-3b88-49f0-9751-dbad8608d0a6", "UpdateNetworkV2/updateNetwork_queryVpnBinding_AAIResponse_Success.xml", 200);
453                 MockGetNetworkPolicy("cee6d136-e378-4678-a024-2cd15f0ee0cg", "UpdateNetworkV2/updateNetwork_queryNetworkPolicy_AAIResponse_Success.xml", 200);
454                 MockGetNetworkRouteTable("refFQDN1", "UpdateNetworkV2/updateNetwork_queryNetworkTableRef1_AAIResponse_Success.xml", 200);
455                 MockGetNetworkRouteTable("refFQDN2", "UpdateNetworkV2/updateNetwork_queryNetworkTableRef2_AAIResponse_Success.xml", 200);
456                 //MockPutNetwork("49c86598-f766-46f8-84f8-8d1c1b10f9b4", 200, "UpdateNetworkV2/updateNetwork_updateContrail_AAIResponse_Success.xml");
457                 mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");
458                 MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "UpdateNetworkV2/updateNetwork_queryInstance_Success.xml");
459
460                 Map<String, String> variables = setupVariables1();
461                 WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "UpdateNetworkInstanceInfra", variables);
462                 waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID());
463
464             assertEquals("false", getVariable(processEngineRule, "UpdateNetworkInstanceInfra", "UPDNETI_Success"));
465             Assert.assertNotNull("UPDNETI_FalloutHandlerRequest - ", getVariable(processEngineRule, "UpdateNetworkInstanceInfra", "UPDNETI_FalloutHandlerRequest"));
466
467                 System.out.println("------------------------------------------------------------");
468                 System.out.println(" SDNCRollback3 - UpdateNetworkInstanceInfra flow Completed      ");
469                 System.out.println("------------------------------------------------------------");
470
471         }
472
473         @Test
474         @Deployment(resources = {"process/UpdateNetworkInstanceInfra.bpmn",
475                                                          "subprocess/GenericGetService.bpmn",
476                                          "subprocess/FalloutHandler.bpmn",
477                                  "subprocess/CompleteMsoProcess.bpmn",
478                                  "subprocess/SDNCAdapterV1.bpmn"})
479
480         public void shouldInvokeServiceUpdateNetworkInstanceInfra_PONR() throws Exception {
481
482                 System.out.println("--------------------------------------------------------------------");
483                 System.out.println("    PONR (Point-of-no-Return) - UpdateNetworkInstanceInfra flow Started!       ");
484                 System.out.println("--------------------------------------------------------------------");
485
486                 // setup simulators
487
488                 mockSDNCAdapterTopology("UpdateNetworkV2mock/sdncUpdateNetworkTopologySimResponse.xml", "SvcAction>changeassign");          //
489                 mockSDNCAdapterTopology("UpdateNetworkV2mock/sdncUpdateNetworkTopologySimResponse.xml", "SvcAction>rollback");
490                 MockPutNetworkAdapter("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "updateNetworkRequest", 200, "UpdateNetworkV2/updateNetworkResponse_Success.xml");
491                 MockGetCloudRegion("RDM2WAGPLCP", 200, "CreateNetworkV2/cloudRegion25_AAIResponse_Success.xml");
492                 MockGetNetwork("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "UpdateNetworkV2/updateNetwork_queryNetworkId_AAIResponse_Success.xml", 200);
493                 MockGetNetworkVpnBinding("85f015d0-2e32-4c30-96d2-87a1a27f8017", "UpdateNetworkV2/updateNetwork_queryVpnBinding_AAIResponse_Success.xml", 200);
494                 MockGetNetworkVpnBinding("c980a6ef-3b88-49f0-9751-dbad8608d0a6", "UpdateNetworkV2/updateNetwork_queryVpnBinding_AAIResponse_Success.xml", 200);
495                 MockGetNetworkPolicy("cee6d136-e378-4678-a024-2cd15f0ee0cg", "UpdateNetworkV2/updateNetwork_queryNetworkPolicy_AAIResponse_Success.xml", 200);
496                 MockGetNetworkRouteTable("refFQDN1", "UpdateNetworkV2/updateNetwork_queryNetworkTableRef1_AAIResponse_Success.xml", 200);
497                 MockGetNetworkRouteTable("refFQDN2", "UpdateNetworkV2/updateNetwork_queryNetworkTableRef2_AAIResponse_Success.xml", 200);
498                 MockPutNetwork("49c86598-f766-46f8-84f8-8d1c1b10f9b4", 200, "UpdateNetworkV2/updateNetwork_updateContrail_AAIResponse_Success.xml");
499                 mockUpdateRequestDB(500, "Database/DBUpdateResponse.xml");
500                 MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "UpdateNetworkV2/updateNetwork_queryInstance_Success.xml");
501
502                 Map<String, String> variables = setupVariables1();
503                 WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "UpdateNetworkInstanceInfra", variables);
504                 waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID());
505
506             assertEquals("false", getVariable(processEngineRule, "UpdateNetworkInstanceInfra", "UPDNETI_Success"));
507             Assert.assertNotNull("UPDNETI_FalloutHandlerRequest - ", getVariable(processEngineRule, "UpdateNetworkInstanceInfra", "UPDNETI_FalloutHandlerRequest"));
508
509             String falloutHandlerRequest =
510                           "<aetgt:FalloutHandlerRequest xmlns:aetgt=\"http://org.openecomp/mso/workflow/schema/v1\"" + '\n'
511                                 + "                                                                  xmlns:ns=\"http://org.openecomp/mso/request/types/v1\"" + '\n'
512                                 + "                                                                  xmlns:wfsch=\"http://org.openecomp/mso/workflow/schema/v1\">" + '\n'
513                                 + "                                        <request-info xmlns=\"http://org.openecomp/mso/infra/vnf-request/v1\">" + '\n'
514                                 + "                                           <request-id>testRequestId</request-id>" + '\n'
515                                 + "                                           <action>CREATE</action>" + '\n'
516                                 + "                                           <source>VID</source>" + '\n'
517                                 + "                                        </request-info>" + '\n'
518                                 + "                                             <aetgt:WorkflowException xmlns:aetgt=\"http://org.openecomp/mso/workflow/schema/v1\">" + '\n'
519                                 + "                                                     <aetgt:ErrorMessage> DB Update failed, code: 500</aetgt:ErrorMessage>" + '\n'
520                                 + "                                                     <aetgt:ErrorCode>2500</aetgt:ErrorCode>" + '\n'
521                                 + "                                             </aetgt:WorkflowException>" + '\n'
522                                 + "                                     </aetgt:FalloutHandlerRequest>";
523
524             System.out.println("Display UPDNETI_FalloutHandlerRequest - " + getVariable(processEngineRule, "UpdateNetworkInstanceInfra", "UPDNETI_FalloutHandlerRequest"));
525             //Assert.assertEquals(falloutHandlerRequest, getVariable(processEngineRule, "UpdateNetworkInstanceInfra", "UPDNETI_FalloutHandlerRequest"));
526
527                 System.out.println("--------------------------------------------------------------------");
528                 System.out.println("    PONR (Point-of-no-Return) - UpdateNetworkInstanceInfra flow Completed!     ");
529                 System.out.println("--------------------------------------------------------------------");
530
531
532         }
533
534         @Test
535         @Deployment(resources = {"process/UpdateNetworkInstanceInfra.bpmn",
536                                          "subprocess/GenericGetService.bpmn",
537                                          "subprocess/FalloutHandler.bpmn",
538                                  "subprocess/CompleteMsoProcess.bpmn",
539                                  "subprocess/SDNCAdapterV1.bpmn"})
540
541         public void shouldInvokeServiceUpdateNetworkInstanceInfra_sdncFailure() throws Exception {
542
543                 System.out.println("----------------------------------------------------------");
544                 System.out.println("        SNDC Failure - UpdateNetworkInstanceInfra flow Started!      ");
545                 System.out.println("----------------------------------------------------------");
546
547                 // setup simulators
548
549                 //MockSDNCAdapterBadAsynchronousResponse();                // 404
550                 mockSDNCAdapter("/SDNCAdapter", "SvcAction>query", 500, "");             // 500
551                 MockGetCloudRegion("RDM2WAGPLCP", 200, "CreateNetworkV2/cloudRegion25_AAIResponse_Success.xml");
552                 mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");
553                 MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "UpdateNetworkV2/updateNetwork_queryInstance_Success.xml");
554
555                 Map<String, String> variables = setupVariables2();
556                 WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "UpdateNetworkInstanceInfra", variables);
557                 waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID());
558
559             assertEquals("false", getVariable(processEngineRule, "UpdateNetworkInstanceInfra", "UPDNETI_Success"));
560             Assert.assertNotNull("UPDNETI_CompleteMsoProcessRequest - ", getVariable(processEngineRule, "UpdateNetworkInstanceInfra", "UPDNETI_CompleteMsoProcessRequest"));
561
562                 System.out.println("----------------------------------------------------------");
563                 System.out.println("     SNDC Failure - UpdateNetworkInstanceInfra flow Completed ");
564                 System.out.println("----------------------------------------------------------");
565
566         }
567
568         // *****************
569         // Utility Section
570         // *****************
571
572         // Success Scenario
573         private Map<String, String> setupVariables1() {
574                 Map<String, String> variables = new HashMap<String, String>();
575                 variables.put("bpmnRequest", getCreateNetworkRequest1());
576                 variables.put("mso-request-id", "testRequestId");
577                 variables.put("requestId", "testRequestId");
578                 variables.put("isBaseVfModule", "true");
579                 variables.put("recipeTimeout", "0");
580                 variables.put("requestAction", "CREATE");
581                 variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4");
582                 variables.put("vnfId", "");
583                 variables.put("vfModuleId", "");
584                 variables.put("volumeGroupId", "");
585                 variables.put("networkId", "49c86598-f766-46f8-84f8-8d1c1b10f9b4");
586                 variables.put("serviceType", "vMOG");
587                 variables.put("vfModuleType", "");
588                 variables.put("networkType", "modelName");
589                 return variables;
590
591         }
592
593         public String getCreateNetworkRequest1() {
594
595                 String request =
596                                 "{ \"requestDetails\": { " + '\n' +
597                                 "      \"modelInfo\": { " + '\n' +
598                                 "         \"modelType\": \"modelType\", " + '\n' +
599                                 "         \"modelId\": \"modelId\", " + '\n' +
600                                 "         \"modelNameVersionId\": \"modelNameVersionId\", " + '\n' +
601                                 "         \"modelName\": \"CONTRAIL_EXTERNAL\", " + '\n' +
602                                 "         \"modelVersion\": \"1\" " + '\n' +
603                                 "      }, " + '\n' +
604                                 "      \"cloudConfiguration\": { " + '\n' +
605                                 "          \"lcpCloudRegionId\": \"RDM2WAGPLCP\", " + '\n' +
606                                 "          \"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\" " + '\n' +
607                                 "      }, " + '\n' +
608                                 "      \"requestInfo\": { " + '\n' +
609                                 "          \"instanceName\": \"MNS-25180-L-01-dmz_direct_net_1\", " + '\n' +
610                                 "          \"source\": \"VID\", " + '\n' +
611                                 "          \"callbackUrl\": \"\", " + '\n' +
612                                 "          \"suppressRollback\": \"true\" ," + '\n' +
613                                 "          \"productFamilyId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\" " + '\n' +
614                                 "      }, " + '\n' +
615                                 "      \"requestParameters\": { " + '\n' +
616                                 "          \"backoutOnFailure\": true, " + '\n' +
617                                 "          \"serviceId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\", " + '\n' +
618                                 "          \"userParams\": [] " + '\n' +
619                                 "      }        " + '\n' +
620                             " } " + '\n' +
621                             "}";
622
623                 return request;
624         }
625
626         // Success Scenario 2
627         private Map<String, String> setupVariables2() {
628                 Map<String, String> variables = new HashMap<String, String>();
629                 variables.put("bpmnRequest", getCreateNetworkRequest2());
630                 variables.put("mso-request-id", "testRequestId");
631                 variables.put("requestId", "testRequestId");
632                 variables.put("isBaseVfModule", "true");
633                 variables.put("recipeTimeout", "0");
634                 variables.put("requestAction", "UPDATE");
635                 variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4");
636                 variables.put("vnfId", "");
637                 variables.put("vfModuleId", "");
638                 variables.put("volumeGroupId", "");
639                 variables.put("networkId", "49c86598-f766-46f8-84f8-8d1c1b10f9b4");
640                 variables.put("serviceType", "vMOG");
641                 variables.put("vfModuleType", "");
642                 variables.put("networkType", "modelName");
643                 return variables;
644
645         }
646
647         public String getCreateNetworkRequest2() {
648
649                 String request =
650                                 "{ \"requestDetails\": { " + '\n' +
651                                 "      \"modelInfo\": { " + '\n' +
652                                 "         \"modelType\": \"modelType\", " + '\n' +
653                                 "         \"modelId\": \"modelId\", " + '\n' +
654                                 "         \"modelNameVersionId\": \"modelNameVersionId\", " + '\n' +
655                                 "         \"modelName\": \"CONTRAIL_EXTERNAL\", " + '\n' +
656                                 "         \"modelVersion\": \"1\" " + '\n' +
657                                 "      }, " + '\n' +
658                                 "      \"cloudConfiguration\": { " + '\n' +
659                                 "          \"lcpCloudRegionId\": \"RDM2WAGPLCP\", " + '\n' +
660                                 "          \"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\" " + '\n' +
661                                 "      }, " + '\n' +
662                                 "      \"requestInfo\": { " + '\n' +
663                                 "          \"instanceName\": \"myOwn_Network\", " + '\n' +
664                                 "          \"source\": \"VID\", " + '\n' +
665                                 "          \"callbackUrl\": \"\", " + '\n' +
666                                 "          \"suppressRollback\": \"true\" ," + '\n' +
667                                 "          \"productFamilyId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\" " + '\n' +
668                                 "      }, " + '\n' +
669                                 "      \"requestParameters\": { " + '\n' +
670                                 "          \"backoutOnFailure\": true, " + '\n' +
671                                 "          \"serviceId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\", " + '\n' +
672                                 "          \"userParams\": [] " + '\n' +
673                                 "      }        " + '\n' +
674                             " } " + '\n' +
675                             "}";
676
677                 return request;
678
679         }
680
681         /* Active Scenario
682         private Map<String, String> setupVariablesActive() {
683                 Map<String, String> variables = new HashMap<String, String>();
684                 variables.put("mso-request-id", "testRequestId");
685                 variables.put("bpmnRequest", getCreateNetworkRequestActive());
686                 variables.put("requestId", "testRequestId");
687                 variables.put("isBaseVfModule", "true");
688                 variables.put("recipeTimeout", "0");
689                 variables.put("requestAction", "UPDATE");
690                 variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4");
691                 variables.put("vnfId", "");
692                 variables.put("vfModuleId", "");
693                 variables.put("volumeGroupId", "");
694                 variables.put("networkId", "49c86598-f766-46f8-84f8-8d1c1b10f9b4");
695                 variables.put("serviceType", "vMOG");
696                 variables.put("vfModuleType", "");
697                 variables.put("networkType", "modelName");
698                 return variables;
699
700         }
701
702         public String getCreateNetworkRequestActive() {
703
704                 String request =
705                                 "{ \"requestDetails\": { " + '\n' +
706                                 "      \"modelInfo\": { " + '\n' +
707                                 "         \"modelType\": \"modelType\", " + '\n' +
708                                 "         \"modelId\": \"modelId\", " + '\n' +
709                                 "         \"modelNameVersionId\": \"modelNameVersionId\", " + '\n' +
710                                 "         \"modelName\": \"CONTRAIL_EXTERNAL\", " + '\n' +
711                                 "         \"modelVersion\": \"1\" " + '\n' +
712                                 "      }, " + '\n' +
713                                 "      \"cloudConfiguration\": { " + '\n' +
714                                 "          \"lcpCloudRegionId\": \"RDM2WAGPLCP\", " + '\n' +
715                                 "          \"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\" " + '\n' +
716                                 "      }, " + '\n' +
717                                 "      \"requestInfo\": { " + '\n' +
718                                 "          \"instanceName\": \"MNS-25180-L-01-dmz_direct_net_2\", " + '\n' +
719                                 "          \"source\": \"VID\", " + '\n' +
720                                 "          \"callbackUrl\": \"\", " + '\n' +
721                                 "          \"suppressRollback\": \"true\" ," + '\n' +
722                                 "          \"productFamilyId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\" " + '\n' +
723                                 "      }, " + '\n' +
724                                 "      \"requestParameters\": { " + '\n' +
725                                 "          \"userParams\": [] " + '\n' +
726                                 "      }        " + '\n' +
727                             " } " + '\n' +
728                             "}";
729
730                 return request;
731
732         } */
733
734         // Missing Name Scenario
735         private Map<String, String> setupVariablesMissingNetworkId() {
736                 Map<String, String> variables = new HashMap<String, String>();
737                 variables.put("mso-request-id", "88f65519-9a38-4c4b-8445-9eb4a5a5af56");
738                 variables.put("bpmnRequest", getCreateNetworkRequestNetworkId());
739                 variables.put("requestId", "testRequestId");
740                 variables.put("isBaseVfModule", "true");
741                 variables.put("recipeTimeout", "0");
742                 variables.put("requestAction", "UPDATE");
743                 variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4");
744                 variables.put("vnfId", "");
745                 variables.put("vfModuleId", "");
746                 variables.put("volumeGroupId", "");
747                 //variables.put("networkId", "49c86598-f766-46f8-84f8-8d1c1b10f9b4"); // missing, ok
748                 variables.put("serviceType", "vMOG");
749                 variables.put("vfModuleType", "");
750                 variables.put("networkType", "modelName");
751
752                 return variables;
753
754         }
755
756         public String getCreateNetworkRequestNetworkId() {
757
758                 String request =
759                                 "{ \"requestDetails\": { " + '\n' +
760                                 "      \"modelInfo\": { " + '\n' +
761                                 "         \"modelType\": \"modelType\", " + '\n' +
762                                 "         \"modelId\": \"modelId\", " + '\n' +
763                                 "         \"modelNameVersionId\": \"modelNameVersionId\", " + '\n' +
764                                 "         \"modelName\": \"CONTRAIL_EXTERNAL\", " + '\n' +
765                                 "         \"modelVersion\": \"1\" " + '\n' +
766                                 "      }, " + '\n' +
767                                 "      \"cloudConfiguration\": { " + '\n' +
768                                 "          \"lcpCloudRegionId\": \"RDM2WAGPLCP\", " + '\n' +
769                                 "          \"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\" " + '\n' +
770                                 "      }, " + '\n' +
771                                 "      \"requestInfo\": { " + '\n' +
772                                 "          \"source\": \"VID\", " + '\n' +
773                                 "          \"callbackUrl\": \"\", " + '\n' +
774                                 "          \"suppressRollback\": \"true\" ," + '\n' +
775                                 "          \"productFamilyId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\" " + '\n' +
776                                 "      }, " + '\n' +
777                                 "      \"requestParameters\": { " + '\n' +
778                                 "          \"userParams\": [] " + '\n' +
779                                 "      }        " + '\n' +
780                             " } " + '\n' +
781                             "}";
782
783                         return request;
784
785         }
786
787         // SDNC Rollback Scenario
788         private Map<String, String> setupVariablesSDNCRollback() {
789                 Map<String, String> variables = new HashMap<String, String>();
790                 variables.put("mso-request-id", "testRequestId");
791                 variables.put("bpmnRequest", getCreateNetworkRequestSDNCRollback());
792                 variables.put("requestId", "testRequestId");
793                 variables.put("isBaseVfModule", "true");
794                 variables.put("recipeTimeout", "0");
795                 variables.put("requestAction", "UPDATE");
796                 variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4");
797                 variables.put("vnfId", "");
798                 variables.put("vfModuleId", "");
799                 variables.put("volumeGroupId", "");
800                 variables.put("networkId", "49c86598-f766-46f8-84f8-8d1c1b10f9b4");
801                 variables.put("serviceType", "vMOG");
802                 variables.put("vfModuleType", "");
803                 variables.put("networkType", "modelName");
804                 return variables;
805
806         }
807
808         public String getCreateNetworkRequestSDNCRollback() {
809
810                 String request =
811                                 "{ \"requestDetails\": { " + '\n' +
812                                 "      \"modelInfo\": { " + '\n' +
813                                 "         \"modelType\": \"modelType\", " + '\n' +
814                                 "         \"modelId\": \"modelId\", " + '\n' +
815                                 "         \"modelNameVersionId\": \"modelNameVersionId\", " + '\n' +
816                                 "         \"modelName\": \"CONTRAIL_EXTERNAL\", " + '\n' +
817                                 "         \"modelVersion\": \"1\" " + '\n' +
818                                 "      }, " + '\n' +
819                                 "      \"cloudConfiguration\": { " + '\n' +
820                                 "          \"lcpCloudRegionId\": \"RDM2WAGPLCP\", " + '\n' +
821                                 "          \"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\" " + '\n' +
822                                 "      }, " + '\n' +
823                                 "      \"requestInfo\": { " + '\n' +
824                                 "          \"instanceName\": \"MNS-25180-L-01-dmz_direct_net_3\", " + '\n' +
825                                 "          \"source\": \"VID\", " + '\n' +
826                                 "          \"callbackUrl\": \"\", " + '\n' +
827                                 "          \"suppressRollback\": \"true\" ," + '\n' +
828                                 "          \"productFamilyId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\" " + '\n' +
829                                 "      }, " + '\n' +
830                                 "      \"requestParameters\": { " + '\n' +
831                                 "          \"userParams\": [] " + '\n' +
832                                 "      }        " + '\n' +
833                             " } " + '\n' +
834                             "}";
835
836
837                 return request;
838         }
839
840 }