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 assertEquals("""{"tenantId":"8b1df54faa3b49078e3416e21370a3ba","lcpCloudRegionId":"mdt1"}""", map.get("cloudConfiguration"))
112 verify(mex).setVariable("sdncVersion", "1702")
113 verify(mex).setVariable("GENGS_type", "service-instance")
114 assertTrue(map.containsKey(Prefix+"requestInfo"))
116 def reqinfo = map.get(Prefix+"requestInfo")
117 assertTrue(reqinfo.indexOf("<request-id>mri</") >= 0)
118 assertTrue(reqinfo.indexOf("<source>VID</") >= 0)
\r
123 public void preProcessRequest_EmptyParts() {
124 ExecutionEntity mex = setupMock()
125 def map = setupMap(mex)
129 .replace('"source"', '"sourceXXX"')
131 when(mex.getVariable("bpmnRequest")).thenReturn(req)
133 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
134 DeleteVcpeResCustService.preProcessRequest(mex)
136 verify(mex).getVariable(DBGFLAG)
137 verify(mex).setVariable("prefix", Prefix)
138 verify(mex).setVariable("DeleteVcpeResCustServiceRequest", req)
139 verify(mex).setVariable("msoRequestId", "mri")
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("disableRollback", "false")
145 verify(mex).setVariable("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb")
146 verify(mex).setVariable("subscriptionServiceType", SVC)
148 verify(mex).setVariable("lcpCloudRegionId", "mdt1")
149 verify(mex).setVariable("tenantId", "8b1df54faa3b49078e3416e21370a3ba")
150 assertEquals("""{"tenantId":"8b1df54faa3b49078e3416e21370a3ba","lcpCloudRegionId":"mdt1"}""", map.get("cloudConfiguration"))
151 verify(mex).setVariable("sdncVersion", "1702")
152 verify(mex).setVariable("GENGS_type", "service-instance")
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)
163 public void preProcessRequest_MissingServiceInstanceId() {
164 ExecutionEntity mex = setupMock()
167 when(mex.getVariable("serviceInstanceId")).thenReturn(null)
169 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
171 assertTrue(doBpmnError( { _ -> DeleteVcpeResCustService.preProcessRequest(mex) }))
176 public void preProcessRequest_BpmnError() {
177 ExecutionEntity mex = setupMock()
180 when(mex.getVariable("bpmnRequest")).thenThrow(new BpmnError("expected exception"))
182 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
184 assertTrue(doBpmnError( { _ -> DeleteVcpeResCustService.preProcessRequest(mex) }))
189 public void preProcessRequest_Ex() {
190 ExecutionEntity mex = setupMock()
193 when(mex.getVariable("bpmnRequest")).thenThrow(new RuntimeException("expected exception"))
195 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
197 assertTrue(doBpmnError( { _ -> DeleteVcpeResCustService.preProcessRequest(mex) }))
200 private void initPreProcess(ExecutionEntity mex) {
201 when(mex.getVariable(DBGFLAG)).thenReturn("true")
202 when(mex.getVariable("bpmnRequest")).thenReturn(request)
203 when(mex.getVariable("mso-request-id")).thenReturn("mri")
204 when(mex.getVariable("serviceInstanceId")).thenReturn("sii")
205 when(mex.getVariable("requestAction")).thenReturn("ra")
208 // ***** sendSyncResponse *****
212 public void sendSyncResponse() {
213 ExecutionEntity mex = setupMock()
214 def map = setupMap(mex)
215 initSendSyncResponse(mex)
217 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
218 DeleteVcpeResCustService.sendSyncResponse(mex)
220 verify(mex, times(2)).getVariable(DBGFLAG)
222 verify(mex).setVariable(processName+"WorkflowResponseSent", "true")
224 assertEquals("202", map.get(processName+"ResponseCode"))
225 assertEquals("Success", map.get(processName+"Status"))
227 def resp = map.get(processName+"Response")
229 assertTrue(resp.indexOf('"instanceId":"sii"') >= 0)
230 assertTrue(resp.indexOf('"requestId":"mri"') >= 0)
235 public void sendSyncResponse_Ex() {
236 ExecutionEntity mex = setupMock()
237 initSendSyncResponse(mex)
239 when(mex.getVariable("serviceInstanceId")).thenThrow(new RuntimeException("expected exception"))
241 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
243 assertTrue(doBpmnError( { _ -> DeleteVcpeResCustService.sendSyncResponse(mex) }))
246 private initSendSyncResponse(ExecutionEntity mex) {
247 when(mex.getVariable(DBGFLAG)).thenReturn("true")
248 when(mex.getVariable("mso-request-id")).thenReturn("mri")
249 when(mex.getVariable("serviceInstanceId")).thenReturn("sii")
252 // ***** prepareServiceDelete *****
256 public void prepareServiceDelete() {
257 ExecutionEntity mex = setupMock()
258 def map = setupMap(mex)
259 initPrepareServiceDelete(mex)
261 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
262 DeleteVcpeResCustService.prepareServiceDelete(mex)
264 verify(mex).getVariable(DBGFLAG)
266 verify(mex).setVariable(Prefix+"TunnelXConn", true)
267 assertEquals("txcA", map.get("TXC_allottedResourceId"))
269 verify(mex).setVariable(Prefix+"BRG", true)
270 assertEquals("brgB", map.get("BRG_allottedResourceId"))
272 verify(mex).setVariable(Prefix+"vnfsCount", 2)
273 assertNotNull(map.get(Prefix+"relatedVnfIdList"))
274 assertEquals("[vnfX, vnfY]", map.get(Prefix+"relatedVnfIdList").toString())
276 verify(mex, never()).setVariable(processName+"WorkflowResponseSent", "true")
281 public void prepareServiceDelete_NotFound() {
282 ExecutionEntity mex = setupMock()
283 initPrepareServiceDelete(mex)
285 when(mex.getVariable("GENGS_FoundIndicator")).thenReturn(false)
287 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
289 assertTrue(doBpmnError({ _ -> DeleteVcpeResCustService.prepareServiceDelete(mex) }))
291 verify(mex, never()).setVariable(processName+"WorkflowResponseSent", "true")
296 public void prepareServiceDelete_Empty() {
297 ExecutionEntity mex = setupMock()
298 def map = setupMap(mex)
299 initPrepareServiceDelete(mex)
301 when(mex.getVariable("GENGS_service")).thenReturn("<empty></empty>")
303 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
304 DeleteVcpeResCustService.prepareServiceDelete(mex)
306 verify(mex).getVariable(DBGFLAG)
308 verify(mex).setVariable(Prefix+"TunnelXConn", false)
309 assertNull(map.get("TXC_allottedResourceId"))
311 verify(mex).setVariable(Prefix+"BRG", false)
312 assertNull(map.get("BRG_allottedResourceId"))
314 assertEquals(0, map.get(Prefix+"vnfsCount"))
315 assertFalse(map.containsKey(Prefix+"relatedVnfIdList"))
317 verify(mex, never()).setVariable(processName+"WorkflowResponseSent", "true")
322 public void prepareServiceDelete_BpmnError() {
323 ExecutionEntity mex = setupMock()
324 initPrepareServiceDelete(mex)
326 when(mex.getVariable("GENGS_FoundIndicator")).thenThrow(new BpmnError("expected exception"))
328 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
330 assertTrue(doBpmnError({ _ -> DeleteVcpeResCustService.prepareServiceDelete(mex) }))
332 verify(mex, never()).setVariable(processName+"WorkflowResponseSent", "true")
337 public void prepareServiceDelete_Ex() {
338 ExecutionEntity mex = setupMock()
339 initPrepareServiceDelete(mex)
341 when(mex.getVariable("GENGS_FoundIndicator")).thenThrow(new RuntimeException("expected exception"))
343 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
345 assertTrue(doBpmnError({ _ -> DeleteVcpeResCustService.prepareServiceDelete(mex) }))
347 verify(mex).setVariable(processName+"WorkflowResponseSent", "true")
350 private initPrepareServiceDelete(ExecutionEntity mex) {
351 when(mex.getVariable(DBGFLAG)).thenReturn("true")
352 when(mex.getVariable("serviceInstanceId")).thenReturn("sii")
353 when(mex.getVariable("GENGS_FoundIndicator")).thenReturn(true)
354 when(mex.getVariable("mso-request-id")).thenReturn("mri")
355 when(mex.getVariable("DeleteVcpeResCustServiceRequest")).thenReturn(request)
356 when(mex.getVariable("GENGS_service")).thenReturn(FileUtil.readResourceFile("__files/VCPE/DeleteVcpeResCustService/serviceToDelete.xml"))
359 // ***** prepareVnfAndModulesDelete *****
363 public void prepareVnfAndModulesDelete() {
364 ExecutionEntity mex = setupMock()
365 initPrepareVnfAndModulesDelete(mex)
367 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
368 DeleteVcpeResCustService.prepareVnfAndModulesDelete(mex)
370 verify(mex).getVariable(DBGFLAG)
372 verify(mex).setVariable("vnfId", "vnfB")
377 public void prepareVnfAndModulesDelete_Empty() {
378 ExecutionEntity mex = setupMock()
379 initPrepareVnfAndModulesDelete(mex)
381 when(mex.getVariable(Prefix+"relatedVnfIdList")).thenReturn(new LinkedList())
383 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
384 DeleteVcpeResCustService.prepareVnfAndModulesDelete(mex)
386 verify(mex).getVariable(DBGFLAG)
388 verify(mex).setVariable("vnfId", "")
393 public void prepareVnfAndModulesDelete_Ex() {
394 ExecutionEntity mex = setupMock()
395 initPrepareVnfAndModulesDelete(mex)
397 when(mex.getVariable(Prefix+"relatedVnfIdList")).thenThrow(new RuntimeException("expected exception"))
399 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
401 assertTrue(doBpmnError({ _ -> DeleteVcpeResCustService.prepareVnfAndModulesDelete(mex) }))
404 private initPrepareVnfAndModulesDelete(ExecutionEntity mex) {
405 when(mex.getVariable(DBGFLAG)).thenReturn("true")
406 when(mex.getVariable(Prefix+"relatedVnfIdList")).thenReturn(Arrays.asList("vnfA", "vnfB", "vnfC"))
407 when(mex.getVariable(Prefix+"vnfsDeletedCount")).thenReturn(1)
410 // ***** validateVnfDelete *****
414 public void validateVnfDelete() {
415 ExecutionEntity mex = setupMock()
416 initValidateVnfDelete(mex)
418 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
419 DeleteVcpeResCustService.validateVnfDelete(mex)
421 verify(mex).getVariable(DBGFLAG)
423 verify(mex).setVariable(Prefix+"vnfsDeletedCount", 3)
428 public void validateVnfDelete_Ex() {
429 ExecutionEntity mex = setupMock()
430 initValidateVnfDelete(mex)
432 when(mex.getVariable(Prefix+"vnfsDeletedCount")).thenThrow(new RuntimeException("expected exception"))
434 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
436 assertTrue(doBpmnError({ _ -> DeleteVcpeResCustService.validateVnfDelete(mex) }))
439 private initValidateVnfDelete(ExecutionEntity mex) {
440 when(mex.getVariable(DBGFLAG)).thenReturn("true")
441 when(mex.getVariable(Prefix+"vnfsDeletedCount")).thenReturn(2)
444 // ***** postProcessResponse *****
448 public void postProcessResponse() {
449 ExecutionEntity mex = setupMock()
450 def map = setupMap(mex)
451 initPostProcessResponse(mex)
453 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
454 DeleteVcpeResCustService.postProcessResponse(mex)
456 verify(mex).getVariable(DBGFLAG)
458 assertEquals(true, map.get(Prefix+"Success"))
460 def req = map.get(Prefix+"CompleteMsoProcessRequest")
462 assertTrue(req.indexOf("<request-id>mri</") >= 0)
463 assertTrue(req.indexOf("<source>mysrc</") >= 0)
468 public void postProcessResponse_BpmnError() {
469 ExecutionEntity mex = setupMock()
470 initPostProcessResponse(mex)
472 when(mex.getVariable("source")).thenThrow(new BpmnError("expected exception"))
474 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
476 assertTrue(doBpmnError( { _ -> DeleteVcpeResCustService.postProcessResponse(mex) }))
481 public void postProcessResponse_Ex() {
482 ExecutionEntity mex = setupMock()
483 initPostProcessResponse(mex)
485 when(mex.getVariable("source")).thenThrow(new RuntimeException("expected exception"))
487 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
489 assertTrue(doBpmnError( { _ -> DeleteVcpeResCustService.postProcessResponse(mex) }))
492 private initPostProcessResponse(ExecutionEntity mex) {
493 when(mex.getVariable(DBGFLAG)).thenReturn("true")
494 when(mex.getVariable("source")).thenReturn("mysrc")
495 when(mex.getVariable("msoRequestId")).thenReturn("mri")
499 // ***** prepareFalloutRequest *****
503 public void prepareFalloutRequest() {
504 ExecutionEntity mex = setupMock()
505 def map = setupMap(mex)
506 initPrepareFalloutRequest(mex)
508 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
509 DeleteVcpeResCustService.prepareFalloutRequest(mex)
511 verify(mex, times(2)).getVariable(DBGFLAG)
513 def fo = map.get(Prefix+"falloutRequest")
515 assertTrue(fo.indexOf("<hello>world</") >= 0)
516 assertTrue(fo.indexOf("ErrorMessage>mymsg</") >= 0)
517 assertTrue(fo.indexOf("ErrorCode>999</") >= 0)
522 public void prepareFalloutRequest_Ex() {
523 ExecutionEntity mex = setupMock()
524 def map = setupMap(mex)
525 initPrepareFalloutRequest(mex)
527 when(mex.getVariable("WorkflowException")).thenThrow(new RuntimeException("expected exception"))
529 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
531 assertTrue(doBpmnError( { _ -> DeleteVcpeResCustService.prepareFalloutRequest(mex) }))
534 private initPrepareFalloutRequest(ExecutionEntity mex) {
535 WorkflowException wfe = mock(WorkflowException.class)
537 when(wfe.getErrorMessage()).thenReturn("mymsg")
538 when(wfe.getErrorCode()).thenReturn(999)
540 when(mex.getVariable(DBGFLAG)).thenReturn("true")
541 when(mex.getVariable("WorkflowException")).thenReturn(wfe)
542 when(mex.getVariable(Prefix+"requestInfo")).thenReturn("<hello>world</hello>")
547 // ***** sendSyncError *****
551 public void sendSyncError() {
552 ExecutionEntity mex = setupMock()
553 def map = setupMap(mex)
554 initSendSyncError(mex)
556 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
557 DeleteVcpeResCustService.sendSyncError(mex)
559 verify(mex, times(2)).getVariable(DBGFLAG)
561 verify(mex).setVariable(processName+"WorkflowResponseSent", "true")
563 assertEquals("500", map.get(processName+"ResponseCode"))
564 assertEquals("Fail", map.get(processName+"Status"))
566 def resp = map.get(processName+"Response")
568 assertTrue(resp.indexOf("ErrorMessage>mymsg</") >= 0)
570 verify(mex).setVariable("WorkflowResponse", resp)
575 public void sendSyncError_NotWfe() {
576 ExecutionEntity mex = setupMock()
577 def map = setupMap(mex)
578 initSendSyncError(mex)
580 when(mex.getVariable("WorkflowException")).thenReturn("not a WFE")
582 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
583 DeleteVcpeResCustService.sendSyncError(mex)
585 verify(mex, times(2)).getVariable(DBGFLAG)
587 verify(mex).setVariable(processName+"WorkflowResponseSent", "true")
589 assertEquals("500", map.get(processName+"ResponseCode"))
590 assertEquals("Fail", map.get(processName+"Status"))
592 def resp = map.get(processName+"Response")
594 assertTrue(resp.indexOf("ErrorMessage>Sending Sync Error.</") >= 0)
596 verify(mex).setVariable("WorkflowResponse", resp)
601 public void sendSyncError_NullWfe() {
602 ExecutionEntity mex = setupMock()
603 def map = setupMap(mex)
604 initSendSyncError(mex)
606 when(mex.getVariable("WorkflowException")).thenReturn(null)
608 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
609 DeleteVcpeResCustService.sendSyncError(mex)
611 verify(mex, times(2)).getVariable(DBGFLAG)
613 verify(mex).setVariable(processName+"WorkflowResponseSent", "true")
615 assertEquals("500", map.get(processName+"ResponseCode"))
616 assertEquals("Fail", map.get(processName+"Status"))
618 def resp = map.get(processName+"Response")
620 assertTrue(resp.indexOf("ErrorMessage>Sending Sync Error.</") >= 0)
622 verify(mex).setVariable("WorkflowResponse", resp)
627 public void sendSyncError_Ex() {
628 ExecutionEntity mex = setupMock()
629 def map = setupMap(mex)
630 initSendSyncError(mex)
632 when(mex.getVariable("WorkflowException")).thenThrow(new RuntimeException("expected exception"))
634 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
636 DeleteVcpeResCustService.sendSyncError(mex)
638 assertFalse(map.containsKey(processName+"ResponseCode"))
641 private initSendSyncError(ExecutionEntity mex) {
642 WorkflowException wfe = mock(WorkflowException.class)
644 when(mex.getVariable(DBGFLAG)).thenReturn("true")
645 when(mex.getVariable("mso-request-id")).thenReturn("mri")
646 when(mex.getVariable("WorkflowException")).thenReturn(wfe)
648 when(wfe.getErrorMessage()).thenReturn("mymsg")
652 // ***** processJavaException *****
656 public void processJavaException() {
657 ExecutionEntity mex = setupMock()
658 def map = setupMap(mex)
659 initProcessJavaException(mex)
661 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
663 assertTrue(doBpmnError( { _ -> DeleteVcpeResCustService.processJavaException(mex) }))
665 verify(mex, times(2)).getVariable(DBGFLAG)
667 verify(mex).setVariable("prefix", Prefix)
669 def wfe = map.get("WorkflowException")
671 assertEquals("Caught a Java Lang Exception", wfe.getErrorMessage())
676 public void processJavaException_BpmnError() {
677 ExecutionEntity mex = setupMock()
678 def map = setupMap(mex)
679 initProcessJavaException(mex)
681 when(mex.getVariables()).thenThrow(new BpmnError("expected exception"))
683 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
685 assertTrue(doBpmnError( { _ -> DeleteVcpeResCustService.processJavaException(mex) }))
687 assertFalse(map.containsKey("WorkflowException"))
692 public void processJavaException_Ex() {
693 ExecutionEntity mex = setupMock()
694 def map = setupMap(mex)
695 initProcessJavaException(mex)
697 when(mex.getVariables()).thenThrow(new RuntimeException("expected exception"))
699 DeleteVcpeResCustService DeleteVcpeResCustService = new DeleteVcpeResCustService()
701 assertTrue(doBpmnError( { _ -> DeleteVcpeResCustService.processJavaException(mex) }))
703 def wfe = map.get("WorkflowException")
705 assertEquals("Exception in processJavaException method", wfe.getErrorMessage())
708 private initProcessJavaException(ExecutionEntity mex) {
709 when(mex.getVariable(DBGFLAG)).thenReturn("true")