a90cf12ecbaf1781a252be26a92597ff2a727f64
[so.git] /
1 /*- \r
2  * ============LICENSE_START======================================================= \r
3  * OPENECOMP - MSO \r
4  * ================================================================================ \r
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. \r
6  * ================================================================================ \r
7  * Licensed under the Apache License, Version 2.0 (the "License"); \r
8  * you may not use this file except in compliance with the License. \r
9  * You may obtain a copy of the License at \r
10  * \r
11  *      http://www.apache.org/licenses/LICENSE-2.0 \r
12  * \r
13  * Unless required by applicable law or agreed to in writing, software \r
14  * distributed under the License is distributed on an "AS IS" BASIS, \r
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. \r
16  * See the License for the specific language governing permissions and \r
17  * limitations under the License. \r
18  * ============LICENSE_END========================================================= \r
19  */ \r
20 \r
21 package org.openecomp.mso.bpmn.infrastructure.scripts;\r
22 \r
23 import static org.junit.Assert.*\r
24 import static org.mockito.Mockito.*\r
25 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetCloudRegion\r
26 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetNetwork\r
27 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPutNetwork\r
28 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetNetworkPolicy\r
29 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetNetworkRouteTable\r
30 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetNetworkVpnBinding\r
31 \r
32 import org.apache.commons.lang3.*\r
33 import org.camunda.bpm.engine.ProcessEngineServices\r
34 import org.camunda.bpm.engine.RepositoryService\r
35 import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity\r
36 import org.camunda.bpm.engine.repository.ProcessDefinition\r
37 import org.camunda.bpm.engine.runtime.Execution\r
38 import org.junit.Before\r
39 import org.junit.Ignore;\r
40 import org.junit.Rule\r
41 import org.junit.Test\r
42 import org.junit.runner.RunWith\r
43 import org.mockito.ArgumentCaptor\r
44 import org.mockito.MockitoAnnotations\r
45 import org.mockito.runners.MockitoJUnitRunner\r
46 import org.openecomp.mso.bpmn.common.scripts.MsoUtils\r
47 import org.openecomp.mso.bpmn.core.WorkflowException\r
48 \r
49 import com.github.tomakehurst.wiremock.client.WireMock\r
50 import com.github.tomakehurst.wiremock.junit.WireMockRule\r
51 \r
52 \r
53 @RunWith(MockitoJUnitRunner.class)\r
54 class UpdateNetworkInstanceInfraTest  {\r
55         \r
56         @Rule\r
57         public WireMockRule wireMockRule = new WireMockRule(28090);\r
58         \r
59                 def utils = new MsoUtils()\r
60 \r
61                 String jsonIncomingRequest =\r
62                 """{ "requestDetails": {\r
63               "modelInfo": {\r
64                         "modelType": "networkTyp",\r
65                         "modelId": "modelId",\r
66                         "modelNameVersionId": "modelNameVersionId",\r
67                         "modelName": "CONTRAIL_EXTERNAL",\r
68                         "modelVersion": "1"\r
69                   },\r
70                   "cloudConfiguration": {\r
71                         "lcpCloudRegionId": "RDM2WAGPLCP",\r
72                         "tenantId": "7dd5365547234ee8937416c65507d266"\r
73                   },\r
74                   "requestInfo": {\r
75                         "instanceName": "MNS-25180-L-01-dmz_direct_net_1",\r
76                         "source": "VID",\r
77                         "callbackUrl": "",\r
78             "suppressRollback": true,\r
79                 "productFamilyId": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"\r
80                   },\r
81                   "relatedInstanceList": [ \r
82                         {  \r
83                         "relatedInstance": {\r
84                                 "instanceId": "f70e927b-6087-4974-9ef8-c5e4d5847ca4",\r
85                                 "modelInfo": {   \r
86                                         "modelType": "serviceT",\r
87                                         "modelId": "modelI",\r
88                                         "modelNameVersionId": "modelNameVersionI",\r
89                                         "modelName": "modleNam",\r
90                                         "modelVersion": "1"\r
91                                 }\r
92                         }\r
93                 }\r
94                   ],\r
95                   "requestParameters": {\r
96                         "userParams": [ \r
97                {\r
98                                  "name": "someUserParam1",\r
99                                  "value": "someValue1"\r
100                            }\r
101             ]\r
102                   }\r
103   }}"""         \r
104         \r
105                   String jsonIncomingRequest_Missingname =\r
106                 """{ "requestDetails": {\r
107               "modelInfo": {\r
108                         "modelType": "networkTyp",\r
109                         "modelId": "modelId",\r
110                         "modelNameVersionId": "modelNameVersionId",\r
111                         "modelName": "CONTRAIL_EXTERNAL",\r
112                         "modelVersion": "1"\r
113                   },\r
114                   "cloudConfiguration": {\r
115                         "lcpCloudRegionId": "RDM2WAGPLCP",\r
116                         "tenantId": "7dd5365547234ee8937416c65507d266"\r
117                   },\r
118                   "requestInfo": {\r
119                         "source": "VID",\r
120                         "callbackUrl": "",\r
121             "suppressRollback": true,\r
122                 "productFamilyId": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"\r
123                   },\r
124                   "relatedInstanceList": [ \r
125                         {  \r
126                         "relatedInstance": {\r
127                                 "instanceId": "f70e927b-6087-4974-9ef8-c5e4d5847ca4",\r
128                                 "modelInfo": {   \r
129                                         "modelType": "serviceT",\r
130                                         "modelId": "modelI",\r
131                                         "modelNameVersionId": "modelNameVersionI",\r
132                                         "modelName": "modleNam",\r
133                                         "modelVersion": "1"\r
134                                 }\r
135                         }\r
136                 }\r
137                   ],\r
138                   "requestParameters": {\r
139                         "userParams": []\r
140                   }\r
141   }}"""         \r
142                   \r
143                   String jsonIncomingRequest_MissingCloudRegion =\r
144                 """{ "requestDetails": {\r
145               "modelInfo": {\r
146                         "modelType": "networkTyp",\r
147                         "modelId": "modelId",\r
148                         "modelNameVersionId": "modelNameVersionId",\r
149                         "modelName": "CONTRAIL_EXTERNAL",\r
150                         "modelVersion": "1"\r
151                   },\r
152                   "cloudConfiguration": {\r
153                         "tenantId": "7dd5365547234ee8937416c65507d266"\r
154                   },\r
155                   "requestInfo": {\r
156                         "instanceName": "MNS-25180-L-01-dmz_direct_net_1",\r
157                         "source": "VID",\r
158                         "callbackUrl": "",\r
159             "suppressRollback": true,\r
160                 "productFamilyId": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"\r
161                   },\r
162                   "relatedInstanceList": [ \r
163                         {  \r
164                         "relatedInstance": {\r
165                                 "instanceId": "f70e927b-6087-4974-9ef8-c5e4d5847ca4",\r
166                                 "modelInfo": {   \r
167                                         "modelType": "serviceT",\r
168                                         "modelId": "modelI",\r
169                                         "modelNameVersionId": "modelNameVersionI",\r
170                                         "modelName": "modleNam",\r
171                                         "modelVersion": "1"\r
172                                 }\r
173                         }\r
174                 }\r
175                   ],\r
176                   "requestParameters": {\r
177                         "userParams": []\r
178                   }\r
179   }}"""         \r
180                 \r
181                 \r
182 \r
183    String expectedNetworkRequestMissingNetworkId =\r
184    """<network-request xmlns="http://www.w3.org/2001/XMLSchema">  \r
185    <request-info>             \r
186       <request-id>88f65519-9a38-4c4b-8445-9eb4a5a5af56</request-id> \r
187       <action>UPDATE</action>  \r
188       <source>VID</source>  \r
189       <service-instance-id>f70e927b-6087-4974-9ef8-c5e4d5847ca4</service-instance-id> \r
190    </request-info>  \r
191    <network-inputs>  \r
192       <network-id/>  \r
193       <network-name>MNS-25180-L-01-dmz_direct_net_1</network-name>  \r
194       <network-type>CONTRAIL_EXTERNAL</network-type> \r
195       <aic-cloud-region>RDM2WAGPLCP</aic-cloud-region>  \r
196       <tenant-id>7dd5365547234ee8937416c65507d266</tenant-id> \r
197       <service-id>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</service-id>  \r
198       <backout-on-failure>true</backout-on-failure> \r
199    </network-inputs>  \r
200    <network-params>\r
201       <param name="some_user_param1">someValue1</param> \r
202    </network-params> \r
203 </network-request>\r
204 """\r
205 \r
206   \r
207 String expectedNetworkRequestMissingCloudRegion =\r
208 """<network-request xmlns="http://org.openecomp/mso/infra/vnf-request/v1">\r
209    <request-info>\r
210       <request-id>88f65519-9a38-4c4b-8445-9eb4a5a5af56</request-id>\r
211       <action>UPDATE</action>\r
212       <source>PORTAL</source>\r
213    </request-info>\r
214    <network-inputs>\r
215       <network-name>HSL_direct_net_2</network-name>\r
216       <network-type>CONTRAIL_EXTERNAL</network-type>\r
217       <service-id>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</service-id>\r
218       <aic-cloud-region/>\r
219       <tenant-id>e81d842d3e8b45c5a59f57cd76af3aaf</tenant-id>\r
220    </network-inputs>\r
221    <network-params>\r
222       <param name="shared">1</param>\r
223    </network-params>\r
224 </network-request>"""\r
225 \r
226                 // vnfRESTRequest\r
227                 String networkRESTRequest =\r
228 """<rest:RESTResponse xmlns:rest="http://schemas.activebpel.org/REST/2007/12/01/aeREST.xsd"\r
229                                         xmlns:vnfreq="http://org.openecomp/mso/infra/vnf-request/v1"\r
230                                         statusCode="200">\r
231         <rest:payload contentType="text/xml">\r
232            <vnfreq:network-request>\r
233                   <vnfreq:request-info>\r
234                          <vnfreq:request-id>1ef47428-cade-45bd-a103-0751e8b2deb0</vnfreq:request-id>\r
235                          <vnfreq:action>UPDATE</vnfreq:action>\r
236                          <vnfreq:source>PORTAL</vnfreq:source>\r
237                   </vnfreq:request-info>\r
238                   <vnfreq:network-inputs>\r
239                          <vnfreq:network-name>MNS-25180-L-01-dmz_direct_net_1</vnfreq:network-name>\r
240                          <vnfreq:network-type>CONTRAIL_EXTERNAL</vnfreq:network-type>\r
241                          <vnfreq:service-id>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</vnfreq:service-id>\r
242                          <vnfreq:aic-cloud-region>RDM2WAGPLCP</vnfreq:aic-cloud-region>\r
243                          <vnfreq:tenant-id>7dd5365547234ee8937416c65507d266</vnfreq:tenant-id>\r
244                          <vnfreq:physicalNetworkName>dvs-slcp3-01</vnfreq:physicalNetworkName>\r
245                          <vnfreq:vlans>3008</vnfreq:vlans>\r
246                   </vnfreq:network-inputs>\r
247                   <vnfreq:network-params>\r
248                          <param name="shared">1</param>\r
249                          <param name="external">0</param>\r
250                   </vnfreq:network-params>\r
251            </vnfreq:network-request>\r
252         </rest:payload>\r
253  </rest:RESTResponse>"""\r
254 \r
255         String networkInputsMissingName =\r
256  """<network-inputs xmlns="http://org.openecomp/mso/infra/vnf-request/v1">\r
257         <network-name/>\r
258         <network-type>CONTRAIL_EXTERNAL</network-type>\r
259         <service-id>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</service-id>\r
260         <aic-cloud-region>RDM2WAGPLCP</aic-cloud-region>\r
261         <tenant-id>e81d842d3e8b45c5a59f57cd76af3aaf</tenant-id>\r
262  </network-inputs>"""\r
263 \r
264 String networkInputsMissingCloudRegion =\r
265 """<network-inputs xmlns="http://org.openecomp/mso/infra/vnf-request/v1">\r
266    <network-name>HSL_direct_net_2</network-name>\r
267    <network-type>CONTRAIL_EXTERNAL</network-type>\r
268    <service-id>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</service-id>\r
269    <aic-cloud-region/>\r
270    <tenant-id>e81d842d3e8b45c5a59f57cd76af3aaf</tenant-id>\r
271 </network-inputs>"""\r
272    \r
273         String expectedUpdateNetworkInstanceInfraRequest =\r
274         """<rest:payload xmlns:rest="http://schemas.activebpel.org/REST/2007/12/01/aeREST.xsd"\r
275               xmlns:vnfreq="http://org.openecomp/mso/infra/vnf-request/v1"\r
276               contentType="text/xml">\r
277    <vnfreq:network-request>\r
278       <vnfreq:request-info>\r
279          <vnfreq:request-id>1ef47428-cade-45bd-a103-0751e8b2deb0</vnfreq:request-id>\r
280          <vnfreq:action>UPDATE</vnfreq:action>\r
281          <vnfreq:source>PORTAL</vnfreq:source>\r
282       </vnfreq:request-info>\r
283       <vnfreq:network-inputs>\r
284          <vnfreq:network-name>MNS-25180-L-01-dmz_direct_net_1</vnfreq:network-name>\r
285          <vnfreq:network-type>CONTRAIL_EXTERNAL</vnfreq:network-type>\r
286          <vnfreq:service-id>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</vnfreq:service-id>\r
287          <vnfreq:aic-cloud-region>RDM2WAGPLCP</vnfreq:aic-cloud-region>\r
288          <vnfreq:tenant-id>7dd5365547234ee8937416c65507d266</vnfreq:tenant-id>\r
289          <vnfreq:physicalNetworkName>dvs-slcp3-01</vnfreq:physicalNetworkName>\r
290          <vnfreq:vlans>3008</vnfreq:vlans>\r
291       </vnfreq:network-inputs>\r
292       <vnfreq:network-params>\r
293          <param name="shared">1</param>\r
294          <param name="external">0</param>\r
295       </vnfreq:network-params>\r
296    </vnfreq:network-request>\r
297 </rest:payload>"""\r
298   \r
299           String expectedUpdateNetworkInstanceInfraRequest_Output =\r
300   """<rest:payload xmlns:rest="http://schemas.activebpel.org/REST/2007/12/01/aeREST.xsd"\r
301               xmlns:vnfreq="http://org.openecomp/mso/infra/vnf-request/v1"\r
302               contentType="text/xml">\r
303    <vnfreq:network-request>\r
304       <vnfreq:request-info>\r
305          <vnfreq:request-id>1ef47428-cade-45bd-a103-0751e8b2deb0</vnfreq:request-id>\r
306          <vnfreq:action>UPDATE</vnfreq:action>\r
307          <vnfreq:source>PORTAL</vnfreq:source>\r
308       </vnfreq:request-info>\r
309       <vnfreq:network-inputs>\r
310          <vnfreq:network-name>MNS-25180-L-01-dmz_direct_net_1</vnfreq:network-name>\r
311          <vnfreq:network-type>CONTRAIL_EXTERNAL</vnfreq:network-type>\r
312          <vnfreq:service-id>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</vnfreq:service-id>\r
313          <vnfreq:aic-cloud-region>RDM2WAGPLCP</vnfreq:aic-cloud-region>\r
314          <vnfreq:tenant-id>7dd5365547234ee8937416c65507d266</vnfreq:tenant-id>\r
315       </vnfreq:network-inputs>\r
316       <vnfreq:network-outputs>\r
317          <vnfreq:network-name>MNS-25180-L-01-dmz_direct_net_1</vnfreq:network-name>\r
318          <vnfreq:network-id>bdc5efe8-404a-409b-85f6-0dcc9eebae30</vnfreq:network-id>\r
319       </vnfreq:network-outputs>\r
320       <vnfreq:network-params>\r
321          <param name="shared">1</param>\r
322          <param name="external">0</param>\r
323       </vnfreq:network-params>\r
324    </vnfreq:network-request>\r
325 </rest:payload>"""\r
326         \r
327           // expectedNetworkRequest\r
328           String expectedNetworkRequest =\r
329   """<network-request xmlns="http://www.w3.org/2001/XMLSchema">  \r
330    <request-info>  \r
331       <action>UPDATE</action>  \r
332       <source>VID</source>  \r
333       <service-instance-id>f70e927b-6087-4974-9ef8-c5e4d5847ca4</service-instance-id> \r
334    </request-info>  \r
335    <network-inputs>  \r
336       <network-id>49c86598-f766-46f8-84f8-8d1c1b10f9b4</network-id>  \r
337       <network-name>MNS-25180-L-01-dmz_direct_net_1</network-name>  \r
338       <network-type>CONTRAIL_EXTERNAL</network-type> \r
339       <aic-cloud-region>RDM2WAGPLCP</aic-cloud-region>  \r
340       <tenant-id>7dd5365547234ee8937416c65507d266</tenant-id> \r
341       <service-id>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</service-id>  \r
342       <backout-on-failure>true</backout-on-failure> \r
343    </network-inputs>\r
344    <network-params>\r
345       <param name="dhcp-enabled">true</param>\r
346       <param name="serviceId">a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</param>\r
347       <param name="cidr-mask">true</param>\r
348           <param name="backoutOnFailure">true</param>\r
349           <param name="gateway-address">10.10.125.1</param>\r
350    </network-params>   \r
351 </network-request>"""\r
352   \r
353 String expectedNetworkInputs =\r
354 """<network-inputs xmlns="http://www.w3.org/2001/XMLSchema">\r
355    <network-id/>\r
356    <network-name>MNS-25180-L-01-dmz_direct_net_1</network-name>\r
357    <network-type>CONTRAIL_EXTERNAL</network-type>\r
358    <aic-cloud-region>RDM2WAGPLCP</aic-cloud-region>\r
359    <tenant-id>7dd5365547234ee8937416c65507d266</tenant-id>\r
360    <service-id>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</service-id>\r
361    <backout-on-failure>true</backout-on-failure>\r
362 </network-inputs>"""\r
363 \r
364  \r
365   String NetworkRequest_noPhysicalName =\r
366   """<vnfreq:network-request xmlns:vnfreq="http://org.openecomp/mso/infra/vnf-request/v1">\r
367    <vnfreq:request-info>\r
368       <vnfreq:request-id>1ef47428-cade-45bd-a103-0751e8b2deb0</vnfreq:request-id>\r
369       <vnfreq:action>UPDATE</vnfreq:action>\r
370       <vnfreq:source>PORTAL</vnfreq:source>\r
371    </vnfreq:request-info>\r
372    <vnfreq:network-inputs>\r
373       <vnfreq:network-name>MNS-25180-L-01-dmz_direct_net_1</vnfreq:network-name>\r
374       <vnfreq:network-type>CONTRAIL_EXTERNAL</vnfreq:network-type>\r
375       <vnfreq:service-id>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</vnfreq:service-id>\r
376       <vnfreq:aic-cloud-region>RDM2WAGPLCP</vnfreq:aic-cloud-region>\r
377       <vnfreq:tenant-id>7dd5365547234ee8937416c65507d266</vnfreq:tenant-id>\r
378       <vnfreq:vlans>3008</vnfreq:vlans>\r
379    </vnfreq:network-inputs>\r
380    <vnfreq:network-params>\r
381    <network-params>\r
382       <param name="dhcp-enabled">true</param>\r
383       <param name="serviceId">a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</param>\r
384       <param name="cidr-mask">true</param>\r
385           <param name="backoutOnFailure">true</param>\r
386           <param name="gateway-address">10.10.125.1</param>\r
387    </network-params> \r
388    </vnfreq:network-params>\r
389 </vnfreq:network-request>"""\r
390   \r
391   String vnfRequestFakeRegion =\r
392   """<vnfreq:network-request xmlns:vnfreq="http://org.openecomp/mso/infra/vnf-request/v1">\r
393    <vnfreq:request-info>\r
394       <vnfreq:request-id>1ef47428-cade-45bd-a103-0751e8b2deb0</vnfreq:request-id>\r
395       <vnfreq:action>UPDATE</vnfreq:action>\r
396       <vnfreq:source>PORTAL</vnfreq:source>\r
397    </vnfreq:request-info>\r
398    <vnfreq:network-inputs>\r
399       <vnfreq:network-name>MNS-25180-L-01-dmz_direct_net_1</vnfreq:network-name>\r
400       <vnfreq:network-type>CONTRAIL_EXTERNAL</vnfreq:network-type>\r
401       <vnfreq:service-id>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</vnfreq:service-id>\r
402       <vnfreq:aic-cloud-region>MDTWNJ21</vnfreq:aic-cloud-region>\r
403       <vnfreq:tenant-id>7dd5365547234ee8937416c65507d266</vnfreq:tenant-id>\r
404    </vnfreq:network-inputs>\r
405    <vnfreq:network-params>\r
406       <param name="shared">1</param>\r
407       <param name="external">0</param>\r
408    </vnfreq:network-params>\r
409 </vnfreq:network-request>"""\r
410   \r
411   // expectedNetworkRequest\r
412           String expectedNetworkRequest_Outputs =\r
413   """<vnfreq:network-request xmlns:vnfreq="http://org.openecomp/mso/infra/vnf-request/v1">\r
414    <vnfreq:request-info>\r
415       <vnfreq:request-id>1ef47428-cade-45bd-a103-0751e8b2deb0</vnfreq:request-id>\r
416       <vnfreq:action>UPDATE</vnfreq:action>\r
417       <vnfreq:source>PORTAL</vnfreq:source>\r
418    </vnfreq:request-info>\r
419    <vnfreq:network-inputs>\r
420       <vnfreq:network-name>MNS-25180-L-01-dmz_direct_net_1</vnfreq:network-name>\r
421       <vnfreq:network-type>CONTRAIL_EXTERNAL</vnfreq:network-type>\r
422       <vnfreq:service-id>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</vnfreq:service-id>\r
423       <vnfreq:aic-cloud-region>RDM2WAGPLCP</vnfreq:aic-cloud-region>\r
424       <vnfreq:tenant-id>7dd5365547234ee8937416c65507d266</vnfreq:tenant-id>\r
425    </vnfreq:network-inputs>\r
426    <vnfreq:network-outputs>\r
427       <vnfreq:network-name>MNS-25180-L-01-dmz_direct_net_1</vnfreq:network-name>\r
428       <vnfreq:network-id>bdc5efe8-404a-409b-85f6-0dcc9eebae30</vnfreq:network-id>\r
429    </vnfreq:network-outputs>\r
430    <vnfreq:network-params>\r
431       <param name="shared">1</param>\r
432       <param name="external">0</param>\r
433    </vnfreq:network-params>\r
434 </vnfreq:network-request>"""\r
435   \r
436                   \r
437   // expectedNetworkRequest\r
438                   String networkInputs_404 =\r
439                   """<network-inputs  xmlns="http://org.openecomp/mso/infra/vnf-request/v1">\r
440                       <network-name>myOwn_Network</network-name>\r
441                       <network-type>CONTRAIL_EXTERNAL</network-type>\r
442                       <service-id>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</service-id>\r
443                       <aic-cloud-region>RDM2WAGPLCP</aic-cloud-region>\r
444                       <tenant-id>e81d842d3e8b45c5a59f57cd76af3aaf</tenant-id>\r
445                    </network-inputs>"""\r
446   \r
447   String networkInputs =\r
448   """<network-inputs xmlns="http://org.openecomp/mso/infra/vnf-request/v1">\r
449    <network-id>bdc5efe8-404a-409b-85f6-0dcc9eebae30</network-id>\r
450    <network-name>MNS-25180-L-01-dmz_direct_net_1</network-name>\r
451    <network-type>CONTRAIL_EXTERNAL</network-type>\r
452    <service-id>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</service-id>\r
453    <aic-cloud-region>RDM2WAGPLCP</aic-cloud-region>\r
454    <tenant-id>e81d842d3e8b45c5a59f57cd76af3aaf</tenant-id>\r
455 </network-inputs>"""\r
456   \r
457           String networkOutputs =\r
458         """<network-outputs>\r
459                    <network-id>49c86598-f766-46f8-84f8-8d1c1b10f9b4</network-id>                        \r
460                    <network-name>MNS-25180-L-01-dmz_direct_net_1</network-name>\r
461                  </network-outputs>"""\r
462 \r
463           String queryAAIResponse =\r
464                   """<rest:RESTResponse xmlns:rest="http://schemas.activebpel.org/REST/2007/12/01/aeREST.xsd"\r
465                    statusCode="200">\r
466    <rest:headers>\r
467       <rest:header name="Transfer-Encoding" value="chunked"/>\r
468       <rest:header name="Date" value="Thu,10 Mar 2016 00:01:18 GMT"/>\r
469       <rest:header name="Expires" value="Thu,01 Jan 1970 00:00:00 UTC"/>\r
470       <rest:header name="X-AAI-TXID" value="mtcnjv9aaas03-20160310-00:01:18:502-132671"/>\r
471       <rest:header name="Content-Type" value="application/xml"/>\r
472       <rest:header name="Server" value="Apache-Coyote/1.1"/>\r
473       <rest:header name="Cache-Control" value="private"/>\r
474    </rest:headers>\r
475    <rest:payload contentType="text/xml">\r
476       <l3-network xmlns="http://org.openecomp.aai.inventory/v3">\r
477          <network-id>bdc5efe8-404a-409b-85f6-0dcc9eebae30</network-id>\r
478          <network-name>HSL_direct_net_2</network-name>\r
479          <network-type>CONTRAIL_EXTERNAL</network-type>\r
480          <network-role>dmz_direct</network-role>\r
481          <network-technology>contrail</network-technology>\r
482          <service-id>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</service-id>\r
483          <network-role-instance>0</network-role-instance>\r
484          <orchestration-status>pending-delete</orchestration-status>\r
485          <subnets>\r
486             <subnet>\r
487                <subnet-id>57e9a1ff-d14f-4071-a828-b19ae98eb2fc</subnet-id>\r
488                <gateway-address>107.239.52.1</gateway-address>\r
489                <network-start-address>107.239.52.0</network-start-address>\r
490                <cidr-mask>24</cidr-mask>\r
491                <ip-version>4</ip-version>\r
492                <orchestration-status>pending-delete</orchestration-status>\r
493                <dhcp-enabled>true</dhcp-enabled>\r
494                <relationship-list/>\r
495             </subnet>\r
496          </subnets>\r
497          <relationship-list>\r
498             <relationship>\r
499                <related-to>vpn-binding</related-to>\r
500                <related-link>https://aai-app-e2e.test.com:8443/aai/v8/network/vpn-bindings/vpn-binding/85f015d0-2e32-4c30-96d2-87a1a27f8017/</related-link>\r
501                <relationship-data>\r
502                   <relationship-key>vpn-binding.vpn-id</relationship-key>\r
503                   <relationship-value>85f015d0-2e32-4c30-96d2-87a1a27f8017</relationship-value>\r
504                </relationship-data>\r
505             </relationship>\r
506             <relationship>\r
507                <related-to>vpn-binding</related-to>\r
508                <related-link>https://aai-app-e2e.test.com:8443/aai/v8/network/vpn-bindings/vpn-binding/c980a6ef-3b88-49f0-9751-dbad8608d0a6/</related-link>\r
509                <relationship-data>\r
510                   <relationship-key>vpn-binding.vpn-id</relationship-key>\r
511                   <relationship-value>c980a6ef-3b88-49f0-9751-dbad8608d0a6</relationship-value>\r
512                </relationship-data>\r
513             </relationship>\r
514             <relationship>\r
515                <related-to>tenant</related-to>\r
516                <related-link>https://aai-app-e2e.test.com:8443/aai/v8/cloud-infrastructure/tenants/tenant/7dd5365547234ee8937416c65507d266/</related-link>\r
517                <relationship-data>\r
518                   <relationship-key>tenant.tenant-id</relationship-key>\r
519                   <relationship-value>7dd5365547234ee8937416c65507d266</relationship-value>\r
520                </relationship-data>\r
521             </relationship>\r
522          </relationship-list>\r
523       </l3-network>\r
524    </rest:payload>\r
525 </rest:RESTResponse>"""\r
526   \r
527           String queryIdAIIResponse =\r
528           """<rest:RESTResponse xmlns:rest="http://schemas.activebpel.org/REST/2007/12/01/aeREST.xsd"\r
529                    statusCode="200">\r
530    <rest:headers>\r
531       <rest:header name="Transfer-Encoding" value="chunked"/>\r
532       <rest:header name="Date" value="Thu,10 Mar 2016 00:01:18 GMT"/>\r
533       <rest:header name="Expires" value="Thu,01 Jan 1970 00:00:00 UTC"/>\r
534       <rest:header name="X-AAI-TXID" value="mtcnjv9aaas03-20160310-00:01:18:502-132671"/>\r
535       <rest:header name="Content-Type" value="application/xml"/>\r
536       <rest:header name="Server" value="Apache-Coyote/1.1"/>\r
537       <rest:header name="Cache-Control" value="private"/>\r
538    </rest:headers>\r
539    <rest:payload contentType="text/xml">\r
540       <l3-network xmlns="http://org.openecomp.aai.inventory/v6">\r
541          <network-id>49c86598-f766-46f8-84f8-8d1c1b10f9b4</network-id>\r
542          <network-name>MNS-25180-L-01-dmz_direct_net_1</network-name>\r
543          <network-type>CONTRAIL_EXTERNAL</network-type>\r
544          <network-role>dmz_direct</network-role>\r
545          <network-technology>contrail</network-technology>\r
546          <service-id>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</service-id>\r
547          <network-role-instance>0</network-role-instance>\r
548                  <resource-version>l3-version</resource-version>\r
549          <orchestration-status>pending-delete</orchestration-status>\r
550              <heat-stack-id>ST_2Bindings_6006/55288ef0-595c-47d3-819e-cf93aaac6326</heat-stack-id>\r
551                  <physical-network-name>networkName</physical-network-name>\r
552              <is-provider-network>false</is-provider-network>\r
553                  <is-shared-network>true</is-shared-network>\r
554                  <is-external-network>false</is-external-network>\r
555          <subnets>\r
556             <subnet>\r
557                <subnet-id>57e9a1ff-d14f-4071-a828-b19ae98eb2fc</subnet-id>\r
558                <gateway-address>107.239.52.1</gateway-address>\r
559                <network-start-address>107.239.52.0</network-start-address>\r
560                <cidr-mask>24</cidr-mask>\r
561                <ip-version>4</ip-version>\r
562                <orchestration-status>pending-delete</orchestration-status>\r
563                <dhcp-enabled>true</dhcp-enabled>\r
564                            <subnet-name>subnetName</subnet-name>\r
565                <relationship-list/>\r
566             </subnet>\r
567             <subnet>\r
568                <subnet-id>57e9a1ff-d14f-4071-a828-b19ae98eb2fc</subnet-id>\r
569                <gateway-address>107.239.52.1</gateway-address>\r
570                <network-start-address>107.239.52.0</network-start-address>\r
571                <cidr-mask>24</cidr-mask>\r
572                <ip-version>4</ip-version>\r
573                <orchestration-status>pending-delete</orchestration-status>\r
574                <dhcp-enabled>true</dhcp-enabled>\r
575                            <subnet-name>subnetName</subnet-name>\r
576                <relationship-list/>\r
577             </subnet>\r
578          </subnets>\r
579                  <segmentation-assignments>\r
580                         <segmentation-id>414</segmentation-id>\r
581                         <resource-version>4132176</resource-version>\r
582                  </segmentation-assignments>    \r
583                  <segmentation-assignments>\r
584                         <segmentation-id>415</segmentation-id>\r
585                         <resource-version>4132176</resource-version>\r
586                  </segmentation-assignments>    \r
587                  <ctag-assignments>     \r
588                          <ctag-assignment>      \r
589                                  <vlan-id-inner>inner</vlan-id-inner>   \r
590                                  <resource-version>ctag-version</resource-version>        \r
591                      <relationship-list>\r
592                                         <relationship>\r
593                                            <related-to>tenant</related-to>\r
594                                            <related-link>https://aai-ext1.test.com:8443/aai/v8/cloud-infrastructure/tenants/tenant/897deadc2b954a6bac6d3c197fb3525e/</related-link>\r
595                                            <relationship-data>\r
596                                                   <relationship-key>tenant.tenant-id</relationship-key>\r
597                                                   <relationship-value>897deadc2b954a6bac6d3c197fb3525e</relationship-value>\r
598                                            </relationship-data>\r
599                                            <related-to-property>\r
600                                                   <property-key>tenant.tenant-name</property-key>\r
601                                                   <property-value>MSOTest1</property-value>\r
602                                            </related-to-property>\r
603                                         </relationship>\r
604                                         <relationship>\r
605                                            <related-to>vpn-binding</related-to>\r
606                                            <related-link>https://aai-ext1.test.com:8443/aai/v8/network/vpn-bindings/vpn-binding/a290b841-f672-44dd-b9cd-6f8c20d7d8c8/</related-link>\r
607                                            <relationship-data>\r
608                                                   <relationship-key>vpn-binding.vpn-id</relationship-key>\r
609                                                   <relationship-value>a290b841-f672-44dd-b9cd-6f8c20d7d8c8</relationship-value>\r
610                                            </relationship-data>\r
611                                            <related-to-property>\r
612                                                   <property-key>vpn-binding.vpn-name</property-key>\r
613                                                   <property-value>oam_protected_net_6_MTN5_msotest2</property-value>\r
614                                            </related-to-property>\r
615                                         </relationship>\r
616                                         <relationship>\r
617                                            <related-to>vpn-binding</related-to>\r
618                                            <related-link>https://aai-ext1.test.com:8443/aai/v8/network/vpn-bindings/vpn-binding/24a4b507-853a-4a38-99aa-05fcc54be24d/</related-link>\r
619                                            <relationship-data>\r
620                                                   <relationship-key>vpn-binding.vpn-id</relationship-key>\r
621                                                   <relationship-value>24a4b507-853a-4a38-99aa-05fcc54be24d</relationship-value>\r
622                                            </relationship-data>\r
623                                            <related-to-property>\r
624                                                   <property-key>vpn-binding.vpn-name</property-key>\r
625                                                   <property-value>oam_protected_net_6_MTN5_msotest1</property-value>\r
626                                            </related-to-property>\r
627                                         </relationship>\r
628                                  </relationship-list>  \r
629                                 </ctag-assignment>      \r
630                  </ctag-assignments>\r
631          <relationship-list>\r
632             <relationship>\r
633                <related-to>vpn-binding</related-to>\r
634                <related-link>https://aai-app-e2e.test.com:8443/aai/v8/network/vpn-bindings/vpn-binding/85f015d0-2e32-4c30-96d2-87a1a27f8017/</related-link>\r
635                <relationship-data>\r
636                   <relationship-key>vpn-binding.vpn-id</relationship-key>\r
637                   <relationship-value>85f015d0-2e32-4c30-96d2-87a1a27f8017</relationship-value>\r
638                </relationship-data>\r
639             </relationship>\r
640             <relationship>\r
641                <related-to>vpn-binding</related-to>\r
642                <related-link>https://aai-app-e2e.test.com:8443/aai/v8/network/vpn-bindings/vpn-binding/c980a6ef-3b88-49f0-9751-dbad8608d0a6/</related-link>\r
643                <relationship-data>\r
644                   <relationship-key>vpn-binding.vpn-id</relationship-key>\r
645                   <relationship-value>c980a6ef-3b88-49f0-9751-dbad8608d0a6</relationship-value>\r
646                </relationship-data>\r
647             </relationship>\r
648             <relationship>\r
649                <related-to>tenant</related-to>\r
650                <related-link>https://aai-app-e2e.test.com:8443/aai/v8/cloud-infrastructure/tenants/tenant/7dd5365547234ee8937416c65507d266/</related-link>\r
651                <relationship-data>\r
652                   <relationship-key>tenant.tenant-id</relationship-key>\r
653                   <relationship-value>7dd5365547234ee8937416c65507d266</relationship-value>\r
654                </relationship-data>\r
655             </relationship>\r
656                         <relationship>\r
657                           <related-to>network-policy</related-to>\r
658                           <related-link>https://aai-app-e2e.test.com:8443/aai/v8/network/network-policies/network-policy/cee6d136-e378-4678-a024-2cd15f0ee0cg</related-link>\r
659                           <relationship-data>\r
660                                   <relationship-key>network-policy.network-policy-id</relationship-key>\r
661                                   <relationship-value>cee6d136-e378-4678-a024-2cd15f0ee0cg</relationship-value>\r
662                           </relationship-data>\r
663                         </relationship>\r
664                         <relationship>\r
665                            <related-to>route-table-reference</related-to>\r
666                        <related-link>https://aai-app-e2e.test.com:8443/aai/v8/network/route-table-references/route-table-reference/refFQDN1</related-link>\r
667                            <relationship-data>\r
668                                   <relationship-key>route-table-reference.route-table-reference-id</relationship-key>\r
669                                   <relationship-value>cee6d136-e378-4678-a024-2cd15f0ee0hi</relationship-value>\r
670                            </relationship-data>\r
671                         </relationship>\r
672                         <relationship>\r
673                            <related-to>route-table-reference</related-to>\r
674                        <related-link>https://aai-app-e2e.test.com:8443/aai/v8/network/route-table-references/route-table-reference/refFQDN2</related-link>\r
675                            <relationship-data>\r
676                                   <relationship-key>route-table-reference.route-table-reference-id</relationship-key>\r
677                                   <relationship-value>cee6d136-e378-4678-a024-2cd15f0ee0hi</relationship-value>\r
678                            </relationship-data>\r
679                         </relationship>\r
680          </relationship-list>\r
681       </l3-network>\r
682    </rest:payload>\r
683 </rest:RESTResponse>"""\r
684   \r
685           String queryIdAIIResponseTestScenario01 =\r
686   """<?xml version="1.0" encoding="UTF-8"?>\r
687 <l3-network xmlns="http://org.openecomp.aai.inventory/v7">\r
688         <network-id>4da55fe4-7a9e-478c-a434-8a98d62265ab</network-id>\r
689         <network-name>GN_EVPN_direct_net_0_ST1</network-name>\r
690         <network-type>CONTRAIL30_BASIC</network-type>\r
691         <network-role>GN_EVPN_direct</network-role>\r
692         <network-technology>contrail</network-technology>\r
693         <is-bound-to-vpn>false</is-bound-to-vpn>\r
694         <service-id>9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</service-id>\r
695         <network-role-instance>0</network-role-instance>\r
696         <resource-version>1465398611</resource-version>\r
697         <orchestration-status>pending-delete</orchestration-status>\r
698         <physical-network-name>networkName</physical-network-name>\r
699         <is-provider-network>false</is-provider-network>\r
700         <is-shared-network>true</is-shared-network>\r
701         <is-external-network>false</is-external-network>\r
702         <subnets>\r
703                 <subnet>\r
704                         <subnet-id>cb1a7b47-5428-44c9-89c2-8b17541c3228</subnet-id>\r
705                         <gateway-address>108.239.40.1</gateway-address>\r
706                         <network-start-address>108.239.40.0</network-start-address>\r
707                         <cidr-mask>28</cidr-mask>\r
708                         <ip-version>4</ip-version>\r
709                         <orchestration-status>pending-delete</orchestration-status>\r
710                         <dhcp-enabled>true</dhcp-enabled>\r
711                         <dhcp-start>108.239.40.0</dhcp-start>\r
712                         <dhcp-end>108.239.40.0</dhcp-end>\r
713                         <resource-version>1465398611</resource-version>\r
714                     <subnet-name>subnetName</subnet-name>\r
715                         <relationship-list />\r
716                 </subnet>\r
717                 <subnet>\r
718                         <subnet-id>e2cc7c14-90f0-4205-840d-b4e07f04e621</subnet-id>\r
719                         <gateway-address>2606:ae00:2e01:604::1</gateway-address>\r
720                         <network-start-address>2606:ae00:2e01:604::</network-start-address>\r
721                         <cidr-mask>64</cidr-mask>\r
722                         <ip-version>6</ip-version>\r
723                         <orchestration-status>pending-delete</orchestration-status>\r
724                         <dhcp-enabled>true</dhcp-enabled>\r
725                         <dhcp-start>2606:ae00:2e01:604::</dhcp-start>\r
726                         <dhcp-end>2606:ae00:2e01:604::</dhcp-end>\r
727                         <resource-version>1465398611</resource-version>\r
728                         <subnet-name>subnetName</subnet-name>\r
729                         <relationship-list />\r
730                 </subnet>\r
731         </subnets>\r
732         <ctag-assignments />\r
733         <segmentation-assignments>\r
734                 <segmentation-id>416</segmentation-id>\r
735                 <resource-version>4132176</resource-version>\r
736         </segmentation-assignments>\r
737         <relationship-list>\r
738                 <relationship>\r
739                         <related-to>cloud-region</related-to>\r
740                         <related-link>https://mtanjv9aaas03.aic.cip.com:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/\r
741                         </related-link>\r
742                         <relationship-data>\r
743                                 <relationship-key>cloud-region.cloud-region-id</relationship-key>\r
744                                 <relationship-value>AAIAIC25</relationship-value>\r
745                         </relationship-data>\r
746                         <relationship-data>\r
747                                 <relationship-key>cloud-region.cloud-owner</relationship-key>\r
748                                 <relationship-value>att-aic</relationship-value>\r
749                         </relationship-data>\r
750                         <related-to-property>\r
751                                 <property-key>cloud-region.owner-defined-type</property-key>\r
752                                 <property-value></property-value>\r
753                         </related-to-property>\r
754                 </relationship>\r
755                 <relationship>\r
756                         <related-to>tenant</related-to>\r
757                         <related-link>https://mtanjv9aaas03.aic.cip.com:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/tenants/tenant/4ae1d3446a4c48b2bec44b6cfba06d68/</related-link>\r
758                         <relationship-data>\r
759                                 <relationship-key>tenant.tenant-id</relationship-key>\r
760                                 <relationship-value>4ae1d3446a4c48b2bec44b6cfba06d68\r
761                                 </relationship-value>\r
762                         </relationship-data>\r
763                         <relationship-data>\r
764                                 <relationship-key>cloud-region.cloud-owner</relationship-key>\r
765                                 <relationship-value>att-aic</relationship-value>\r
766                         </relationship-data>\r
767                         <relationship-data>\r
768                                 <relationship-key>cloud-region.cloud-region-id</relationship-key>\r
769                                 <relationship-value>AAIAIC25</relationship-value>\r
770                         </relationship-data>\r
771                         <related-to-property>\r
772                                 <property-key>tenant.tenant-name</property-key>\r
773                                 <property-value>Ruchira Contrail 3.0 test</property-value>\r
774                         </related-to-property>\r
775                 </relationship>\r
776                 <relationship>\r
777                         <related-to>vpn-binding</related-to>\r
778                         <related-link>https://mtanjv9aaas03.aic.cip.com:8443/aai/v8/network/vpn-bindings/vpn-binding/85f015d0-2e32-4c30-96d2-87a1a27f8017/</related-link>\r
779                         <relationship-data>\r
780                                 <relationship-key>vpn-binding.vpn-id</relationship-key>\r
781                                 <relationship-value>9a7b327d9-287aa00-82c4b0-100001</relationship-value>\r
782                         </relationship-data>\r
783                         <related-to-property>\r
784                                 <property-key>vpn-binding.vpn-name</property-key>\r
785                                 <property-value>GN_EVPN_direct_net_0_ST1</property-value>\r
786                         </related-to-property>\r
787                 </relationship>\r
788                 <relationship>\r
789                    <related-to>route-table-reference</related-to>\r
790                    <relationship-data>\r
791                           <relationship-key>route-table-reference.route-table-reference-id</relationship-key>\r
792                           <relationship-value>cee6d136-e378-4678-a024-2cd15f0ee0hi</relationship-value>\r
793                    </relationship-data>\r
794                 </relationship>\r
795         </relationship-list>\r
796 </l3-network>"""        \r
797   \r
798   String queryIdAIIResponseVpnNotPresent =\r
799   """<rest:RESTResponse xmlns:rest="http://schemas.activebpel.org/REST/2007/12/01/aeREST.xsd"\r
800                    statusCode="200">\r
801    <rest:headers>\r
802       <rest:header name="Transfer-Encoding" value="chunked"/>\r
803       <rest:header name="Date" value="Thu,10 Mar 2016 00:01:18 GMT"/>\r
804       <rest:header name="Expires" value="Thu,01 Jan 1970 00:00:00 UTC"/>\r
805       <rest:header name="X-AAI-TXID" value="mtcnjv9aaas03-20160310-00:01:18:502-132671"/>\r
806       <rest:header name="Content-Type" value="application/xml"/>\r
807       <rest:header name="Server" value="Apache-Coyote/1.1"/>\r
808       <rest:header name="Cache-Control" value="private"/>\r
809    </rest:headers>\r
810    <rest:payload contentType="text/xml">\r
811       <l3-network xmlns="http://org.openecomp.aai.inventory/v6">\r
812          <network-id>49c86598-f766-46f8-84f8-8d1c1b10f9b4</network-id>\r
813          <network-name>MNS-25180-L-01-dmz_direct_net_1</network-name>\r
814          <network-type>CONTRAIL_EXTERNAL</network-type>\r
815          <network-role>dmz_direct</network-role>\r
816          <network-technology>contrail</network-technology>\r
817          <service-id>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</service-id>\r
818          <network-role-instance>0</network-role-instance>\r
819          <orchestration-status>pending-delete</orchestration-status>\r
820                  <physical-network-name>networkName</physical-network-name>\r
821              <is-provider-network>false</is-provider-network>\r
822                  <is-shared-network>true</is-shared-network>\r
823                  <is-external-network>false</is-external-network>\r
824          <subnets>\r
825             <subnet>\r
826                <subnet-id>57e9a1ff-d14f-4071-a828-b19ae98eb2fc</subnet-id>\r
827                <gateway-address>107.239.52.1</gateway-address>\r
828                <network-start-address>107.239.52.0</network-start-address>\r
829                <cidr-mask>24</cidr-mask>\r
830                <ip-version>4</ip-version>\r
831                <orchestration-status>pending-delete</orchestration-status>\r
832                <dhcp-enabled>true</dhcp-enabled>\r
833                            <subnet-name>subnetName</subnet-name>\r
834                <relationship-list/>\r
835             </subnet>\r
836          </subnets>\r
837          <relationship-list/>\r
838       </l3-network>\r
839    </rest:payload>\r
840 </rest:RESTResponse>"""\r
841   \r
842           String queryNameAIIResponse =\r
843                   """<rest:RESTResponse xmlns:rest="http://schemas.activebpel.org/REST/2007/12/01/aeREST.xsd"\r
844                                    statusCode="200">\r
845                    <rest:headers>\r
846                       <rest:header name="Transfer-Encoding" value="chunked"/>\r
847                       <rest:header name="Date" value="Thu,10 Mar 2016 00:01:18 GMT"/>\r
848                       <rest:header name="Expires" value="Thu,01 Jan 1970 00:00:00 UTC"/>\r
849                       <rest:header name="X-AAI-TXID" value="mtcnjv9aaas03-20160310-00:01:18:502-132671"/>\r
850                       <rest:header name="Content-Type" value="application/xml"/>\r
851                       <rest:header name="Server" value="Apache-Coyote/1.1"/>\r
852                       <rest:header name="Cache-Control" value="private"/>\r
853                    </rest:headers>\r
854                    <rest:payload contentType="text/xml">\r
855                       <l3-network xmlns="http://org.openecomp.aai.inventory/v6">\r
856                          <network-id>49c86598-f766-46f8-84f8-8d1c1b10f9b4</network-id>\r
857                          <network-name>MNS-25180-L-01-dmz_direct_net_1</network-name>\r
858                          <network-type>CONTRAIL_EXTERNAL</network-type>\r
859                          <network-role>dmz_direct</network-role>\r
860                          <network-technology>contrail</network-technology>\r
861                          <service-id>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</service-id>\r
862                          <network-role-instance>0</network-role-instance>\r
863                          <orchestration-status>pending-delete</orchestration-status>\r
864                          <subnets>\r
865                             <subnet>\r
866                                <subnet-id>57e9a1ff-d14f-4071-a828-b19ae98eb2fc</subnet-id>\r
867                                <gateway-address>107.239.52.1</gateway-address>\r
868                                <network-start-address>107.239.52.0</network-start-address>\r
869                                <cidr-mask>24</cidr-mask>\r
870                                <ip-version>4</ip-version>\r
871                                <orchestration-status>pending-delete</orchestration-status>\r
872                                <dhcp-enabled>true</dhcp-enabled>\r
873                                <relationship-list/>\r
874                             </subnet>\r
875                          </subnets>\r
876                          <relationship-list>\r
877                             <relationship>\r
878                                <related-to>vpn-binding</related-to>\r
879                                <related-link>https://aai-app-e2e.test.com:8443/aai/v8/network/vpn-bindings/vpn-binding/85f015d0-2e32-4c30-96d2-87a1a27f8017/</related-link>\r
880                                <relationship-data>\r
881                                   <relationship-key>vpn-binding.vpn-id</relationship-key>\r
882                                   <relationship-value>85f015d0-2e32-4c30-96d2-87a1a27f8017</relationship-value>\r
883                                </relationship-data>\r
884                             </relationship>\r
885                             <relationship>\r
886                                <related-to>vpn-binding</related-to>\r
887                                <related-link>https://aai-app-e2e.test.com:8443/aai/v8/network/vpn-bindings/vpn-binding/c980a6ef-3b88-49f0-9751-dbad8608d0a6/</related-link>\r
888                                <relationship-data>\r
889                                   <relationship-key>vpn-binding.vpn-id</relationship-key>\r
890                                   <relationship-value>c980a6ef-3b88-49f0-9751-dbad8608d0a6</relationship-value>\r
891                                </relationship-data>\r
892                             </relationship>\r
893                             <relationship>\r
894                                <related-to>tenant</related-to>\r
895                                <related-link>https://aai-app-e2e.test.com:8443/aai/v8/cloud-infrastructure/tenants/tenant/7dd5365547234ee8937416c65507d266/</related-link>\r
896                                <relationship-data>\r
897                                   <relationship-key>tenant.tenant-id</relationship-key>\r
898                                   <relationship-value>7dd5365547234ee8937416c65507d266</relationship-value>\r
899                                </relationship-data>\r
900                             </relationship>\r
901                          </relationship-list>\r
902                       </l3-network>\r
903                    </rest:payload>\r
904                 </rest:RESTResponse>"""\r
905   \r
906                   String queryNameAIIResponseVpnNotPresent =\r
907                   """<rest:RESTResponse xmlns:rest="http://schemas.activebpel.org/REST/2007/12/01/aeREST.xsd"\r
908                                    statusCode="200">\r
909                    <rest:headers>\r
910                       <rest:header name="Transfer-Encoding" value="chunked"/>\r
911                       <rest:header name="Date" value="Thu,10 Mar 2016 00:01:18 GMT"/>\r
912                       <rest:header name="Expires" value="Thu,01 Jan 1970 00:00:00 UTC"/>\r
913                       <rest:header name="X-AAI-TXID" value="mtcnjv9aaas03-20160310-00:01:18:502-132671"/>\r
914                       <rest:header name="Content-Type" value="application/xml"/>\r
915                       <rest:header name="Server" value="Apache-Coyote/1.1"/>\r
916                       <rest:header name="Cache-Control" value="private"/>\r
917                    </rest:headers>\r
918                    <rest:payload contentType="text/xml">\r
919                       <l3-network xmlns="http://org.openecomp.aai.inventory/v6>\r
920                          <network-id>49c86598-f766-46f8-84f8-8d1c1b10f9b4</network-id>\r
921                          <network-name>MNS-25180-L-01-dmz_direct_net_1</network-name>\r
922                          <network-type>CONTRAIL_EXTERNAL</network-type>\r
923                          <network-role>dmz_direct</network-role>\r
924                          <network-technology>contrail</network-technology>\r
925                          <service-id>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</service-id>\r
926                          <network-role-instance>0</network-role-instance>\r
927                          <orchestration-status>pending-delete</orchestration-status>\r
928                          <subnets>\r
929                             <subnet>\r
930                                <subnet-id>57e9a1ff-d14f-4071-a828-b19ae98eb2fc</subnet-id>\r
931                                <gateway-address>107.239.52.1</gateway-address>\r
932                                <network-start-address>107.239.52.0</network-start-address>\r
933                                <cidr-mask>24</cidr-mask>\r
934                                <ip-version>4</ip-version>\r
935                                <orchestration-status>pending-delete</orchestration-status>\r
936                                <dhcp-enabled>true</dhcp-enabled>\r
937                                <relationship-list/>\r
938                             </subnet>\r
939                          </subnets>\r
940                       </l3-network>\r
941                    </rest:payload>\r
942                 </rest:RESTResponse>"""\r
943                   \r
944           String aaiVpnResponseStub =\r
945   """<rest:payload xmlns:rest="http://schemas.activebpel.org/REST/2007/12/01/aeREST.xsd"\r
946               xmlns="http://org.openecomp.aai.inventory/v8"\r
947               contentType="text/xml">\r
948    <vpn-binding>\r
949       <global-route-target/>\r
950    </vpn-binding>\r
951 </rest:payload>"""      \r
952                   \r
953           String queryVpnBindingAAIResponse =\r
954            """<rest:RESTResponse xmlns:rest="http://schemas.activebpel.org/REST/2007/12/01/aeREST.xsd"\r
955                    statusCode="200">\r
956    <rest:headers>\r
957       <rest:header name="Transfer-Encoding" value="chunked"/>\r
958       <rest:header name="Date" value="Mon,14 Mar 2016 20:53:33 GMT"/>\r
959       <rest:header name="Expires" value="Thu,01 Jan 1970 00:00:00 UTC"/>\r
960       <rest:header name="X-AAI-TXID"\r
961                    value="mtcnjv9aaas01.mtcnj.aic.cip.com-20160314-20:53:33:487-134392"/>\r
962       <rest:header name="Content-Type" value="application/xml"/>\r
963       <rest:header name="Server" value="Apache-Coyote/1.1"/>\r
964       <rest:header name="Cache-Control" value="private"/>\r
965    </rest:headers>\r
966    <rest:payload contentType="text/xml">\r
967       <vpn-binding xmlns="http://org.openecomp.aai.inventory/v6">\r
968          <vpn-id>9a7b327d9-287aa00-82c4b0-105757</vpn-id>\r
969          <vpn-name>GN_EVPN_Test</vpn-name>\r
970          <global-route-target>13979:105757</global-route-target>\r
971          <relationship-list>\r
972             <relationship>\r
973                <related-to>l3-network</related-to>\r
974                <related-link>https://aai-app-e2e.test.com:8443/aai/v3/network/l3-networks/l3-network/689ec39e-c5fc-4462-8db2-4f760763ad28/</related-link>\r
975                <relationship-data>\r
976                   <relationship-key>l3-network.network-id</relationship-key>\r
977                   <relationship-value>689ec39e-c5fc-4462-8db2-4f760763ad28</relationship-value>\r
978                </relationship-data>\r
979             </relationship>\r
980             <relationship>\r
981                <related-to>l3-network</related-to>\r
982                <related-link>https://aai-app-e2e.test.com:8443/aai/v3/network/l3-networks/l3-network/1a49396b-19b3-40a4-8792-aa2fbd0f0704/</related-link>\r
983                <relationship-data>\r
984                   <relationship-key>l3-network.network-id</relationship-key>\r
985                   <relationship-value>1a49396b-19b3-40a4-8792-aa2fbd0f0704</relationship-value>\r
986                </relationship-data>\r
987             </relationship>\r
988             <relationship>\r
989                <related-to>l3-network</related-to>\r
990                <related-link>https://aai-app-e2e.test.com:8443/aai/v3/network/l3-networks/l3-network/774f3329-3c83-4771-86c7-9e6207cd50fd/</related-link>\r
991                <relationship-data>\r
992                   <relationship-key>l3-network.network-id</relationship-key>\r
993                   <relationship-value>774f3329-3c83-4771-86c7-9e6207cd50fd</relationship-value>\r
994                </relationship-data>\r
995             </relationship>\r
996          </relationship-list>\r
997       </vpn-binding>\r
998    </rest:payload>\r
999 </rest:RESTResponse>"""\r
1000   \r
1001            String updateDBRequest_Active =\r
1002            """<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"\r
1003                   xmlns:ns="http://org.openecomp.mso/requestsdb">\r
1004    <soapenv:Header/>\r
1005    <soapenv:Body>\r
1006       <ns:updateInfraRequest>\r
1007          <requestId>88f65519-9a38-4c4b-8445-9eb4a5a5af56</requestId>\r
1008          <lastModifiedBy>BPMN</lastModifiedBy>\r
1009          <statusMessage>Network MNS-25180-L-01-dmz_direct_net_1 already exists. Silent success.</statusMessage>\r
1010          <responseBody/>\r
1011          <requestStatus>COMPLETED</requestStatus>\r
1012          <progress>100</progress>\r
1013          <vnfOutputs>&lt;network-id&gt;49c86598-f766-46f8-84f8-8d1c1b10f9b4&lt;/network-id&gt;&lt;network-name&gt;MNS-25180-L-01-dmz_direct_net_1&lt;/network-names&gt;</vnfOutputs>\r
1014          <networkId>49c86598-f766-46f8-84f8-8d1c1b10f9b4</networkId>\r
1015       </ns:updateInfraRequest>\r
1016    </soapenv:Body>\r
1017 </soapenv:Envelope>"""\r
1018   \r
1019           String updateDBRequest =\r
1020            """<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"\r
1021                   xmlns:ns="http://org.openecomp.mso/requestsdb">\r
1022    <soapenv:Header/>\r
1023    <soapenv:Body>\r
1024       <ns:updateInfraRequest>\r
1025          <requestId>88f65519-9a38-4c4b-8445-9eb4a5a5af56</requestId>\r
1026          <lastModifiedBy>BPMN</lastModifiedBy>\r
1027          <statusMessage>Network successfully updated.</statusMessage>\r
1028          <responseBody/>\r
1029          <requestStatus>COMPLETED</requestStatus>\r
1030          <progress>100</progress>\r
1031          <vnfOutputs>&lt;network-id&gt;&lt;/network-id&gt;&lt;network-name&gt;&lt;/network-names&gt;</vnfOutputs>\r
1032          <networkId/>\r
1033       </ns:updateInfraRequest>\r
1034    </soapenv:Body>\r
1035 </soapenv:Envelope>"""  \r
1036   \r
1037           String updateDBRequestError =\r
1038           """<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">\r
1039                                                 <soapenv:Header/>\r
1040                                                 <soapenv:Body>\r
1041                                                         <ns:updateInfraRequest xmlns:ns="http://org.openecomp.mso/requestsdb">\r
1042                                                                 <requestId>88f65519-9a38-4c4b-8445-9eb4a5a5af56</requestId>\r
1043                                                                 <lastModifiedBy>BPMN</lastModifiedBy>\r
1044                                                                 <statusMessage>Received error from SDN-C: No availability zone available</statusMessage>\r
1045                                                                 <responseBody></responseBody>\r
1046                                                                 <requestStatus>FAILED</requestStatus>\r
1047                                                                 <vnfOutputs>&lt;network-id&gt;&lt;/network-id&gt;&lt;network-name&gt;&lt;/network-names&gt;</vnfOutputs>\r
1048                                                         </ns:updateInfraRequest>\r
1049                                                 </soapenv:Body>\r
1050                                            </soapenv:Envelope>"""\r
1051   \r
1052                  String updateDBRequestError01 =\r
1053           """<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">\r
1054                                                 <soapenv:Header/>\r
1055                                                 <soapenv:Body>\r
1056                                                         <ns:updateInfraRequest xmlns:ns="http://org.openecomp.mso/requestsdb">\r
1057                                                                 <requestId>88f65519-9a38-4c4b-8445-9eb4a5a5af56</requestId>\r
1058                                                                 <lastModifiedBy>BPMN</lastModifiedBy>\r
1059                                                                 <statusMessage>Received error unexpectedly from SDN-C.</statusMessage>\r
1060                                                                 <responseBody></responseBody>\r
1061                                                                 <requestStatus>FAILED</requestStatus>\r
1062                                                                 <vnfOutputs>&lt;network-id&gt;&lt;/network-id&gt;&lt;network-name&gt;&lt;/network-names&gt;</vnfOutputs>\r
1063                                                         </ns:updateInfraRequest>\r
1064                                                 </soapenv:Body>\r
1065                                            </soapenv:Envelope>"""\r
1066                                                  \r
1067           String updateDBRequest_Outputs =\r
1068   """<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"\r
1069                   xmlns:ns="http://org.openecomp.mso/requestsdb">\r
1070    <soapenv:Header/>\r
1071    <soapenv:Body>\r
1072       <ns:updateInfraRequest>\r
1073          <requestId>88f65519-9a38-4c4b-8445-9eb4a5a5af56</requestId>\r
1074          <lastModifiedBy>BPMN</lastModifiedBy>\r
1075          <statusMessage>Network successfully updated.</statusMessage>\r
1076          <responseBody/>\r
1077          <requestStatus>COMPLETED</requestStatus>\r
1078          <progress>100</progress>\r
1079          <vnfOutputs>&lt;network-id&gt;49c86598-f766-46f8-84f8-8d1c1b10f9b4&lt;/network-id&gt;&lt;network-name&gt;MNS-25180-L-01-dmz_direct_net_1&lt;/network-names&gt;</vnfOutputs>\r
1080          <networkId>49c86598-f766-46f8-84f8-8d1c1b10f9b4</networkId>\r
1081       </ns:updateInfraRequest>\r
1082    </soapenv:Body>\r
1083 </soapenv:Envelope>"""  \r
1084   \r
1085           String updateNetworkRequest =\r
1086           """<updateNetworkRequest>\r
1087    <cloudSiteId>RDM2WAGPLCP</cloudSiteId>\r
1088    <tenantId>7dd5365547234ee8937416c65507d266</tenantId>\r
1089    <networkId>49c86598-f766-46f8-84f8-8d1c1b10f9b4</networkId>\r
1090    <networkStackId>ST_2Bindings_6006/55288ef0-595c-47d3-819e-cf93aaac6326</networkStackId>\r
1091    <networkName>MNS-25180-L-01-dmz_direct_net_1</networkName>\r
1092    <networkType>CONTRAIL_EXTERNAL</networkType>\r
1093    <modelCustomizationUuid/>\r
1094    <networkTypeVersion/>\r
1095    <networkTechnology>CONTRAIL</networkTechnology>\r
1096    <providerVlanNetwork>\r
1097       <physicalNetworkName>networkName</physicalNetworkName>\r
1098       <vlans>414,415</vlans>\r
1099    </providerVlanNetwork>\r
1100    <contrailNetwork>\r
1101       <shared>true</shared>\r
1102       <external>false</external>\r
1103       <routeTargets>13979:105757</routeTargets>\r
1104       <routeTargets>13979:105757</routeTargets>\r
1105       <policyFqdns>GN_EVPN_Test</policyFqdns>\r
1106       <routeTableFqdns>refFQDN1</routeTableFqdns>\r
1107       <routeTableFqdns>refFQDN2</routeTableFqdns>\r
1108    </contrailNetwork>\r
1109    <skipAAI>true</skipAAI>\r
1110    <backout>true</backout>\r
1111    <failIfExists>false</failIfExists>\r
1112    <networkParams>\r
1113       <dhcp-enabled>true</dhcp-enabled>\r
1114       <serviceId>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</serviceId>\r
1115       <cidr-mask>true</cidr-mask>\r
1116       <backoutOnFailure>true</backoutOnFailure>\r
1117       <gateway-address>10.10.125.1</gateway-address>\r
1118    </networkParams>\r
1119    <msoRequest>\r
1120       <requestId>88f65519-9a38-4c4b-8445-9eb4a5a5af56</requestId>\r
1121       <serviceInstanceId>f70e927b-6087-4974-9ef8-c5e4d5847ca4</serviceInstanceId>\r
1122    </msoRequest>\r
1123    <messageId>messageId_generated</messageId>\r
1124    <notificationUrl/>\r
1125 </updateNetworkRequest>"""\r
1126           \r
1127    \r
1128   String updateNetworkRequest_noPhysicalName =\r
1129   """<updateNetworkRequest>\r
1130    <cloudSiteId>RDM2WAGPLCP</cloudSiteId>\r
1131    <tenantId>7dd5365547234ee8937416c65507d266</tenantId>\r
1132    <networkId>49c86598-f766-46f8-84f8-8d1c1b10f9b4</networkId>\r
1133    <networkStackId>ST_2Bindings_6006/55288ef0-595c-47d3-819e-cf93aaac6326</networkStackId>\r
1134    <networkName>MNS-25180-L-01-dmz_direct_net_1</networkName>\r
1135    <networkType>CONTRAIL_EXTERNAL</networkType>\r
1136    <modelCustomizationUuid/>\r
1137    <networkTypeVersion/>\r
1138    <networkTechnology>CONTRAIL</networkTechnology>\r
1139    <providerVlanNetwork>\r
1140       <physicalNetworkName>networkName</physicalNetworkName>\r
1141       <vlans>414,415</vlans>\r
1142    </providerVlanNetwork>\r
1143    <contrailNetwork>\r
1144       <shared>true</shared>\r
1145       <external>false</external>\r
1146       <routeTargets>13979:105757</routeTargets>\r
1147       <routeTargets>13979:105757</routeTargets>\r
1148       <policyFqdns>GN_EVPN_Test</policyFqdns>\r
1149    </contrailNetwork>\r
1150    <skipAAI>true</skipAAI>\r
1151    <backout>true</backout>\r
1152    <failIfExists>false</failIfExists>\r
1153    <networkParams>\r
1154       <dhcp-enabled>true</dhcp-enabled>\r
1155       <serviceId>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</serviceId>\r
1156       <cidr-mask>true</cidr-mask>\r
1157       <backoutOnFailure>true</backoutOnFailure>\r
1158       <gateway-address>10.10.125.1</gateway-address>\r
1159    </networkParams>\r
1160    <msoRequest>\r
1161       <requestId>88f65519-9a38-4c4b-8445-9eb4a5a5af56</requestId>\r
1162       <serviceInstanceId>null</serviceInstanceId>\r
1163    </msoRequest>\r
1164    <messageId>messageId_generated</messageId>\r
1165    <notificationUrl/>\r
1166 </updateNetworkRequest>"""\r
1167   \r
1168           String updateNetworkResponseREST =\r
1169   """<ns2:updateNetworkContrailResponse xmlns:ns2="http://org.openecomp.mso/network">\r
1170         <networkId>MNS-25180-L-01-dmz_direct_net_1/2c88a3a9-69b9-43a7-ada6-1aca577c3641</networkId>\r
1171         <neutronNetworkId>c4f4e878-cde0-4b15-ae9a-bda857759cea</neutronNetworkId>\r
1172     <networkFqdn>default-domain:MSOTest:GN_EVPN_direct_net_0_ST1</networkFqdn>\r
1173         <networkStackId></networkStackId>\r
1174         <subnetMap>\r
1175                 <entry>\r
1176                         <key>57e9a1ff-d14f-4071-a828-b19ae98eb2fc</key>\r
1177                         <value>bd8e87c6-f4e2-41b8-b0bc-9596aa00cd73</value>\r
1178                 </entry>\r
1179                 <entry>\r
1180                         <key>57e9a1ff-d14f-4071-a828-b19ae98eb2fc</key>\r
1181                         <value>bd8e87c6-f4e2-41b8-b0bc-9596aa00cd73</value>\r
1182                 </entry>\r
1183         </subnetMap>\r
1184         <rollback>\r
1185                 <networkId>MNS-25180-L-01-dmz_direct_net_1/2c88a3a9-69b9-43a7-ada6-1aca577c3641</networkId>\r
1186                 <neutronNetworkId>c4f4e878-cde0-4b15-ae9a-bda857759cea</neutronNetworkId>\r
1187                 <networkStackId></networkStackId>\r
1188                 <networkType>CONTRAIL_EXTERNAL</networkType>\r
1189                 <networkUpdated>true</networkUpdated>\r
1190                 <tenantId>7dd5365547234ee8937416c65507d266</tenantId>\r
1191                 <cloudSiteId>RDM2WAGPLCP</cloudSiteId>\r
1192                 <msoRequest>\r
1193                         <requestId>1ef47428-cade-45bd-a103-0751e8b2deb0</requestId>\r
1194                         <serviceInstanceId></serviceInstanceId>\r
1195                 </msoRequest>\r
1196         </rollback>\r
1197         <messageId>messageId_generated</messageId>\r
1198 </ns2:updateNetworkContrailResponse>"""\r
1199   \r
1200           String updateRollbackNetworkRequest =\r
1201           """<NetworkAdapter:rollbackNetwork xmlns:NetworkAdapter="http://org.openecomp.mso/network">\r
1202    <rollback>\r
1203       <networkId>MNS-25180-L-01-dmz_direct_net_1/2c88a3a9-69b9-43a7-ada6-1aca577c3641</networkId>\r
1204       <neutronNetworkId>c4f4e878-cde0-4b15-ae9a-bda857759cea</neutronNetworkId>\r
1205       <networkStackId/>\r
1206       <networkType>CONTRAIL_EXTERNAL</networkType>\r
1207       <networkUpdated>true</networkUpdated>\r
1208       <tenantId>7dd5365547234ee8937416c65507d266</tenantId>\r
1209       <cloudSiteId>RDM2WAGPLCP</cloudSiteId>\r
1210       <msoRequest>\r
1211          <requestId>1ef47428-cade-45bd-a103-0751e8b2deb0</requestId>\r
1212          <serviceInstanceId/>\r
1213       </msoRequest>\r
1214    </rollback>\r
1215 </NetworkAdapter:rollbackNetwork>"""    \r
1216           \r
1217           String updateNetworkResponse =\r
1218           """<ns2:updateNetworkContrailResponse xmlns:ns2="http://org.openecomp.mso/network"\r
1219                                     xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">\r
1220    <networkId>MNS-25180-L-01-dmz_direct_net_1/2c88a3a9-69b9-43a7-ada6-1aca577c3641</networkId>\r
1221    <neutronNetworkId>c4f4e878-cde0-4b15-ae9a-bda857759cea</neutronNetworkId>\r
1222    <networkStackId>MNS-25180-L-01-dmz_direct_net_1/2c88a3a9-69b9-43a7-ada6-1aca577c3641</networkStackId>\r
1223         <networkFqdn>default-domain:MSOTest:GN_EVPN_direct_net_0_ST1</networkFqdn>\r
1224    <subnetIdMap>\r
1225       <entry>\r
1226          <key>57e9a1ff-d14f-4071-a828-b19ae98eb2fc</key>\r
1227          <value>bd8e87c6-f4e2-41b8-b0bc-9596aa00cd73</value>\r
1228       </entry>\r
1229    </subnetIdMap>\r
1230    <rollback>\r
1231       <cloudId>RDM2WAGPLCP</cloudId>\r
1232       <msoRequest>\r
1233          <requestId>1ef47428-cade-45bd-a103-0751e8b2deb0</requestId>\r
1234          <serviceInstanceId/>\r
1235       </msoRequest>\r
1236       <networkUpdated>true</networkUpdated>\r
1237       <networkId>MNS-25180-L-01-dmz_direct_net_1/2c88a3a9-69b9-43a7-ada6-1aca577c3641</networkId>\r
1238       <networkType>CONTRAIL_EXTERNAL</networkType>\r
1239       <networkUpdated>false</networkUpdated>\r
1240       <neutronNetworkId>c4f4e878-cde0-4b15-ae9a-bda857759cea</neutronNetworkId>\r
1241       <tenantId>7dd5365547234ee8937416c65507d266</tenantId>\r
1242    </rollback>\r
1243 </ns2:updateNetworkContrailResponse>"""\r
1244   \r
1245           String updateContrailAAIPayloadRequest =\r
1246   """<l3-network xmlns="http://org.openecomp.aai.inventory/v8">\r
1247    <network-id>49c86598-f766-46f8-84f8-8d1c1b10f9b4</network-id>\r
1248    <network-name>MNS-25180-L-01-dmz_direct_net_1</network-name>\r
1249    <network-type>CONTRAIL_EXTERNAL</network-type>\r
1250    <network-role>dmz_direct</network-role>\r
1251    <network-technology>contrail</network-technology>\r
1252    <neutron-network-id>c4f4e878-cde0-4b15-ae9a-bda857759cea</neutron-network-id>\r
1253    <service-id>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</service-id>\r
1254    <network-role-instance>0</network-role-instance>\r
1255    <resource-version>l3-version</resource-version>\r
1256    <orchestration-status>active</orchestration-status>\r
1257    <heat-stack-id>ST_2Bindings_6006/55288ef0-595c-47d3-819e-cf93aaac6326</heat-stack-id>\r
1258    <contrail-network-fqdn>default-domain:MSOTest:GN_EVPN_direct_net_0_ST1</contrail-network-fqdn>\r
1259    <physical-network-name>networkName</physical-network-name>\r
1260    <is-provider-network>false</is-provider-network>\r
1261    <is-shared-network>true</is-shared-network>\r
1262    <is-external-network>false</is-external-network>\r
1263    <subnets>\r
1264       <subnet>\r
1265          <subnet-id>57e9a1ff-d14f-4071-a828-b19ae98eb2fc</subnet-id>\r
1266          <neutron-subnet-id>bd8e87c6-f4e2-41b8-b0bc-9596aa00cd73</neutron-subnet-id>\r
1267          <gateway-address>107.239.52.1</gateway-address>\r
1268          <network-start-address>107.239.52.0</network-start-address>\r
1269          <cidr-mask>24</cidr-mask>\r
1270          <ip-version>4</ip-version>\r
1271          <orchestration-status>active</orchestration-status>\r
1272          <dhcp-enabled>true</dhcp-enabled>\r
1273          <subnet-name>subnetName</subnet-name>\r
1274       </subnet>\r
1275       <subnet>\r
1276          <subnet-id>57e9a1ff-d14f-4071-a828-b19ae98eb2fc</subnet-id>\r
1277          <neutron-subnet-id>bd8e87c6-f4e2-41b8-b0bc-9596aa00cd73</neutron-subnet-id>\r
1278          <gateway-address>107.239.52.1</gateway-address>\r
1279          <network-start-address>107.239.52.0</network-start-address>\r
1280          <cidr-mask>24</cidr-mask>\r
1281          <ip-version>4</ip-version>\r
1282          <orchestration-status>active</orchestration-status>\r
1283          <dhcp-enabled>true</dhcp-enabled>\r
1284          <subnet-name>subnetName</subnet-name>\r
1285       </subnet>\r
1286    </subnets>\r
1287    <segmentation-assignments>\r
1288       <segmentation-id>414</segmentation-id>\r
1289    </segmentation-assignments>\r
1290    <segmentation-assignments>\r
1291       <segmentation-id>415</segmentation-id>\r
1292    </segmentation-assignments>\r
1293    <ctag-assignments>\r
1294       <ctag-assignment>\r
1295          <vlan-id-inner>inner</vlan-id-inner>\r
1296          <resource-version>ctag-version</resource-version>\r
1297          <relationship-list>\r
1298             <relationship>\r
1299                <related-to>tenant</related-to>\r
1300                <related-link>https://aai-ext1.test.com:8443/aai/v8/cloud-infrastructure/tenants/tenant/897deadc2b954a6bac6d3c197fb3525e/</related-link>\r
1301                <relationship-data>\r
1302                   <relationship-key>tenant.tenant-id</relationship-key>\r
1303                   <relationship-value>897deadc2b954a6bac6d3c197fb3525e</relationship-value>\r
1304                </relationship-data>\r
1305                <related-to-property>\r
1306                   <property-key>tenant.tenant-name</property-key>\r
1307                   <property-value>MSOTest1</property-value>\r
1308                </related-to-property>\r
1309             </relationship>\r
1310             <relationship>\r
1311                <related-to>vpn-binding</related-to>\r
1312                <related-link>https://aai-ext1.test.com:8443/aai/v8/network/vpn-bindings/vpn-binding/a290b841-f672-44dd-b9cd-6f8c20d7d8c8/</related-link>\r
1313                <relationship-data>\r
1314                   <relationship-key>vpn-binding.vpn-id</relationship-key>\r
1315                   <relationship-value>a290b841-f672-44dd-b9cd-6f8c20d7d8c8</relationship-value>\r
1316                </relationship-data>\r
1317                <related-to-property>\r
1318                   <property-key>vpn-binding.vpn-name</property-key>\r
1319                   <property-value>oam_protected_net_6_MTN5_msotest2</property-value>\r
1320                </related-to-property>\r
1321             </relationship>\r
1322             <relationship>\r
1323                <related-to>vpn-binding</related-to>\r
1324                <related-link>https://aai-ext1.test.com:8443/aai/v8/network/vpn-bindings/vpn-binding/24a4b507-853a-4a38-99aa-05fcc54be24d/</related-link>\r
1325                <relationship-data>\r
1326                   <relationship-key>vpn-binding.vpn-id</relationship-key>\r
1327                   <relationship-value>24a4b507-853a-4a38-99aa-05fcc54be24d</relationship-value>\r
1328                </relationship-data>\r
1329                <related-to-property>\r
1330                   <property-key>vpn-binding.vpn-name</property-key>\r
1331                   <property-value>oam_protected_net_6_MTN5_msotest1</property-value>\r
1332                </related-to-property>\r
1333             </relationship>\r
1334          </relationship-list>\r
1335       </ctag-assignment>\r
1336    </ctag-assignments>\r
1337    <relationship-list>\r
1338       <relationship>\r
1339          <related-to>vpn-binding</related-to>\r
1340          <related-link>https://aai-app-e2e.test.com:8443/aai/v8/network/vpn-bindings/vpn-binding/85f015d0-2e32-4c30-96d2-87a1a27f8017/</related-link>\r
1341          <relationship-data>\r
1342             <relationship-key>vpn-binding.vpn-id</relationship-key>\r
1343             <relationship-value>85f015d0-2e32-4c30-96d2-87a1a27f8017</relationship-value>\r
1344          </relationship-data>\r
1345       </relationship>\r
1346       <relationship>\r
1347          <related-to>vpn-binding</related-to>\r
1348          <related-link>https://aai-app-e2e.test.com:8443/aai/v8/network/vpn-bindings/vpn-binding/c980a6ef-3b88-49f0-9751-dbad8608d0a6/</related-link>\r
1349          <relationship-data>\r
1350             <relationship-key>vpn-binding.vpn-id</relationship-key>\r
1351             <relationship-value>c980a6ef-3b88-49f0-9751-dbad8608d0a6</relationship-value>\r
1352          </relationship-data>\r
1353       </relationship>\r
1354       <relationship>\r
1355          <related-to>tenant</related-to>\r
1356          <related-link>https://aai-app-e2e.test.com:8443/aai/v8/cloud-infrastructure/tenants/tenant/7dd5365547234ee8937416c65507d266/</related-link>\r
1357          <relationship-data>\r
1358             <relationship-key>tenant.tenant-id</relationship-key>\r
1359             <relationship-value>7dd5365547234ee8937416c65507d266</relationship-value>\r
1360          </relationship-data>\r
1361       </relationship>\r
1362       <relationship>\r
1363          <related-to>network-policy</related-to>\r
1364          <related-link>https://aai-app-e2e.test.com:8443/aai/v8/network/network-policies/network-policy/cee6d136-e378-4678-a024-2cd15f0ee0cg</related-link>\r
1365          <relationship-data>\r
1366             <relationship-key>network-policy.network-policy-id</relationship-key>\r
1367             <relationship-value>cee6d136-e378-4678-a024-2cd15f0ee0cg</relationship-value>\r
1368          </relationship-data>\r
1369       </relationship>\r
1370       <relationship>\r
1371          <related-to>route-table-reference</related-to>\r
1372          <related-link>https://aai-app-e2e.test.com:8443/aai/v8/network/route-table-references/route-table-reference/refFQDN1</related-link>\r
1373          <relationship-data>\r
1374             <relationship-key>route-table-reference.route-table-reference-id</relationship-key>\r
1375             <relationship-value>cee6d136-e378-4678-a024-2cd15f0ee0hi</relationship-value>\r
1376          </relationship-data>\r
1377       </relationship>\r
1378       <relationship>\r
1379          <related-to>route-table-reference</related-to>\r
1380          <related-link>https://aai-app-e2e.test.com:8443/aai/v8/network/route-table-references/route-table-reference/refFQDN2</related-link>\r
1381          <relationship-data>\r
1382             <relationship-key>route-table-reference.route-table-reference-id</relationship-key>\r
1383             <relationship-value>cee6d136-e378-4678-a024-2cd15f0ee0hi</relationship-value>\r
1384          </relationship-data>\r
1385       </relationship>\r
1386    </relationship-list>\r
1387 </l3-network>"""\r
1388   \r
1389           String updateContrailAAIResponse =\r
1390   """<rest:RESTResponse xmlns:rest="http://schemas.activebpel.org/REST/2007/12/01/aeREST.xsd"\r
1391                    statusCode="200">\r
1392    <rest:headers>\r
1393       <rest:header name="Date" value="Thu,10 Mar 2016 00:01:18 GMT"/>\r
1394       <rest:header name="Content-Length" value="0"/>\r
1395       <rest:header name="Expires" value="Thu,01 Jan 1970 00:00:00 UTC"/>\r
1396       <rest:header name="X-AAI-TXID" value="mtcnjv9aaas03-20160310-00:01:18:551-132672"/>\r
1397       <rest:header name="Server" value="Apache-Coyote/1.1"/>\r
1398       <rest:header name="Cache-Control" value="private"/>\r
1399    </rest:headers>\r
1400 </rest:RESTResponse>"""\r
1401           \r
1402           String updateNetworkErrorResponse =\r
1403           """<updateNetworkError>\r
1404                  <messageId>680bd458-5ec1-4a16-b77c-509022e53450</messageId><category>INTERNAL</category>\r
1405                  <message>400 Bad Request: The server could not comply with the request since it is either malformed or otherwise incorrect., error.type=StackValidationFailed, error.message=Property error: : resources.network.properties: : Unknown Property network_ipam_refs_data</message>\r
1406                  <rolledBack>true</rolledBack>\r
1407            </updateNetworkError>"""\r
1408   \r
1409                         \r
1410   String networkException500 =\r
1411   """<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><soap:Fault><faultcode>soap:VersionMismatch</faultcode><faultstring>"http://org.openecomp.mso/network", the namespace on the "updateNetworkContrail" element, is not a valid SOAP version.</faultstring></soap:Fault></soap:Body></soap:Envelope>"""\r
1412                                   \r
1413         String aaiResponse = \r
1414    """<rest:RESTResponse xmlns:rest="http://schemas.activebpel.org/REST/2007/12/01/aeREST.xsd"\r
1415                                          statusCode="200">\r
1416          <rest:headers>\r
1417                 <rest:header name="Transfer-Encoding" value="chunked"/>\r
1418                 <rest:header name="Date" value="Sat,30 Jan 2016 20:09:24 GMT"/>\r
1419                 <rest:header name="Expires" value="Thu,01 Jan 1970 00:00:00 UTC"/>\r
1420                 <rest:header name="X-AAI-TXID"\r
1421                                          value="mtcnjv9aaas01.mtcnj.aic.cip.com-20160130-20:09:24:814-165843"/>\r
1422                 <rest:header name="Content-Type" value="application/xml"/>\r
1423                 <rest:header name="Server" value="Apache-Coyote/1.1"/>\r
1424                 <rest:header name="Cache-Control" value="private"/>\r
1425          </rest:headers>\r
1426          <rest:payload contentType="text/xml">\r
1427                 <l3-network xmlns="http://org.openecomp.aai.inventory/v3">\r
1428                    <network-id>bdc5efe8-404a-409b-85f6-0dcc9eebae30</network-id>\r
1429                    <network-name>HSL_direct_net_2</network-name>\r
1430                    <network-type>CONTRAIL_BASIC</network-type>\r
1431                    <network-role>HSL_direct</network-role>\r
1432                    <network-technology>contrail</network-technology>\r
1433                    <neutron-network-id>8bbd3edf-b835-4610-96a2-a5cafa029042</neutron-network-id>\r
1434                    <service-id>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</service-id>\r
1435                    <orchestration-status>active</orchestration-status>\r
1436                    <heat-stack-id>HSL_direct_net_2/57594a56-1c92-4a38-9caa-641c1fa3d4b6</heat-stack-id>\r
1437                    <subnets>\r
1438                           <subnet>\r
1439                                  <subnet-id>ea5f2a2c-604f-47ff-a9c5-253ee4f0ef0a</subnet-id>\r
1440                                  <neutron-subnet-id>5a77fdc2-7789-4649-a1b9-6eaf1db1813a</neutron-subnet-id>\r
1441                                  <gateway-address>172.16.34.1</gateway-address>\r
1442                                  <network-start-address>172.16.34.0</network-start-address>\r
1443                                  <cidr-mask>28</cidr-mask>\r
1444                                  <ip-version>4</ip-version>\r
1445                                  <orchestration-status>active</orchestration-status>\r
1446                                  <dhcp-enabled>true</dhcp-enabled>\r
1447                                  <relationship-list/>\r
1448                           </subnet>\r
1449                    </subnets>\r
1450                    <relationship-list>\r
1451                           <relationship>\r
1452                                  <related-to>tenant</related-to>\r
1453                                  <related-link>https://aai-app-e2e.test.com:8443/aai/v3/cloud-infrastructure/tenants/tenant/e81d842d3e8b45c5a59f57cd76af3aaf/</related-link>\r
1454                                  <relationship-data>\r
1455                                         <relationship-key>tenant.tenant-id</relationship-key>\r
1456                                         <relationship-value>e81d842d3e8b45c5a59f57cd76af3aaf</relationship-value>\r
1457                                  </relationship-data>\r
1458                           </relationship>\r
1459                    </relationship-list>\r
1460                 </l3-network>\r
1461          </rest:payload>\r
1462   </rest:RESTResponse>"""\r
1463 \r
1464         String changeAssignSDNCRequest = \r
1465     """<aetgt:SDNCAdapterWorkflowRequest xmlns:aetgt="http://openecomp.com/mso/workflow/schema/v1"\r
1466                                   xmlns:ns5="http://openecomp.com/mso/request/types/v1"\r
1467                                   xmlns:sdncadapter="http://domain2.openecomp.com/workflow/sdnc/adapter/schema/v1">\r
1468    <sdncadapter:RequestHeader>\r
1469       <sdncadapter:RequestId>88f65519-9a38-4c4b-8445-9eb4a5a5af56</sdncadapter:RequestId>\r
1470       <sdncadapter:SvcInstanceId>f70e927b-6087-4974-9ef8-c5e4d5847ca4</sdncadapter:SvcInstanceId>\r
1471       <sdncadapter:SvcAction>changeassign</sdncadapter:SvcAction>\r
1472       <sdncadapter:SvcOperation>network-topology-operation</sdncadapter:SvcOperation>\r
1473       <sdncadapter:CallbackUrl>sdncCallback</sdncadapter:CallbackUrl>\r
1474    </sdncadapter:RequestHeader>\r
1475    <aetgt:SDNCRequestData>\r
1476       <request-information>\r
1477          <request-id>88f65519-9a38-4c4b-8445-9eb4a5a5af56</request-id>\r
1478          <request-action>NetworkActivateRequest</request-action>\r
1479          <source>VID</source>\r
1480          <notification-url/>\r
1481          <order-number/>\r
1482          <order-version/>\r
1483       </request-information>\r
1484       <service-information>\r
1485          <service-id>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</service-id>\r
1486          <service-type>MSO-dev-service-type</service-type>\r
1487          <service-instance-id>f70e927b-6087-4974-9ef8-c5e4d5847ca4</service-instance-id>\r
1488          <subscriber-name>MSO_1610_dev</subscriber-name>\r
1489       </service-information>\r
1490       <network-request-information>\r
1491          <network-id>49c86598-f766-46f8-84f8-8d1c1b10f9b4</network-id>\r
1492          <network-type>CONTRAIL_EXTERNAL</network-type>\r
1493          <network-name>MNS-25180-L-01-dmz_direct_net_1</network-name>\r
1494          <tenant>7dd5365547234ee8937416c65507d266</tenant>\r
1495          <aic-cloud-region>RDM2WAGPLCP</aic-cloud-region>\r
1496       </network-request-information>\r
1497    </aetgt:SDNCRequestData>\r
1498 </aetgt:SDNCAdapterWorkflowRequest>"""\r
1499 \r
1500 String assignResponse =\r
1501 """<sdncadapterworkflow:SDNCAdapterWorkflowResponse xmlns:sdncadapterworkflow="http://org.openecomp/mso/workflow/schema/v1" xmlns:tag0="http://org.openecomp/workflow/sdnc/adapter/schema/v1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <sdncadapterworkflow:response-data> <tag0:CallbackHeader> <tag0:RequestId>006927ca-f5a3-47fd-880c-dfcbcd81a093</tag0:RequestId> <tag0:ResponseCode>200</tag0:ResponseCode> <tag0:ResponseMessage>OK</tag0:ResponseMessage> </tag0:CallbackHeader> <tag0:RequestData xsi:type="xs:string"><output xmlns="org:openecomp:sdnctltl:vnf"><response-code>200</response-code><svc-request-id>006927ca-f5a3-47fd-880c-dfcbcd81a093</svc-request-id><ack-final-indicator>Y</ack-final-indicator><service-information><subscriber-name>notsurewecare</subscriber-name><service-id>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</service-id><service-instance-id>GN_EVPN_direct_net_0_ST_noGW</service-instance-id></service-information><network-information><network-id>8abc633a-810b-4ca5-8b3a-09511d13a2ce</network-id></network-information></output></tag0:RequestData> </sdncadapterworkflow:response-data> </sdncadapterworkflow:SDNCAdapterWorkflowResponse>"""\r
1502                           \r
1503   String sdncRollbackRequest =\r
1504                           """<aetgt:SDNCAdapterWorkflowRequest xmlns:aetgt="http://openecomp.com/mso/workflow/schema/v1"\r
1505                                   xmlns:ns5="http://openecomp.com/mso/request/types/v1"\r
1506                                   xmlns:sdncadapter="http://domain2.openecomp.com/workflow/sdnc/adapter/schema/v1">\r
1507    <sdncadapter:RequestHeader>\r
1508       <sdncadapter:RequestId>88f65519-9a38-4c4b-8445-9eb4a5a5af56</sdncadapter:RequestId>\r
1509       <sdncadapter:SvcInstanceId>f70e927b-6087-4974-9ef8-c5e4d5847ca4</sdncadapter:SvcInstanceId>\r
1510       <sdncadapter:SvcAction>rollback</sdncadapter:SvcAction>\r
1511       <sdncadapter:SvcOperation>network-topology-operation</sdncadapter:SvcOperation>\r
1512       <sdncadapter:CallbackUrl>sdncCallback</sdncadapter:CallbackUrl>\r
1513    </sdncadapter:RequestHeader>\r
1514    <aetgt:SDNCRequestData>\r
1515       <request-information>\r
1516          <request-id>88f65519-9a38-4c4b-8445-9eb4a5a5af56</request-id>\r
1517          <request-action>NetworkActivateRequest</request-action>\r
1518          <source>VID</source>\r
1519          <notification-url/>\r
1520          <order-number/>\r
1521          <order-version/>\r
1522       </request-information>\r
1523       <service-information>\r
1524          <service-id>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</service-id>\r
1525          <service-type>MSO-dev-service-type</service-type>\r
1526          <service-instance-id>f70e927b-6087-4974-9ef8-c5e4d5847ca4</service-instance-id>\r
1527          <subscriber-name>MSO_1610_dev</subscriber-name>\r
1528       </service-information>\r
1529       <network-request-information>\r
1530          <network-id>8abc633a-810b-4ca5-8b3a-09511d13a2ce</network-id>\r
1531          <network-type>CONTRAIL_EXTERNAL</network-type>\r
1532          <network-name>MNS-25180-L-01-dmz_direct_net_1</network-name>\r
1533          <tenant>7dd5365547234ee8937416c65507d266</tenant>\r
1534          <aic-cloud-region>RDM2WAGPLCP</aic-cloud-region>\r
1535       </network-request-information>\r
1536    </aetgt:SDNCRequestData>\r
1537 </aetgt:SDNCAdapterWorkflowRequest>"""\r
1538                                                  \r
1539            String sdncAdapterWorkflowResponse =\r
1540           """<aetgt:SDNCAdapterWorkflowResponse xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1"\r
1541                                    xmlns:sdncadapterworkflow="http://org.openecomp/mso/workflow/schema/v1">\r
1542    <sdncadapterworkflow:response-data>\r
1543 <tag0:CallbackHeader xmlns:tag0="http://org.openecomp/workflow/sdnc/adapter/schema/v1">\r
1544    <tag0:RequestId>745b1b50-e39e-4685-9cc8-c71f0bde8bf0</tag0:RequestId>\r
1545    <tag0:ResponseCode>200</tag0:ResponseCode>\r
1546    <tag0:ResponseMessage>OK</tag0:ResponseMessage>\r
1547 </tag0:CallbackHeader>\r
1548    <tag0:RequestData xmlns:tag0="http://org.openecomp/workflow/sdnc/adapter/schema/v1"\r
1549                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
1550                   xsi:type="xs:string">&lt;output xmlns="org:openecomp:sdnctl:vnf"&gt;&lt;svc-request-id&gt;00703dc8-71ff-442d-a4a8-3adc5beef6a9&lt;/svc-request-id&gt;&lt;response-code&gt;200&lt;/response-code&gt;&lt;ack-final-indicator&gt;Y&lt;/ack-final-indicator&gt;&lt;network-information&gt;&lt;network-id&gt;49c86598-f766-46f8-84f8-8d1c1b10f9b4&lt;/network-id&gt;&lt;/network-information&gt;&lt;service-information&gt;&lt;service-type&gt;a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb&lt;/service-type&gt;&lt;service-instance-id&gt;MNS-25180-L-01-dmz_direct_net_1&lt;/service-instance-id&gt;&lt;subscriber-name&gt;notsurewecare&lt;/subscriber-name&gt;&lt;/service-information&gt;&lt;/output&gt;</tag0:RequestData>\r
1551    </sdncadapterworkflow:response-data>\r
1552 </aetgt:SDNCAdapterWorkflowResponse>"""\r
1553                                           \r
1554   \r
1555           String sdncAdapterWorkflowResponse_Error =\r
1556           """<sdncadapterworkflow:SDNCAdapterWorkflowResponse xmlns:sdncadapterworkflow="http://org.openecomp/mso/workflow/schema/v1"\r
1557                                                  xmlns:tag0="http://org.openecomp/workflow/sdnc/adapter/schema/v1"\r
1558                                                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
1559                                                  xmlns="org:openecomp:sdnctl:vnf">\r
1560    <sdncadapterworkflow:response-data>\r
1561       <tag0:RequestData xsi:type="xs:string">\r
1562          <output>\r
1563             <response-code>400</response-code>\r
1564             <response-message>Error writing to l3-netework</response-message>\r
1565             <ack-final-indicator>Y</ack-final-indicator>\r
1566             <svc-request-id>c79240d8-34b5-4853-af69-2021928dba00</svc-request-id>\r
1567          </output>\r
1568       </tag0:RequestData>\r
1569    </sdncadapterworkflow:response-data>\r
1570 </sdncadapterworkflow:SDNCAdapterWorkflowResponse>"""\r
1571   \r
1572           String expected_sdncAdapterWorkflowResponse_Error =\r
1573   """<sdncadapterworkflow:SDNCAdapterWorkflowResponse xmlns="org:openecomp:sdnctl:vnf"\r
1574                                                  xmlns:sdncadapterworkflow="http://org.openecomp/mso/workflow/schema/v1"\r
1575                                                  xmlns:tag0="http://org.openecomp/workflow/sdnc/adapter/schema/v1"\r
1576                                                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">\r
1577    <sdncadapterworkflow:response-data>\r
1578       <tag0:RequestData xsi:type="xs:string">\r
1579          <output>\r
1580             <response-code>400</response-code>\r
1581             <response-message>Error writing to l3-netework</response-message>\r
1582             <ack-final-indicator>Y</ack-final-indicator>\r
1583             <svc-request-id>c79240d8-34b5-4853-af69-2021928dba00</svc-request-id>\r
1584          </output>\r
1585       </tag0:RequestData>\r
1586    </sdncadapterworkflow:response-data>\r
1587 </sdncadapterworkflow:SDNCAdapterWorkflowResponse>"""\r
1588   \r
1589           String sdncAdapterWorkflowFormattedResponse =\r
1590           """<aetgt:SDNCAdapterWorkflowResponse xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1"\r
1591                                    xmlns="org:openecomp:sdnctl:vnf">\r
1592    <aetgt:response-data>\r
1593       <output>\r
1594          <svc-request-id>00703dc8-71ff-442d-a4a8-3adc5beef6a9</svc-request-id>\r
1595          <response-code>200</response-code>\r
1596          <ack-final-indicator>Y</ack-final-indicator>\r
1597          <network-information>\r
1598             <network-id>49c86598-f766-46f8-84f8-8d1c1b10f9b4</network-id>\r
1599          </network-information>\r
1600          <service-information>\r
1601             <service-type>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</service-type>\r
1602             <service-instance-id>f70e927b-6087-4974-9ef8-c5e4d5847ca4</service-instance-id>\r
1603             <subscriber-name>notsurewecare</subscriber-name>\r
1604          </service-information>\r
1605       </output>\r
1606    </aetgt:response-data>\r
1607 </aetgt:SDNCAdapterWorkflowResponse>"""   \r
1608   \r
1609           String falloutHandlerRequest =\r
1610           """<aetgt:FalloutHandlerRequest xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1"\r
1611                                                                      xmlns:ns="http://org.openecomp/mso/request/types/v1"\r
1612                                                                      xmlns:wfsch="http://org.openecomp/mso/workflow/schema/v1">\r
1613                                            <request-info xmlns="http://org.openecomp/mso/infra/vnf-request/v1">\r
1614                                               <request-id>b69c9054-da09-4a2c-adf5-51042b62bfac</request-id>\r
1615                                               <action>UPDATE</action>\r
1616                                               <source>PORTAL</source>\r
1617                                            </request-info>\r
1618                                                 <aetgt:WorkflowException xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1">\r
1619                                                         <aetgt:ErrorMessage>Received error from SDN-C: No availability zone available.</aetgt:ErrorMessage>\r
1620                                                         <aetgt:ErrorCode>5300</aetgt:ErrorCode>\r
1621                                                 </aetgt:WorkflowException>\r
1622                                         </aetgt:FalloutHandlerRequest>"""\r
1623   \r
1624           String falloutHandlerRequestObject =\r
1625           """<aetgt:FalloutHandlerRequest xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1"\r
1626                                                                      xmlns:ns="http://org.openecomp/mso/request/types/v1"\r
1627                                                                      xmlns:wfsch="http://org.openecomp/mso/workflow/schema/v1">\r
1628                                            <request-info xmlns="http://org.openecomp/mso/infra/vnf-request/v1">\r
1629                                               <request-id>b69c9054-da09-4a2c-adf5-51042b62bfac</request-id>\r
1630                                               <action>UPDATE</action>\r
1631                                               <source>VID</source>\r
1632                                            </request-info>\r
1633                                                 <aetgt:WorkflowException xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1">\r
1634                                                         <aetgt:ErrorMessage>Received error from SDN-C: No availability zone available</aetgt:ErrorMessage>\r
1635                                                         <aetgt:ErrorCode>7000</aetgt:ErrorCode>\r
1636                                                 </aetgt:WorkflowException>\r
1637                                         </aetgt:FalloutHandlerRequest>"""\r
1638                                           \r
1639                                           \r
1640           String falloutHandlerRequest_Scenario01 =\r
1641   """<aetgt:FalloutHandlerRequest xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1"\r
1642                                                                      xmlns:ns="http://org.openecomp/mso/request/types/v1"\r
1643                                                                      xmlns:wfsch="http://org.openecomp/mso/workflow/schema/v1">\r
1644                                            <request-info xmlns="http://org.openecomp/mso/infra/vnf-request/v1">\r
1645                                               <request-id>b69c9054-da09-4a2c-adf5-51042b62bfac</request-id>\r
1646                                               <action>UPDATE</action>\r
1647                                               <source>VID</source>\r
1648                                            </request-info>\r
1649                                                 <aetgt:WorkflowException xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1">\r
1650                                                         <aetgt:ErrorMessage>Unexpected Response from AAI - 400</aetgt:ErrorMessage>\r
1651                                                         <aetgt:ErrorCode>7020</aetgt:ErrorCode>\r
1652                                                 </aetgt:WorkflowException>\r
1653                                         </aetgt:FalloutHandlerRequest>"""\r
1654   \r
1655           String completeMsoProcessRequest =\r
1656           """<aetgt:MsoCompletionRequest xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1"\r
1657                             xmlns:ns="http://org.openecomp/mso/request/types/v1"\r
1658                             xmlns="http://org.openecomp/mso/infra/vnf-request/v1">\r
1659    <request-info>\r
1660       <request-id>88f65519-9a38-4c4b-8445-9eb4a5a5af56</request-id>\r
1661       <action>UPDATE</action>\r
1662       <source>PORTAL</source>\r
1663    </request-info>\r
1664    <aetgt:mso-bpel-name>BPMN Network action: UPDATE</aetgt:mso-bpel-name>\r
1665 </aetgt:MsoCompletionRequest>"""\r
1666 \r
1667 // - - - - - - - -\r
1668 \r
1669 \r
1670             @Before\r
1671                 public void init()\r
1672                 {\r
1673                         MockitoAnnotations.initMocks(this)\r
1674                         \r
1675                 }\r
1676                 \r
1677                 public void initializeVariables (Execution mockExecution) {\r
1678                         \r
1679                         verify(mockExecution).setVariable("UPDNETI_messageId", "")\r
1680                         verify(mockExecution).setVariable("BasicAuthHeaderValuePO", "")\r
1681                         verify(mockExecution).setVariable("BasicAuthHeaderValueSDNC", "")\r
1682                         verify(mockExecution).setVariable("UPDNETI_UpdateNetworkInstanceInfraJsonRequest", "")\r
1683                         verify(mockExecution).setVariable("UPDNETI_networkRequest", "")\r
1684                         verify(mockExecution).setVariable("UPDNETI_networkInputs", "")\r
1685                         verify(mockExecution).setVariable("UPDNETI_networkOutputs", "")\r
1686                         verify(mockExecution).setVariable("UPDNETI_requestId", "")\r
1687                         verify(mockExecution).setVariable("UPDNETI_source", "")\r
1688                         verify(mockExecution).setVariable("UPDNETI_networkId", "")\r
1689                         \r
1690                         verify(mockExecution).setVariable("UPDNETI_CompleteMsoProcessRequest", "")\r
1691                         verify(mockExecution).setVariable("UPDNETI_FalloutHandlerRequest", "")\r
1692                         verify(mockExecution).setVariable("UPDNETI_isSilentSuccess", false)\r
1693                         verify(mockExecution).setVariable("UPDNETI_isPONR", false)\r
1694                         \r
1695                         // AAI query Cloud Region\r
1696                         verify(mockExecution).setVariable("UPDNETI_queryCloudRegionRequest","")\r
1697                         verify(mockExecution).setVariable("UPDNETI_queryCloudRegionReturnCode","")\r
1698                         verify(mockExecution).setVariable("UPDNETI_queryCloudRegionResponse","")\r
1699                         verify(mockExecution).setVariable("UPDNETI_cloudRegionPo","")\r
1700                         verify(mockExecution).setVariable("UPDNETI_cloudRegionSdnc","")\r
1701                         verify(mockExecution).setVariable("UPDNETI_isCloudRegionGood", false)\r
1702                         \r
1703                         // AAI query Id\r
1704                         verify(mockExecution).setVariable("UPDNETI_queryIdAAIRequest","")\r
1705                         verify(mockExecution).setVariable("UPDNETI_queryIdAAIResponse", "")\r
1706                         verify(mockExecution).setVariable("UPDNETI_aaiIdReturnCode", "")\r
1707 \r
1708                         // AAI query vpn binding\r
1709                         verify(mockExecution).setVariable("UPDNETI_queryVpnBindingAAIRequest","")\r
1710                         verify(mockExecution).setVariable("UPDNETI_queryVpnBindingAAIResponse", "")\r
1711                         verify(mockExecution).setVariable("UPDNETI_aaiQqueryVpnBindingReturnCode", "")\r
1712                         verify(mockExecution).setVariable("UPDNETI_vpnBindings", null)\r
1713                         verify(mockExecution).setVariable("UPDNETI_vpnCount", 0)\r
1714                         verify(mockExecution).setVariable("UPDNETI_routeCollection", "")\r
1715                         \r
1716                         // AAI query network policy\r
1717                         verify(mockExecution).setVariable("UPDNETI_queryNetworkPolicyAAIRequest","")\r
1718                         verify(mockExecution).setVariable("UPDNETI_queryNetworkPolicyAAIResponse", "")\r
1719                         verify(mockExecution).setVariable("UPDNETI_aaiQqueryNetworkPolicyReturnCode", "")\r
1720                         verify(mockExecution).setVariable("UPDNETI_networkPolicyUriList", null)\r
1721                         verify(mockExecution).setVariable("UPDNETI_networkPolicyCount", 0)\r
1722                         verify(mockExecution).setVariable("UPDNETI_networkCollection", "")\r
1723                         \r
1724                         // AAI query route table reference\r
1725                         verify(mockExecution).setVariable("UPDNETI_queryNetworkTableRefAAIRequest","")\r
1726                         verify(mockExecution).setVariable("UPDNETI_queryNetworkTableRefAAIResponse", "")\r
1727                         verify(mockExecution).setVariable("UPDNETI_aaiQqueryNetworkTableRefReturnCode", "")\r
1728                         verify(mockExecution).setVariable("UPDNETI_networkTableRefUriList", null)\r
1729                         verify(mockExecution).setVariable("UPDNETI_networkTableRefCount", 0)\r
1730                         verify(mockExecution).setVariable("UPDNETI_tableRefCollection", "")\r
1731                         \r
1732                         \r
1733                         // AAI requery Id\r
1734                         verify(mockExecution).setVariable("UPDNETI_requeryIdAAIRequest","")\r
1735                         verify(mockExecution).setVariable("UPDNETI_requeryIdAAIResponse", "")\r
1736                         verify(mockExecution).setVariable("UPDNETI_aaiRequeryIdReturnCode", "")\r
1737 \r
1738                         // AAI update contrail\r
1739                         verify(mockExecution).setVariable("UPDNETI_updateContrailAAIUrlRequest","")\r
1740                         verify(mockExecution).setVariable("UPDNETI_updateContrailAAIPayloadRequest","")\r
1741                         verify(mockExecution).setVariable("UPDNETI_updateContrailAAIResponse", "")\r
1742                         verify(mockExecution).setVariable("UPDNETI_aaiUpdateContrailReturnCode", "")\r
1743                                 \r
1744                         verify(mockExecution).setVariable("UPDNETI_updateNetworkRequest", "")\r
1745                         verify(mockExecution).setVariable("UPDNETI_updateNetworkResponse", "")\r
1746                         verify(mockExecution).setVariable("UPDNETI_rollbackNetworkRequest", "")\r
1747                         verify(mockExecution).setVariable("UPDNETI_rollbackNetworkResponse", "")\r
1748                         verify(mockExecution).setVariable("UPDNETI_networkReturnCode", "")\r
1749                         verify(mockExecution).setVariable("UPDNETI_rollbackNetworkReturnCode", "")\r
1750                         verify(mockExecution).setVariable("UPDNETI_isNetworkRollbackNeeded", false)\r
1751                         \r
1752                         verify(mockExecution).setVariable("UPDNETI_changeAssignSDNCRequest", "")\r
1753                         verify(mockExecution).setVariable("UPDNETI_changeAssignSDNCResponse", "")\r
1754                         verify(mockExecution).setVariable("UPDNETI_rollbackSDNCRequest", "")\r
1755                         verify(mockExecution).setVariable("UPDNETI_rollbackSDNCResponse", "")\r
1756                         verify(mockExecution).setVariable("UPDNETI_sdncReturnCode", "")\r
1757                         verify(mockExecution).setVariable("UPDNETI_rollbackSDNCReturnCode", "")\r
1758                         verify(mockExecution).setVariable("UPDNETI_isSdncRollbackNeeded", false)\r
1759                         verify(mockExecution).setVariable("UPDNETI_sdncResponseSuccess", false)\r
1760 \r
1761                         verify(mockExecution).setVariable("UPDNETI_updateDBRequest", "")\r
1762                         verify(mockExecution).setVariable("UPDNETI_updateDBResponse", "")\r
1763                         verify(mockExecution).setVariable("UPDNETI_dbReturnCode", "")\r
1764                         \r
1765                         verify(mockExecution).setVariable("UPDNETI_isVnfBindingPresent", false)\r
1766                         verify(mockExecution).setVariable("UPDNETI_Success", false)\r
1767                         verify(mockExecution).setVariable("UPDNETI_serviceInstanceId", "")\r
1768                         verify(mockExecution).setVariable("GENGS_type", "service-instance") // Setting for Generic Sub Flow use\r
1769                         \r
1770                         \r
1771                 }\r
1772                 \r
1773                 @Test\r
1774                 //@Ignore  \r
1775                 public void preProcessRequest_NetworkRequest() {\r
1776                         \r
1777                         println "************ preProcessRequest_Payload ************* " \r
1778                         ExecutionEntity mockExecution = setupMock()\r
1779                         // Initialize prerequisite variables\r
1780                         when(mockExecution.getVariable("mso-request-id")).thenReturn("88f65519-9a38-4c4b-8445-9eb4a5a5af56")\r
1781                         when(mockExecution.getVariable("requestId")).thenReturn("88f65519-9a38-4c4b-8445-9eb4a5a5af56")\r
1782                         when(mockExecution.getVariable("isBaseVfModule")).thenReturn(true)\r
1783                         when(mockExecution.getVariable("recipeTimeout")).thenReturn(0)\r
1784                         when(mockExecution.getVariable("requestAction")).thenReturn("UPDATE")\r
1785                         when(mockExecution.getVariable("serviceInstanceId")).thenReturn("f70e927b-6087-4974-9ef8-c5e4d5847ca4")\r
1786                         when(mockExecution.getVariable("vnfId")).thenReturn("")\r
1787                         when(mockExecution.getVariable("volumeGroupId")).thenReturn("")\r
1788                         when(mockExecution.getVariable("networkId")).thenReturn("49c86598-f766-46f8-84f8-8d1c1b10f9b4")\r
1789                         when(mockExecution.getVariable("serviceType")).thenReturn("MOG")\r
1790                         when(mockExecution.getVariable("networkType")).thenReturn("modelName")\r
1791                         when(mockExecution.getVariable("bpmnRequest")).thenReturn(jsonIncomingRequest)\r
1792                         \r
1793                         when(mockExecution.getVariable("UPDNETI_messageId")).thenReturn("88f65519-9a38-4c4b-8445-9eb4a5a5af56")\r
1794                         when(mockExecution.getVariable("URN_mso_adapters_po_auth")).thenReturn("3141634BF7E070AA289CF2892C986C0B")\r
1795                         when(mockExecution.getVariable("URN_mso_adapters_db_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")\r
1796                         when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")\r
1797                         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")\r
1798                         when(mockExecution.getVariable("URN_mso_rollback")).thenReturn("true")\r
1799                                                                         \r
1800                         // preProcessRequest(Execution execution)                                               \r
1801                         UpdateNetworkInstanceInfra UpdateNetworkInstanceInfra = new UpdateNetworkInstanceInfra()\r
1802                         UpdateNetworkInstanceInfra.preProcessRequest(mockExecution)\r
1803                         \r
1804                         // check the sequence of variable invocation\r
1805                         //MockitoDebuggerImpl preDebugger = new MockitoDebuggerImpl()\r
1806                         //preDebugger.printInvocations(mockExecution)\r
1807 \r
1808                         verify(mockExecution).getVariable("isDebugLogEnabled")\r
1809                         verify(mockExecution).setVariable("prefix", "UPDNETI_")\r
1810                         \r
1811                         //verify variable initialization\r
1812                         initializeVariables(mockExecution)\r
1813 \r
1814                         // Authentications\r
1815             verify(mockExecution).setVariable("BasicAuthHeaderValuePO", "Basic cGFzc3dvcmQ=")\r
1816                         verify(mockExecution).setVariable("BasicAuthHeaderValueSDNC", "Basic cGFzc3dvcmQ=")\r
1817 \r
1818                         verify(mockExecution).setVariable("UPDNETI_UpdateNetworkInstanceInfraJsonRequest", jsonIncomingRequest)\r
1819                         //verify(mockExecution).setVariable("UPDNETI_networkRequest", expectedNetworkRequest)\r
1820                         //verify(mockExecution).setVariable("UPDNETI_networkInputs", expectedNetworkInputs)\r
1821                         //verify(mockExecution, atLeast(3)).setVariable("UPDNETI_networkOutputs", "")\r
1822                         \r
1823                         //verify(mockExecution).setVariable("UPDNETI_requestId", "88f65519-9a38-4c4b-8445-9eb4a5a5af56")\r
1824                         //verify(mockExecution).setVariable("UPDNETI_source", "VID")\r
1825                         //verify(mockExecution).setVariable("UPDNETI_messageId", "88f65519-9a38-4c4b-8445-9eb4a5a5af56")\r
1826                         //verify(mockExecution, atLeast(1)).setVariable("GENGS_type", "service-instance")\r
1827                                                         \r
1828                 }\r
1829 \r
1830                 \r
1831                 @Test\r
1832                 //@Ignore\r
1833                 public void preProcessRequest_MissingNetworkId() {\r
1834 \r
1835                         println "************ preProcessRequest_MissingName() ************* "\r
1836                         \r
1837                         WorkflowException missingNameWorkflowException = new WorkflowException("UpdateNetworkInstanceInfra", 2500, "Variable 'network-id' value/element is missing.")\r
1838                         \r
1839                         ExecutionEntity mockExecution = setupMock()\r
1840                         // Initialize prerequisite variables\r
1841                         when(mockExecution.getVariable("mso-request-id")).thenReturn("88f65519-9a38-4c4b-8445-9eb4a5a5af56")\r
1842                         when(mockExecution.getVariable("requestId")).thenReturn("88f65519-9a38-4c4b-8445-9eb4a5a5af56")\r
1843                         when(mockExecution.getVariable("isBaseVfModule")).thenReturn(true)\r
1844                         when(mockExecution.getVariable("recipeTimeout")).thenReturn(0)\r
1845                         when(mockExecution.getVariable("requestAction")).thenReturn("UPDATE")\r
1846                         when(mockExecution.getVariable("serviceInstanceId")).thenReturn("f70e927b-6087-4974-9ef8-c5e4d5847ca4")\r
1847                         when(mockExecution.getVariable("vnfId")).thenReturn("")\r
1848                         when(mockExecution.getVariable("volumeGroupId")).thenReturn("")\r
1849                         //when(mockExecution.getVariable("networkId")).thenReturn("49c86598-f766-46f8-84f8-8d1c1b10f9b4")\r
1850                         when(mockExecution.getVariable("serviceType")).thenReturn("MOG")\r
1851                         when(mockExecution.getVariable("networkType")).thenReturn("modelName")\r
1852                         when(mockExecution.getVariable("bpmnRequest")).thenReturn(jsonIncomingRequest)\r
1853                         \r
1854                         when(mockExecution.getVariable("UPDNETI_messageId")).thenReturn("88f65519-9a38-4c4b-8445-9eb4a5a5af56")\r
1855                         when(mockExecution.getVariable("URN_mso_adapters_po_auth")).thenReturn("3141634BF7E070AA289CF2892C986C0B")\r
1856                         when(mockExecution.getVariable("URN_mso_adapters_db_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")\r
1857                         when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")\r
1858                         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")\r
1859                         when(mockExecution.getVariable("URN_mso_rollback")).thenReturn("true")\r
1860                         \r
1861                         // preProcessRequest(Execution execution)\r
1862                         UpdateNetworkInstanceInfra UpdateNetworkInstanceInfra = new UpdateNetworkInstanceInfra()\r
1863                         try {\r
1864                                 UpdateNetworkInstanceInfra.preProcessRequest(mockExecution)\r
1865                         } catch (Exception ex) {\r
1866                                 println " Test End - Handle catch-throw BpmnError()! "\r
1867                         }\r
1868                         \r
1869                         // check the sequence of variable invocation\r
1870                         //MockitoDebuggerImpl preDebugger = new MockitoDebuggerImpl()\r
1871                         //preDebugger.printInvocations(mockExecution)\r
1872 \r
1873                         verify(mockExecution, atLeast(1)).getVariable("isDebugLogEnabled")\r
1874                         verify(mockExecution, atLeast(1)).setVariable("prefix", "UPDNETI_")\r
1875                         \r
1876                         //verify variable initialization\r
1877                         initializeVariables(mockExecution)\r
1878 \r
1879                         // Authentications\r
1880                         verify(mockExecution).setVariable("BasicAuthHeaderValuePO", "Basic cGFzc3dvcmQ=")\r
1881                         verify(mockExecution).setVariable("BasicAuthHeaderValueSDNC", "Basic cGFzc3dvcmQ=")\r
1882 \r
1883                         verify(mockExecution).setVariable("UPDNETI_UpdateNetworkInstanceInfraJsonRequest", jsonIncomingRequest)\r
1884                         //verify(mockExecution, atLeast(1)).setVariable("UPDNETI_networkOutputs", networkOutputs)\r
1885                         //verify(mockExecution).setVariable("UPDNETI_networkRequest", expectedNetworkRequestMissingNetworkId)\r
1886                         //verify(mockExecution).setVariable("UPDNETI_networkInputs", expectedNetworkInputs)\r
1887                         \r
1888                         //verify(mockExecution).setVariable("UPDNETI_requestId", "88f65519-9a38-4c4b-8445-9eb4a5a5af56")\r
1889                         //verify(mockExecution).setVariable("UPDNETI_source", "VID")\r
1890                         //verify(mockExecution).setVariable("UPDNETI_messageId", "88f65519-9a38-4c4b-8445-9eb4a5a5af56")\r
1891                         \r
1892                         verify(mockExecution).setVariable(eq("WorkflowException"), refEq(missingNameWorkflowException))\r
1893                                                 \r
1894                 }\r
1895                 \r
1896                 @Test\r
1897                 //@Ignore\r
1898                 public void preProcessRequest_MissingCloudRegion() {\r
1899                         \r
1900                         println "************ preProcessRequest_MissingCloudRegion() ************* "\r
1901                         \r
1902                         WorkflowException missingCloudRegionWorkflowException = new WorkflowException("UpdateNetworkInstanceInfra", 2500, "requestDetails has missing 'aic-cloud-region' value/element.")\r
1903                         \r
1904                         ExecutionEntity mockExecution = setupMock()\r
1905                         // Initialize prerequisite variables\r
1906                         when(mockExecution.getVariable("mso-request-id")).thenReturn("88f65519-9a38-4c4b-8445-9eb4a5a5af56")\r
1907                         when(mockExecution.getVariable("requestId")).thenReturn("88f65519-9a38-4c4b-8445-9eb4a5a5af56")\r
1908                         when(mockExecution.getVariable("isBaseVfModule")).thenReturn(true)\r
1909                         when(mockExecution.getVariable("recipeTimeout")).thenReturn(0)\r
1910                         when(mockExecution.getVariable("requestAction")).thenReturn("UPDATE")\r
1911                         when(mockExecution.getVariable("serviceInstanceId")).thenReturn("f70e927b-6087-4974-9ef8-c5e4d5847ca4")\r
1912                         when(mockExecution.getVariable("vnfId")).thenReturn("")\r
1913                         when(mockExecution.getVariable("volumeGroupId")).thenReturn("")\r
1914                         when(mockExecution.getVariable("networkId")).thenReturn("networkId")\r
1915                         when(mockExecution.getVariable("serviceType")).thenReturn("MOG")\r
1916                         when(mockExecution.getVariable("networkType")).thenReturn("modelName")\r
1917                         \r
1918                         when(mockExecution.getVariable("bpmnRequest")).thenReturn(jsonIncomingRequest_MissingCloudRegion)\r
1919                         when(mockExecution.getVariable("UPDNETI_messageId")).thenReturn("88f65519-9a38-4c4b-8445-9eb4a5a5af56")\r
1920                         when(mockExecution.getVariable("URN_mso_adapters_po_auth")).thenReturn("3141634BF7E070AA289CF2892C986C0B")\r
1921                         when(mockExecution.getVariable("URN_mso_adapters_db_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")\r
1922                         when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")\r
1923                         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")\r
1924                         when(mockExecution.getVariable("URN_mso_rollback")).thenReturn("true")\r
1925 \r
1926                                                                         \r
1927                         // preProcessRequest(Execution execution)\r
1928                         UpdateNetworkInstanceInfra UpdateNetworkInstanceInfra = new UpdateNetworkInstanceInfra()\r
1929                         try {\r
1930                                 UpdateNetworkInstanceInfra.preProcessRequest(mockExecution)\r
1931                         } catch (Exception ex) {\r
1932                                 println " Test End - Handle catch-throw BpmnError()! "\r
1933                         }\r
1934                         // check the sequence of variable invocation\r
1935                         //MockitoDebuggerImpl preDebugger = new MockitoDebuggerImpl()\r
1936                         //preDebugger.printInvocations(mockExecution)\r
1937 \r
1938                         verify(mockExecution, atLeast(1)).getVariable("isDebugLogEnabled")\r
1939                         verify(mockExecution, atLeast(1)).setVariable("prefix", "UPDNETI_")\r
1940                         \r
1941                         //verify variable initialization\r
1942                         initializeVariables(mockExecution)\r
1943 \r
1944                         verify(mockExecution).setVariable("UPDNETI_messageId", "88f65519-9a38-4c4b-8445-9eb4a5a5af56")\r
1945                         // Authentications\r
1946                         verify(mockExecution).setVariable("BasicAuthHeaderValuePO", "Basic cGFzc3dvcmQ=")\r
1947                         verify(mockExecution).setVariable("BasicAuthHeaderValueSDNC", "Basic cGFzc3dvcmQ=")\r
1948 \r
1949                         verify(mockExecution).setVariable("UPDNETI_UpdateNetworkInstanceInfraJsonRequest", jsonIncomingRequest_MissingCloudRegion)\r
1950                         //verify(mockExecution).setVariable("UPDNETI_networkRequest", "")\r
1951                         //verify(mockExecution).setVariable("UPDNETI_networkInputs", "")\r
1952                         //verify(mockExecution, atLeast(1)).setVariable("UPDNETI_networkOutputs", "")\r
1953                         \r
1954                         //verify(mockExecution).setVariable("UPDNETI_requestId", "88f65519-9a38-4c4b-8445-9eb4a5a5af56")\r
1955                         //verify(mockExecution).setVariable("UPDNETI_source", "VID")\r
1956                         \r
1957                         verify(mockExecution).setVariable(eq("WorkflowException"), refEq(missingCloudRegionWorkflowException))\r
1958                                                         \r
1959                 }\r
1960                                 \r
1961                 @Test\r
1962                 //@Ignore\r
1963                 public void sendSyncResponse() {\r
1964                         \r
1965                         println "************ sendSyncResponse ************* "\r
1966                         \r
1967                         ExecutionEntity mockExecution = setupMock()\r
1968                         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")\r
1969                         when(mockExecution.getVariable("isAsyncProcess")).thenReturn(true)\r
1970                         when(mockExecution.getVariable("mso-request-id")).thenReturn("e8ebf6a0-f8ea-4dc0-8b99-fe98a87722d6")\r
1971                         //when(mockExecution.getVariable("serviceInstanceId")).thenReturn("f70e927b-6087-4974-9ef8-c5e4d5847ca4")\r
1972                         \r
1973                         // preProcessRequest(Execution execution)\r
1974                         UpdateNetworkInstanceInfra UpdateNetworkInstanceInfra = new UpdateNetworkInstanceInfra()\r
1975                         UpdateNetworkInstanceInfra.sendSyncResponse(mockExecution)\r
1976 \r
1977                         verify(mockExecution).setVariable("prefix", "UPDNETI_")\r
1978                         verify(mockExecution).setVariable("UpdateNetworkInstanceInfraResponseCode", "202")\r
1979 \r
1980                         \r
1981                 }\r
1982                 \r
1983                 @Test\r
1984                 //@Ignore\r
1985                 public void sendSyncError() {\r
1986                         \r
1987                         println "************ sendSyncError ************* "\r
1988                         \r
1989                         ExecutionEntity mockExecution = setupMock()                                                                     \r
1990                         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")\r
1991                         when(mockExecution.getVariable("isAsyncProcess")).thenReturn(true)\r
1992                         when(mockExecution.getVariable("mso-request-id")).thenReturn("e8ebf6a0-f8ea-4dc0-8b99-fe98a87722d6")\r
1993                         //when(mockExecution.getVariable("serviceInstanceId")).thenReturn("f70e927b-6087-4974-9ef8-c5e4d5847ca4")\r
1994 \r
1995                         \r
1996                         // preProcessRequest(Execution execution)\r
1997                         UpdateNetworkInstanceInfra UpdateNetworkInstanceInfra = new UpdateNetworkInstanceInfra()\r
1998                         UpdateNetworkInstanceInfra.sendSyncError(mockExecution)\r
1999 \r
2000                         verify(mockExecution).setVariable("prefix", "UPDNETI_")\r
2001                         verify(mockExecution).setVariable("UpdateNetworkInstanceInfraResponseCode", "500")\r
2002                         \r
2003                 }\r
2004                 \r
2005                 \r
2006                 @Test\r
2007                 //@Ignore\r
2008                 public void prepareDBRequest() {\r
2009                         \r
2010                         println "************ prepareDBRequest ************* "\r
2011                         ExecutionEntity mockExecution = mock(ExecutionEntity.class)\r
2012                         // Initialize prerequisite variables\r
2013                         when(mockExecution.getVariable("UPDNETI_networkOutputs")).thenReturn("")\r
2014                         when(mockExecution.getVariable("UPDNETI_requestId")).thenReturn("88f65519-9a38-4c4b-8445-9eb4a5a5af56")\r
2015                         when(mockExecution.getVariable("UPDNETI_orchestrationStatus")).thenReturn("")\r
2016                         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")\r
2017                         when(mockExecution.getVariable("URN_mso_adapters_db_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")\r
2018                         when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")\r
2019                         \r
2020                         // preProcessRequest(Execution execution)\r
2021                         UpdateNetworkInstanceInfra UpdateNetworkInstanceInfra = new UpdateNetworkInstanceInfra()\r
2022                         UpdateNetworkInstanceInfra.prepareDBRequest(mockExecution)\r
2023                         \r
2024                         verify(mockExecution).setVariable("prefix", "UPDNETI_")\r
2025                         verify(mockExecution).setVariable("UPDNETI_updateDBRequest", updateDBRequest)\r
2026                 \r
2027                 }\r
2028                 \r
2029                 @Test\r
2030                 //@Ignore\r
2031                 public void prepareDBRequestErro_ExceptionObject() {\r
2032                         \r
2033                         println "************ prepareDBRequest ************* "\r
2034                         \r
2035                         WorkflowException sndcWorkflowException = new WorkflowException("UpdateNetworkInstanceInfra", 500, "Received error from SDN-C: No availability zone available")\r
2036                         \r
2037                         ExecutionEntity mockExecution = mock(ExecutionEntity.class)\r
2038                         // Initialize prerequisite variables\r
2039                         when(mockExecution.getVariable("UPDNETI_networkOutputs")).thenReturn("")\r
2040                         when(mockExecution.getVariable("UPDNETI_requestId")).thenReturn("88f65519-9a38-4c4b-8445-9eb4a5a5af56")\r
2041                         when(mockExecution.getVariable("UPDNETI_networkOutputs")).thenReturn("")\r
2042                         when(mockExecution.getVariable("UPDNETI_orchestrationStatus")).thenReturn("")\r
2043                         when(mockExecution.getVariable("WorkflowException")).thenReturn(sndcWorkflowException)\r
2044                         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")\r
2045                         when(mockExecution.getVariable("URN_mso_adapters_db_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")\r
2046                         when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")\r
2047 \r
2048                         // preProcessRequest(Execution execution)\r
2049                         UpdateNetworkInstanceInfra UpdateNetworkInstanceInfra = new UpdateNetworkInstanceInfra()\r
2050                         UpdateNetworkInstanceInfra.prepareDBRequestError(mockExecution)\r
2051                         \r
2052                         verify(mockExecution).setVariable("prefix", "UPDNETI_")\r
2053                         verify(mockExecution).setVariable("UPDNETI_updateDBRequest", updateDBRequestError)\r
2054                 \r
2055                 }\r
2056                 \r
2057                 @Test\r
2058                 //@Ignore\r
2059                 public void prepareDBRequest_Outputs() {\r
2060                         \r
2061                         println "************ prepareDBRequest ************* "\r
2062                         ExecutionEntity mockExecution = mock(ExecutionEntity.class)\r
2063                         // Initialize prerequisite variables\r
2064                         when(mockExecution.getVariable("UPDNETI_networkOutputs")).thenReturn(networkOutputs)\r
2065                         when(mockExecution.getVariable("UPDNETI_requestId")).thenReturn("88f65519-9a38-4c4b-8445-9eb4a5a5af56")\r
2066                         when(mockExecution.getVariable("UPDNETI_orchestrationStatus")).thenReturn("")\r
2067                         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")\r
2068                         when(mockExecution.getVariable("URN_mso_adapters_db_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")\r
2069                         when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")\r
2070 \r
2071                         // preProcessRequest(Execution execution)\r
2072                         UpdateNetworkInstanceInfra UpdateNetworkInstanceInfra = new UpdateNetworkInstanceInfra()\r
2073                         UpdateNetworkInstanceInfra.prepareDBRequest(mockExecution)\r
2074                         \r
2075                         verify(mockExecution).setVariable("prefix", "UPDNETI_")\r
2076                         verify(mockExecution).setVariable("UPDNETI_updateDBRequest", updateDBRequest_Outputs)\r
2077                 \r
2078                 }\r
2079                         \r
2080                 @Test\r
2081                 //@Ignore\r
2082                 public void prepareUpdateNetworkRequest() {\r
2083                         \r
2084                         println "************ prepareNetworkRequest ************* "\r
2085                                                 ExecutionEntity mockExecution = setupMock()\r
2086                         // Initialize prerequisite variables\r
2087                         when(mockExecution.getVariable("UPDNETI_networkRequest")).thenReturn(expectedNetworkRequest)\r
2088                         when(mockExecution.getVariable("UPDNETI_requeryIdAAIResponse")).thenReturn(queryIdAIIResponse)\r
2089                         when(mockExecution.getVariable("UPDNETI_cloudRegionPo")).thenReturn("RDM2WAGPLCP")\r
2090                         when(mockExecution.getVariable("UPDNETI_messageId")).thenReturn("messageId_generated")\r
2091                         when(mockExecution.getVariable("UPDNETI_source")).thenReturn("VID")\r
2092                         //when(mockExecution.getVariable("UPDNETI_queryVpnBindingAAIResponse")).thenReturn(queryVpnBindingAAIResponse)\r
2093                         when(mockExecution.getVariable("UPDNETI_routeCollection")).thenReturn("<routeTargets>13979:105757</routeTargets><routeTargets>13979:105757</routeTargets>")\r
2094                         when(mockExecution.getVariable("UPDNETI_networkCollection")).thenReturn("<policyFqdns>GN_EVPN_Test</policyFqdns>")\r
2095                         when(mockExecution.getVariable("UPDNETI_tableRefCollection")).thenReturn("<routeTableFqdns>refFQDN1</routeTableFqdns><routeTableFqdns>refFQDN2</routeTableFqdns>")\r
2096                         when(mockExecution.getVariable("UPDNETI_requestId")).thenReturn("88f65519-9a38-4c4b-8445-9eb4a5a5af56")\r
2097                         //when(mockExecution.getVariable("URN_?????")).thenReturn("")   // notificationUrl, //TODO - is this coming from URN? What variable/value to use?\r
2098                         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")\r
2099                         when(mockExecution.getVariable("UPDNETI_rollbackEnabled")).thenReturn("true")\r
2100                         \r
2101                         // preProcessRequest(Execution execution)\r
2102                         UpdateNetworkInstanceInfra UpdateNetworkInstanceInfra = new UpdateNetworkInstanceInfra()\r
2103                         UpdateNetworkInstanceInfra.prepareUpdateNetworkRequest(mockExecution)\r
2104 \r
2105                         // check the sequence of variable invocation\r
2106                         //MockitoDebuggerImpl preDebugger = new MockitoDebuggerImpl()\r
2107                         //preDebugger.printInvocations(mockExecution)\r
2108 \r
2109                         // verify set prefix = "UPDNETI_"\r
2110                         verify(mockExecution).setVariable("prefix", "UPDNETI_")\r
2111                         \r
2112                         verify(mockExecution).setVariable("UPDNETI_updateNetworkRequest", updateNetworkRequest)\r
2113                         \r
2114                 }\r
2115                 \r
2116 \r
2117                 @Test\r
2118                 //@Ignore\r
2119                 public void prepareUpdateNetworkRequest_NoPhysicalname() {\r
2120                         \r
2121                         println "************ prepareNetworkRequest ************* "\r
2122                         ExecutionEntity mockExecution = mock(ExecutionEntity.class)\r
2123                         // Initialize prerequisite variables\r
2124                         when(mockExecution.getVariable("UPDNETI_networkRequest")).thenReturn(NetworkRequest_noPhysicalName)\r
2125                         when(mockExecution.getVariable("UPDNETI_requeryIdAAIResponse")).thenReturn(queryIdAIIResponse)\r
2126                         when(mockExecution.getVariable("UPDNETI_cloudRegionPo")).thenReturn("RDM2WAGPLCP")\r
2127                         when(mockExecution.getVariable("UPDNETI_messageId")).thenReturn("messageId_generated")\r
2128                         when(mockExecution.getVariable("UPDNETI_source")).thenReturn("VID")\r
2129                         //when(mockExecution.getVariable("UPDNETI_queryVpnBindingAAIResponse")).thenReturn(queryVpnBindingAAIResponse)\r
2130                         when(mockExecution.getVariable("UPDNETI_routeCollection")).thenReturn("<routeTargets>13979:105757</routeTargets><routeTargets>13979:105757</routeTargets>")\r
2131                         when(mockExecution.getVariable("UPDNETI_networkCollection")).thenReturn("<policyFqdns>GN_EVPN_Test</policyFqdns>")\r
2132                         when(mockExecution.getVariable("UPDNETI_tableRefCollection")).thenReturn("")\r
2133                         when(mockExecution.getVariable("UPDNETI_requestId")).thenReturn("88f65519-9a38-4c4b-8445-9eb4a5a5af56")\r
2134                         //when(mockExecution.getVariable("URN_?????")).thenReturn("")   // notificationUrl, //TODO - is this coming from URN? What variable/value to use?\r
2135                         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")\r
2136                         when(mockExecution.getVariable("UPDNETI_rollbackEnabled")).thenReturn("true")\r
2137                         \r
2138                         // preProcessRequest(Execution execution)\r
2139                         UpdateNetworkInstanceInfra UpdateNetworkInstanceInfra = new UpdateNetworkInstanceInfra()\r
2140                         UpdateNetworkInstanceInfra.prepareUpdateNetworkRequest(mockExecution)\r
2141 \r
2142                         // check the sequence of variable invocation\r
2143                         //MockitoDebuggerImpl preDebugger = new MockitoDebuggerImpl()\r
2144                         //preDebugger.printInvocations(mockExecution)\r
2145 \r
2146                         // verify set prefix = "UPDNETI_"\r
2147                         verify(mockExecution).setVariable("prefix", "UPDNETI_")\r
2148                         \r
2149                         verify(mockExecution).setVariable("UPDNETI_updateNetworkRequest", updateNetworkRequest_noPhysicalName)\r
2150                         \r
2151                 }\r
2152                 \r
2153                 @Test\r
2154                 //@Ignore\r
2155                 public void prepareSDNCRequest() {\r
2156                         \r
2157                         println "************ prepareSDNCRequest ************* "\r
2158                         \r
2159                         ExecutionEntity mockExecution = mock(ExecutionEntity.class)\r
2160                         // Initialize prerequisite variables\r
2161                         when(mockExecution.getVariable("UPDNETI_networkRequest")).thenReturn(expectedNetworkRequest)\r
2162                         when(mockExecution.getVariable("UPDNETI_cloudRegionSdnc")).thenReturn("RDM2WAGPLCP")\r
2163                         when(mockExecution.getVariable("UPDNETI_serviceInstanceId")).thenReturn("f70e927b-6087-4974-9ef8-c5e4d5847ca4")\r
2164                         when(mockExecution.getVariable("mso-request-id")).thenReturn("88f65519-9a38-4c4b-8445-9eb4a5a5af56")\r
2165                         when(mockExecution.getVariable("URN_mso_workflow_sdncadapter_callback")).thenReturn("http://localhost:28090/SDNCAdapterCallback")\r
2166                         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")\r
2167                         when(mockExecution.getVariable("GENGSI_siResourceLink")).thenReturn("https://aai-int1.test.com:8443/aai/v8/business/customers/customer/MSO_1610_dev/service-subscriptions/service-subscription/MSO-dev-service-type/service-instances/service-instance/6d4eb22a-82f1-4257-9f80-4176262cfe69/")\r
2168                         \r
2169                         \r
2170                         // preProcessRequest(Execution execution)\r
2171                         UpdateNetworkInstanceInfra UpdateNetworkInstanceInfra = new UpdateNetworkInstanceInfra()\r
2172                         UpdateNetworkInstanceInfra.prepareSDNCRequest(mockExecution)\r
2173                         \r
2174                         // verify set prefix = "UPDNETI_"\r
2175                         verify(mockExecution).setVariable("prefix", "UPDNETI_")\r
2176                         verify(mockExecution).setVariable("UPDNETI_changeAssignSDNCRequest", changeAssignSDNCRequest)\r
2177                         \r
2178                 }\r
2179                 \r
2180                 @Test\r
2181                 //@Ignore\r
2182                 public void prepareSDNCRollbackRequest() {\r
2183                         \r
2184                         println "************ prepareSDNCRollbackRequest ************* "\r
2185                         \r
2186 \r
2187                         \r
2188                         ExecutionEntity mockExecution = mock(ExecutionEntity.class)\r
2189                         // Initialize prerequisite variables\r
2190                         when(mockExecution.getVariable("UPDNETI_networkRequest")).thenReturn(expectedNetworkRequest)\r
2191                         when(mockExecution.getVariable("UPDNETI_cloudRegionSdnc")).thenReturn("RDM2WAGPLCP")\r
2192                         when(mockExecution.getVariable("UPDNETI_serviceInstanceId")).thenReturn("f70e927b-6087-4974-9ef8-c5e4d5847ca4")\r
2193                         when(mockExecution.getVariable("UPDNETI_changeAssignSDNCResponse")).thenReturn(assignResponse)\r
2194                         when(mockExecution.getVariable("mso-request-id")).thenReturn("88f65519-9a38-4c4b-8445-9eb4a5a5af56")\r
2195                         when(mockExecution.getVariable("URN_mso_workflow_sdncadapter_callback")).thenReturn("http://localhost:28090/SDNCAdapterCallback")\r
2196                         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")\r
2197                         when(mockExecution.getVariable("GENGSI_siResourceLink")).thenReturn("https://aai-int1.test.com:8443/aai/v8/business/customers/customer/MSO_1610_dev/service-subscriptions/service-subscription/MSO-dev-service-type/service-instances/service-instance/6d4eb22a-82f1-4257-9f80-4176262cfe69/")\r
2198                         \r
2199                         // preProcessRequest(Execution execution)\r
2200                         UpdateNetworkInstanceInfra UpdateNetworkInstanceInfra = new UpdateNetworkInstanceInfra()\r
2201                         UpdateNetworkInstanceInfra.prepareSDNCRollbackRequest(mockExecution)\r
2202                         \r
2203                         // verify set prefix = "UPDNETI_"\r
2204                         verify(mockExecution).setVariable("prefix", "UPDNETI_")\r
2205                         verify(mockExecution).setVariable("UPDNETI_rollbackSDNCRequest", sdncRollbackRequest)\r
2206                         \r
2207                 }\r
2208                 \r
2209                 @Test\r
2210                 //@Ignore\r
2211                 public void callRESTQueryAAINetworkId_200() {\r
2212 \r
2213                         println "************ callRESTQueryAAINetworkId ************* "\r
2214                         \r
2215                         WireMock.reset();\r
2216                         \r
2217                         MockGetNetwork("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "UpdateNetworkV2/updateNetwork_queryNetworkId_AAIResponse_Success.xml", 200);\r
2218                         \r
2219                         ExecutionEntity mockExecution = setupMock()\r
2220                         when(mockExecution.getVariable("UPDNETI_networkRequest")).thenReturn(expectedNetworkRequest)\r
2221                         when(mockExecution.getVariable("UPDNETI_messageId")).thenReturn("e8ebf6a0-f8ea-4dc0-8b99-fe98a87722d6")\r
2222                         when(mockExecution.getVariable("URN_aai_endpoint")).thenReturn("http://localhost:28090")\r
2223                         when(mockExecution.getVariable("URN_mso_workflow_global_default_aai_version")).thenReturn("8")\r
2224                         when(mockExecution.getVariable("URN_mso_workflow_default_aai_v8_l3_network_uri")).thenReturn("/aai/v8/network/l3-networks/l3-network")\r
2225                         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")\r
2226                         when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")\r
2227                         when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")\r
2228                         \r
2229                         // preProcessRequest(Execution execution)\r
2230                         UpdateNetworkInstanceInfra UpdateNetworkInstanceInfra = new UpdateNetworkInstanceInfra()\r
2231                         UpdateNetworkInstanceInfra.callRESTQueryAAINetworkId(mockExecution)\r
2232 \r
2233                         // check the sequence of variable invocation\r
2234                         //MockitoDebuggerImpl preDebugger = new MockitoDebuggerImpl()\r
2235                         //preDebugger.printInvocations(mockExecution)\r
2236 \r
2237                         verify(mockExecution).setVariable("prefix", "UPDNETI_")\r
2238                         verify(mockExecution).setVariable("UPDNETI_queryIdAAIRequest", "http://localhost:28090/aai/v8/network/l3-networks/l3-network/49c86598-f766-46f8-84f8-8d1c1b10f9b4")\r
2239                         verify(mockExecution).setVariable("UPDNETI_aaiIdReturnCode", "200")\r
2240                         \r
2241                 }\r
2242                 \r
2243                 @Test\r
2244                 //@Ignore\r
2245                 public void callRESTQueryAAICloudRegion30_200() {\r
2246 \r
2247                         println "************ callRESTQueryAAICloudRegion30_200 ************* "\r
2248                         \r
2249                         WireMock.reset();\r
2250                         MockGetCloudRegion("RDM2WAGPLCP", 200, "CreateNetworkV2/cloudRegion30_AAIResponse_Success.xml")\r
2251                         \r
2252                         ExecutionEntity mockExecution = setupMock()\r
2253                         when(mockExecution.getVariable("prefix")).thenReturn("UPDNETI_")\r
2254                         when(mockExecution.getVariable("UPDNETI_networkInputs")).thenReturn(expectedNetworkRequest)\r
2255                         when(mockExecution.getVariable("URN_aai_endpoint")).thenReturn("http://localhost:28090")\r
2256                         when(mockExecution.getVariable("URN_mso_workflow_global_default_aai_version")).thenReturn("8")\r
2257                         when(mockExecution.getVariable("URN_mso_workflow_default_aai_v8_cloud_region_uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic")\r
2258                         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")\r
2259                         when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")\r
2260                         when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")\r
2261                         \r
2262                         // preProcessRequest(Execution execution)\r
2263                         UpdateNetworkInstanceInfra UpdateNetworkInstanceInfra = new UpdateNetworkInstanceInfra()\r
2264                         UpdateNetworkInstanceInfra.callRESTQueryAAICloudRegion(mockExecution)\r
2265 \r
2266                         // check the sequence of variable invocation\r
2267                         //MockitoDebuggerImpl preDebugger = new MockitoDebuggerImpl()\r
2268                         //preDebugger.printInvocations(mockExecution)\r
2269 \r
2270                         verify(mockExecution, atLeast(1)).setVariable("prefix", "UPDNETI_")\r
2271                         verify(mockExecution).setVariable("UPDNETI_queryCloudRegionRequest", "http://localhost:28090/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic/RDM2WAGPLCP")\r
2272                         verify(mockExecution, atLeast(2)).setVariable("UPDNETI_queryCloudRegionReturnCode", "200")\r
2273                         verify(mockExecution).setVariable("UPDNETI_isCloudRegionGood", true)\r
2274                         \r
2275                 }\r
2276                 \r
2277                 @Test\r
2278                 //@Ignore\r
2279                 public void callRESTQueryAAICloudRegion25_200() {\r
2280 \r
2281                         println "************ callRESTQueryAAICloudRegion25_200 ************* "\r
2282                         \r
2283                         WireMock.reset();\r
2284                         MockGetCloudRegion("RDM2WAGPLCP", 200, "CreateNetworkV2/cloudRegion25_AAIResponse_Success.xml")\r
2285                         \r
2286                         ExecutionEntity mockExecution = setupMock()\r
2287                         when(mockExecution.getVariable("prefix")).thenReturn("UPDNETI_")\r
2288                         when(mockExecution.getVariable("UPDNETI_networkInputs")).thenReturn(expectedNetworkRequest)\r
2289                         when(mockExecution.getVariable("URN_aai_endpoint")).thenReturn("http://localhost:28090")\r
2290                         when(mockExecution.getVariable("URN_mso_workflow_global_default_aai_version")).thenReturn("8")\r
2291                         when(mockExecution.getVariable("URN_mso_workflow_default_aai_v8_cloud_region_uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic")\r
2292                         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")\r
2293                         when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")\r
2294                         when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")\r
2295                         \r
2296                         // preProcessRequest(Execution execution)\r
2297                         UpdateNetworkInstanceInfra UpdateNetworkInstanceInfra = new UpdateNetworkInstanceInfra()\r
2298                         UpdateNetworkInstanceInfra.callRESTQueryAAICloudRegion(mockExecution)\r
2299 \r
2300                         // check the sequence of variable invocation\r
2301                         //MockitoDebuggerImpl preDebugger = new MockitoDebuggerImpl()\r
2302                         //preDebugger.printInvocations(mockExecution)\r
2303 \r
2304                         verify(mockExecution, atLeast(1)).setVariable("prefix", "UPDNETI_")\r
2305                         verify(mockExecution).setVariable("UPDNETI_queryCloudRegionRequest", "http://localhost:28090/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic/RDM2WAGPLCP")\r
2306                         verify(mockExecution, atLeast(2)).setVariable("UPDNETI_queryCloudRegionReturnCode", "200")\r
2307                         verify(mockExecution).setVariable("UPDNETI_isCloudRegionGood", true)\r
2308                         \r
2309                 }\r
2310                 \r
2311                 @Test\r
2312                 //@Ignore\r
2313                 public void callRESTQueryAAICloudRegion_NotFound() {\r
2314 \r
2315                         println "************ callRESTQueryAAICloudRegionFake ************* "\r
2316                         \r
2317                         WireMock.reset();\r
2318                         MockGetCloudRegion("MDTWNJ21", 404, "")\r
2319                         \r
2320                         ExecutionEntity mockExecution = setupMock()\r
2321                         when(mockExecution.getVariable("prefix")).thenReturn("UPDNETI_")\r
2322                         when(mockExecution.getVariable("UPDNETI_networkInputs")).thenReturn(vnfRequestFakeRegion)\r
2323                         when(mockExecution.getVariable("URN_aai_endpoint")).thenReturn("http://localhost:28090")\r
2324                         when(mockExecution.getVariable("URN_mso_workflow_global_default_aai_version")).thenReturn("8")\r
2325                         when(mockExecution.getVariable("URN_mso_workflow_default_aai_v8_cloud_region_uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic")\r
2326                         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")\r
2327                         when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")\r
2328                         when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")\r
2329                         \r
2330                         // preProcessRequest(Execution execution)\r
2331                         UpdateNetworkInstanceInfra UpdateNetworkInstanceInfra = new UpdateNetworkInstanceInfra()\r
2332                         UpdateNetworkInstanceInfra.callRESTQueryAAICloudRegion(mockExecution)\r
2333 \r
2334                         // check the sequence of variable invocation\r
2335                         //MockitoDebuggerImpl preDebugger = new MockitoDebuggerImpl()\r
2336                         //preDebugger.printInvocations(mockExecution)\r
2337 \r
2338                         verify(mockExecution, atLeast(1)).setVariable("prefix", "UPDNETI_")\r
2339                         verify(mockExecution).setVariable("UPDNETI_queryCloudRegionRequest", "http://localhost:28090/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic/MDTWNJ21")\r
2340                         verify(mockExecution, atLeast(1)).setVariable("UPDNETI_queryCloudRegionReturnCode", "404")\r
2341                         verify(mockExecution).setVariable("UPDNETI_cloudRegionPo", "MDTWNJ21")\r
2342                         verify(mockExecution).setVariable("UPDNETI_cloudRegionSdnc", "AAIAIC25")\r
2343                         verify(mockExecution).setVariable("UPDNETI_isCloudRegionGood", true)\r
2344                         \r
2345                 }\r
2346                 \r
2347                 @Test\r
2348                 //@Ignore\r
2349                 public void callRESTQueryAAINetworkVpnBinding_200() {\r
2350 \r
2351                         println "************ callRESTQueryAAINetworkVpnBinding_200 ************* "\r
2352                         \r
2353                         WireMock.reset();\r
2354                         MockGetNetworkVpnBinding("85f015d0-2e32-4c30-96d2-87a1a27f8017", "UpdateNetworkV2/updateNetwork_queryVpnBinding_AAIResponse_Success.xml", 200)\r
2355                         MockGetNetworkVpnBinding("c980a6ef-3b88-49f0-9751-dbad8608d0a6", "UpdateNetworkV2/updateNetwork_queryVpnBinding_AAIResponse_Success.xml", 200);\r
2356                         \r
2357                         ExecutionEntity mockExecution = setupMock()\r
2358                         when(mockExecution.getVariable("UPDNETI_requeryIdAAIResponse")).thenReturn(queryIdAIIResponse) // v6\r
2359                         when(mockExecution.getVariable("UPDNETI_messageId")).thenReturn("e8ebf6a0-f8ea-4dc0-8b99-fe98a87722d6")\r
2360                         when(mockExecution.getVariable("URN_aai_endpoint")).thenReturn("http://localhost:28090")\r
2361                         when(mockExecution.getVariable("URN_mso_workflow_global_default_aai_version")).thenReturn("8")\r
2362                         when(mockExecution.getVariable("URN_mso_workflow_default_aai_v8_vpn_binding_uri")).thenReturn("/aai/v8/network/vpn-bindings/vpn-binding")\r
2363 //                      when(mockExecution.getVariable("URN_mso_workflow_UpdateNetworkInstanceInfra_aai_network_vpn-binding_uri")).thenReturn("")\r
2364                         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true") \r
2365                         when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")\r
2366                         when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")\r
2367                         \r
2368                         // preProcessRequest(Execution execution)\r
2369                         UpdateNetworkInstanceInfra UpdateNetworkInstanceInfra = new UpdateNetworkInstanceInfra()\r
2370                         UpdateNetworkInstanceInfra.callRESTQueryAAINetworkVpnBinding(mockExecution)\r
2371 \r
2372                         // check the sequence of variable invocation\r
2373                         //MockitoDebuggerImpl preDebugger = new MockitoDebuggerImpl()\r
2374                         //preDebugger.printInvocations(mockExecution)\r
2375 \r
2376                         verify(mockExecution).setVariable("prefix", "UPDNETI_")\r
2377                         verify(mockExecution).setVariable("UPDNETI_vpnCount", 2)\r
2378                         verify(mockExecution).setVariable("UPDNETI_vpnBindings", ['/aai/v8/network/vpn-bindings/vpn-binding/85f015d0-2e32-4c30-96d2-87a1a27f8017/', '/aai/v8/network/vpn-bindings/vpn-binding/c980a6ef-3b88-49f0-9751-dbad8608d0a6/'])\r
2379                         // the last vpnBinding value is saved.\r
2380                         verify(mockExecution).setVariable("UPDNETI_queryVpnBindingAAIRequest", "http://localhost:28090/aai/v8/network/vpn-bindings/vpn-binding/85f015d0-2e32-4c30-96d2-87a1a27f8017")\r
2381                         verify(mockExecution, atLeast(2)).setVariable("UPDNETI_aaiQqueryVpnBindingReturnCode", "200")\r
2382                         \r
2383                 }\r
2384 \r
2385                 @Test\r
2386                 //@Ignore\r
2387                 public void callRESTQueryAAINetworkVpnBinding_TestScenario01_200() {\r
2388 \r
2389                         println "************ callRESTQueryAAINetworkVpnBinding_200 ************* "\r
2390                         \r
2391                         WireMock.reset();\r
2392                         MockGetNetworkVpnBinding("85f015d0-2e32-4c30-96d2-87a1a27f8017", "UpdateNetworkV2/updateNetwork_queryVpnBinding_AAIResponse_Success.xml", 200)\r
2393                         \r
2394                         ExecutionEntity mockExecution = setupMock()\r
2395                         when(mockExecution.getVariable("UPDNETI_requeryIdAAIResponse")).thenReturn(queryIdAIIResponseTestScenario01) \r
2396                         when(mockExecution.getVariable("UPDNETI_messageId")).thenReturn("e8ebf6a0-f8ea-4dc0-8b99-fe98a87722d6")\r
2397                         when(mockExecution.getVariable("URN_aai_endpoint")).thenReturn("http://localhost:28090")\r
2398                         when(mockExecution.getVariable("URN_mso_workflow_global_default_aai_version")).thenReturn("8")\r
2399                         when(mockExecution.getVariable("URN_mso_workflow_default_aai_v8_vpn_binding_uri")).thenReturn("/aai/v8/network/vpn-bindings/vpn-binding")\r
2400 //                      when(mockExecution.getVariable("URN_mso_workflow_UpdateNetworkInstanceInfra_aai_network_vpn-binding_uri")).thenReturn("")\r
2401                         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")\r
2402                         when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")\r
2403                         when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")\r
2404                         \r
2405                         // preProcessRequest(Execution execution)\r
2406                         UpdateNetworkInstanceInfra UpdateNetworkInstanceInfra = new UpdateNetworkInstanceInfra()\r
2407                         UpdateNetworkInstanceInfra.callRESTQueryAAINetworkVpnBinding(mockExecution)\r
2408 \r
2409                         // check the sequence of variable invocation\r
2410                         //MockitoDebuggerImpl preDebugger = new MockitoDebuggerImpl()\r
2411                         //preDebugger.printInvocations(mockExecution)\r
2412 \r
2413                         verify(mockExecution).setVariable("prefix", "UPDNETI_")\r
2414                         verify(mockExecution).setVariable("UPDNETI_vpnCount", 1)\r
2415                         verify(mockExecution).setVariable("UPDNETI_vpnBindings", ['/aai/v8/network/vpn-bindings/vpn-binding/85f015d0-2e32-4c30-96d2-87a1a27f8017/'])\r
2416                         // the last vpnBinding value is saved.\r
2417                         verify(mockExecution).setVariable("UPDNETI_queryVpnBindingAAIRequest", "http://localhost:28090/aai/v8/network/vpn-bindings/vpn-binding/85f015d0-2e32-4c30-96d2-87a1a27f8017")\r
2418                         verify(mockExecution).setVariable("UPDNETI_aaiQqueryVpnBindingReturnCode", "200")\r
2419                         \r
2420                 }\r
2421                 \r
2422                 @Test\r
2423                 //@Ignore\r
2424                 public void callRESTQueryAAINetworkVpnBinding_200_URN_Uri() {\r
2425 \r
2426                         println "************ callRESTQueryAAINetworkVpnBinding_200 ************* "\r
2427                         \r
2428                         WireMock.reset();\r
2429                         MockGetNetworkVpnBinding("85f015d0-2e32-4c30-96d2-87a1a27f8017", "UpdateNetworkV2/updateNetwork_queryVpnBinding_AAIResponse_Success.xml", 200)\r
2430                         MockGetNetworkVpnBinding("c980a6ef-3b88-49f0-9751-dbad8608d0a6", "UpdateNetworkV2/updateNetwork_queryVpnBinding_AAIResponse_Success.xml", 200);\r
2431                         \r
2432                         ExecutionEntity mockExecution = setupMock()\r
2433                         when(mockExecution.getVariable("UPDNETI_requeryIdAAIResponse")).thenReturn(queryIdAIIResponse) \r
2434                         when(mockExecution.getVariable("UPDNETI_messageId")).thenReturn("e8ebf6a0-f8ea-4dc0-8b99-fe98a87722d6")\r
2435                         when(mockExecution.getVariable("URN_aai_endpoint")).thenReturn("http://localhost:28090")\r
2436                         when(mockExecution.getVariable("URN_mso_workflow_global_default_aai_version")).thenReturn("8")\r
2437                         when(mockExecution.getVariable("URN_mso_workflow_default_aai_v8_vpn_binding_uri")).thenReturn("/aai/v8/network/vpn-bindings/vpn-binding")\r
2438                         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")\r
2439                         when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")\r
2440                         when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")\r
2441                         \r
2442                         // preProcessRequest(Execution execution)\r
2443                         UpdateNetworkInstanceInfra UpdateNetworkInstanceInfra = new UpdateNetworkInstanceInfra()\r
2444                         UpdateNetworkInstanceInfra.callRESTQueryAAINetworkVpnBinding(mockExecution)\r
2445 \r
2446                         // check the sequence of variable invocation\r
2447                         //MockitoDebuggerImpl preDebugger = new MockitoDebuggerImpl()\r
2448                         //preDebugger.printInvocations(mockExecution)\r
2449 \r
2450                         verify(mockExecution).setVariable("prefix", "UPDNETI_")\r
2451                         verify(mockExecution).setVariable("UPDNETI_vpnCount", 2)\r
2452                         verify(mockExecution).setVariable("UPDNETI_vpnBindings", ['/aai/v8/network/vpn-bindings/vpn-binding/85f015d0-2e32-4c30-96d2-87a1a27f8017/', '/aai/v8/network/vpn-bindings/vpn-binding/c980a6ef-3b88-49f0-9751-dbad8608d0a6/'])\r
2453                         // the last vpnBinding value is saved.\r
2454                         verify(mockExecution).setVariable("UPDNETI_queryVpnBindingAAIRequest", "http://localhost:28090/aai/v8/network/vpn-bindings/vpn-binding/85f015d0-2e32-4c30-96d2-87a1a27f8017")\r
2455                         verify(mockExecution, atLeast(2)).setVariable("UPDNETI_aaiQqueryVpnBindingReturnCode", "200")\r
2456                         \r
2457                 }\r
2458                 \r
2459                 @Test\r
2460                 //@Ignore\r
2461                 public void callRESTQueryAAINetworkVpnBinding_NotPresent() {\r
2462 \r
2463                         println "************ callRESTQueryAAINetworkVpnBinding_NotPresent ************* "\r
2464                         \r
2465                         WireMock.reset();\r
2466                         MockGetNetworkVpnBinding("85f015d0-2e32-4c30-96d2-87a1a27f8017", "UpdateNetworkV2/updateNetwork_queryVpnBinding_AAIResponse_Success.xml", 200)\r
2467                         \r
2468                         ExecutionEntity mockExecution = setupMock()\r
2469                         // Initialize prerequisite variables\r
2470                         \r
2471                         when(mockExecution.getVariable("UPDNETI_requeryIdAAIResponse")).thenReturn(queryIdAIIResponseVpnNotPresent)  \r
2472                         when(mockExecution.getVariable("UPDNETI_messageId")).thenReturn("e8ebf6a0-f8ea-4dc0-8b99-fe98a87722d6")\r
2473                         when(mockExecution.getVariable("URN_aai_endpoint")).thenReturn("http://localhost:28090")\r
2474                         when(mockExecution.getVariable("URN_mso_workflow_global_default_aai_version")).thenReturn("8")\r
2475                         when(mockExecution.getVariable("URN_mso_workflow_default_aai_v8_l3_network_uri")).thenReturn("/aai/v8/network/l3-networks/l3-network")\r
2476                         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")\r
2477                         \r
2478                         // preProcessRequest(Execution execution)\r
2479                         UpdateNetworkInstanceInfra UpdateNetworkInstanceInfra = new UpdateNetworkInstanceInfra()\r
2480                         UpdateNetworkInstanceInfra.callRESTQueryAAINetworkVpnBinding(mockExecution)\r
2481 \r
2482                         // check the sequence of variable invocation\r
2483                         //MockitoDebuggerImpl preDebugger = new MockitoDebuggerImpl()\r
2484                         //preDebugger.printInvocations(mockExecution)\r
2485 \r
2486                         verify(mockExecution).setVariable("prefix", "UPDNETI_")\r
2487                         verify(mockExecution).setVariable("UPDNETI_aaiQqueryVpnBindingReturnCode", "200")\r
2488                         verify(mockExecution).setVariable("UPDNETI_vpnCount", 0)\r
2489                         verify(mockExecution).setVariable("UPDNETI_queryVpnBindingAAIResponse", aaiVpnResponseStub)\r
2490                                                 \r
2491                 }\r
2492                 \r
2493                 @Test\r
2494                 //@Ignore\r
2495                 public void callRESTQueryAAINetworkTableRef_200() {\r
2496 \r
2497                         println "************ callRESTQueryAAINetworkTableRef_200 ************* "\r
2498                         \r
2499                         WireMock.reset();\r
2500                         MockGetNetworkRouteTable("refFQDN1", "CreateNetworkV2/createNetwork_queryNetworkTableRef1_AAIResponse_Success.xml", 200)\r
2501                         MockGetNetworkRouteTable("refFQDN2", "CreateNetworkV2/createNetwork_queryNetworkTableRef2_AAIResponse_Success.xml", 200)\r
2502                         \r
2503                         ExecutionEntity mockExecution = setupMock()\r
2504                         when(mockExecution.getVariable("UPDNETI_requeryIdAAIResponse")).thenReturn(queryIdAIIResponse)\r
2505                         when(mockExecution.getVariable("UPDNETI_messageId")).thenReturn("e8ebf6a0-f8ea-4dc0-8b99-fe98a87722d6")\r
2506                         when(mockExecution.getVariable("URN_aai_endpoint")).thenReturn("http://localhost:28090")\r
2507                         when(mockExecution.getVariable("URN_mso_workflow_global_default_aai_version")).thenReturn("8")\r
2508                         when(mockExecution.getVariable("URN_mso_workflow_default_aai_v8_route_table_reference_uri")).thenReturn("/aai/v8/network/route-table-references/route-table-reference")\r
2509 //                      when(mockExecution.getVariable("URN_mso_workflow_CreateNetworkInstanceInfra_aai_network_table_reference_uri")).thenReturn("")\r
2510                         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")\r
2511                         when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")\r
2512                         when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")\r
2513                         \r
2514                         // preProcessRequest(Execution execution)\r
2515                         UpdateNetworkInstanceInfra UpdateNetworkInstanceInfra = new UpdateNetworkInstanceInfra()\r
2516                         UpdateNetworkInstanceInfra.callRESTQueryAAINetworkTableRef(mockExecution)\r
2517 \r
2518                         // check the sequence of variable invocation\r
2519                         //MockitoDebuggerImpl preDebugger = new MockitoDebuggerImpl()\r
2520                         //preDebugger.printInvocations(mockExecution)\r
2521 \r
2522                         verify(mockExecution).setVariable("prefix", "UPDNETI_")\r
2523                         verify(mockExecution).setVariable("UPDNETI_networkTableRefCount", 2)\r
2524                         verify(mockExecution).setVariable("UPDNETI_networkTableRefUriList", ['/aai/v8/network/route-table-references/route-table-reference/refFQDN1','/aai/v8/network/route-table-references/route-table-reference/refFQDN2'])\r
2525                         // the last vpnBinding value is saved.\r
2526                         verify(mockExecution).setVariable("UPDNETI_queryNetworkTableRefAAIRequest", "http://localhost:28090/aai/v8/network/route-table-references/route-table-reference/refFQDN1")\r
2527                         verify(mockExecution, atLeast(2)).setVariable("UPDNETI_aaiQqueryNetworkTableRefReturnCode", "200")\r
2528                         \r
2529                 }\r
2530                 \r
2531                 @Test\r
2532                 //@Ignore\r
2533                 public void callRESTQueryAAINetworkPolicy_200() {\r
2534 \r
2535                         println "************ callRESTQueryAAINetworkPolicy_200 ************* "\r
2536                         \r
2537                         WireMock.reset();\r
2538                         MockGetNetworkPolicy("cee6d136-e378-4678-a024-2cd15f0ee0cg", "UpdateNetworkV2/updateNetwork_queryNetworkPolicy_AAIResponse_Success.xml", 200)\r
2539                         \r
2540                         ExecutionEntity mockExecution = setupMock()\r
2541                         when(mockExecution.getVariable("UPDNETI_requeryIdAAIResponse")).thenReturn(queryIdAIIResponse) \r
2542                         when(mockExecution.getVariable("UPDNETI_messageId")).thenReturn("e8ebf6a0-f8ea-4dc0-8b99-fe98a87722d6")\r
2543                         when(mockExecution.getVariable("URN_aai_endpoint")).thenReturn("http://localhost:28090")\r
2544                         when(mockExecution.getVariable("URN_mso_workflow_global_default_aai_version")).thenReturn("8")\r
2545                         when(mockExecution.getVariable("URN_mso_workflow_default_aai_v8_network_policy_uri")).thenReturn("/aai/v8/network/network-policies/network-policy")\r
2546 //                      when(mockExecution.getVariable("URN_mso_workflow_UpdateNetworkInstanceInfra_aai_network_policy_uri")).thenReturn("")\r
2547                         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")\r
2548                         when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")\r
2549                         when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")\r
2550                         \r
2551                         // preProcessRequest(Execution execution)\r
2552                         UpdateNetworkInstanceInfra UpdateNetworkInstanceInfra = new UpdateNetworkInstanceInfra()\r
2553                         UpdateNetworkInstanceInfra.callRESTQueryAAINetworkPolicy(mockExecution)\r
2554 \r
2555                         // check the sequence of variable invocation\r
2556                         //MockitoDebuggerImpl preDebugger = new MockitoDebuggerImpl()\r
2557                         //preDebugger.printInvocations(mockExecution)\r
2558 \r
2559                         verify(mockExecution).setVariable("prefix", "UPDNETI_")\r
2560                         verify(mockExecution).setVariable("UPDNETI_networkPolicyCount", 1)\r
2561                         verify(mockExecution).setVariable("UPDNETI_networkPolicyUriList", ['/aai/v8/network/network-policies/network-policy/cee6d136-e378-4678-a024-2cd15f0ee0cg'])\r
2562                         // the last vpnBinding value is saved.\r
2563                         verify(mockExecution).setVariable("UPDNETI_queryNetworkPolicyAAIRequest", "http://localhost:28090/aai/v8/network/network-policies/network-policy/cee6d136-e378-4678-a024-2cd15f0ee0cg")\r
2564                         verify(mockExecution).setVariable("UPDNETI_aaiQqueryNetworkPolicyReturnCode", "200")\r
2565                         \r
2566                 }\r
2567                 \r
2568                 \r
2569                 @Test\r
2570                 //@Ignore\r
2571                 public void callRESTReQueryAAINetworkId_200() {\r
2572 \r
2573                         println "************ callRESTReQueryAAINetworkId ************* "\r
2574                         \r
2575                         WireMock.reset();\r
2576                         MockGetNetwork("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "UpdateNetworkV2/updateNetwork_queryNetworkId_AAIResponse_Success.xml", 200)\r
2577                         \r
2578                         ExecutionEntity mockExecution = setupMock()\r
2579                         when(mockExecution.getVariable("UPDNETI_changeAssignSDNCResponse")).thenReturn(sdncAdapterWorkflowFormattedResponse)\r
2580                         when(mockExecution.getVariable("UPDNETI_messageId")).thenReturn("e8ebf6a0-f8ea-4dc0-8b99-fe98a87722d6")\r
2581                         when(mockExecution.getVariable("URN_aai_endpoint")).thenReturn("http://localhost:28090")\r
2582                         when(mockExecution.getVariable("URN_mso_workflow_global_default_aai_version")).thenReturn("8")\r
2583                         when(mockExecution.getVariable("URN_mso_workflow_default_aai_v8_l3_network_uri")).thenReturn("/aai/v8/network/l3-networks/l3-network")\r
2584                         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")\r
2585                         when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")\r
2586                         when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")\r
2587                         \r
2588                         // preProcessRequest(Execution execution)\r
2589                         UpdateNetworkInstanceInfra UpdateNetworkInstanceInfra = new UpdateNetworkInstanceInfra()\r
2590                         UpdateNetworkInstanceInfra.callRESTReQueryAAINetworkId(mockExecution)\r
2591                         \r
2592                         // check the sequence of variable invocation\r
2593                         //MockitoDebuggerImpl preDebugger = new MockitoDebuggerImpl()\r
2594                         //preDebugger.printInvocations(mockExecution)\r
2595 \r
2596                         verify(mockExecution).setVariable("prefix", "UPDNETI_")\r
2597                         verify(mockExecution).setVariable("UPDNETI_requeryIdAAIRequest", "http://localhost:28090/aai/v8/network/l3-networks/l3-network/49c86598-f766-46f8-84f8-8d1c1b10f9b4")\r
2598                         verify(mockExecution).setVariable("UPDNETI_aaiRequeryIdReturnCode", "200")\r
2599                         \r
2600                 }\r
2601                 \r
2602 \r
2603                 @Test\r
2604                 @Ignore\r
2605                 public void callRESTUpdateContrailAAINetworkREST_200() {\r
2606 \r
2607                         println "************ callRESTUpdateContrailAAINetwork ************* "\r
2608                         \r
2609                         WireMock.reset();\r
2610                         MockPutNetwork("49c86598-f766-46f8-84f8-8d1c1b10f9b4", 200, "UpdateNetworkV2/updateNetwork_updateContrail_AAIResponse_Success.xml")\r
2611                         \r
2612                         ExecutionEntity mockExecution = setupMock()\r
2613                         when(mockExecution.getVariable("UPDNETI_changeAssignSDNCResponse")).thenReturn(sdncAdapterWorkflowFormattedResponse)\r
2614                         when(mockExecution.getVariable("UPDNETI_requeryIdAAIResponse")).thenReturn(queryIdAIIResponse)\r
2615                         when(mockExecution.getVariable("UPDNETI_updateNetworkResponse")).thenReturn(updateNetworkResponseREST)\r
2616                         when(mockExecution.getVariable("UPDNETI_messageId")).thenReturn("e8ebf6a0-f8ea-4dc0-8b99-fe98a87722d6")\r
2617                         when(mockExecution.getVariable("URN_aai_endpoint")).thenReturn("http://localhost:28090")\r
2618                         when(mockExecution.getVariable("URN_mso_workflow_global_default_aai_version")).thenReturn("8")\r
2619                         when(mockExecution.getVariable("URN_mso_workflow_default_aai_v8_l3_network_uri")).thenReturn("/aai/v8/network/l3-networks/l3-network")\r
2620                         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")\r
2621                         when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")\r
2622                         when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")\r
2623                         \r
2624                         // preProcessRequest(Execution execution)\r
2625                         UpdateNetworkInstanceInfra UpdateNetworkInstanceInfra = new UpdateNetworkInstanceInfra()\r
2626                         UpdateNetworkInstanceInfra.callRESTUpdateContrailAAINetwork(mockExecution)\r
2627 \r
2628                         // Capture the arguments to setVariable\r
2629                         ArgumentCaptor<String> captor1 = ArgumentCaptor.forClass(String.class);\r
2630                         ArgumentCaptor<String> captor2 = ArgumentCaptor.forClass(String.class);\r
2631                         \r
2632                         verify(mockExecution, times(6)).setVariable(captor1.capture(), captor2.capture())\r
2633                         List<String> arg2List = captor2.getAllValues()\r
2634                         String payloadResponseActual = arg2List.get(4)\r
2635                         \r
2636                         assertEquals(updateContrailAAIResponse.replaceAll("\\s+", ""), payloadResponseActual.replaceAll("\\s+", ""))\r
2637                         \r
2638                         verify(mockExecution).setVariable("prefix", "UPDNETI_")\r
2639                         verify(mockExecution).setVariable("UPDNETI_updateContrailAAIUrlRequest", "http://localhost:28090/aai/v8/network/l3-networks/l3-network/49c86598-f766-46f8-84f8-8d1c1b10f9b4")\r
2640                         verify(mockExecution).setVariable("UPDNETI_updateContrailAAIPayloadRequest", updateContrailAAIPayloadRequest)\r
2641                         verify(mockExecution).setVariable("UPDNETI_aaiUpdateContrailReturnCode", "200")\r
2642                         verify(mockExecution).setVariable("UPDNETI_isPONR", true)\r
2643                                 \r
2644                 }\r
2645                 \r
2646 \r
2647         \r
2648                 @Test\r
2649                 //@Ignore\r
2650                 public void validateUpdateNetworkResponseREST() {\r
2651                         \r
2652                         println "************ validateNetworkResponse ************* "\r
2653                         \r
2654                         ExecutionEntity mockExecution = mock(ExecutionEntity.class)\r
2655                         // Initialize prerequisite variables\r
2656                         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")\r
2657                         when(mockExecution.getVariable("UPDNETI_updateNetworkResponse")).thenReturn(updateNetworkResponseREST)\r
2658                         when(mockExecution.getVariable("UPDNETI_networkReturnCode")).thenReturn('200')\r
2659                         \r
2660                         UpdateNetworkInstanceInfra UpdateNetworkInstanceInfra = new UpdateNetworkInstanceInfra()\r
2661                         UpdateNetworkInstanceInfra.validateUpdateNetworkResponse(mockExecution)\r
2662 \r
2663                         //MockitoDebuggerImpl debugger = new MockitoDebuggerImpl()\r
2664                         //debugger.printInvocations(mockExecution)\r
2665                                                 \r
2666                         verify(mockExecution).setVariable("prefix", "UPDNETI_")\r
2667                         verify(mockExecution).setVariable("UPDNETI_updateNetworkResponse", updateNetworkResponseREST)\r
2668                         verify(mockExecution).setVariable("UPDNETI_isNetworkRollbackNeeded", true)\r
2669                         verify(mockExecution).setVariable("UPDNETI_rollbackNetworkRequest", updateRollbackNetworkRequest)\r
2670 \r
2671                 }\r
2672                 \r
2673                 @Test\r
2674                 //@Ignore\r
2675                 public void validateUpdateNetworkResponseREST_Error() {\r
2676                         \r
2677                         println "************ validateNetworkResponse ************* "\r
2678                         \r
2679                         WorkflowException workflowException = new WorkflowException("UpdateNetworkInstanceInfra", 2500, "Received error from Network Adapter: JBWEB000065: HTTP Status 500.")\r
2680                         \r
2681                         ExecutionEntity mockExecution = setupMock()\r
2682                         // Initialize prerequisite variables\r
2683                         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")\r
2684                         when(mockExecution.getVariable("UPDNETI_updateNetworkResponse")).thenReturn(networkException500)\r
2685                         when(mockExecution.getVariable("UPDNETI_networkReturnCode")).thenReturn('500')\r
2686                         \r
2687                         UpdateNetworkInstanceInfra UpdateNetworkInstanceInfra = new UpdateNetworkInstanceInfra()\r
2688                         try {\r
2689                                 UpdateNetworkInstanceInfra.validateUpdateNetworkResponse(mockExecution)\r
2690                         } catch (Exception ex) {\r
2691                                 println " Test End - Handle catch-throw BpmnError()! "\r
2692                         }\r
2693                                                 \r
2694                         verify(mockExecution).setVariable("prefix", "UPDNETI_")\r
2695                         verify(mockExecution, atLeast(1)).setVariable("WorkflowException", refEq(workflowException, any(WorkflowException.class)))\r
2696                         \r
2697                 }\r
2698                 \r
2699                 @Test\r
2700                 //@Ignore \r
2701                 public void validateSDNCResponse() {\r
2702                         \r
2703                         println "************ validateSDNCResponse ************* "\r
2704                         \r
2705                         ExecutionEntity mockExecution = setupMock()\r
2706                         // Initialize prerequisite variables\r
2707                         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")\r
2708                         when(mockExecution.getVariable("UPDNETI_changeAssignSDNCResponse")).thenReturn(sdncAdapterWorkflowResponse)\r
2709                         when(mockExecution.getVariable("prefix")).thenReturn("UPDNETI_")\r
2710                         when(mockExecution.getVariable("SDNCA_SuccessIndicator")).thenReturn(true)\r
2711                         when(mockExecution.getVariable("UPDNETI_sdncReturnCode")).thenReturn("200")\r
2712                         when(mockExecution.getVariable("UPDNETI_isResponseGood")).thenReturn(true)\r
2713                         \r
2714                         UpdateNetworkInstanceInfra UpdateNetworkInstanceInfra = new UpdateNetworkInstanceInfra()\r
2715                         try {\r
2716                           UpdateNetworkInstanceInfra.validateSDNCResponse(mockExecution)\r
2717                           verify(mockExecution).setVariable("UPDNETI_isSdncRollbackNeeded", true)\r
2718                           verify(mockExecution).setVariable("UPDNETI_rollbackSDNCRequest", "")\r
2719                           \r
2720                         } catch (Exception ex) {\r
2721                                 println " Graceful Exit - " + ex.getMessage()\r
2722                         }\r
2723                         //MockitoDebuggerImpl debugger = new MockitoDebuggerImpl()\r
2724                         //debugger.printInvocations(mockExecution)\r
2725                         \r
2726                         //verify(mockExecution).setVariable("UPDNETI_isSdncRollbackNeeded", true)\r
2727                                 \r
2728                 }\r
2729 \r
2730                 @Test\r
2731                 //@Ignore\r
2732                 public void validateSDNCResponse_Error() {\r
2733                         \r
2734                         println "************ validateSDNCResponse ************* "\r
2735                         //ExecutionEntity mockExecution = mock(ExecutionEntity.class)\r
2736                         ExecutionEntity mockExecution = setupMock()\r
2737                         // Initialize prerequisite variables\r
2738                         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")\r
2739                         when(mockExecution.getVariable("UPDNETI_changeAssignSDNCResponse")).thenReturn(sdncAdapterWorkflowResponse_Error)\r
2740                         when(mockExecution.getVariable("prefix")).thenReturn("UPDNETI_")\r
2741                         when(mockExecution.getVariable("SDNCA_SuccessIndicator")).thenReturn(false)\r
2742                         when(mockExecution.getVariable("UPDNETI_sdncReturnCode")).thenReturn("200")\r
2743                         when(mockExecution.getVariable("UPDNETI_isResponseGood")).thenReturn(true)\r
2744                         \r
2745                         UpdateNetworkInstanceInfra UpdateNetworkInstanceInfra = new UpdateNetworkInstanceInfra()\r
2746                         try {\r
2747                                 UpdateNetworkInstanceInfra.validateSDNCResponse(mockExecution)\r
2748                         } catch (Exception ex) {\r
2749                                 println " Graceful Exit! - " + ex.getMessage() \r
2750                         }\r
2751                         //MockitoDebuggerImpl debugger = new MockitoDebuggerImpl()\r
2752                         //debugger.printInvocations(mockExecution)\r
2753                         \r
2754                         // verify set prefix = "UPDNETI_"\r
2755                         //verify(mockExecution).setVariable("UPDNETI_sdncResponseSuccess", false)\r
2756                                 \r
2757                 }\r
2758 \r
2759                 \r
2760                 \r
2761                 @Test\r
2762                 //@Ignore\r
2763                 public void postProcessResponse() {\r
2764                         \r
2765                         println "************ postProcessResponse ************* "\r
2766                         ExecutionEntity mockExecution = mock(ExecutionEntity.class)\r
2767                         // Initialize prerequisite variables\r
2768                         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")\r
2769                         when(mockExecution.getVariable("UPDNETI_source")).thenReturn("PORTAL")\r
2770                         when(mockExecution.getVariable("UPDNETI_requestId")).thenReturn("88f65519-9a38-4c4b-8445-9eb4a5a5af56")\r
2771                         when(mockExecution.getVariable("UPDNETI_dbReturnCode")).thenReturn("200")\r
2772                         \r
2773                         // postProcessResponse(Execution execution)                                             \r
2774                         UpdateNetworkInstanceInfra UpdateNetworkInstanceInfra = new UpdateNetworkInstanceInfra()\r
2775                         UpdateNetworkInstanceInfra.postProcessResponse(mockExecution)\r
2776 \r
2777                         // check the sequence of variable invocation\r
2778                         //MockitoDebuggerImpl preDebugger = new MockitoDebuggerImpl()\r
2779                         //preDebugger.printInvocations(mockExecution)\r
2780 \r
2781                         verify(mockExecution).setVariable("prefix", "UPDNETI_")\r
2782                         verify(mockExecution).setVariable("UPDNETI_Success", true)\r
2783                         verify(mockExecution).setVariable("UPDNETI_CompleteMsoProcessRequest", completeMsoProcessRequest)\r
2784                 \r
2785                 }\r
2786 \r
2787                 @Test\r
2788                 //@Ignore\r
2789                 public void validateRollbackResponses_Good() {\r
2790                         \r
2791                         WorkflowException workflowException = new WorkflowException("UpdateNetworkInstanceInfra", 2500, "AAI Update Contrail Failed.  Error 404.")\r
2792                         WorkflowException expectedWorkflowException = new WorkflowException("UpdateNetworkInstanceInfra", 2500, "AAI Update Contrail Failed.  Error 404. + PO Network rollback is not supported for Update. Submit another Update to restore/rollback. + SNDC rollback completed.")\r
2793                                   \r
2794                         println "************ validateRollbackResponses_Good() ************* "\r
2795                         ExecutionEntity mockExecution = setupMock()\r
2796                         // Initialize prerequisite variables\r
2797                         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")\r
2798                         when(mockExecution.getVariable("prefix")).thenReturn("UPDNETI_")\r
2799 \r
2800                         when(mockExecution.getVariable("UPDNETI_isNetworkRollbackNeeded")).thenReturn(true)\r
2801                         when(mockExecution.getVariable("UPDNETI_rollbackNetworkReturnCode")).thenReturn("200")\r
2802                         when(mockExecution.getVariable("UPDNETI_rollbackNetworkResponse")).thenReturn("GoodResponse")\r
2803                         when(mockExecution.getVariable("UPDNETI_isSdncRollbackNeeded")).thenReturn(true)\r
2804                         when(mockExecution.getVariable("UPDNETI_rollbackSDNCReturnCode")).thenReturn("200")\r
2805                         when(mockExecution.getVariable("UPDNETI_rollbackSDNCResponse")).thenReturn("GoodResponse")\r
2806                         when(mockExecution.getVariable("WorkflowException")).thenReturn(workflowException)\r
2807                                                                         \r
2808                         UpdateNetworkInstanceInfra UpdateNetworkInstanceInfra = new UpdateNetworkInstanceInfra()\r
2809                         UpdateNetworkInstanceInfra.validateRollbackResponses(mockExecution)\r
2810                         \r
2811                         // verify set prefix = "UPDNETI_"\r
2812                         verify(mockExecution, atLeast(1)).setVariable("prefix", "UPDNETI_")\r
2813                         verify(mockExecution).setVariable("WorkflowException", refEq(expectedWorkflowException, any(WorkflowException.class)))\r
2814                         \r
2815                 }\r
2816                 \r
2817                 @Test\r
2818                 //@Ignore\r
2819                 public void validateRollbackResponses_Failed() {\r
2820                         \r
2821                         WorkflowException workflowException = new WorkflowException("UpdateNetworkInstanceInfra", 7020, "AAI Update Contrail Failed.  Error 404.")\r
2822                         WorkflowException expectedWorkflowException = new WorkflowException("UpdateNetworkInstanceInfra", 7020, "AAI Update Contrail Failed.  Error 404. + PO Network rollback is not supported for Update. Submit another Update to restore/rollback. + SDNC rollback failed. ")\r
2823                                   \r
2824                         println "************ validateRollbackResponses_Failed() ************* "\r
2825                         ExecutionEntity mockExecution = setupMock()\r
2826                         // Initialize prerequisite variables\r
2827                         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")\r
2828                         when(mockExecution.getVariable("prefix")).thenReturn("UPDNETI_")\r
2829 \r
2830                         when(mockExecution.getVariable("UPDNETI_isNetworkRollbackNeeded")).thenReturn(true)\r
2831                         when(mockExecution.getVariable("UPDNETI_rollbackNetworkReturnCode")).thenReturn("404")\r
2832                         when(mockExecution.getVariable("UPDNETI_rollbackNetworkResponse")).thenReturn("BadResponse")\r
2833                         when(mockExecution.getVariable("UPDNETI_isSdncRollbackNeeded")).thenReturn(true)\r
2834                         when(mockExecution.getVariable("UPDNETI_rollbackSDNCReturnCode")).thenReturn("500")\r
2835                         when(mockExecution.getVariable("UPDNETI_rollbackSDNCResponse")).thenReturn("BadResponse")\r
2836                         when(mockExecution.getVariable("WorkflowException")).thenReturn(workflowException)\r
2837                                                                         \r
2838                         UpdateNetworkInstanceInfra UpdateNetworkInstanceInfra = new UpdateNetworkInstanceInfra()\r
2839                         UpdateNetworkInstanceInfra.validateRollbackResponses(mockExecution)\r
2840                         \r
2841                         // verify set prefix = "UPDNETI_"\r
2842                         verify(mockExecution, atLeast(1)).setVariable("prefix", "UPDNETI_")\r
2843                         verify(mockExecution, atLeast(1)).setVariable("WorkflowException", refEq(expectedWorkflowException, any(WorkflowException.class)))\r
2844 \r
2845                 }\r
2846                 \r
2847                 @Test\r
2848                 //@Ignore\r
2849                 public void validateRollbackResponses_NetworkFailed() {\r
2850                         \r
2851                         WorkflowException workflowException = new WorkflowException("UpdateNetworkInstanceInfra", 7020, "AAI Update Contrail Failed.  Error 404.")\r
2852                         WorkflowException expectedWorkflowExceptionFailed = new WorkflowException("UpdateNetworkInstanceInfra", 7020, "AAI Update Contrail Failed.  Error 404. + PO Network rollback is not supported for Update. Submit another Update to restore/rollback. + SNDC rollback completed.")\r
2853                                   \r
2854                         println "************ validateRollbackResponses_NetworkFailed() ************* "\r
2855                         ExecutionEntity mockExecution = setupMock()\r
2856                         // Initialize prerequisite variables\r
2857                         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")\r
2858                         when(mockExecution.getVariable("prefix")).thenReturn("UPDNETI_")\r
2859 \r
2860                         when(mockExecution.getVariable("UPDNETI_isNetworkRollbackNeeded")).thenReturn(true)\r
2861                         when(mockExecution.getVariable("UPDNETI_rollbackNetworkReturnCode")).thenReturn("404")\r
2862                         when(mockExecution.getVariable("UPDNETI_rollbackNetworkResponse")).thenReturn("BadResponse")\r
2863                         when(mockExecution.getVariable("UPDNETI_isSdncRollbackNeeded")).thenReturn(true)\r
2864                         when(mockExecution.getVariable("UPDNETI_rollbackSDNCReturnCode")).thenReturn("200")\r
2865                         when(mockExecution.getVariable("UPDNETI_rollbackSDNCResponse")).thenReturn("GoodResponse")\r
2866                         when(mockExecution.getVariable("WorkflowException")).thenReturn(workflowException)\r
2867                                                                         \r
2868                         UpdateNetworkInstanceInfra UpdateNetworkInstanceInfra = new UpdateNetworkInstanceInfra()\r
2869                         UpdateNetworkInstanceInfra.validateRollbackResponses(mockExecution)\r
2870                         \r
2871                         // verify set prefix = "UPDNETI_"\r
2872                         verify(mockExecution, atLeast(1)).setVariable("prefix", "UPDNETI_")\r
2873                         verify(mockExecution, atLeast(1)).setVariable("WorkflowException", refEq(expectedWorkflowExceptionFailed , any(WorkflowException.class)))\r
2874 \r
2875                 }\r
2876                 \r
2877                 @Test\r
2878                 //@Ignore\r
2879                 public void validateRollbackResponses_SdncFailed() {\r
2880                         \r
2881                         WorkflowException workflowException = new WorkflowException("UpdateNetworkInstanceInfra", 7020, "AAI Update Contrail Failed.  Error 404.")\r
2882                         WorkflowException expectedWorkflowException = new WorkflowException("UpdateNetworkInstanceInfra", 7020, "AAI Update Contrail Failed.  Error 404. + PO Network rollback is not supported for Update. Submit another Update to restore/rollback. + SDNC rollback failed. ")\r
2883                                   \r
2884                         println "************ validateRollbackResponses_SdncFailed() ************* "\r
2885                         ExecutionEntity mockExecution = setupMock()\r
2886                         // Initialize prerequisite variables\r
2887                         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")\r
2888                         when(mockExecution.getVariable("prefix")).thenReturn("UPDNETI_")\r
2889 \r
2890                         when(mockExecution.getVariable("UPDNETI_isNetworkRollbackNeeded")).thenReturn(true)\r
2891                         when(mockExecution.getVariable("UPDNETI_rollbackNetworkReturnCode")).thenReturn("200")\r
2892                         when(mockExecution.getVariable("UPDNETI_rollbackNetworkResponse")).thenReturn("GoodResponse")\r
2893                         when(mockExecution.getVariable("UPDNETI_isSdncRollbackNeeded")).thenReturn(true)\r
2894                         when(mockExecution.getVariable("UPDNETI_rollbackSDNCReturnCode")).thenReturn("200")\r
2895                         when(mockExecution.getVariable("UPDNETI_rollbackSDNCResponse")).thenReturn("<response-code>400</response-code>")\r
2896                         when(mockExecution.getVariable("WorkflowException")).thenReturn(workflowException)\r
2897                                                                         \r
2898                         UpdateNetworkInstanceInfra UpdateNetworkInstanceInfra = new UpdateNetworkInstanceInfra()\r
2899                         UpdateNetworkInstanceInfra.validateRollbackResponses(mockExecution)\r
2900                         \r
2901                         // verify set prefix = "UPDNETI_"\r
2902                         verify(mockExecution, atLeast(1)).setVariable("prefix", "UPDNETI_")\r
2903                         verify(mockExecution).setVariable("WorkflowException", refEq(expectedWorkflowException , any(WorkflowException.class)))\r
2904 \r
2905                 }\r
2906                 \r
2907                 @Test\r
2908                 //@Ignore\r
2909                 public void validateRollbackResponses_NoRollbacks() {\r
2910                         \r
2911                         WorkflowException workflowException = new WorkflowException("UpdateNetworkInstanceInfra", 2500, " AAI Update Contrail Failed.  Error 404")\r
2912                         WorkflowException expectedWorkflowException = new WorkflowException("UpdateNetworkInstanceInfra", 2500, " AAI Update Contrail Failed.  Error 404")\r
2913                                   \r
2914                         println "************ validateRollbackResponses_NoRollbacks() ************* "\r
2915                         ExecutionEntity mockExecution = setupMock()\r
2916                         // Initialize prerequisite variables\r
2917                         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")\r
2918                         when(mockExecution.getVariable("prefix")).thenReturn("UPDNETI_")\r
2919 \r
2920                         when(mockExecution.getVariable("UPDNETI_isNetworkRollbackNeeded")).thenReturn(false)\r
2921                         when(mockExecution.getVariable("UPDNETI_rollbackNetworkReturnCode")).thenReturn("200")\r
2922                         when(mockExecution.getVariable("UPDNETI_rollbackNetworkResponse")).thenReturn("GoodResponse")\r
2923                         when(mockExecution.getVariable("UPDNETI_isSdncRollbackNeeded")).thenReturn(false)\r
2924                         when(mockExecution.getVariable("UPDNETI_rollbackSDNCReturnCode")).thenReturn("200")\r
2925                         when(mockExecution.getVariable("UPDNETI_rollbackSDNCResponse")).thenReturn("GoodResponse")\r
2926                         when(mockExecution.getVariable("WorkflowException")).thenReturn(workflowException)\r
2927                                                                         \r
2928                         UpdateNetworkInstanceInfra UpdateNetworkInstanceInfra = new UpdateNetworkInstanceInfra()\r
2929                         UpdateNetworkInstanceInfra.validateRollbackResponses(mockExecution)\r
2930                         \r
2931                         // verify set prefix = "UPDNETI_"\r
2932                         verify(mockExecution, atLeast(1)).setVariable("prefix", "UPDNETI_")\r
2933                         //verify(mockExecution, atLeast(1)).setVariable("WorkflowException", any(expectedWorkflowException))\r
2934                         verify(mockExecution, atLeast(1)).setVariable("WorkflowException", refEq(expectedWorkflowException, any(WorkflowException.class)))\r
2935 \r
2936                 }\r
2937                 \r
2938         \r
2939                 @Test\r
2940                 //@Ignore \r
2941                 public void buildErrorResponse() {\r
2942                         \r
2943                         println "************ buildErrorResponse ************* "\r
2944                         \r
2945                         \r
2946                         WorkflowException sndcWorkflowException = new WorkflowException("UpdateNetworkInstanceInfra", 5300, "Received error from SDN-C: No availability zone available.")\r
2947                         \r
2948                         ExecutionEntity mockExecution = setupMock()\r
2949                         // Initialize prerequisite variables\r
2950                         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")\r
2951                         when(mockExecution.getVariable("UPDNETI_requestId")).thenReturn("b69c9054-da09-4a2c-adf5-51042b62bfac")\r
2952                         when(mockExecution.getVariable("UPDNETI_source")).thenReturn("PORTAL")\r
2953                         when(mockExecution.getVariable("WorkflowException")).thenReturn(sndcWorkflowException)\r
2954                         \r
2955                         // buildErrorResponse(Execution execution)\r
2956                         UpdateNetworkInstanceInfra UpdateNetworkInstanceInfra = new UpdateNetworkInstanceInfra()\r
2957                         UpdateNetworkInstanceInfra.buildErrorResponse(mockExecution)\r
2958                         \r
2959                         // verify set prefix = "UPDNETI_"\r
2960                         verify(mockExecution, atLeast(1)).setVariable("prefix", "UPDNETI_")\r
2961                         verify(mockExecution).setVariable("UPDNETI_Success", false)\r
2962                         verify(mockExecution).setVariable("UPDNETI_FalloutHandlerRequest", falloutHandlerRequest)\r
2963                         \r
2964                         //MockitoDebuggerImpl debugger = new MockitoDebuggerImpl()\r
2965                         //debugger.printInvocations(mockExecution)\r
2966 \r
2967                 }\r
2968                 \r
2969                 @Test\r
2970                 //@Ignore\r
2971                 public void buildErrorResponse_WorkflowExceptionObject() {\r
2972                         \r
2973                         println "************ buildErrorResponse ************* "\r
2974                         \r
2975                         WorkflowException sndcWorkflowException = new WorkflowException("UpdateNetworkInstanceInfra", 7000, "Received error from SDN-C: No availability zone available") \r
2976                         \r
2977                         ExecutionEntity mockExecution = setupMock()\r
2978                         // Initialize prerequisite variables\r
2979                         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")\r
2980                         when(mockExecution.getVariable("UPDNETI_requestId")).thenReturn("b69c9054-da09-4a2c-adf5-51042b62bfac")\r
2981                         when(mockExecution.getVariable("UPDNETI_source")).thenReturn("VID")\r
2982                         when(mockExecution.getVariable("WorkflowException")).thenReturn(sndcWorkflowException)\r
2983                         \r
2984                         // buildErrorResponse(Execution execution)\r
2985                         UpdateNetworkInstanceInfra UpdateNetworkInstanceInfra = new UpdateNetworkInstanceInfra()\r
2986                         UpdateNetworkInstanceInfra.buildErrorResponse(mockExecution)\r
2987                         \r
2988                         // verify set prefix = "UPDNETI_"\r
2989                         verify(mockExecution).setVariable("prefix", "UPDNETI_")\r
2990                         verify(mockExecution).setVariable("UPDNETI_Success", false)\r
2991                         verify(mockExecution).setVariable("UPDNETI_FalloutHandlerRequest", falloutHandlerRequestObject)\r
2992                         \r
2993                         //MockitoDebuggerImpl debugger = new MockitoDebuggerImpl()\r
2994                         //debugger.printInvocations(mockExecution)\r
2995 \r
2996                 }\r
2997                 \r
2998                 @Test\r
2999                 //@Ignore\r
3000                 public void buildErrorResponse_Scenario01() {\r
3001                         \r
3002                         WorkflowException aaiWorkflowException_Secnario01 = new WorkflowException("UpdateNetworkInstanceInfra", 7020, "Unexpected Response from AAI - 400")\r
3003                         \r
3004                         println "************ buildErrorResponse ************* "\r
3005                         ExecutionEntity mockExecution = setupMock()\r
3006                         // Initialize prerequisite variables\r
3007                         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")\r
3008                         when(mockExecution.getVariable("UPDNETI_requestId")).thenReturn("b69c9054-da09-4a2c-adf5-51042b62bfac")\r
3009                         when(mockExecution.getVariable("UPDNETI_source")).thenReturn("VID")\r
3010                         when(mockExecution.getVariable("WorkflowException")).thenReturn(aaiWorkflowException_Secnario01)\r
3011                         when(mockExecution.getVariable("UPDNETI_dbReturnCode")).thenReturn("200")\r
3012                         when(mockExecution.getVariable("UPDNETI_updateDBResponse")).thenReturn("<GoodResponse>")\r
3013                         \r
3014                         when(mockExecution.getVariable("UPDNETI_aaiRequeryIdReturnCode")).thenReturn("400")\r
3015                         \r
3016                         // buildErrorResponse(Execution execution)\r
3017                         UpdateNetworkInstanceInfra UpdateNetworkInstanceInfra = new UpdateNetworkInstanceInfra()\r
3018                         UpdateNetworkInstanceInfra.buildErrorResponse(mockExecution)\r
3019                         \r
3020                         // verify set prefix = "UPDNETI_"\r
3021                         verify(mockExecution, atLeast(1)).setVariable("prefix", "UPDNETI_")\r
3022                         verify(mockExecution).setVariable("UPDNETI_Success", false)\r
3023                         verify(mockExecution).setVariable("UPDNETI_FalloutHandlerRequest", falloutHandlerRequest_Scenario01)\r
3024                         \r
3025                         //MockitoDebuggerImpl debugger = new MockitoDebuggerImpl()\r
3026                         //debugger.printInvocations(mockExecution)\r
3027 \r
3028                 }\r
3029         \r
3030 \r
3031                 private ExecutionEntity setupMock() {\r
3032                         \r
3033                         ProcessDefinition mockProcessDefinition = mock(ProcessDefinition.class)\r
3034                         when(mockProcessDefinition.getKey()).thenReturn("UpdateNetworkInstanceInfra")\r
3035                         RepositoryService mockRepositoryService = mock(RepositoryService.class)\r
3036                         when(mockRepositoryService.getProcessDefinition()).thenReturn(mockProcessDefinition)\r
3037                         when(mockRepositoryService.getProcessDefinition().getKey()).thenReturn("UpdateNetworkInstanceInfra")\r
3038                         when(mockRepositoryService.getProcessDefinition().getId()).thenReturn("100")\r
3039                         ProcessEngineServices mockProcessEngineServices = mock(ProcessEngineServices.class)\r
3040                         when(mockProcessEngineServices.getRepositoryService()).thenReturn(mockRepositoryService)\r
3041                         \r
3042                         ExecutionEntity mockExecution = mock(ExecutionEntity.class)\r
3043                         // Initialize prerequisite variables\r
3044                         \r
3045                         when(mockExecution.getId()).thenReturn("100")\r
3046                         when(mockExecution.getProcessDefinitionId()).thenReturn("UpdateNetworkInstanceInfra")\r
3047                         when(mockExecution.getProcessInstanceId()).thenReturn("UpdateNetworkInstanceInfra")\r
3048                         when(mockExecution.getProcessEngineServices()).thenReturn(mockProcessEngineServices)\r
3049                         when(mockExecution.getProcessEngineServices().getRepositoryService().getProcessDefinition(mockExecution.getProcessDefinitionId())).thenReturn(mockProcessDefinition)\r
3050                         \r
3051                         return mockExecution\r
3052                 }\r
3053                 \r
3054                 \r
3055 }\r