2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Modifications Copyright (c) 2019 Samsung
8 * ================================================================================
9 * Licensed under the Apache License, Version 2.0 (the "License");
10 * you may not use this file except in compliance with the License.
11 * You may obtain a copy of the License at
13 * http://www.apache.org/licenses/LICENSE-2.0
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
20 * ============LICENSE_END=========================================================
22 package org.onap.so.bpmn.vcpe.scripts
24 import com.github.tomakehurst.wiremock.junit.WireMockRule
25 import org.camunda.bpm.engine.delegate.BpmnError
26 import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity
27 import org.junit.Before
28 import org.junit.BeforeClass
31 import org.mockito.MockitoAnnotations
32 import org.onap.so.bpmn.core.UrnPropertiesReader
33 import org.onap.so.bpmn.core.WorkflowException
34 import org.onap.so.bpmn.core.domain.*
35 import org.onap.so.bpmn.mock.FileUtil
37 import static org.junit.Assert.*
38 import static org.mockito.ArgumentMatchers.any
39 import static org.mockito.ArgumentMatchers.endsWith
40 import static org.mockito.Mockito.*
42 class CreateVcpeResCustServiceTest extends GroovyTestBase {
44 private static String request
47 public WireMockRule wireMockRule = new WireMockRule(PORT)
49 String Prefix = "CVRCS_"
52 public static void setUpBeforeClass() {
53 request = FileUtil.readResourceFile("__files/VCPE/CreateVcpeResCustService/request.json")
58 MockitoAnnotations.initMocks(this)
61 public CreateVcpeResCustServiceTest() {
62 super("CreateVcpeResCustService")
65 // ***** preProcessRequest *****
68 public void preProcessRequest() {
69 ExecutionEntity mex = setupMock()
70 def map = setupMap(mex)
74 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
75 CreateVcpeResCustService.preProcessRequest(mex)
77 verify(mex).getVariable(DBGFLAG)
78 verify(mex).setVariable("prefix", Prefix)
79 verify(mex).setVariable("createVcpeServiceRequest", request)
80 verify(mex).setVariable("msoRequestId", "mri")
81 assertEquals("sii", map.get("serviceInstanceId"))
82 verify(mex).setVariable("requestAction", "ra")
83 verify(mex).setVariable("source", "VID")
84 verify(mex).setVariable("globalSubscriberId", CUST)
85 verify(mex).setVariable("globalCustomerId", CUST)
86 verify(mex).setVariable("subscriptionServiceType", SVC)
87 verify(mex).setVariable("disableRollback", "false")
88 verify(mex).setVariable("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb")
89 assertTrue(map.containsKey("subscriberInfo"))
91 verify(mex).setVariable("brgWanMacAddress", "brgmac")
92 verify(mex).setVariable("customerLocation", ["customerLatitude": "32.897480", "customerLongitude": "-97.040443", "customerName": "some_company"])
93 verify(mex).setVariable("homingService", "sniro")
94 assertTrue(map.containsKey("serviceInputParams"))
95 assertTrue(map.containsKey(Prefix + "requestInfo"))
97 def reqinfo = map.get(Prefix + "requestInfo")
98 assertTrue(reqinfo.indexOf("<request-id>mri</") >= 0)
99 assertTrue(reqinfo.indexOf("<source>VID</") >= 0)
101 assertTrue(map.containsKey("vfModuleNames"))
105 public void preProcessRequest_MissingAaiDistDelay() {
106 ExecutionEntity mex = setupMock()
110 when(mex.getVariable("aai.workflowAaiDistributionDelay")).thenReturn(null)
112 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
114 assertTrue(doBpmnError({ _ -> CreateVcpeResCustService.preProcessRequest(mex) }))
118 public void preProcessRequest_EmptyParts() {
119 ExecutionEntity mex = setupMock()
120 def map = setupMap(mex)
124 .replace('"source"', '"sourceXXX"')
125 .replace('"BRG_WAN_MAC_Address"', '"BRG_WAN_MAC_AddressXXX"')
126 .replace('"Customer_Location"', '"Customer_LocationXXX"')
128 when(mex.getVariable("bpmnRequest")).thenReturn(req)
129 when(mex.getVariable("serviceInstanceId")).thenReturn(null)
131 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
132 CreateVcpeResCustService.preProcessRequest(mex)
134 verify(mex).getVariable(DBGFLAG)
135 verify(mex).setVariable("prefix", Prefix)
136 verify(mex).setVariable("createVcpeServiceRequest", req)
137 verify(mex).setVariable("msoRequestId", "mri")
138 assertNotNull(map.get("serviceInstanceId"))
139 assertFalse(map.get("serviceInstanceId").isEmpty())
140 verify(mex).setVariable("requestAction", "ra")
141 verify(mex).setVariable("source", "VID")
142 verify(mex).setVariable("globalSubscriberId", CUST)
143 verify(mex).setVariable("globalCustomerId", CUST)
144 verify(mex).setVariable("subscriptionServiceType", SVC)
145 verify(mex).setVariable("disableRollback", "false")
146 verify(mex).setVariable("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb")
147 assertTrue(map.containsKey("subscriberInfo"))
149 assertEquals("", map.get("brgWanMacAddress"))
150 assertEquals("", map.get("customerLocation"))
151 assertEquals("sniro", map.get("homingService"))
152 assertTrue(map.containsKey("serviceInputParams"))
153 assertTrue(map.containsKey(Prefix + "requestInfo"))
155 def reqinfo = map.get(Prefix + "requestInfo")
157 assertTrue(reqinfo.indexOf("<request-id>mri</") >= 0)
158 assertTrue(reqinfo.indexOf("<source>VID</") >= 0)
162 public void preProcessRequest_MissingSubscriberId() {
163 ExecutionEntity mex = setupMock()
164 def map = setupMap(mex)
168 .replace('"globalSubscriberId"', '"globalSubscriberIdXXX"')
170 when(mex.getVariable("bpmnRequest")).thenReturn(req)
171 when(mex.getVariable("serviceInstanceId")).thenReturn(null)
173 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
175 assertTrue(doBpmnError({ _ -> CreateVcpeResCustService.preProcessRequest(mex) }))
179 public void preProcessRequest_vimId() {
180 ExecutionEntity mex = setupMock()
181 def map = setupMap(mex)
186 .replace('"mdt1"', '"CloudOwner_CloudRegion1"')
188 when(mex.getVariable("bpmnRequest")).thenReturn(req)
189 when(mex.getVariable("aai.workflowAaiDistributionDelay")).thenReturn("PT5S")
191 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
192 CreateVcpeResCustService.preProcessRequest(mex)
194 verify(mex).setVariable("cloudRegionId", "CloudRegion1")
195 verify(mex).setVariable("cloudOwner", "CloudOwner")
199 public void preProcessRequest_noVimId() {
200 ExecutionEntity mex = setupMock()
201 def map = setupMap(mex)
205 .replace('"mdt1"', '"CloudRegion1_"')
207 when(mex.getVariable("bpmnRequest")).thenReturn(req)
208 when(mex.getVariable("aai.workflowAaiDistributionDelay")).thenReturn("PT5S")
210 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
211 CreateVcpeResCustService.preProcessRequest(mex)
213 verify(mex).setVariable("prefix", Prefix)
214 verify(mex).setVariable("cloudRegionId", "CloudRegion1_")
215 verify(mex).setVariable("cloudOwner", "CloudOwner")
221 public void preProcessRequest_BpmnError() {
222 ExecutionEntity mex = setupMock()
225 when(mex.getVariable("bpmnRequest")).thenThrow(new BpmnError("expected exception"))
227 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
229 assertTrue(doBpmnError({ _ -> CreateVcpeResCustService.preProcessRequest(mex) }))
233 public void preProcessRequest_Ex() {
234 ExecutionEntity mex = setupMock()
237 when(mex.getVariable("bpmnRequest")).thenThrow(new RuntimeException("expected exception"))
239 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
241 assertTrue(doBpmnError({ _ -> CreateVcpeResCustService.preProcessRequest(mex) }))
244 // ***** sendSyncResponse *****
247 public void sendSyncResponse() {
248 ExecutionEntity mex = setupMock()
249 def map = setupMap(mex)
250 initSendSyncResponse(mex)
252 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
253 CreateVcpeResCustService.sendSyncResponse(mex)
255 verify(mex).getVariable(DBGFLAG)
257 verify(mex).setVariable(processName + "WorkflowResponseSent", "true")
259 assertEquals("202", map.get(processName + "ResponseCode"))
260 assertEquals("Success", map.get(processName + "Status"))
262 def resp = map.get(processName + "Response")
264 assertTrue(resp.indexOf('"instanceId":"sii"') >= 0)
265 assertTrue(resp.indexOf('"requestId":"mri"') >= 0)
269 public void sendSyncResponse_Ex() {
270 ExecutionEntity mex = setupMock()
271 initSendSyncResponse(mex)
273 when(mex.getVariable("serviceInstanceId")).thenThrow(new RuntimeException("expected exception"))
275 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
277 assertTrue(doBpmnError({ _ -> CreateVcpeResCustService.sendSyncResponse(mex) }))
280 // ***** prepareDecomposeService *****
283 public void prepareDecomposeService() {
284 ExecutionEntity mex = setupMock()
285 initPrepareDecomposeService(mex)
287 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
288 CreateVcpeResCustService.prepareDecomposeService(mex)
290 verify(mex).getVariable("createVcpeServiceRequest")
291 verify(mex).setVariable("serviceModelInfo", "mi")
295 public void prepareDecomposeService_Ex() {
296 ExecutionEntity mex = setupMock()
297 initPrepareDecomposeService(mex)
299 when(mex.getVariable("createVcpeServiceRequest")).thenThrow(new RuntimeException("expected exception"))
301 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
303 assertTrue(doBpmnError({ _ -> CreateVcpeResCustService.prepareDecomposeService(mex) }))
306 // ***** prepareCreateServiceInstance *****
309 public void prepareCreateServiceInstance() {
310 ExecutionEntity mex = setupMock()
311 ServiceDecomposition svcdecomp = initPrepareCreateServiceInstance(mex)
312 when(svcdecomp.toJsonStringNoRootName()).thenReturn("mydecomp")
314 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
315 CreateVcpeResCustService.prepareCreateServiceInstance(mex)
317 verify(mex).getVariable("createVcpeServiceRequest")
318 verify(mex).setVariable("serviceInstanceName", "VCPE1")
319 verify(mex).setVariable("serviceDecompositionString", "mydecomp")
323 public void prepareCreateServiceInstance_Ex() {
324 ExecutionEntity mex = setupMock()
325 initPrepareCreateServiceInstance(mex)
327 when(mex.getVariable("createVcpeServiceRequest")).thenThrow(new RuntimeException("expected exception"))
329 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
331 assertTrue(doBpmnError({ _ -> CreateVcpeResCustService.prepareCreateServiceInstance(mex) }))
334 // ***** postProcessServiceInstanceCreate *****
337 public void postProcessServiceInstanceCreate() {
338 ExecutionEntity mex = setupMock()
339 def map = setupMap(mex)
340 initPostProcessServiceInstanceCreate(mex)
342 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
343 CreateVcpeResCustService.postProcessServiceInstanceCreate(mex)
345 verify(mex).getVariable("mso-request-id")
346 verify(mex).getVariable("serviceInstanceId")
347 verify(mex).getVariable("serviceInstanceName")
349 def reqinfo = map.get(Prefix + "setUpdateDbInstancePayload")
351 assertTrue(reqinfo.indexOf("<requestId>mri</") >= 0)
352 assertTrue(reqinfo.indexOf("<serviceInstanceId>sii</") >= 0)
353 assertTrue(reqinfo.indexOf("<serviceInstanceName>sin</") >= 0)
357 public void postProcessServiceInstanceCreate_BpmnError() {
358 ExecutionEntity mex = setupMock()
359 initPostProcessServiceInstanceCreate(mex)
361 doThrow(new BpmnError("expected exception")).when(mex).setVariable(endsWith("setUpdateDbInstancePayload"), any())
363 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
365 assertTrue(doBpmnError({ _ -> CreateVcpeResCustService.postProcessServiceInstanceCreate(mex) }))
369 public void postProcessServiceInstanceCreate_Ex() {
370 ExecutionEntity mex = setupMock()
371 initPostProcessServiceInstanceCreate(mex)
373 doThrow(new RuntimeException("expected exception")).when(mex).setVariable(endsWith("setUpdateDbInstancePayload"), any())
375 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
377 assertTrue(doBpmnError({ _ -> CreateVcpeResCustService.postProcessServiceInstanceCreate(mex) }))
380 // ***** processDecomposition *****
383 public void processDecomposition() {
384 ExecutionEntity mex = setupMock()
385 def svcdecomp = initProcessDecomposition(mex)
387 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
388 CreateVcpeResCustService.processDecomposition(mex)
390 verify(mex).getVariable("serviceDecomposition")
392 verify(mex).setVariable("vnfList", svcdecomp.getVnfResources())
393 verify(mex).setVariable("vnfListString", '[myvnf]')
394 verify(mex).setVariable(Prefix + "VNFsCount", 1)
396 verify(mex).setVariable("vnfModelInfo", "mymodel")
397 verify(mex).setVariable("vnfModelInfoString", "mymodel")
401 public void processDecomposition_EmptyNet_EmptyVnf() {
402 ExecutionEntity mex = setupMock()
403 def svcdecomp = initProcessDecomposition(mex)
405 when(svcdecomp.getVnfResources()).thenReturn(new LinkedList<VnfResource>())
407 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
408 CreateVcpeResCustService.processDecomposition(mex)
410 verify(mex).getVariable("serviceDecomposition")
412 verify(mex).setVariable("vnfList", svcdecomp.getVnfResources())
413 verify(mex).setVariable("vnfListString", '[]')
414 verify(mex).setVariable(Prefix + "VNFsCount", 0)
416 verify(mex).setVariable("vnfModelInfo", "")
417 verify(mex).setVariable("vnfModelInfoString", "")
421 public void processDecomposition_Ex() {
422 ExecutionEntity mex = setupMock()
423 def svcdecomp = initProcessDecomposition(mex)
425 when(svcdecomp.getVnfResources()).thenThrow(new RuntimeException("expected exception"))
427 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
429 assertTrue(doBpmnError({ _ -> CreateVcpeResCustService.processDecomposition(mex) }))
432 // ***** filterVnfs *****
435 public void filterVnfs() {
436 ExecutionEntity mex = setupMock()
439 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
440 CreateVcpeResCustService.processDecomposition(mex)
442 verify(mex).setVariable("vnfListString", '[myvnf3, myvnf5]')
446 public void filterVnfs_Null() {
447 ExecutionEntity mex = setupMock()
448 def svcdecomp = initFilterVnfs(mex)
450 when(svcdecomp.getVnfResources()).thenReturn(null)
452 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
453 CreateVcpeResCustService.processDecomposition(mex)
455 // nothing more to check, as long as it didn't throw an exception
458 // ***** prepareCreateAllottedResourceTXC *****
461 public void prepareCreateAllottedResourceTXC() {
462 ExecutionEntity mex = setupMock()
463 initPrepareCreateAllottedResourceTXC(mex)
465 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
466 CreateVcpeResCustService.prepareCreateAllottedResourceTXC(mex)
468 verify(mex).getVariable("serviceDecomposition")
470 verify(mex).setVariable("createTXCAR", true)
471 verify(mex).setVariable("allottedResourceModelInfoTXC", "modelB")
472 verify(mex).setVariable("allottedResourceRoleTXC", "TXCr")
473 verify(mex).setVariable("allottedResourceTypeTXC", "Tunnel XConn")
474 verify(mex).setVariable("parentServiceInstanceIdTXC", "homeB")
478 public void prepareCreateAllottedResourceTXC_NullArList() {
479 ExecutionEntity mex = setupMock()
480 def svcdecomp = initPrepareCreateAllottedResourceTXC(mex)
482 when(svcdecomp.getAllottedResources()).thenReturn(null)
484 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
485 CreateVcpeResCustService.prepareCreateAllottedResourceTXC(mex)
487 verify(mex).getVariable("serviceDecomposition")
489 verify(mex, never()).setVariable("createTXCAR", true)
490 verify(mex, never()).setVariable("allottedResourceModelInfoTXC", "modelB")
491 verify(mex, never()).setVariable("allottedResourceRoleTXC", "TXCr")
492 verify(mex, never()).setVariable("allottedResourceTypeTXC", "Tunnel XConn")
493 verify(mex, never()).setVariable("parentServiceInstanceIdTXC", "homeB")
497 public void prepareCreateAllottedResourceTXC_Ex() {
498 ExecutionEntity mex = setupMock()
499 initPrepareCreateAllottedResourceTXC(mex)
501 when(mex.getVariable("serviceDecomposition")).thenThrow(new RuntimeException("expected exception"))
503 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
505 assertTrue(doBpmnError({ _ -> CreateVcpeResCustService.prepareCreateAllottedResourceTXC(mex) }))
508 // ***** prepareCreateAllottedResourceBRG *****
511 public void prepareCreateAllottedResourceBRG() {
512 ExecutionEntity mex = setupMock()
513 initPrepareCreateAllottedResourceBRG(mex)
515 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
516 CreateVcpeResCustService.prepareCreateAllottedResourceBRG(mex)
518 verify(mex).getVariable("serviceDecomposition")
520 verify(mex).setVariable("createBRGAR", true)
521 verify(mex).setVariable("allottedResourceModelInfoBRG", "modelB")
522 verify(mex).setVariable("allottedResourceRoleBRG", "BRGr")
523 verify(mex).setVariable("allottedResourceTypeBRG", "BRG")
524 verify(mex).setVariable("parentServiceInstanceIdBRG", "homeB")
528 public void prepareCreateAllottedResourceBRG_NullArList() {
529 ExecutionEntity mex = setupMock()
530 def svcdecomp = initPrepareCreateAllottedResourceBRG(mex)
532 when(svcdecomp.getAllottedResources()).thenReturn(null)
534 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
535 CreateVcpeResCustService.prepareCreateAllottedResourceBRG(mex)
537 verify(mex).getVariable("serviceDecomposition")
539 verify(mex, never()).setVariable("createBRGAR", true)
540 verify(mex, never()).setVariable("allottedResourceModelInfoBRG", "modelB")
541 verify(mex, never()).setVariable("allottedResourceRoleBRG", "BRGr")
542 verify(mex, never()).setVariable("allottedResourceTypeBRG", "BRG")
543 verify(mex, never()).setVariable("parentServiceInstanceIdBRG", "homeB")
547 public void prepareCreateAllottedResourceBRG_Ex() {
548 ExecutionEntity mex = setupMock()
549 initPrepareCreateAllottedResourceBRG(mex)
551 when(mex.getVariable("serviceDecomposition")).thenThrow(new RuntimeException("expected exception"))
553 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
555 assertTrue(doBpmnError({ _ -> CreateVcpeResCustService.prepareCreateAllottedResourceBRG(mex) }))
558 // ***** prepareVnfAndModulesCreate *****
561 public void prepareVnfAndModulesCreate() {
562 ExecutionEntity mex = setupMock()
563 initPrepareVnfAndModulesCreate(mex)
565 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
566 CreateVcpeResCustService.prepareVnfAndModulesCreate(mex)
568 verify(mex).getVariable("createVcpeServiceRequest")
570 verify(mex).setVariable("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb")
571 verify(mex).setVariable("lcpCloudRegionId", "mdt1")
572 verify(mex).setVariable("cloudOwner", "CloudOwner")
573 verify(mex).setVariable("tenantId", "8b1df54faa3b49078e3416e21370a3ba")
577 public void prepareVnfAndModulesCreate_noVimId() {
578 ExecutionEntity mex = setupMock()
579 initPrepareVnfAndModulesCreate(mex)
582 .replace('"mdt1"', '"CloudRegion1_"')
584 when(mex.getVariable("createVcpeServiceRequest")).thenReturn(req)
586 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
587 CreateVcpeResCustService.prepareVnfAndModulesCreate(mex)
589 verify(mex).setVariable("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb")
590 verify(mex).setVariable("cloudRegionId", "CloudRegion1_")
591 verify(mex).setVariable("lcpCloudRegionId", "CloudRegion1_")
592 verify(mex).setVariable("tenantId", "8b1df54faa3b49078e3416e21370a3ba")
596 public void prepareVnfAndModulesCreate_vimId() {
597 ExecutionEntity mex = setupMock()
598 initPrepareVnfAndModulesCreate(mex)
601 .replace('"mdt1"', '"CloudOwner_CloudRegion1"')
603 when(mex.getVariable("createVcpeServiceRequest")).thenReturn(req)
605 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
606 CreateVcpeResCustService.prepareVnfAndModulesCreate(mex)
608 verify(mex).setVariable("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb")
609 verify(mex).setVariable("cloudOwner", "CloudOwner")
610 verify(mex).setVariable("cloudRegionId", "CloudRegion1")
611 verify(mex).setVariable("lcpCloudRegionId", "CloudRegion1")
612 verify(mex).setVariable("tenantId", "8b1df54faa3b49078e3416e21370a3ba")
616 public void prepareVnfAndModulesCreate_EmptyList() {
617 ExecutionEntity mex = setupMock()
618 initPrepareVnfAndModulesCreate(mex)
620 when(mex.getVariable("vnfList")).thenReturn(new LinkedList<VnfResource>())
622 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
623 CreateVcpeResCustService.prepareVnfAndModulesCreate(mex)
625 verify(mex).getVariable("createVcpeServiceRequest")
627 verify(mex).setVariable("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb")
628 verify(mex).setVariable("lcpCloudRegionId", "mdt1")
629 verify(mex).setVariable("cloudOwner", "CloudOwner")
630 verify(mex).setVariable("tenantId", "8b1df54faa3b49078e3416e21370a3ba")
634 public void prepareVnfAndModulesCreate_NullList() {
635 ExecutionEntity mex = setupMock()
636 initPrepareVnfAndModulesCreate(mex)
638 when(mex.getVariable("vnfList")).thenReturn(null)
640 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
641 CreateVcpeResCustService.prepareVnfAndModulesCreate(mex)
643 verify(mex).getVariable("createVcpeServiceRequest")
645 verify(mex).setVariable("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb")
646 verify(mex).setVariable("lcpCloudRegionId", "mdt1")
647 verify(mex).setVariable("cloudOwner", "CloudOwner")
648 verify(mex).setVariable("tenantId", "8b1df54faa3b49078e3416e21370a3ba")
652 public void prepareVnfAndModulesCreate_Ex() {
653 ExecutionEntity mex = setupMock()
654 initPrepareVnfAndModulesCreate(mex)
656 when(mex.getVariable("vnfList")).thenThrow(new RuntimeException("expected exception"))
658 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
660 assertTrue(doBpmnError({ _ -> CreateVcpeResCustService.prepareVnfAndModulesCreate(mex) }))
663 // ***** validateVnfCreate *****
666 public void validateVnfCreate() {
667 ExecutionEntity mex = setupMock()
668 initValidateVnfCreate(mex)
670 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
671 CreateVcpeResCustService.validateVnfCreate(mex)
673 verify(mex).getVariable(Prefix + "VnfsCreatedCount")
675 verify(mex).setVariable(Prefix + "VnfsCreatedCount", 3)
679 public void validateVnfCreate_Ex() {
680 ExecutionEntity mex = setupMock()
681 initValidateVnfCreate(mex)
683 when(mex.getVariable(Prefix + "VnfsCreatedCount")).thenThrow(new RuntimeException("expected exception"))
685 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
687 assertTrue(doBpmnError({ _ -> CreateVcpeResCustService.validateVnfCreate(mex) }))
690 // ***** postProcessResponse *****
693 public void postProcessResponse() {
694 ExecutionEntity mex = setupMock()
695 def map = setupMap(mex)
696 initPostProcessResponse(mex)
698 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
699 CreateVcpeResCustService.postProcessResponse(mex)
701 verify(mex).getVariable("source")
702 verify(mex).getVariable("mso-request-id")
703 verify(mex).getVariable("serviceInstanceId")
705 verify(mex).setVariable(Prefix + "Success", true)
707 def reqinfo = map.get(Prefix + "CompleteMsoProcessRequest")
709 assertTrue(reqinfo.indexOf("request-id>mri</") >= 0)
710 assertTrue(reqinfo.indexOf("source>mysrc</") >= 0)
711 assertTrue(reqinfo.indexOf("serviceInstanceId>sii</") >= 0)
715 public void postProcessResponse_BpmnError() {
716 ExecutionEntity mex = setupMock()
718 initPostProcessResponse(mex)
720 when(mex.getVariable("source")).thenThrow(new BpmnError("expected exception"))
722 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
724 assertTrue(doBpmnError({ _ -> CreateVcpeResCustService.postProcessResponse(mex) }))
728 public void postProcessResponse_Ex() {
729 ExecutionEntity mex = setupMock()
731 initPostProcessResponse(mex)
733 when(mex.getVariable("source")).thenThrow(new BpmnError("expected exception"))
735 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
737 assertTrue(doBpmnError({ _ -> CreateVcpeResCustService.postProcessResponse(mex) }))
740 // ***** preProcessRollback *****
743 public void preProcessRollback() {
744 ExecutionEntity mex = setupMock()
745 def wfe = initPreProcessRollback(mex)
747 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
748 CreateVcpeResCustService.preProcessRollback(mex)
750 verify(mex).getVariable("WorkflowException")
752 verify(mex).setVariable("prevWorkflowException", wfe)
756 public void preProcessRollback_NullWfe() {
757 ExecutionEntity mex = setupMock()
758 def map = setupMap(mex)
759 initPreProcessRollback(mex)
761 when(mex.getVariable("WorkflowException")).thenReturn(null)
763 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
764 CreateVcpeResCustService.preProcessRollback(mex)
766 verify(mex).getVariable("WorkflowException")
768 assertFalse(map.containsKey("prevWorkflowException"))
772 public void preProcessRollback_BpmnError() {
773 ExecutionEntity mex = setupMock()
774 def map = setupMap(mex)
775 initPreProcessRollback(mex)
777 when(mex.getVariable("WorkflowException")).thenThrow(new BpmnError("expected exception"))
779 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
780 CreateVcpeResCustService.preProcessRollback(mex)
782 verify(mex).getVariable("WorkflowException")
784 assertFalse(map.containsKey("prevWorkflowException"))
788 public void preProcessRollback_Ex() {
789 ExecutionEntity mex = setupMock()
790 def map = setupMap(mex)
791 initPreProcessRollback(mex)
793 when(mex.getVariable("WorkflowException")).thenThrow(new RuntimeException("expected exception"))
795 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
796 CreateVcpeResCustService.preProcessRollback(mex)
798 verify(mex).getVariable("WorkflowException")
800 assertFalse(map.containsKey("prevWorkflowException"))
803 // ***** postProcessRollback *****
806 public void postProcessRollback() {
807 ExecutionEntity mex = setupMock()
808 def wfe = initPostProcessRollback(mex)
810 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
811 CreateVcpeResCustService.postProcessRollback(mex)
813 verify(mex).getVariable("prevWorkflowException")
815 verify(mex).setVariable("WorkflowException", wfe)
819 public void postProcessRollback_NullWfe() {
820 ExecutionEntity mex = setupMock()
821 def map = setupMap(mex)
822 initPostProcessRollback(mex)
824 when(mex.getVariable("prevWorkflowException")).thenReturn(null)
826 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
827 CreateVcpeResCustService.postProcessRollback(mex)
829 verify(mex).getVariable("prevWorkflowException")
831 assertFalse(map.containsKey("WorkflowException"))
835 public void postProcessRollback_BpmnError() {
836 ExecutionEntity mex = setupMock()
838 initPostProcessRollback(mex)
840 when(mex.getVariable("prevWorkflowException")).thenThrow(new BpmnError("expected exception"))
842 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
843 assertTrue(doBpmnError({ _ -> CreateVcpeResCustService.postProcessRollback(mex) }))
848 public void postProcessRollback_Ex() {
849 ExecutionEntity mex = setupMock()
850 def map = setupMap(mex)
851 initPostProcessRollback(mex)
853 when(mex.getVariable("prevWorkflowException")).thenThrow(new RuntimeException("expected exception"))
855 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
856 CreateVcpeResCustService.postProcessRollback(mex)
858 verify(mex).getVariable("prevWorkflowException")
860 assertFalse(map.containsKey("WorkflowException"))
863 // ***** prepareFalloutRequest *****
866 public void prepareFalloutRequest() {
867 ExecutionEntity mex = setupMock()
868 def map = setupMap(mex)
869 WorkflowException wfe = initPrepareFalloutRequest(mex)
870 when(wfe.getErrorMessage()).thenReturn("mymsg")
871 when(wfe.getErrorCode()).thenReturn(999)
873 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
874 CreateVcpeResCustService.prepareFalloutRequest(mex)
876 verify(mex, times(4)).getVariable("WorkflowException")
878 def fo = map.get(Prefix + "falloutRequest")
880 assertTrue(fo.indexOf("<hello>world</") >= 0)
881 assertTrue(fo.indexOf("ErrorMessage>mymsg</") >= 0)
882 assertTrue(fo.indexOf("ErrorCode>999</") >= 0)
886 public void prepareFalloutRequest_Ex() {
887 ExecutionEntity mex = setupMock()
889 initPrepareFalloutRequest(mex)
891 when(mex.getVariable("WorkflowException")).thenThrow(new RuntimeException("expected exception"))
893 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
895 assertTrue(doBpmnError({ _ -> CreateVcpeResCustService.prepareFalloutRequest(mex) }))
898 // ***** sendSyncError *****
901 public void sendSyncError() {
902 ExecutionEntity mex = setupMock()
903 def map = setupMap(mex)
904 initSendSyncError(mex)
906 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
907 CreateVcpeResCustService.sendSyncError(mex)
909 verify(mex).getVariable(DBGFLAG)
911 verify(mex).setVariable(processName + "WorkflowResponseSent", "true")
913 assertEquals("500", map.get(processName + "ResponseCode"))
914 assertEquals("Fail", map.get(processName + "Status"))
916 def resp = map.get(processName + "Response")
918 assertTrue(resp.indexOf("ErrorMessage>mymsg</") >= 0)
920 verify(mex).setVariable("WorkflowResponse", resp)
924 public void sendSyncError_NotWfe() {
925 ExecutionEntity mex = setupMock()
926 def map = setupMap(mex)
927 initSendSyncError(mex)
929 when(mex.getVariable("WorkflowException")).thenReturn("not a WFE")
931 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
932 CreateVcpeResCustService.sendSyncError(mex)
934 verify(mex).getVariable(DBGFLAG)
936 verify(mex).setVariable(processName + "WorkflowResponseSent", "true")
938 assertEquals("500", map.get(processName + "ResponseCode"))
939 assertEquals("Fail", map.get(processName + "Status"))
941 def resp = map.get(processName + "Response")
943 assertTrue(resp.indexOf("ErrorMessage>Sending Sync Error.</") >= 0)
945 verify(mex).setVariable("WorkflowResponse", resp)
949 public void sendSyncError_NullWfe() {
950 ExecutionEntity mex = setupMock()
951 def map = setupMap(mex)
952 initSendSyncError(mex)
954 when(mex.getVariable("WorkflowException")).thenReturn(null)
956 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
957 CreateVcpeResCustService.sendSyncError(mex)
959 verify(mex).getVariable(DBGFLAG)
961 verify(mex).setVariable(processName + "WorkflowResponseSent", "true")
963 assertEquals("500", map.get(processName + "ResponseCode"))
964 assertEquals("Fail", map.get(processName + "Status"))
966 def resp = map.get(processName + "Response")
968 assertTrue(resp.indexOf("ErrorMessage>Sending Sync Error.</") >= 0)
970 verify(mex).setVariable("WorkflowResponse", resp)
974 public void sendSyncError_Ex() {
975 ExecutionEntity mex = setupMock()
976 def map = setupMap(mex)
977 initSendSyncError(mex)
979 when(mex.getVariable("WorkflowException")).thenThrow(new RuntimeException("expected exception"))
981 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
983 CreateVcpeResCustService.sendSyncError(mex)
985 assertFalse(map.containsKey(processName + "ResponseCode"))
988 // ***** processJavaException *****
991 public void processJavaException() {
992 ExecutionEntity mex = setupMock()
993 def map = setupMap(mex)
994 initProcessJavaException(mex)
996 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
998 assertTrue(doBpmnError({ _ -> CreateVcpeResCustService.processJavaException(mex) }))
1000 verify(mex).getVariable("testProcessKey")
1002 verify(mex).setVariable("prefix", Prefix)
1004 def wfe = map.get("WorkflowException")
1006 assertEquals("Caught a Java Lang Exception", wfe.getErrorMessage())
1010 public void processJavaException_BpmnError() {
1011 ExecutionEntity mex = setupMock()
1012 def map = setupMap(mex)
1013 initProcessJavaException(mex)
1015 when(mex.getVariables()).thenThrow(new BpmnError("expected exception"))
1017 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
1019 assertTrue(doBpmnError({ _ -> CreateVcpeResCustService.processJavaException(mex) }))
1021 assertFalse(map.containsKey("WorkflowException"))
1025 public void processJavaException_Ex() {
1026 ExecutionEntity mex = setupMock()
1027 def map = setupMap(mex)
1028 initProcessJavaException(mex)
1030 when(mex.getVariables()).thenThrow(new RuntimeException("expected exception"))
1032 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
1034 assertTrue(doBpmnError({ _ -> CreateVcpeResCustService.processJavaException(mex) }))
1036 def wfe = map.get("WorkflowException")
1038 assertEquals("Exception in processJavaException method", wfe.getErrorMessage())
1042 private void initPreProcess(ExecutionEntity mex) {
1043 when(mex.getVariable(DBGFLAG)).thenReturn("true")
1044 when(mex.getVariable("bpmnRequest")).thenReturn(request)
1045 when(mex.getVariable("aai.workflowAaiDistributionDelay")).thenReturn("PT5S")
1046 when(mex.getVariable("mso-request-id")).thenReturn("mri")
1047 when(mex.getVariable("serviceInstanceId")).thenReturn("sii")
1048 when(mex.getVariable("requestAction")).thenReturn("ra")
1051 private initSendSyncResponse(ExecutionEntity mex) {
1052 when(mex.getVariable(DBGFLAG)).thenReturn("true")
1053 when(mex.getVariable("mso-request-id")).thenReturn("mri")
1054 when(mex.getVariable("serviceInstanceId")).thenReturn("sii")
1057 private void initPrepareDecomposeService(ExecutionEntity mex) {
1058 when(mex.getVariable(DBGFLAG)).thenReturn("true")
1059 when(mex.getVariable("createVcpeServiceRequest")).thenReturn('{"requestDetails":{"modelInfo":"mi"}}')
1062 private ServiceDecomposition initPrepareCreateServiceInstance(ExecutionEntity mex) {
1063 ServiceDecomposition svcdecomp = mock(ServiceDecomposition.class)
1065 when(mex.getVariable(DBGFLAG)).thenReturn("true")
1066 when(mex.getVariable("createVcpeServiceRequest")).thenReturn(request)
1067 when(mex.getVariable("serviceDecomposition")).thenReturn(svcdecomp)
1072 private void initPostProcessServiceInstanceCreate(ExecutionEntity mex) {
1073 when(mex.getVariable(DBGFLAG)).thenReturn("true")
1074 when(mex.getVariable("mso-request-id")).thenReturn("mri")
1075 when(mex.getVariable("serviceInstanceId")).thenReturn("sii")
1076 when(mex.getVariable("serviceInstanceName")).thenReturn("sin")
1079 private ServiceDecomposition initProcessDecomposition(ExecutionEntity mex) {
1080 List<VnfResource> vnflst = new LinkedList<>()
1081 vnflst.add(makeVnf("", ""))
1082 vnflst.add(makeVnf("2", "BRG"))
1083 vnflst.add(makeVnf("3", "BRG"))
1085 ServiceDecomposition svcdecomp = mock(ServiceDecomposition.class)
1086 when(svcdecomp.getVnfResources()).thenReturn(vnflst)
1088 when(mex.getVariable(DBGFLAG)).thenReturn("true")
1089 when(mex.getVariable("serviceDecomposition")).thenReturn(svcdecomp)
1090 when(mex.getVariable("serviceInstanceId")).thenReturn("sii")
1091 when(mex.getVariable("serviceInstanceName")).thenReturn("sin")
1096 private ServiceDecomposition initFilterVnfs(ExecutionEntity mex) {
1097 List<VnfResource> vnflst = new LinkedList<>()
1098 vnflst.add(makeVnf("", "BRG"))
1099 vnflst.add(makeVnf("2", "Tunnel XConn"))
1100 vnflst.add(makeVnf("3", ""))
1101 vnflst.add(makeVnf("4", "BRG"))
1102 vnflst.add(makeVnf("5", "other"))
1104 ServiceDecomposition svcdecomp = mock(ServiceDecomposition.class)
1105 when(svcdecomp.getVnfResources()).thenReturn(vnflst)
1107 when(mex.getVariable(DBGFLAG)).thenReturn("true")
1108 when(mex.getVariable("serviceDecomposition")).thenReturn(svcdecomp)
1109 when(mex.getVariable("serviceInstanceId")).thenReturn("sii")
1110 when(mex.getVariable("serviceInstanceName")).thenReturn("sin")
1115 private ServiceDecomposition initPrepareCreateAllottedResourceTXC(ExecutionEntity mex) {
1116 ServiceDecomposition svcdecomp = mock(ServiceDecomposition.class)
1117 List<AllottedResource> arlst = new LinkedList<>()
1119 arlst.add(makeArBRG("A"))
1120 arlst.add(makeArTXC("B"))
1121 arlst.add(makeArBRG("C"))
1123 when(svcdecomp.getAllottedResources()).thenReturn(arlst)
1125 when(mex.getVariable(DBGFLAG)).thenReturn("true")
1126 when(mex.getVariable("createVcpeServiceRequest")).thenReturn(request)
1127 when(mex.getVariable("serviceDecomposition")).thenReturn(svcdecomp)
1128 when(mex.getVariable("allottedResourceId")).thenReturn(ARID)
1133 private ServiceDecomposition initPrepareCreateAllottedResourceBRG(ExecutionEntity mex) {
1134 ServiceDecomposition svcdecomp = mock(ServiceDecomposition.class)
1135 List<AllottedResource> arlst = new LinkedList<>()
1137 arlst.add(makeArTXC("A"))
1138 arlst.add(makeArBRG("B"))
1139 arlst.add(makeArTXC("C"))
1141 when(svcdecomp.getAllottedResources()).thenReturn(arlst)
1143 when(mex.getVariable(DBGFLAG)).thenReturn("true")
1144 when(mex.getVariable("createVcpeServiceRequest")).thenReturn(request)
1145 when(mex.getVariable("serviceDecomposition")).thenReturn(svcdecomp)
1146 when(mex.getVariable("allottedResourceId")).thenReturn(ARID)
1151 private AllottedResource makeArTXC(String id) {
1152 AllottedResource ar = mock(AllottedResource.class)
1153 ModelInfo mod = mock(ModelInfo.class)
1154 HomingSolution home = mock(HomingSolution.class)
1156 when(ar.toJsonStringNoRootName()).thenReturn("json" + id)
1157 when(ar.getAllottedResourceType()).thenReturn("Tunnel XConn")
1158 when(ar.getModelInfo()).thenReturn(mod)
1159 when(ar.getAllottedResourceRole()).thenReturn("TXCr")
1160 when(ar.getHomingSolution()).thenReturn(home)
1162 when(mod.toJsonStringNoRootName()).thenReturn("model" + id)
1164 when(home.getServiceInstanceId()).thenReturn("home" + id)
1169 private AllottedResource makeArBRG(String id) {
1170 AllottedResource ar = mock(AllottedResource.class)
1171 ModelInfo mod = mock(ModelInfo.class)
1172 HomingSolution home = mock(HomingSolution.class)
1174 when(ar.toJsonStringNoRootName()).thenReturn("json" + id)
1175 when(ar.getAllottedResourceType()).thenReturn("BRG")
1176 when(ar.getModelInfo()).thenReturn(mod)
1177 when(ar.getAllottedResourceRole()).thenReturn("BRGr")
1178 when(ar.getHomingSolution()).thenReturn(home)
1180 when(mod.toJsonStringNoRootName()).thenReturn("model" + id)
1182 when(home.getServiceInstanceId()).thenReturn("home" + id)
1187 private initPrepareVnfAndModulesCreate(ExecutionEntity mex) {
1189 List<VnfResource> vnflst = new LinkedList<>()
1191 vnflst.add(makeVnf("A", "BRG"))
1192 vnflst.add(makeVnf("B", ""))
1193 vnflst.add(makeVnf("C", ""))
1194 vnflst.add(makeVnf("D", "Tunnel XConn"))
1196 when(mex.getVariable(DBGFLAG)).thenReturn("true")
1197 when(mex.getVariable("createVcpeServiceRequest")).thenReturn(request)
1198 when(mex.getVariable("vnfList")).thenReturn(vnflst)
1199 when(mex.getVariable(Prefix + "VnfsCreatedCount")).thenReturn(2)
1200 when(mex.getVariable("vnfModelInfo")).thenReturn("nomodel")
1201 when(mex.getVariable("sdncVersion")).thenReturn("myvers")
1204 private VnfResource makeVnf(String id, String role) {
1205 ModelInfo mod = mock(ModelInfo.class)
1206 VnfResource vnf = mock(VnfResource.class)
1208 when(mod.toString()).thenReturn('{"modelInfo":"mymodel' + id + '"}')
1210 when(vnf.toString()).thenReturn("myvnf" + id)
1211 when(vnf.getModelInfo()).thenReturn(mod)
1212 when(vnf.getNfRole()).thenReturn(role)
1217 private initValidateVnfCreate(ExecutionEntity mex) {
1218 when(mex.getVariable(DBGFLAG)).thenReturn("true")
1219 when(mex.getVariable(Prefix + "VnfsCreatedCount")).thenReturn(2)
1222 private initPostProcessResponse(ExecutionEntity mex) {
1223 when(mex.getVariable(DBGFLAG)).thenReturn("true")
1224 when(mex.getVariable("source")).thenReturn("mysrc")
1225 when(mex.getVariable("mso-request-id")).thenReturn("mri")
1226 when(mex.getVariable("serviceInstanceId")).thenReturn("sii")
1229 private WorkflowException initPreProcessRollback(ExecutionEntity mex) {
1230 WorkflowException wfe = mock(WorkflowException.class)
1232 when(mex.getVariable(DBGFLAG)).thenReturn("true")
1233 when(mex.getVariable("WorkflowException")).thenReturn(wfe)
1238 private WorkflowException initPostProcessRollback(ExecutionEntity mex) {
1239 WorkflowException wfe = mock(WorkflowException.class)
1241 when(mex.getVariable(DBGFLAG)).thenReturn("true")
1242 when(mex.getVariable("prevWorkflowException")).thenReturn(wfe)
1247 private initPrepareFalloutRequest(ExecutionEntity mex) {
1248 WorkflowException wfe = mock(WorkflowException.class)
1250 when(mex.getVariable(DBGFLAG)).thenReturn("true")
1251 when(mex.getVariable("WorkflowException")).thenReturn(wfe)
1252 when(mex.getVariable(Prefix + "requestInfo")).thenReturn("<hello>world</hello>")
1257 private initSendSyncError(ExecutionEntity mex) {
1258 WorkflowException wfe = mock(WorkflowException.class)
1260 when(mex.getVariable(DBGFLAG)).thenReturn("true")
1261 when(mex.getVariable("mso-request-id")).thenReturn("mri")
1262 when(mex.getVariable("WorkflowException")).thenReturn(wfe)
1264 when(wfe.getErrorMessage()).thenReturn("mymsg")
1267 private initProcessJavaException(ExecutionEntity mex) {
1268 when(mex.getVariable(DBGFLAG)).thenReturn("true")