1710 Rebase - Second Attempt
[so.git] / bpmn / MSOInfrastructureBPMN / src / test / java / org / openecomp / mso / bpmn / infrastructure / UpdateNetworkInstanceTest.java
1 package org.openecomp.mso.bpmn.infrastructure;
2
3 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.*;
4 import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.MockUpdateRequestDB;
5 import static org.openecomp.mso.bpmn.mock.StubResponseNetworkAdapter.MockNetworkAdapterRestPut;
6 import static org.openecomp.mso.bpmn.mock.StubResponseSDNCAdapter.mockSDNCAdapterTopology;
7 import static org.openecomp.mso.bpmn.common.BPMNUtil.executeAsyncWorkflow;
8 import static org.openecomp.mso.bpmn.common.BPMNUtil.getVariable;
9 import static org.junit.Assert.assertEquals;
10
11 import java.util.HashMap;
12 import java.util.Map;
13
14 import org.camunda.bpm.engine.test.Deployment;
15 import org.junit.Assert;
16 import org.junit.Rule;
17 import org.junit.Test;
18
19 import org.openecomp.mso.bpmn.common.BPMNUtil;
20 import org.openecomp.mso.bpmn.common.WorkflowTest;
21 import org.openecomp.mso.bpmn.common.WorkflowTestTransformer;
22 import org.openecomp.mso.bpmn.common.SDNCAdapterCallbackRule;
23 import org.openecomp.mso.bpmn.mock.SDNCAdapterNetworkTopologyMockTransformer;
24
25 import com.github.tomakehurst.wiremock.extension.ResponseTransformer;
26
27 /**
28  * Unit test cases for DoUpdateNetworkInstance.bpmn
29  *
30  */
31 public class UpdateNetworkInstanceTest extends WorkflowTest {
32         @WorkflowTestTransformer
33         public static final ResponseTransformer sdncAdapterMockTransformer =
34                 new SDNCAdapterNetworkTopologyMockTransformer();
35
36         @Rule
37         public final SDNCAdapterCallbackRule sdncAdapterCallbackRule =
38                 new SDNCAdapterCallbackRule(processEngineRule);
39
40         /**
41          * End-to-End flow - Unit test for DoUpdateNetworkInstance.bpmn
42          *  - String input & String response
43          */
44
45         @Test
46         //@Ignore
47         @Deployment(resources = {"process/UpdateNetworkInstance.bpmn",
48                                                          "subprocess/DoUpdateNetworkInstance.bpmn",
49                                          "subprocess/FalloutHandler.bpmn",
50                                  "subprocess/CompleteMsoProcess.bpmn",
51                                  "subprocess/GenericGetService.bpmn",
52                                  "subprocess/SDNCAdapterV1.bpmn"})
53
54         public void shouldInvokeServiceUpdateNetworkInstance_SuccessVID1() throws Exception {
55
56                 System.out.println("----------------------------------------------------------");
57                 System.out.println("            Success1 - UpdateNetworkInstance flow Started!       ");
58                 System.out.println("----------------------------------------------------------");
59
60                 // setup simulators
61                 mockSDNCAdapterTopology("UpdateNetworkV2mock/sdncUpdateNetworkTopologySimResponse.xml", "SvcAction>changeassign");
62                 MockNetworkAdapterRestPut("UpdateNetworkV2/updateNetworkResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4");
63                 MockGetNetworkCloudRegion("CreateNetworkV2/cloudRegion25_AAIResponse_Success.xml", "RDM2WAGPLCP");
64                 MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "UpdateNetworkV2/updateNetwork_queryNetworkId_AAIResponse_Success.xml", "1");
65                 MockPutNetworkIdWithDepth("UpdateNetworkV2/updateNetwork_updateContrail_AAIResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4", "1");
66                 MockGetNetworkVpnBinding("UpdateNetworkV2/updateNetwork_queryVpnBinding_AAIResponse_Success.xml", "85f015d0-2e32-4c30-96d2-87a1a27f8017");
67                 MockGetNetworkVpnBinding("UpdateNetworkV2/updateNetwork_queryVpnBinding_AAIResponse_Success.xml", "c980a6ef-3b88-49f0-9751-dbad8608d0a6");
68                 MockGetNetworkPolicy("UpdateNetworkV2/updateNetwork_queryNetworkPolicy_AAIResponse_Success.xml", "cee6d136-e378-4678-a024-2cd15f0ee0cg");
69                 MockGetNetworkTableReference("UpdateNetworkV2/updateNetwork_queryNetworkTableRef1_AAIResponse_Success.xml", "refFQDN1");
70                 MockGetNetworkTableReference("UpdateNetworkV2/updateNetwork_queryNetworkTableRef2_AAIResponse_Success.xml", "refFQDN2");
71                 MockUpdateRequestDB("DBUpdateResponse.xml");
72                 //MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "UpdateNetworkV2/updateNetwork_queryInstance_Success.xml", "v8");
73                 MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "UpdateNetworkV2/updateNetwork_queryInstance_Success.xml");
74
75                 Map<String, String> variables = setupVariablesVID1();
76                 //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "UpdateNetworkInstance", variables);
77                 executeAsyncWorkflow(processEngineRule, "UpdateNetworkInstance", variables);
78                 System.out.println("----------------------------------------------------------");
79                 System.out.println("- got workflow response -");
80                 System.out.println("----------------------------------------------------------");
81                 //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID());
82
83             assertEquals("true", getVariable(processEngineRule, "UpdateNetworkInstance", "UPDNI_Success"));
84             Assert.assertNotNull("UPDNI_CompleteMsoProcessRequest - ", getVariable(processEngineRule, "UpdateNetworkInstance", "UPDNI_CompleteMsoProcessRequest"));
85
86                 String workflowResp = BPMNUtil.getVariable(processEngineRule, "UpdateNetworkInstance", "WorkflowResponse");
87                 Assert.assertNotNull(workflowResp);
88
89                 System.out.println("----------------------------------------------------------");
90                 System.out.println("     Success1 - UpdateNetworkInstance flow Completed      ");
91                 System.out.println("----------------------------------------------------------");
92
93         }
94
95         @Test
96         //@Ignore
97         @Deployment(resources = {"process/UpdateNetworkInstance.bpmn",
98                                          "subprocess/DoUpdateNetworkInstance.bpmn",
99                                          "subprocess/FalloutHandler.bpmn",
100                                  "subprocess/CompleteMsoProcess.bpmn",
101                                  "subprocess/GenericGetService.bpmn",
102                                  "subprocess/SDNCAdapterV1.bpmn"})
103
104         public void shouldInvokeServiceUpdateNetworkInstance_SuccessVIPER1() throws Exception {
105
106                 System.out.println("----------------------------------------------------------");
107                 System.out.println("            Success2 - UpdateNetworkInstance flow Started!      ");
108                 System.out.println("----------------------------------------------------------");
109
110                 // setup simulators
111                 mockSDNCAdapterTopology("UpdateNetworkV2mock/sdncUpdateNetworkTopologySimResponse.xml", "SvcAction>changeassign");
112                 MockNetworkAdapterRestPut("UpdateNetworkV2/updateNetworkResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4");
113                 MockGetNetworkCloudRegion("CreateNetworkV2/cloudRegion25_AAIResponse_Success.xml", "RDM2WAGPLCP");
114                 MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "UpdateNetworkV2/updateNetwork_queryNetworkId_AAIResponse_Success.xml", "1");
115                 MockPutNetworkIdWithDepth("UpdateNetworkV2/updateNetwork_updateContrail_AAIResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4", "1");
116                 MockGetNetworkVpnBinding("UpdateNetworkV2/updateNetwork_queryVpnBinding_AAIResponse_Success.xml", "85f015d0-2e32-4c30-96d2-87a1a27f8017");
117                 MockGetNetworkVpnBinding("UpdateNetworkV2/updateNetwork_queryVpnBinding_AAIResponse_Success.xml", "c980a6ef-3b88-49f0-9751-dbad8608d0a6");
118                 MockGetNetworkPolicy("UpdateNetworkV2/updateNetwork_queryNetworkPolicy_AAIResponse_Success.xml", "cee6d136-e378-4678-a024-2cd15f0ee0cg");
119                 MockGetNetworkTableReference("UpdateNetworkV2/updateNetwork_queryNetworkTableRef1_AAIResponse_Success.xml", "refFQDN1");
120                 MockGetNetworkTableReference("UpdateNetworkV2/updateNetwork_queryNetworkTableRef2_AAIResponse_Success.xml", "refFQDN2");
121                 MockUpdateRequestDB("DBUpdateResponse.xml");
122                 //MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "UpdateNetworkV2/updateNetwork_queryInstance_Success.xml", "v8");
123                 MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "UpdateNetworkV2/updateNetwork_queryInstance_Success.xml");
124
125                 Map<String, String> variables = setupVariablesVIPER1();
126                 //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "UpdateNetworkInstance", variables);
127                 executeAsyncWorkflow(processEngineRule, "UpdateNetworkInstance", variables);
128                 //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID());
129
130             assertEquals("true", getVariable(processEngineRule, "UpdateNetworkInstance", "UPDNI_Success"));
131             Assert.assertNotNull("UPDNI_CompleteMsoProcessRequest - ", getVariable(processEngineRule, "UpdateNetworkInstance", "UPDNI_CompleteMsoProcessRequest"));
132
133             String completeMsoProcessRequest =
134                         "<aetgt:MsoCompletionRequest xmlns:aetgt=\"http://org.openecomp/mso/workflow/schema/v1\""  + '\n'
135                   + "                            xmlns:ns=\"http://org.openecomp/mso/request/types/v1\""  + '\n'
136                   + "                            xmlns=\"http://org.openecomp/mso/infra/vnf-request/v1\">"  + '\n'
137                   + "   <request-info>"  + '\n'
138                   + "      <request-id>testRequestId</request-id>"  + '\n'
139                   + "      <action>UPDATE</action>"  + '\n'
140                   + "      <source>VID</source>"  + '\n'
141                   + "   </request-info>"  + '\n'
142                   + "   <aetgt:status-message>Network has been updated successfully.</aetgt:status-message>" + '\n'
143                   + "   <aetgt:mso-bpel-name>BPMN Network action: UPDATE</aetgt:mso-bpel-name>" + '\n'
144                   + "</aetgt:MsoCompletionRequest>";
145
146             Assert.assertEquals(completeMsoProcessRequest, getVariable(processEngineRule, "UpdateNetworkInstance", "UPDNI_CompleteMsoProcessRequest"));
147
148                 System.out.println("----------------------------------------------------------");
149                 System.out.println("     Success2 - UpdateNetworkInstance flow Completed     ");
150                 System.out.println("----------------------------------------------------------");
151
152         }
153
154
155         @Test
156         //@Ignore
157         @Deployment(resources = {"process/UpdateNetworkInstance.bpmn",
158                                          "subprocess/DoUpdateNetworkInstance.bpmn",
159                                          "subprocess/FalloutHandler.bpmn",
160                                  "subprocess/CompleteMsoProcess.bpmn",
161                                  "subprocess/GenericGetService.bpmn",
162                                  "subprocess/SDNCAdapterV1.bpmn"})
163
164         public void shouldInvokeServiceUpdateNetworkInstance_MissingNetworkId() throws Exception {
165
166                 System.out.println("--------------------------------------------------------------------");
167                 System.out.println("     Missing networkId - UpdateNetworkInstance flow Started!   ");
168                 System.out.println("--------------------------------------------------------------------");
169
170                 // setup simulators
171                 MockUpdateRequestDB("DBUpdateResponse.xml");
172                 //MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "UpdateNetworkV2/updateNetwork_queryInstance_Success.xml", "v8");
173                 MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "UpdateNetworkV2/updateNetwork_queryInstance_Success.xml");
174
175                 Map<String, String> variables = setupVariablesMissingNetworkId();
176                 //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "UpdateNetworkInstance", variables);
177                 executeAsyncWorkflow(processEngineRule, "UpdateNetworkInstance", variables);
178                 //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID());
179
180             assertEquals("false", getVariable(processEngineRule, "UpdateNetworkInstance", "UPDNI_Success"));
181             Assert.assertNotNull("UPDNI_FalloutHandlerRequest - ", getVariable(processEngineRule, "UpdateNetworkInstance", "UPDNI_FalloutHandlerRequest"));
182
183             String falloutHandlerActual = getVariable(processEngineRule, "UpdateNetworkInstance", "UPDNI_FalloutHandlerRequest");
184             String falloutHandlerExpected =
185 "<aetgt:FalloutHandlerRequest xmlns:aetgt=\"http://org.openecomp/mso/workflow/schema/v1\"" + "\n" +
186 "                                                                    xmlns:ns=\"http://org.openecomp/mso/request/types/v1\"" + "\n" +
187 "                                                                    xmlns:wfsch=\"http://org.openecomp/mso/workflow/schema/v1\">" + "\n" +
188 "                                          <request-info xmlns=\"http://org.openecomp/mso/infra/vnf-request/v1\">" + "\n" +
189 "                                             <request-id>88f65519-9a38-4c4b-8445-9eb4a5a5af56</request-id>" + "\n" +
190 "                                             <action>UPDATE</action>" + "\n" +
191 "                                             <source>VID</source>" + "\n" +
192 "                                          </request-info>" + "\n" +
193 "                                               <aetgt:WorkflowException xmlns:aetgt=\"http://org.openecomp/mso/workflow/schema/v1\">" + "\n" +
194 "                                                       <aetgt:ErrorMessage>Variable 'network-id' value/element is missing.</aetgt:ErrorMessage>" + "\n" +
195 "                                                       <aetgt:ErrorCode>7000</aetgt:ErrorCode>" + "\n" +
196 "                                               </aetgt:WorkflowException>" + "\n" +
197 "                                       </aetgt:FalloutHandlerRequest>";
198
199                 assertEquals("Response", falloutHandlerExpected, falloutHandlerActual);
200
201                 System.out.println("------------------------------------------------------------------");
202                 System.out.println("    Missing networkId - UpdateNetworkInstance flow Completed ");
203                 System.out.println("------------------------------------------------------------------");
204
205         }
206
207
208         @Test
209         //@Ignore
210         @Deployment(resources = {"process/UpdateNetworkInstance.bpmn",
211                                                  "subprocess/DoUpdateNetworkInstance.bpmn",
212                                                  "subprocess/DoUpdateNetworkInstanceRollback.bpmn",
213                                          "subprocess/FalloutHandler.bpmn",
214                                  "subprocess/CompleteMsoProcess.bpmn",
215                                  "subprocess/GenericGetService.bpmn",
216                                  "subprocess/SDNCAdapterV1.bpmn"})
217
218         public void shouldInvokeServiceUpdateNetworkInstance_Network_SDNC_Rollback() throws Exception {
219
220                 System.out.println("---------------------------------------------------------------");
221                 System.out.println("    Network and SDNC Rollback - UpdateNetworkInstance flow Started!       ");
222                 System.out.println("---------------------------------------------------------------");
223
224                 // setup simulators
225                 mockSDNCAdapterTopology("UpdateNetworkV2mock/sdncUpdateNetworkTopologySimResponse.xml", "SvcAction>changeassign");
226                 mockSDNCAdapterTopology("UpdateNetworkV2mock/sdncUpdateNetworkTopologySimResponse.xml", "SvcAction>rollback");
227                 MockNetworkAdapterRestPut("UpdateNetworkV2/updateNetworkResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4");
228                 MockGetNetworkCloudRegion("CreateNetworkV2/cloudRegion25_AAIResponse_Success.xml", "RDM2WAGPLCP");
229                 MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "UpdateNetworkV2/updateNetwork_queryNetworkId_AAIResponse_Success.xml", "1");
230                 MockGetNetworkVpnBinding("UpdateNetworkV2/updateNetwork_queryVpnBinding_AAIResponse_Success.xml", "85f015d0-2e32-4c30-96d2-87a1a27f8017");
231                 MockGetNetworkVpnBinding("UpdateNetworkV2/updateNetwork_queryVpnBinding_AAIResponse_Success.xml", "c980a6ef-3b88-49f0-9751-dbad8608d0a6");
232                 MockGetNetworkPolicy("UpdateNetworkV2/updateNetwork_queryNetworkPolicy_AAIResponse_Success.xml", "cee6d136-e378-4678-a024-2cd15f0ee0cg");
233                 MockGetNetworkTableReference("UpdateNetworkV2/updateNetwork_queryNetworkTableRef1_AAIResponse_Success.xml", "refFQDN1");
234                 MockGetNetworkTableReference("UpdateNetworkV2/updateNetwork_queryNetworkTableRef2_AAIResponse_Success.xml", "refFQDN2");
235                 MockUpdateRequestDB("DBUpdateResponse.xml");
236                 //MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "UpdateNetworkV2/updateNetwork_queryInstance_Success.xml", "v8");
237                 MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "UpdateNetworkV2/updateNetwork_queryInstance_Success.xml");
238
239                 Map<String, String> variables = setupVariablesVID1();
240                 //WorkflowResponse workflowResponse = executeAsyncWorkflow(processEngineRule, "UpdateNetworkInstance", variables);
241                 executeAsyncWorkflow(processEngineRule, "UpdateNetworkInstance", variables);
242                 //waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID());
243
244             assertEquals("false", getVariable(processEngineRule, "UpdateNetworkInstance", "UPDNI_Success"));
245             Assert.assertNotNull("UPDNI_FalloutHandlerRequest - ", getVariable(processEngineRule, "UpdateNetworkInstance", "UPDNI_FalloutHandlerRequest"));
246
247                 System.out.println("---------------------------------------------------------------------");
248                 System.out.println(" Network and SCNC Rollback - UpdateNetworkInstance flow Completed   ");
249                 System.out.println("---------------------------------------------------------------------");
250
251         }
252
253         // *****************
254         // Utility Section
255         // *****************
256
257         String networkModelInfo =
258                        "  {\"modelUuid\": \"mod-inst-uuid-123\", " + '\n' +
259             "   \"modelName\": \"mod_inst_z_123\", " + '\n' +
260                        "   \"modelVersion\": \"1.0\", " + '\n' +
261                        "   \"modelCustomizationUuid\": \"mod-inst-uuid-123\", " + '\n' +
262                        "   \"modelInvariantUuid\": \"mod-invar-uuid-123\" " + '\n' +
263                        "  }";
264
265         String serviceModelInfo =
266                        "  {\"modelUuid\": \"36a3a8ea-49a6-4ac8-b06c-89a54544b9b6\", " + '\n' +
267             "   \"modelName\": \"HNGW Protected OAM\", " + '\n' +
268                        "   \"modelVersion\": \"1.0\", " + '\n' +
269                        "   \"modelInvariantUuid\": \"fcc85cb0-ad74-45d7-a5a1-17c8744fdb71\" " + '\n' +
270                        "  }";
271
272         // Success Scenario
273         private Map<String, String> setupVariablesVID1() {
274                 Map<String, String> variables = new HashMap<String, String>();
275                 variables.put("bpmnRequest", getCreateNetworkRequest1());
276                 variables.put("mso-request-id", "testRequestId");
277                 variables.put("requestId", "testRequestId");
278                 variables.put("isBaseVfModule", "true");
279                 variables.put("recipeTimeout", "0");
280                 variables.put("requestAction", "UPDATE");
281                 variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4");
282                 variables.put("vnfId", "");
283                 variables.put("vfModuleId", "");
284                 variables.put("volumeGroupId", "");
285                 variables.put("networkId", "49c86598-f766-46f8-84f8-8d1c1b10f9b4");
286                 variables.put("serviceType", "vMOG");
287                 variables.put("vfModuleType", "");
288                 variables.put("networkType", "modelName");
289                 return variables;
290
291         }
292
293         public String getCreateNetworkRequest1() {
294
295                 String request =
296                                 "{ \"requestDetails\": { " + '\n' +
297                                 "      \"modelInfo\": { " + '\n' +
298                                 "         \"modelType\": \"modelType\", " + '\n' +
299                                 "         \"modelCustomizationId\": \"f21df226-8093-48c3-be7e-0408fcda0422\", " + '\n' +
300                                 "         \"modelName\": \"CONTRAIL_EXTERNAL\", " + '\n' +
301                                 "         \"modelVersion\": \"1.0\" " + '\n' +
302                                 "      }, " + '\n' +
303                                 "      \"cloudConfiguration\": { " + '\n' +
304                                 "          \"lcpCloudRegionId\": \"RDM2WAGPLCP\", " + '\n' +
305                                 "          \"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\" " + '\n' +
306                                 "      }, " + '\n' +
307                                 "      \"requestInfo\": { " + '\n' +
308                                 "          \"instanceName\": \"MNS-25180-L-01-dmz_direct_net_1\", " + '\n' +
309                                 "          \"source\": \"VID\", " + '\n' +
310                                 "          \"callbackUrl\": \"\", " + '\n' +
311                                 "          \"suppressRollback\": \"false\" ," + '\n' +
312                                 "          \"productFamilyId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\" " + '\n' +
313                                 "      }, " + '\n' +
314                                 "      \"requestParameters\": { " + '\n' +
315                                 "          \"backoutOnFailure\": true, " + '\n' +
316                                 "          \"serviceId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\", " + '\n' +
317                                 "          \"userParams\": [] " + '\n' +
318                                 "      }        " + '\n' +
319                             " } " + '\n' +
320                             "}";
321
322                 return request;
323         }
324
325         public String getCreateNetworkRequest2() {
326
327                 String request =
328                                 "{ \"requestDetails\": { " + '\n' +
329                                 "      \"modelInfo\": { " + '\n' +
330                                 "         \"modelType\": \"modelType\", " + '\n' +
331                                 "         \"modelId\": \"modelId\", " + '\n' +
332                                 "         \"modelNameVersionId\": \"modelNameVersionId\", " + '\n' +
333                                 "         \"modelName\": \"CONTRAIL_EXTERNAL\", " + '\n' +
334                                 "         \"modelVersion\": \"1\" " + '\n' +
335                                 "      }, " + '\n' +
336                                 "      \"cloudConfiguration\": { " + '\n' +
337                                 "          \"lcpCloudRegionId\": \"RDM2WAGPLCP\", " + '\n' +
338                                 "          \"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\" " + '\n' +
339                                 "      }, " + '\n' +
340                                 "      \"requestInfo\": { " + '\n' +
341                                 "          \"instanceName\": \"myOwn_Network\", " + '\n' +
342                                 "          \"source\": \"VID\", " + '\n' +
343                                 "          \"callbackUrl\": \"\", " + '\n' +
344                                 "          \"suppressRollback\": \"true\" ," + '\n' +
345                                 "          \"productFamilyId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\" " + '\n' +
346                                 "      }, " + '\n' +
347                                 "      \"requestParameters\": { " + '\n' +
348                                 "          \"backoutOnFailure\": true, " + '\n' +
349                                 "          \"serviceId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\", " + '\n' +
350                                 "          \"userParams\": [] " + '\n' +
351                                 "      }        " + '\n' +
352                             " } " + '\n' +
353                             "}";
354
355                 return request;
356
357         }
358
359         // Success Scenario
360         private Map<String, String> setupVariablesVIPER1() {
361                 Map<String, String> variables = new HashMap<String, String>();
362                 variables.put("testMessageId", "88f65519-9a38-4c4b-8445-9eb4a5a5af56");
363                 variables.put("msoRequestId", "testRequestId");
364                 variables.put("requestId", "testRequestId");
365                 variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4");
366                 variables.put("networkId", "49c86598-f766-46f8-84f8-8d1c1b10f9b4");
367                 variables.put("networkName", "MNS-25180-L-01-dmz_direct_net_1");
368                 variables.put("lcpCloudRegionId", "RDM2WAGPLCP");
369                 variables.put("tenantId", "88a6ca3ee0394ade9403f075db23167e");
370                 variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb");
371                 variables.put("disableRollback", "false"); // macro
372                 variables.put("failIfExists", "false");
373                 //variables.put("sdncVersion", "1702");
374                 variables.put("sdncVersion", "1707");
375                 variables.put("subscriptionServiceType", "MSO-dev-service-type");
376                 variables.put("globalSubscriberId", "globalId_45678905678");
377                 variables.put("networkModelInfo", networkModelInfo);
378                 variables.put("serviceModelInfo", serviceModelInfo);
379                 return variables;
380
381         }
382
383         // Missing Name Scenario
384         private Map<String, String> setupVariablesMissingNetworkId() {
385                 Map<String, String> variables = new HashMap<String, String>();
386                 variables.put("mso-request-id", "88f65519-9a38-4c4b-8445-9eb4a5a5af56");
387                 variables.put("bpmnRequest", getCreateNetworkRequestNetworkId());
388                 variables.put("requestId", "testRequestId");
389                 variables.put("isBaseVfModule", "true");
390                 variables.put("recipeTimeout", "0");
391                 variables.put("requestAction", "UPDATE");
392                 variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4");
393                 variables.put("vnfId", "");
394                 variables.put("vfModuleId", "");
395                 variables.put("volumeGroupId", "");
396                 //variables.put("networkId", "49c86598-f766-46f8-84f8-8d1c1b10f9b4"); // missing, ok
397                 variables.put("serviceType", "vMOG");
398                 variables.put("vfModuleType", "");
399                 variables.put("networkType", "modelName");
400
401                 return variables;
402
403         }
404
405         public String getCreateNetworkRequestNetworkId() {
406
407                 String request =
408                                 "{ \"requestDetails\": { " + '\n' +
409                                 "      \"modelInfo\": { " + '\n' +
410                                 "         \"modelType\": \"modelType\", " + '\n' +
411                                 "         \"modelId\": \"modelId\", " + '\n' +
412                                 "         \"modelNameVersionId\": \"modelNameVersionId\", " + '\n' +
413                                 "         \"modelName\": \"CONTRAIL_EXTERNAL\", " + '\n' +
414                                 "         \"modelVersion\": \"1\" " + '\n' +
415                                 "      }, " + '\n' +
416                                 "      \"cloudConfiguration\": { " + '\n' +
417                                 "          \"lcpCloudRegionId\": \"RDM2WAGPLCP\", " + '\n' +
418                                 "          \"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\" " + '\n' +
419                                 "      }, " + '\n' +
420                                 "      \"requestInfo\": { " + '\n' +
421                                 "          \"source\": \"VID\", " + '\n' +
422                                 "          \"callbackUrl\": \"\", " + '\n' +
423                                 "          \"suppressRollback\": \"true\" ," + '\n' +
424                                 "          \"productFamilyId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\" " + '\n' +
425                                 "      }, " + '\n' +
426                                 "      \"requestParameters\": { " + '\n' +
427                                 "          \"userParams\": [] " + '\n' +
428                                 "      }        " + '\n' +
429                             " } " + '\n' +
430                             "}";
431
432                         return request;
433
434         }
435
436         public String getCreateNetworkRequestSDNCRollback() {
437
438                 String request =
439                                 "{ \"requestDetails\": { " + '\n' +
440                                 "      \"modelInfo\": { " + '\n' +
441                                 "         \"modelType\": \"modelType\", " + '\n' +
442                                 "         \"modelId\": \"modelId\", " + '\n' +
443                                 "         \"modelNameVersionId\": \"modelNameVersionId\", " + '\n' +
444                                 "         \"modelName\": \"CONTRAIL_EXTERNAL\", " + '\n' +
445                                 "         \"modelVersion\": \"1\" " + '\n' +
446                                 "      }, " + '\n' +
447                                 "      \"cloudConfiguration\": { " + '\n' +
448                                 "          \"lcpCloudRegionId\": \"RDM2WAGPLCP\", " + '\n' +
449                                 "          \"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\" " + '\n' +
450                                 "      }, " + '\n' +
451                                 "      \"requestInfo\": { " + '\n' +
452                                 "          \"instanceName\": \"MNS-25180-L-01-dmz_direct_net_3\", " + '\n' +
453                                 "          \"source\": \"VID\", " + '\n' +
454                                 "          \"callbackUrl\": \"\", " + '\n' +
455                                 "          \"suppressRollback\": \"true\" ," + '\n' +
456                                 "          \"productFamilyId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\" " + '\n' +
457                                 "      }, " + '\n' +
458                                 "      \"requestParameters\": { " + '\n' +
459                                 "          \"userParams\": [] " + '\n' +
460                                 "      }        " + '\n' +
461                             " } " + '\n' +
462                             "}";
463
464
465                 return request;
466         }
467
468 }