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