2 * ============LICENSE_START=======================================================
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
11 * http://www.apache.org/licenses/LICENSE-2.0
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=========================================================
20 package org.openecomp.mso.bpmn.vcpe.scripts
23 import org.camunda.bpm.engine.ProcessEngineServices
\r
24 import org.camunda.bpm.engine.RepositoryService
\r
25 import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity
\r
26 import org.camunda.bpm.engine.repository.ProcessDefinition
\r
27 import org.camunda.bpm.engine.runtime.Execution
\r
28 import org.junit.Before
29 import org.junit.BeforeClass
\r
30 import org.junit.Rule
\r
32 import org.junit.Ignore
\r
33 import org.mockito.MockitoAnnotations
34 import org.camunda.bpm.engine.delegate.BpmnError
\r
35 import org.openecomp.mso.bpmn.core.WorkflowException
36 import org.openecomp.mso.bpmn.mock.FileUtil
38 import static com.github.tomakehurst.wiremock.client.WireMock.aResponse
39 import static com.github.tomakehurst.wiremock.client.WireMock.get
40 import static com.github.tomakehurst.wiremock.client.WireMock.patch
41 import static com.github.tomakehurst.wiremock.client.WireMock.put
42 import static com.github.tomakehurst.wiremock.client.WireMock.stubFor
43 import static com.github.tomakehurst.wiremock.client.WireMock.urlMatching
44 import static org.junit.Assert.*;
\r
45 import static org.mockito.Mockito.*
46 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetAllottedResource
47 import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition
48 import org.openecomp.mso.bpmn.core.domain.VnfResource
49 import org.openecomp.mso.bpmn.core.domain.AllottedResource
50 import org.openecomp.mso.bpmn.core.domain.ModelInfo
51 import org.openecomp.mso.bpmn.core.domain.HomingSolution
52 import org.openecomp.mso.bpmn.core.RollbackData
53 import org.openecomp.mso.bpmn.vcpe.scripts.MapGetter
54 import org.openecomp.mso.bpmn.vcpe.scripts.MapSetter
56 import com.github.tomakehurst.wiremock.junit.WireMockRule
\r
58 class DeleteVcpeResCustServiceTest extends GroovyTestBase {
60 private static String request
\r
63 public WireMockRule wireMockRule = new WireMockRule(PORT)
65 String Prefix = "DVRCS_"
66 String RbType = "DCRENI_"
\r
69 public static void setUpBeforeClass() {
70 super.setUpBeforeClass()
71 request = FileUtil.readResourceFile("__files/VCPE/DeleteVcpeResCustService/request.json")
77 MockitoAnnotations.initMocks(this)
\r
80 public DeleteVcpeResCustServiceTest() {
81 super("DeleteVcpeResCustService")
85 // ***** preProcessRequest *****
\r
89 public void preProcessRequest() {
\r
90 ExecutionEntity mex = setupMock()
91 def map = setupMap(mex)
94 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
\r
95 DeleteVcpeResCustService.preProcessRequest(mex)
\r
97 verify(mex).getVariable(DBGFLAG)
\r
98 verify(mex).setVariable("prefix", Prefix)
99 verify(mex).setVariable("DeleteVcpeResCustServiceRequest", request)
100 verify(mex).setVariable("msoRequestId", "mri")
101 verify(mex).setVariable("requestAction", "ra")
102 verify(mex).setVariable("source", "VID")
103 verify(mex).setVariable("globalSubscriberId", CUST)
104 verify(mex).setVariable("globalCustomerId", CUST)
105 verify(mex).setVariable("disableRollback", "false")
106 verify(mex).setVariable("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb")
107 verify(mex).setVariable("subscriptionServiceType", SVC)
109 verify(mex).setVariable("lcpCloudRegionId", "mdt1")
110 verify(mex).setVariable("tenantId", "8b1df54faa3b49078e3416e21370a3ba")
111 verify(mex).setVariable("sdncVersion", "1702")
112 verify(mex).setVariable("GENGS_type", "service-instance")
113 assertTrue(map.containsKey(Prefix+"requestInfo"))
115 def reqinfo = map.get(Prefix+"requestInfo")
116 assertTrue(reqinfo.indexOf("<request-id>mri</") >= 0)
117 assertTrue(reqinfo.indexOf("<source>VID</") >= 0)
\r
122 public void preProcessRequest_EmptyParts() {
123 ExecutionEntity mex = setupMock()
124 def map = setupMap(mex)
128 .replace('"source"', '"sourceXXX"')
130 when(mex.getVariable("bpmnRequest")).thenReturn(req)
132 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
133 DeleteVcpeResCustService.preProcessRequest(mex)
135 verify(mex).getVariable(DBGFLAG)
136 verify(mex).setVariable("prefix", Prefix)
137 verify(mex).setVariable("DeleteVcpeResCustServiceRequest", req)
138 verify(mex).setVariable("msoRequestId", "mri")
139 verify(mex).setVariable("requestAction", "ra")
140 verify(mex).setVariable("source", "VID")
141 verify(mex).setVariable("globalSubscriberId", CUST)
142 verify(mex).setVariable("globalCustomerId", CUST)
143 verify(mex).setVariable("disableRollback", "false")
144 verify(mex).setVariable("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb")
145 verify(mex).setVariable("subscriptionServiceType", SVC)
147 verify(mex).setVariable("lcpCloudRegionId", "mdt1")
148 verify(mex).setVariable("tenantId", "8b1df54faa3b49078e3416e21370a3ba")
149 verify(mex).setVariable("sdncVersion", "1702")
150 verify(mex).setVariable("GENGS_type", "service-instance")
151 assertTrue(map.containsKey(Prefix+"requestInfo"))
153 def reqinfo = map.get(Prefix+"requestInfo")
155 assertTrue(reqinfo.indexOf("<request-id>mri</") >= 0)
156 assertTrue(reqinfo.indexOf("<source>VID</") >= 0)
161 public void preProcessRequest_MissingServiceInstanceId() {
162 ExecutionEntity mex = setupMock()
165 when(mex.getVariable("serviceInstanceId")).thenReturn(null)
167 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
169 assertTrue(doBpmnError( { _ -> DeleteVcpeResCustService.preProcessRequest(mex) }))
174 public void preProcessRequest_BpmnError() {
175 ExecutionEntity mex = setupMock()
178 when(mex.getVariable("bpmnRequest")).thenThrow(new BpmnError("expected exception"))
180 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
182 assertTrue(doBpmnError( { _ -> DeleteVcpeResCustService.preProcessRequest(mex) }))
187 public void preProcessRequest_Ex() {
188 ExecutionEntity mex = setupMock()
191 when(mex.getVariable("bpmnRequest")).thenThrow(new RuntimeException("expected exception"))
193 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
195 assertTrue(doBpmnError( { _ -> DeleteVcpeResCustService.preProcessRequest(mex) }))
198 private void initPreProcess(ExecutionEntity mex) {
199 when(mex.getVariable(DBGFLAG)).thenReturn("true")
200 when(mex.getVariable("bpmnRequest")).thenReturn(request)
201 when(mex.getVariable("mso-request-id")).thenReturn("mri")
202 when(mex.getVariable("serviceInstanceId")).thenReturn("sii")
203 when(mex.getVariable("requestAction")).thenReturn("ra")
206 // ***** sendSyncResponse *****
210 public void sendSyncResponse() {
211 ExecutionEntity mex = setupMock()
212 def map = setupMap(mex)
213 initSendSyncResponse(mex)
215 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
216 DeleteVcpeResCustService.sendSyncResponse(mex)
218 verify(mex, times(2)).getVariable(DBGFLAG)
220 verify(mex).setVariable(processName+"WorkflowResponseSent", "true")
222 assertEquals("202", map.get(processName+"ResponseCode"))
223 assertEquals("Success", map.get(processName+"Status"))
225 def resp = map.get(processName+"Response")
227 assertTrue(resp.indexOf('"instanceId":"sii"') >= 0)
228 assertTrue(resp.indexOf('"requestId":"mri"') >= 0)
233 public void sendSyncResponse_Ex() {
234 ExecutionEntity mex = setupMock()
235 initSendSyncResponse(mex)
237 when(mex.getVariable("serviceInstanceId")).thenThrow(new RuntimeException("expected exception"))
239 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
241 assertTrue(doBpmnError( { _ -> DeleteVcpeResCustService.sendSyncResponse(mex) }))
244 private initSendSyncResponse(ExecutionEntity mex) {
245 when(mex.getVariable(DBGFLAG)).thenReturn("true")
246 when(mex.getVariable("mso-request-id")).thenReturn("mri")
247 when(mex.getVariable("serviceInstanceId")).thenReturn("sii")
250 // ***** prepareServiceDelete *****
254 public void prepareServiceDelete() {
255 ExecutionEntity mex = setupMock()
256 def map = setupMap(mex)
257 initPrepareServiceDelete(mex)
259 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
260 DeleteVcpeResCustService.prepareServiceDelete(mex)
262 verify(mex).getVariable(DBGFLAG)
264 verify(mex).setVariable(Prefix+"TunnelXConn", true)
265 assertEquals("txcA", map.get("TXC_allottedResourceId"))
267 verify(mex).setVariable(Prefix+"BRG", true)
268 assertEquals("brgB", map.get("BRG_allottedResourceId"))
270 verify(mex).setVariable(Prefix+"vnfsCount", 2)
271 assertNotNull(map.get(Prefix+"relatedVnfIdList"))
272 assertEquals("[vnfX, vnfY]", map.get(Prefix+"relatedVnfIdList").toString())
274 verify(mex, never()).setVariable(processName+"WorkflowResponseSent", "true")
279 public void prepareServiceDelete_NotFound() {
280 ExecutionEntity mex = setupMock()
281 initPrepareServiceDelete(mex)
283 when(mex.getVariable("GENGS_FoundIndicator")).thenReturn(false)
285 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
287 assertTrue(doBpmnError({ _ -> DeleteVcpeResCustService.prepareServiceDelete(mex) }))
289 verify(mex, never()).setVariable(processName+"WorkflowResponseSent", "true")
294 public void prepareServiceDelete_Empty() {
295 ExecutionEntity mex = setupMock()
296 def map = setupMap(mex)
297 initPrepareServiceDelete(mex)
299 when(mex.getVariable("GENGS_service")).thenReturn("<empty></empty>")
301 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
302 DeleteVcpeResCustService.prepareServiceDelete(mex)
304 verify(mex).getVariable(DBGFLAG)
306 verify(mex).setVariable(Prefix+"TunnelXConn", false)
307 assertNull(map.get("TXC_allottedResourceId"))
309 verify(mex).setVariable(Prefix+"BRG", false)
310 assertNull(map.get("BRG_allottedResourceId"))
312 assertEquals(0, map.get(Prefix+"vnfsCount"))
313 assertFalse(map.containsKey(Prefix+"relatedVnfIdList"))
315 verify(mex, never()).setVariable(processName+"WorkflowResponseSent", "true")
320 public void prepareServiceDelete_BpmnError() {
321 ExecutionEntity mex = setupMock()
322 initPrepareServiceDelete(mex)
324 when(mex.getVariable("GENGS_FoundIndicator")).thenThrow(new BpmnError("expected exception"))
326 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
328 assertTrue(doBpmnError({ _ -> DeleteVcpeResCustService.prepareServiceDelete(mex) }))
330 verify(mex, never()).setVariable(processName+"WorkflowResponseSent", "true")
335 public void prepareServiceDelete_Ex() {
336 ExecutionEntity mex = setupMock()
337 initPrepareServiceDelete(mex)
339 when(mex.getVariable("GENGS_FoundIndicator")).thenThrow(new RuntimeException("expected exception"))
341 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
343 assertTrue(doBpmnError({ _ -> DeleteVcpeResCustService.prepareServiceDelete(mex) }))
345 verify(mex).setVariable(processName+"WorkflowResponseSent", "true")
348 private initPrepareServiceDelete(ExecutionEntity mex) {
349 when(mex.getVariable(DBGFLAG)).thenReturn("true")
350 when(mex.getVariable("serviceInstanceId")).thenReturn("sii")
351 when(mex.getVariable("GENGS_FoundIndicator")).thenReturn(true)
352 when(mex.getVariable("mso-request-id")).thenReturn("mri")
353 when(mex.getVariable("DeleteVcpeResCustServiceRequest")).thenReturn(request)
354 when(mex.getVariable("GENGS_service")).thenReturn(FileUtil.readResourceFile("__files/VCPE/DeleteVcpeResCustService/serviceToDelete.xml"))
357 // ***** prepareVnfAndModulesDelete *****
361 public void prepareVnfAndModulesDelete() {
362 ExecutionEntity mex = setupMock()
363 initPrepareVnfAndModulesDelete(mex)
365 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
366 DeleteVcpeResCustService.prepareVnfAndModulesDelete(mex)
368 verify(mex).getVariable(DBGFLAG)
370 verify(mex).setVariable("vnfId", "vnfB")
375 public void prepareVnfAndModulesDelete_Empty() {
376 ExecutionEntity mex = setupMock()
377 initPrepareVnfAndModulesDelete(mex)
379 when(mex.getVariable(Prefix+"relatedVnfIdList")).thenReturn(new LinkedList())
381 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
382 DeleteVcpeResCustService.prepareVnfAndModulesDelete(mex)
384 verify(mex).getVariable(DBGFLAG)
386 verify(mex).setVariable("vnfId", "")
391 public void prepareVnfAndModulesDelete_Ex() {
392 ExecutionEntity mex = setupMock()
393 initPrepareVnfAndModulesDelete(mex)
395 when(mex.getVariable(Prefix+"relatedVnfIdList")).thenThrow(new RuntimeException("expected exception"))
397 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
399 assertTrue(doBpmnError({ _ -> DeleteVcpeResCustService.prepareVnfAndModulesDelete(mex) }))
402 private initPrepareVnfAndModulesDelete(ExecutionEntity mex) {
403 when(mex.getVariable(DBGFLAG)).thenReturn("true")
404 when(mex.getVariable(Prefix+"relatedVnfIdList")).thenReturn(Arrays.asList("vnfA", "vnfB", "vnfC"))
405 when(mex.getVariable(Prefix+"vnfsDeletedCount")).thenReturn(1)
408 // ***** validateVnfDelete *****
412 public void validateVnfDelete() {
413 ExecutionEntity mex = setupMock()
414 initValidateVnfDelete(mex)
416 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
417 DeleteVcpeResCustService.validateVnfDelete(mex)
419 verify(mex).getVariable(DBGFLAG)
421 verify(mex).setVariable(Prefix+"vnfsDeletedCount", 3)
426 public void validateVnfDelete_Ex() {
427 ExecutionEntity mex = setupMock()
428 initValidateVnfDelete(mex)
430 when(mex.getVariable(Prefix+"vnfsDeletedCount")).thenThrow(new RuntimeException("expected exception"))
432 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
434 assertTrue(doBpmnError({ _ -> DeleteVcpeResCustService.validateVnfDelete(mex) }))
437 private initValidateVnfDelete(ExecutionEntity mex) {
438 when(mex.getVariable(DBGFLAG)).thenReturn("true")
439 when(mex.getVariable(Prefix+"vnfsDeletedCount")).thenReturn(2)
442 // ***** postProcessResponse *****
446 public void postProcessResponse() {
447 ExecutionEntity mex = setupMock()
448 def map = setupMap(mex)
449 initPostProcessResponse(mex)
451 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
452 DeleteVcpeResCustService.postProcessResponse(mex)
454 verify(mex).getVariable(DBGFLAG)
456 assertEquals(true, map.get(Prefix+"Success"))
458 def req = map.get(Prefix+"CompleteMsoProcessRequest")
460 assertTrue(req.indexOf("<request-id>mri</") >= 0)
461 assertTrue(req.indexOf("<source>mysrc</") >= 0)
466 public void postProcessResponse_BpmnError() {
467 ExecutionEntity mex = setupMock()
468 initPostProcessResponse(mex)
470 when(mex.getVariable("source")).thenThrow(new BpmnError("expected exception"))
472 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
474 assertTrue(doBpmnError( { _ -> DeleteVcpeResCustService.postProcessResponse(mex) }))
479 public void postProcessResponse_Ex() {
480 ExecutionEntity mex = setupMock()
481 initPostProcessResponse(mex)
483 when(mex.getVariable("source")).thenThrow(new RuntimeException("expected exception"))
485 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
487 assertTrue(doBpmnError( { _ -> DeleteVcpeResCustService.postProcessResponse(mex) }))
490 private initPostProcessResponse(ExecutionEntity mex) {
491 when(mex.getVariable(DBGFLAG)).thenReturn("true")
492 when(mex.getVariable("source")).thenReturn("mysrc")
493 when(mex.getVariable("msoRequestId")).thenReturn("mri")
497 // ***** prepareFalloutRequest *****
501 public void prepareFalloutRequest() {
502 ExecutionEntity mex = setupMock()
503 def map = setupMap(mex)
504 initPrepareFalloutRequest(mex)
506 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
507 DeleteVcpeResCustService.prepareFalloutRequest(mex)
509 verify(mex, times(2)).getVariable(DBGFLAG)
511 def fo = map.get(Prefix+"falloutRequest")
513 assertTrue(fo.indexOf("<hello>world</") >= 0)
514 assertTrue(fo.indexOf("ErrorMessage>mymsg</") >= 0)
515 assertTrue(fo.indexOf("ErrorCode>999</") >= 0)
520 public void prepareFalloutRequest_Ex() {
521 ExecutionEntity mex = setupMock()
522 def map = setupMap(mex)
523 initPrepareFalloutRequest(mex)
525 when(mex.getVariable("WorkflowException")).thenThrow(new RuntimeException("expected exception"))
527 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
529 assertTrue(doBpmnError( { _ -> DeleteVcpeResCustService.prepareFalloutRequest(mex) }))
532 private initPrepareFalloutRequest(ExecutionEntity mex) {
533 WorkflowException wfe = mock(WorkflowException.class)
535 when(wfe.getErrorMessage()).thenReturn("mymsg")
536 when(wfe.getErrorCode()).thenReturn(999)
538 when(mex.getVariable(DBGFLAG)).thenReturn("true")
539 when(mex.getVariable("WorkflowException")).thenReturn(wfe)
540 when(mex.getVariable(Prefix+"requestInfo")).thenReturn("<hello>world</hello>")
545 // ***** sendSyncError *****
549 public void sendSyncError() {
550 ExecutionEntity mex = setupMock()
551 def map = setupMap(mex)
552 initSendSyncError(mex)
554 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
555 DeleteVcpeResCustService.sendSyncError(mex)
557 verify(mex, times(2)).getVariable(DBGFLAG)
559 verify(mex).setVariable(processName+"WorkflowResponseSent", "true")
561 assertEquals("500", map.get(processName+"ResponseCode"))
562 assertEquals("Fail", map.get(processName+"Status"))
564 def resp = map.get(processName+"Response")
566 assertTrue(resp.indexOf("ErrorMessage>mymsg</") >= 0)
568 verify(mex).setVariable("WorkflowResponse", resp)
573 public void sendSyncError_NotWfe() {
574 ExecutionEntity mex = setupMock()
575 def map = setupMap(mex)
576 initSendSyncError(mex)
578 when(mex.getVariable("WorkflowException")).thenReturn("not a WFE")
580 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
581 DeleteVcpeResCustService.sendSyncError(mex)
583 verify(mex, times(2)).getVariable(DBGFLAG)
585 verify(mex).setVariable(processName+"WorkflowResponseSent", "true")
587 assertEquals("500", map.get(processName+"ResponseCode"))
588 assertEquals("Fail", map.get(processName+"Status"))
590 def resp = map.get(processName+"Response")
592 assertTrue(resp.indexOf("ErrorMessage>Sending Sync Error.</") >= 0)
594 verify(mex).setVariable("WorkflowResponse", resp)
599 public void sendSyncError_NullWfe() {
600 ExecutionEntity mex = setupMock()
601 def map = setupMap(mex)
602 initSendSyncError(mex)
604 when(mex.getVariable("WorkflowException")).thenReturn(null)
606 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
607 DeleteVcpeResCustService.sendSyncError(mex)
609 verify(mex, times(2)).getVariable(DBGFLAG)
611 verify(mex).setVariable(processName+"WorkflowResponseSent", "true")
613 assertEquals("500", map.get(processName+"ResponseCode"))
614 assertEquals("Fail", map.get(processName+"Status"))
616 def resp = map.get(processName+"Response")
618 assertTrue(resp.indexOf("ErrorMessage>Sending Sync Error.</") >= 0)
620 verify(mex).setVariable("WorkflowResponse", resp)
625 public void sendSyncError_Ex() {
626 ExecutionEntity mex = setupMock()
627 def map = setupMap(mex)
628 initSendSyncError(mex)
630 when(mex.getVariable("WorkflowException")).thenThrow(new RuntimeException("expected exception"))
632 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
634 DeleteVcpeResCustService.sendSyncError(mex)
636 assertFalse(map.containsKey(processName+"ResponseCode"))
639 private initSendSyncError(ExecutionEntity mex) {
640 WorkflowException wfe = mock(WorkflowException.class)
642 when(mex.getVariable(DBGFLAG)).thenReturn("true")
643 when(mex.getVariable("mso-request-id")).thenReturn("mri")
644 when(mex.getVariable("WorkflowException")).thenReturn(wfe)
646 when(wfe.getErrorMessage()).thenReturn("mymsg")
650 // ***** processJavaException *****
654 public void processJavaException() {
655 ExecutionEntity mex = setupMock()
656 def map = setupMap(mex)
657 initProcessJavaException(mex)
659 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
661 assertTrue(doBpmnError( { _ -> DeleteVcpeResCustService.processJavaException(mex) }))
663 verify(mex, times(2)).getVariable(DBGFLAG)
665 verify(mex).setVariable("prefix", Prefix)
667 def wfe = map.get("WorkflowException")
669 assertEquals("Caught a Java Lang Exception", wfe.getErrorMessage())
674 public void processJavaException_BpmnError() {
675 ExecutionEntity mex = setupMock()
676 def map = setupMap(mex)
677 initProcessJavaException(mex)
679 when(mex.getVariables()).thenThrow(new BpmnError("expected exception"))
681 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
683 assertTrue(doBpmnError( { _ -> DeleteVcpeResCustService.processJavaException(mex) }))
685 assertFalse(map.containsKey("WorkflowException"))
690 public void processJavaException_Ex() {
691 ExecutionEntity mex = setupMock()
692 def map = setupMap(mex)
693 initProcessJavaException(mex)
695 when(mex.getVariables()).thenThrow(new RuntimeException("expected exception"))
697 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
699 assertTrue(doBpmnError( { _ -> DeleteVcpeResCustService.processJavaException(mex) }))
701 def wfe = map.get("WorkflowException")
703 assertEquals("Exception in processJavaException method", wfe.getErrorMessage())
706 private initProcessJavaException(ExecutionEntity mex) {
707 when(mex.getVariable(DBGFLAG)).thenReturn("true")