d0ded39146c4cb8e00f2f7bd0da03ab2b765b781
[so.git] /
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 package org.onap.so.bpmn.vcpe.scripts
21
22
23 import org.camunda.bpm.engine.ProcessEngineServices
24 import org.camunda.bpm.engine.RepositoryService
25 import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity
26 import org.camunda.bpm.engine.repository.ProcessDefinition
27 import org.junit.Before
28 import org.junit.BeforeClass
29 import org.junit.Rule
30 import org.junit.Test
31 import org.junit.Ignore
32 import org.mockito.MockitoAnnotations
33 import org.camunda.bpm.engine.delegate.BpmnError
34 import org.onap.so.bpmn.core.UrnPropertiesReader
35 import org.onap.so.bpmn.core.WorkflowException
36 import org.onap.so.bpmn.core.domain.HomingSolution
37 import org.onap.so.bpmn.mock.FileUtil
38
39 import static com.github.tomakehurst.wiremock.client.WireMock.aResponse
40 import static com.github.tomakehurst.wiremock.client.WireMock.get
41 import static com.github.tomakehurst.wiremock.client.WireMock.patch
42 import static com.github.tomakehurst.wiremock.client.WireMock.put
43 import static com.github.tomakehurst.wiremock.client.WireMock.stubFor
44 import static com.github.tomakehurst.wiremock.client.WireMock.urlMatching
45 import static org.junit.Assert.*;
46 import static org.mockito.Mockito.*
47 import static org.onap.so.bpmn.mock.StubResponseAAI.MockGetAllottedResource
48 import org.onap.so.bpmn.core.domain.ServiceDecomposition
49 import org.onap.so.bpmn.core.domain.VnfResource
50 import org.onap.so.bpmn.core.domain.AllottedResource
51 import org.onap.so.bpmn.core.domain.ModelInfo
52 import org.onap.so.bpmn.core.domain.HomingSolution
53 import org.onap.so.bpmn.core.RollbackData
54 import org.onap.so.bpmn.vcpe.scripts.MapGetter
55 import org.onap.so.bpmn.vcpe.scripts.MapSetter
56
57 import com.github.tomakehurst.wiremock.junit.WireMockRule
58
59 class CreateVcpeResCustServiceTest extends GroovyTestBase {
60         
61         private static String request
62         
63         @Rule
64         public WireMockRule wireMockRule = new WireMockRule(PORT)
65
66         String Prefix = "CVRCS_"
67         String RbType = "DCRENI_"
68
69         @BeforeClass
70         public static void setUpBeforeClass() {
71                 request = FileUtil.readResourceFile("__files/VCPE/CreateVcpeResCustService/request.json")
72         }
73           
74     @Before
75         public void init()
76         {
77                 MockitoAnnotations.initMocks(this)
78         }
79         
80         public CreateVcpeResCustServiceTest() {
81                 super("CreateVcpeResCustService")
82         }
83         
84         
85         // ***** preProcessRequest *****
86                         
87         @Test
88         @Ignore // 1802 merge
89         public void preProcessRequest() {
90                 ExecutionEntity mex = setupMock()
91                 def map = setupMap(mex)
92                 initPreProcess(mex)
93                 
94                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
95                 CreateVcpeResCustService.preProcessRequest(mex)
96
97                 verify(mex).getVariable(DBGFLAG)
98                 verify(mex).setVariable("prefix", Prefix)
99                 verify(mex).setVariable("aaiDistDelay", "aaidelay")
100                 verify(mex).setVariable("createVcpeServiceRequest", request)
101                 verify(mex).setVariable("msoRequestId", "mri")
102                 assertEquals("sii", map.get("serviceInstanceId"))
103                 verify(mex).setVariable("requestAction", "ra")
104                 verify(mex).setVariable("source", "VID")
105                 verify(mex).setVariable("globalSubscriberId", CUST)
106                 verify(mex).setVariable("globalCustomerId", CUST)
107                 verify(mex).setVariable("subscriptionServiceType", SVC)
108                 verify(mex).setVariable("disableRollback", "false")
109                 verify(mex).setVariable("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb")              
110                 assertTrue(map.containsKey("subscriberInfo"))
111                 
112                 verify(mex).setVariable("brgWanMacAddress", "brgmac")
113                 verify(mex).setVariable("customerLocation", ["customerLatitude":"32.897480", "customerLongitude":"-97.040443", "customerName":"some_company"])
114                 verify(mex).setVariable("homingService", "sniro")
115                 assertTrue(map.containsKey("serviceInputParams"))
116                 assertTrue(map.containsKey(Prefix+"requestInfo"))
117                 
118                 def reqinfo = map.get(Prefix+"requestInfo")
119                 assertTrue(reqinfo.indexOf("<request-id>mri</") >= 0)
120                 assertTrue(reqinfo.indexOf("<source>VID</") >= 0)
121         }
122                         
123         @Test
124         // @Ignore  
125         public void preProcessRequest_MissingAaiDistDelay() {
126                 ExecutionEntity mex = setupMock()
127                 def map = setupMap(mex)
128                 initPreProcess(mex)
129                 
130                 when(mex.getVariable("URN_mso_workflow_aai_distribution_delay")).thenReturn(null)
131                 
132                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
133                 
134                 assertTrue(doBpmnError( { _ -> CreateVcpeResCustService.preProcessRequest(mex) }))
135         }
136                         
137         @Test
138         @Ignore // 1802 merge
139         public void preProcessRequest_EmptyParts() {
140                 ExecutionEntity mex = setupMock()
141                 def map = setupMap(mex)
142                 initPreProcess(mex)
143                 
144                 def req = request
145                                         .replace('"source"', '"sourceXXX"')
146                                         .replace('"BRG_WAN_MAC_Address"', '"BRG_WAN_MAC_AddressXXX"')
147                                         .replace('"Customer_Location"', '"Customer_LocationXXX"')
148                 
149                 when(mex.getVariable("bpmnRequest")).thenReturn(req)
150                 when(mex.getVariable("serviceInstanceId")).thenReturn(null)
151                 
152                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
153                 CreateVcpeResCustService.preProcessRequest(mex)
154
155                 verify(mex).getVariable(DBGFLAG)
156                 verify(mex).setVariable("prefix", Prefix)
157                 verify(mex).setVariable("createVcpeServiceRequest", req)
158                 verify(mex).setVariable("msoRequestId", "mri")
159                 assertNotNull(map.get("serviceInstanceId"))
160                 assertFalse(map.get("serviceInstanceId").isEmpty())
161                 verify(mex).setVariable("requestAction", "ra")
162                 verify(mex).setVariable("source", "VID")
163                 verify(mex).setVariable("globalSubscriberId", CUST)
164                 verify(mex).setVariable("globalCustomerId", CUST)
165                 verify(mex).setVariable("subscriptionServiceType", SVC)
166                 verify(mex).setVariable("disableRollback", "false")
167                 verify(mex).setVariable("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb")
168                 assertTrue(map.containsKey("subscriberInfo"))
169                 
170                 assertEquals("", map.get("brgWanMacAddress"))
171                 assertEquals("", map.get("customerLocation"))
172                 assertEquals("oof", map.get("homingService"))
173                 assertTrue(map.containsKey("serviceInputParams"))
174                 assertTrue(map.containsKey(Prefix+"requestInfo"))
175                 
176                 def reqinfo = map.get(Prefix+"requestInfo")
177                 println reqinfo
178                 assertTrue(reqinfo.indexOf("<request-id>mri</") >= 0)
179                 assertTrue(reqinfo.indexOf("<source>VID</") >= 0)
180         }
181                         
182         @Test
183         // @Ignore  
184         public void preProcessRequest_MissingSubscriberId() {
185                 ExecutionEntity mex = setupMock()
186                 def map = setupMap(mex)
187                 initPreProcess(mex)
188                 
189                 def req = request
190                                         .replace('"globalSubscriberId"', '"globalSubscriberIdXXX"')
191                 
192                 when(mex.getVariable("bpmnRequest")).thenReturn(req)
193                 when(mex.getVariable("serviceInstanceId")).thenReturn(null)
194                 
195                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
196                 
197                 assertTrue(doBpmnError( { _ -> CreateVcpeResCustService.preProcessRequest(mex) }))
198         }
199
200         @Test
201         @Ignore
202         public void preProcessRequest_vimId() {
203                 ExecutionEntity mex = setupMock()
204                 def map = setupMap(mex)
205                 initPreProcess(mex)
206                 UrnPropertiesReader
207
208                 def req = request
209                                 .replace('"mdt1"', '"CloudOwner_CloudRegion1"')
210
211                 when(mex.getVariable("bpmnRequest")).thenReturn(req)
212                 when(mex.getVariable("URN_mso_workflow_aai_distribution_delay")).thenReturn("PT5S")
213                 when(mex.getVariable("aai.workflowAaiDistributionDelay")).thenReturn("PT5S")
214
215                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
216                 CreateVcpeResCustService.preProcessRequest(mex)
217
218                 verify(mex).setVariable("cloudRegionId", "CloudRegion1")
219                 verify(mex).setVariable("cloudOwner", "CloudOwner")
220         }
221
222         @Test
223         @Ignore
224         public void preProcessRequest_noVimId() {
225                 ExecutionEntity mex = setupMock()
226                 def map = setupMap(mex)
227                 initPreProcess(mex)
228
229                 def req = request
230                                 .replace('"mdt1"', '"CloudRegion1_"')
231
232                 when(mex.getVariable("bpmnRequest")).thenReturn(req)
233                 when(mex.getVariable("URN_mso_workflow_aai_distribution_delay")).thenReturn(60)
234                 when(mex.getVariable("URN_mso_workflow_aai_distribution_delay")).thenReturn("PT5S")
235                 when(mex.getVariable("aai.workflowAaiDistributionDelay")).thenReturn("PT5S")
236
237                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
238                 CreateVcpeResCustService.preProcessRequest(mex)
239
240                 verify(mex).setVariable("cloudRegionId", "CloudRegion1_")
241                 verify(mex).setVariable("cloudOwner", "my-cloud-owner")
242
243         }
244
245
246         @Test
247         // @Ignore  
248         public void preProcessRequest_BpmnError() {
249                 ExecutionEntity mex = setupMock()
250                 initPreProcess(mex)
251                 
252                 when(mex.getVariable("bpmnRequest")).thenThrow(new BpmnError("expected exception"))
253                 
254                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
255                 
256                 assertTrue(doBpmnError( { _ -> CreateVcpeResCustService.preProcessRequest(mex) }))
257         }
258                         
259         @Test
260         // @Ignore  
261         public void preProcessRequest_Ex() {
262                 ExecutionEntity mex = setupMock()
263                 initPreProcess(mex)
264                 
265                 when(mex.getVariable("bpmnRequest")).thenThrow(new RuntimeException("expected exception"))
266                 
267                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
268                 
269                 assertTrue(doBpmnError( { _ -> CreateVcpeResCustService.preProcessRequest(mex) }))
270         }
271         
272         // ***** sendSyncResponse *****
273                         
274         @Test
275         // @Ignore  
276         public void sendSyncResponse() {
277                 ExecutionEntity mex = setupMock()
278                 def map = setupMap(mex)
279                 initSendSyncResponse(mex)
280                 
281                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
282                 CreateVcpeResCustService.sendSyncResponse(mex)
283
284                 verify(mex, times(2)).getVariable(DBGFLAG)
285                 
286                 verify(mex).setVariable(processName+"WorkflowResponseSent", "true")
287                 
288                 assertEquals("202", map.get(processName+"ResponseCode"))
289                 assertEquals("Success", map.get(processName+"Status"))
290                 
291                 def resp = map.get(processName+"Response")
292                 
293                 assertTrue(resp.indexOf('"instanceId":"sii"') >= 0)
294                 assertTrue(resp.indexOf('"requestId":"mri"') >= 0)
295         }
296                         
297         @Test
298         // @Ignore  
299         public void sendSyncResponse_Ex() {
300                 ExecutionEntity mex = setupMock()
301                 initSendSyncResponse(mex)
302                 
303                 when(mex.getVariable("serviceInstanceId")).thenThrow(new RuntimeException("expected exception"))
304                 
305                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
306                 
307                 assertTrue(doBpmnError( { _ -> CreateVcpeResCustService.sendSyncResponse(mex) }))
308         }
309         
310         
311         // ***** prepareDecomposeService *****
312                         
313         @Test
314         // @Ignore  
315         public void prepareDecomposeService() {
316                 ExecutionEntity mex = setupMock()
317                 initPrepareDecomposeService(mex)
318                 
319                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
320                 CreateVcpeResCustService.prepareDecomposeService(mex)
321
322                 verify(mex).getVariable(DBGFLAG)
323                 verify(mex).setVariable("serviceModelInfo", "mi")
324         }
325                         
326         @Test
327         // @Ignore  
328         public void prepareDecomposeService_Ex() {
329                 ExecutionEntity mex = setupMock()
330                 initPrepareDecomposeService(mex)
331                 
332                 when(mex.getVariable("createVcpeServiceRequest")).thenThrow(new RuntimeException("expected exception"))
333                 
334                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
335                 
336                 assertTrue(doBpmnError( { _ -> CreateVcpeResCustService.prepareDecomposeService(mex) }))
337         }
338         
339         
340         // ***** prepareCreateServiceInstance *****
341                         
342         @Test
343         // @Ignore  
344         public void prepareCreateServiceInstance() {
345                 ExecutionEntity mex = setupMock()
346                 initPrepareCreateServiceInstance(mex)
347                 
348                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
349                 CreateVcpeResCustService.prepareCreateServiceInstance(mex)
350
351                 verify(mex).getVariable(DBGFLAG)
352                 verify(mex).setVariable("serviceInstanceName", "VCPE1")
353                 verify(mex).setVariable("serviceDecompositionString", "mydecomp")
354         }
355                         
356         @Test
357         // @Ignore  
358         public void prepareCreateServiceInstance_Ex() {
359                 ExecutionEntity mex = setupMock()
360                 initPrepareCreateServiceInstance(mex)
361                 
362                 when(mex.getVariable("createVcpeServiceRequest")).thenThrow(new RuntimeException("expected exception"))
363                 
364                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
365                 
366                 assertTrue(doBpmnError( { _ -> CreateVcpeResCustService.prepareCreateServiceInstance(mex) }))
367         }
368         
369         
370         // ***** postProcessServiceInstanceCreate *****
371                         
372         @Test
373         // @Ignore  
374         public void postProcessServiceInstanceCreate() {
375                 ExecutionEntity mex = setupMock()
376                 def map = setupMap(mex)
377                 initPostProcessServiceInstanceCreate(mex)
378                 
379                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
380                 CreateVcpeResCustService.postProcessServiceInstanceCreate(mex)
381
382                 verify(mex).getVariable(DBGFLAG)
383                 
384                 def reqinfo = map.get(Prefix+"setUpdateDbInstancePayload")
385                 
386                 assertTrue(reqinfo.indexOf("<requestId>mri</") >= 0)
387                 assertTrue(reqinfo.indexOf("<serviceInstanceId>sii</") >= 0)
388                 assertTrue(reqinfo.indexOf("<serviceInstanceName>sin</") >= 0)
389         }
390                         
391         @Test
392         // @Ignore  
393         public void postProcessServiceInstanceCreate_BpmnError() {
394                 ExecutionEntity mex = setupMock()
395                 initPostProcessServiceInstanceCreate(mex)
396                 
397                 doThrow(new BpmnError("expected exception")).when(mex).setVariable(endsWith("setUpdateDbInstancePayload"), any())
398                 
399                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
400                 
401                 assertTrue(doBpmnError( { _ -> CreateVcpeResCustService.postProcessServiceInstanceCreate(mex) }))
402         }
403                         
404         @Test
405         // @Ignore  
406         public void postProcessServiceInstanceCreate_Ex() {
407                 ExecutionEntity mex = setupMock()
408                 initPostProcessServiceInstanceCreate(mex)
409                 
410                 doThrow(new RuntimeException("expected exception")).when(mex).setVariable(endsWith("setUpdateDbInstancePayload"), any())
411                 
412                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
413                 
414                 assertTrue(doBpmnError( { _ -> CreateVcpeResCustService.postProcessServiceInstanceCreate(mex) }))
415         }
416         
417         
418         // ***** processDecomposition *****
419                         
420         @Test
421         // @Ignore  
422         public void processDecomposition() {
423                 ExecutionEntity mex = setupMock()
424                 def svcdecomp = initProcessDecomposition(mex)
425                 
426                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
427                 CreateVcpeResCustService.processDecomposition(mex)
428
429                 verify(mex).getVariable(DBGFLAG)
430                 
431                 verify(mex).setVariable("vnfList", svcdecomp.getVnfResources())
432                 verify(mex).setVariable("vnfListString", '[myvnf]')
433                 verify(mex).setVariable(Prefix+"VNFsCount", 1)
434                 
435                 verify(mex).setVariable("vnfModelInfo", "mymodel")
436                 verify(mex).setVariable("vnfModelInfoString", "mymodel")
437         }
438                         
439         @Test
440         // @Ignore  
441         public void processDecomposition_EmptyNet_EmptyVnf() {
442                 ExecutionEntity mex = setupMock()
443                 def svcdecomp = initProcessDecomposition(mex)
444                 
445                 when(svcdecomp.getVnfResources()).thenReturn(new LinkedList<VnfResource>())
446                 
447                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
448                 CreateVcpeResCustService.processDecomposition(mex)
449
450                 verify(mex).getVariable(DBGFLAG)
451                 
452                 verify(mex).setVariable("vnfList", svcdecomp.getVnfResources())
453                 verify(mex).setVariable("vnfListString", '[]')
454                 verify(mex).setVariable(Prefix+"VNFsCount", 0)
455                 
456                 verify(mex).setVariable("vnfModelInfo", "")
457                 verify(mex).setVariable("vnfModelInfoString", "")
458         }
459                         
460         @Test
461         // @Ignore  
462         public void processDecomposition_Ex() {
463                 ExecutionEntity mex = setupMock()
464                 def svcdecomp = initProcessDecomposition(mex)
465                 
466                 when(svcdecomp.getVnfResources()).thenThrow(new RuntimeException("expected exception"))
467                 
468                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
469                 
470                 assertTrue(doBpmnError( { _ -> CreateVcpeResCustService.processDecomposition(mex) }))
471         }
472         
473         
474         // ***** filterVnfs *****
475                         
476         @Test
477         // @Ignore  
478         public void filterVnfs() {
479                 ExecutionEntity mex = setupMock()
480                 def svcdecomp = initFilterVnfs(mex)
481                 
482                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
483                 CreateVcpeResCustService.processDecomposition(mex)
484                 
485                 verify(mex).setVariable("vnfListString", '[myvnf3, myvnf5]')
486         }
487                         
488         @Test
489         // @Ignore  
490         public void filterVnfs_Null() {
491                 ExecutionEntity mex = setupMock()
492                 def svcdecomp = initFilterVnfs(mex)
493                 
494                 when(svcdecomp.getVnfResources()).thenReturn(null)
495                 
496                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
497                 CreateVcpeResCustService.processDecomposition(mex)
498                 
499                 // nothing more to check, as long as it didn't throw an exception
500         }
501         
502         
503         // ***** prepareCreateAllottedResourceTXC *****
504                         
505         @Test
506         // @Ignore  
507         public void prepareCreateAllottedResourceTXC() {
508                 ExecutionEntity mex = setupMock()
509                 initPrepareCreateAllottedResourceTXC(mex)
510                 
511                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
512                 CreateVcpeResCustService.prepareCreateAllottedResourceTXC(mex)
513
514                 verify(mex).getVariable(DBGFLAG)
515                 
516                 verify(mex).setVariable("createTXCAR", true)
517                 verify(mex).setVariable("allottedResourceModelInfoTXC", "modelB")
518                 verify(mex).setVariable("allottedResourceRoleTXC", "TXCr")
519                 verify(mex).setVariable("allottedResourceTypeTXC", "Tunnel XConn")
520                 verify(mex).setVariable("parentServiceInstanceIdTXC", "homeB")
521         }
522                         
523         @Test
524         // @Ignore  
525         public void prepareCreateAllottedResourceTXC_NullArList() {
526                 ExecutionEntity mex = setupMock()
527                 def svcdecomp = initPrepareCreateAllottedResourceTXC(mex)
528                 
529                 when(svcdecomp.getAllottedResources()).thenReturn(null)
530                 
531                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
532                 CreateVcpeResCustService.prepareCreateAllottedResourceTXC(mex)
533
534                 verify(mex).getVariable(DBGFLAG)
535                 
536                 verify(mex, never()).setVariable("createTXCAR", true)
537                 verify(mex, never()).setVariable("allottedResourceModelInfoTXC", "modelB")
538                 verify(mex, never()).setVariable("allottedResourceRoleTXC", "TXCr")
539                 verify(mex, never()).setVariable("allottedResourceTypeTXC", "Tunnel XConn")
540                 verify(mex, never()).setVariable("parentServiceInstanceIdTXC", "homeB")
541         }
542                         
543         @Test
544         // @Ignore  
545         public void prepareCreateAllottedResourceTXC_Ex() {
546                 ExecutionEntity mex = setupMock()
547                 initPrepareCreateAllottedResourceTXC(mex)
548                 
549                 when(mex.getVariable("createVcpeServiceRequest")).thenThrow(new RuntimeException("expected exception"))
550                 
551                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
552                 
553                 assertTrue(doBpmnError( { _ -> CreateVcpeResCustService.prepareCreateAllottedResourceTXC(mex) }))
554         }
555         
556         
557         // ***** prepareCreateAllottedResourceBRG *****
558                         
559         @Test
560         // @Ignore  
561         public void prepareCreateAllottedResourceBRG() {
562                 ExecutionEntity mex = setupMock()
563                 initPrepareCreateAllottedResourceBRG(mex)
564                 
565                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
566                 CreateVcpeResCustService.prepareCreateAllottedResourceBRG(mex)
567
568                 verify(mex).getVariable(DBGFLAG)
569                 
570                 verify(mex).setVariable("createBRGAR", true)
571                 verify(mex).setVariable("allottedResourceModelInfoBRG", "modelB")
572                 verify(mex).setVariable("allottedResourceRoleBRG", "BRGr")
573                 verify(mex).setVariable("allottedResourceTypeBRG", "BRG")
574                 verify(mex).setVariable("parentServiceInstanceIdBRG", "homeB")
575         }
576                         
577         @Test
578         // @Ignore  
579         public void prepareCreateAllottedResourceBRG_NullArList() {
580                 ExecutionEntity mex = setupMock()
581                 def svcdecomp = initPrepareCreateAllottedResourceBRG(mex)
582                 
583                 when(svcdecomp.getAllottedResources()).thenReturn(null)
584                 
585                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
586                 CreateVcpeResCustService.prepareCreateAllottedResourceBRG(mex)
587
588                 verify(mex).getVariable(DBGFLAG)
589                 
590                 verify(mex, never()).setVariable("createBRGAR", true)
591                 verify(mex, never()).setVariable("allottedResourceModelInfoBRG", "modelB")
592                 verify(mex, never()).setVariable("allottedResourceRoleBRG", "BRGr")
593                 verify(mex, never()).setVariable("allottedResourceTypeBRG", "BRG")
594                 verify(mex, never()).setVariable("parentServiceInstanceIdBRG", "homeB")
595         }
596                         
597         @Test
598         // @Ignore  
599         public void prepareCreateAllottedResourceBRG_Ex() {
600                 ExecutionEntity mex = setupMock()
601                 initPrepareCreateAllottedResourceBRG(mex)
602                 
603                 when(mex.getVariable("createVcpeServiceRequest")).thenThrow(new RuntimeException("expected exception"))
604                 
605                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
606                 
607                 assertTrue(doBpmnError( { _ -> CreateVcpeResCustService.prepareCreateAllottedResourceBRG(mex) }))
608         }
609         
610         
611         // ***** prepareVnfAndModulesCreate *****
612                         
613         @Test
614         // @Ignore  
615         public void prepareVnfAndModulesCreate() {
616                 ExecutionEntity mex = setupMock()
617                 initPrepareVnfAndModulesCreate(mex)
618                 
619                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
620                 CreateVcpeResCustService.prepareVnfAndModulesCreate(mex)
621
622                 verify(mex).getVariable(DBGFLAG)
623                 
624                 verify(mex).setVariable("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb")
625                 verify(mex).setVariable("lcpCloudRegionId", "mdt1")
626                 verify(mex).setVariable("cloudOwner", "my-cloud-owner")
627                 verify(mex).setVariable("tenantId", "8b1df54faa3b49078e3416e21370a3ba")
628         }
629
630         @Test
631         public void prepareVnfAndModulesCreate_noVimId() {
632                 ExecutionEntity mex = setupMock()
633                 initPrepareVnfAndModulesCreate(mex)
634
635                 def req = request
636                                 .replace('"mdt1"', '"CloudRegion1_"')
637
638                 when(mex.getVariable("createVcpeServiceRequest")).thenReturn(req)
639
640                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
641                 CreateVcpeResCustService.prepareVnfAndModulesCreate(mex)
642
643                 verify(mex).setVariable("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb")
644                 verify(mex).setVariable("cloudRegionId", "CloudRegion1_")
645                 verify(mex).setVariable("lcpCloudRegionId", "CloudRegion1_")
646                 verify(mex).setVariable("tenantId", "8b1df54faa3b49078e3416e21370a3ba")
647         }
648
649         @Test
650         public void prepareVnfAndModulesCreate_vimId() {
651                 ExecutionEntity mex = setupMock()
652                 initPrepareVnfAndModulesCreate(mex)
653
654                 def req = request
655                                 .replace('"mdt1"', '"CloudOwner_CloudRegion1"')
656
657                 when(mex.getVariable("createVcpeServiceRequest")).thenReturn(req)
658
659                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
660                 CreateVcpeResCustService.prepareVnfAndModulesCreate(mex)
661
662                 verify(mex).setVariable("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb")
663                 verify(mex).setVariable("cloudOwner", "CloudOwner")
664                 verify(mex).setVariable("cloudRegionId", "CloudRegion1")
665                 verify(mex).setVariable("lcpCloudRegionId", "CloudRegion1")
666                 verify(mex).setVariable("tenantId", "8b1df54faa3b49078e3416e21370a3ba")
667         }
668                         
669         @Test
670         // @Ignore  
671         public void prepareVnfAndModulesCreate_EmptyList() {
672                 ExecutionEntity mex = setupMock()
673                 initPrepareVnfAndModulesCreate(mex)
674                 
675                 when(mex.getVariable("vnfList")).thenReturn(new LinkedList<VnfResource>())
676                 
677                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
678                 CreateVcpeResCustService.prepareVnfAndModulesCreate(mex)
679
680                 verify(mex).getVariable(DBGFLAG)
681                 
682                 verify(mex).setVariable("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb")
683                 verify(mex).setVariable("lcpCloudRegionId", "mdt1")
684                 verify(mex).setVariable("cloudOwner", "my-cloud-owner")
685                 verify(mex).setVariable("tenantId", "8b1df54faa3b49078e3416e21370a3ba")
686         }
687                         
688         @Test
689         // @Ignore  
690         public void prepareVnfAndModulesCreate_NullList() {
691                 ExecutionEntity mex = setupMock()
692                 initPrepareVnfAndModulesCreate(mex)
693                 
694                 when(mex.getVariable("vnfList")).thenReturn(null)
695                 
696                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
697                 CreateVcpeResCustService.prepareVnfAndModulesCreate(mex)
698
699                 verify(mex).getVariable(DBGFLAG)
700                 
701                 verify(mex).setVariable("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb")
702                 verify(mex).setVariable("lcpCloudRegionId", "mdt1")
703                 verify(mex).setVariable("cloudOwner", "my-cloud-owner")
704                 verify(mex).setVariable("tenantId", "8b1df54faa3b49078e3416e21370a3ba")
705         }
706                         
707         @Test
708         // @Ignore  
709         public void prepareVnfAndModulesCreate_Ex() {
710                 ExecutionEntity mex = setupMock()
711                 initPrepareVnfAndModulesCreate(mex)
712                 
713                 when(mex.getVariable("vnfList")).thenThrow(new RuntimeException("expected exception"))
714                 
715                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
716                 
717                 assertTrue(doBpmnError( { _ -> CreateVcpeResCustService.prepareVnfAndModulesCreate(mex) }))
718         }
719         
720         
721         // ***** validateVnfCreate *****
722                         
723         @Test
724         // @Ignore  
725         public void validateVnfCreate() {
726                 ExecutionEntity mex = setupMock()
727                 initValidateVnfCreate(mex)
728                 
729                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
730                 CreateVcpeResCustService.validateVnfCreate(mex)
731
732                 verify(mex).getVariable(DBGFLAG)
733                 
734                 verify(mex).setVariable(Prefix+"VnfsCreatedCount", 3)
735         }
736                         
737         @Test
738         // @Ignore  
739         public void validateVnfCreate_Ex() {
740                 ExecutionEntity mex = setupMock()
741                 initValidateVnfCreate(mex)
742                 
743                 when(mex.getVariable(Prefix+"VnfsCreatedCount")).thenThrow(new RuntimeException("expected exception"))
744                 
745                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
746                 
747                 assertTrue(doBpmnError( { _ -> CreateVcpeResCustService.validateVnfCreate(mex) }))
748         }
749         
750         
751         // ***** postProcessResponse *****
752                         
753         @Test
754         // @Ignore  
755         public void postProcessResponse() {
756                 ExecutionEntity mex = setupMock()
757                 def map = setupMap(mex)
758                 initPostProcessResponse(mex)
759                 
760                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
761                 CreateVcpeResCustService.postProcessResponse(mex)
762
763                 verify(mex).getVariable(DBGFLAG)
764                 
765                 verify(mex).setVariable(Prefix+"Success", true)
766                 
767                 def reqinfo = map.get(Prefix+"CompleteMsoProcessRequest")
768                 
769                 assertTrue(reqinfo.indexOf("request-id>mri</") >= 0)
770                 assertTrue(reqinfo.indexOf("source>mysrc</") >= 0)
771                 assertTrue(reqinfo.indexOf("serviceInstanceId>sii</") >= 0)
772         }
773                         
774         @Test
775         // @Ignore  
776         public void postProcessResponse_BpmnError() {
777                 ExecutionEntity mex = setupMock()
778                 def map = setupMap(mex)
779                 initPostProcessResponse(mex)
780                 
781                 when(mex.getVariable("source")).thenThrow(new BpmnError("expected exception"))
782                 
783                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
784                 
785                 assertTrue(doBpmnError( { _ -> CreateVcpeResCustService.postProcessResponse(mex) }))
786         }
787                         
788         @Test
789         // @Ignore  
790         public void postProcessResponse_Ex() {
791                 ExecutionEntity mex = setupMock()
792                 def map = setupMap(mex)
793                 initPostProcessResponse(mex)
794                 
795                 when(mex.getVariable("source")).thenThrow(new RuntimeException("expected exception"))
796                 
797                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
798                 
799                 assertTrue(doBpmnError( { _ -> CreateVcpeResCustService.postProcessResponse(mex) }))
800         }
801         
802         
803         // ***** preProcessRollback *****
804                         
805         @Test
806         // @Ignore  
807         public void preProcessRollback() {
808                 ExecutionEntity mex = setupMock()
809                 def wfe = initPreProcessRollback(mex)
810                 
811                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
812                 CreateVcpeResCustService.preProcessRollback(mex)
813
814                 verify(mex).getVariable(DBGFLAG)
815                 
816                 verify(mex).setVariable("prevWorkflowException", wfe)
817         }
818                         
819         @Test
820         // @Ignore  
821         public void preProcessRollback_NullWfe() {
822                 ExecutionEntity mex = setupMock()
823                 def map = setupMap(mex)
824                 def wfe = initPreProcessRollback(mex)
825                 
826                 when(mex.getVariable("WorkflowException")).thenReturn(null)
827                 
828                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
829                 CreateVcpeResCustService.preProcessRollback(mex)
830
831                 verify(mex).getVariable(DBGFLAG)
832                 
833                 assertFalse(map.containsKey("prevWorkflowException"))
834         }
835                         
836         @Test
837         // @Ignore  
838         public void preProcessRollback_BpmnError() {
839                 ExecutionEntity mex = setupMock()
840                 def map = setupMap(mex)
841                 def wfe = initPreProcessRollback(mex)
842                 
843                 when(mex.getVariable("WorkflowException")).thenThrow(new BpmnError("expected exception"))
844                 
845                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
846                 CreateVcpeResCustService.preProcessRollback(mex)
847
848                 verify(mex).getVariable(DBGFLAG)
849                 
850                 assertFalse(map.containsKey("prevWorkflowException"))
851         }
852                         
853         @Test
854         // @Ignore  
855         public void preProcessRollback_Ex() {
856                 ExecutionEntity mex = setupMock()
857                 def map = setupMap(mex)
858                 def wfe = initPreProcessRollback(mex)
859                 
860                 when(mex.getVariable("WorkflowException")).thenThrow(new RuntimeException("expected exception"))
861                 
862                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
863                 CreateVcpeResCustService.preProcessRollback(mex)
864
865                 verify(mex).getVariable(DBGFLAG)
866                 
867                 assertFalse(map.containsKey("prevWorkflowException"))
868         }
869         
870         
871         // ***** postProcessRollback *****
872                         
873         @Test
874         // @Ignore  
875         public void postProcessRollback() {
876                 ExecutionEntity mex = setupMock()
877                 def wfe = initPostProcessRollback(mex)
878                 
879                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
880                 CreateVcpeResCustService.postProcessRollback(mex)
881
882                 verify(mex).getVariable(DBGFLAG)
883                 
884                 verify(mex).setVariable("WorkflowException", wfe)
885         }
886                         
887         @Test
888         // @Ignore  
889         public void postProcessRollback_NullWfe() {
890                 ExecutionEntity mex = setupMock()
891                 def map = setupMap(mex)
892                 def wfe = initPostProcessRollback(mex)
893                 
894                 when(mex.getVariable("prevWorkflowException")).thenReturn(null)
895                 
896                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
897                 CreateVcpeResCustService.postProcessRollback(mex)
898
899                 verify(mex).getVariable(DBGFLAG)
900                 
901                 assertFalse(map.containsKey("WorkflowException"))
902         }
903                         
904         @Test
905         // @Ignore  
906         public void postProcessRollback_BpmnError() {
907                 ExecutionEntity mex = setupMock()
908                 def map = setupMap(mex)
909                 def wfe = initPostProcessRollback(mex)
910                 
911                 when(mex.getVariable("prevWorkflowException")).thenThrow(new BpmnError("expected exception"))
912                 
913                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
914                 assertTrue(doBpmnError( { _ -> CreateVcpeResCustService.postProcessRollback(mex) }))
915         }
916                         
917         @Test
918         // @Ignore  
919         public void postProcessRollback_Ex() {
920                 ExecutionEntity mex = setupMock()
921                 def map = setupMap(mex)
922                 def wfe = initPostProcessRollback(mex)
923                 
924                 when(mex.getVariable("prevWorkflowException")).thenThrow(new RuntimeException("expected exception"))
925                 
926                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
927                 CreateVcpeResCustService.postProcessRollback(mex)
928
929                 verify(mex).getVariable(DBGFLAG)
930                 
931                 assertFalse(map.containsKey("WorkflowException"))
932         }
933         
934         
935         // ***** prepareFalloutRequest *****
936                         
937         @Test
938         // @Ignore  
939         public void prepareFalloutRequest() {
940                 ExecutionEntity mex = setupMock()
941                 def map = setupMap(mex)
942                 initPrepareFalloutRequest(mex)
943                 
944                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
945                 CreateVcpeResCustService.prepareFalloutRequest(mex)
946
947                 verify(mex, times(2)).getVariable(DBGFLAG)
948                 
949                 def fo = map.get(Prefix+"falloutRequest")
950                 
951                 assertTrue(fo.indexOf("<hello>world</") >= 0)
952                 assertTrue(fo.indexOf("ErrorMessage>mymsg</") >= 0)
953                 assertTrue(fo.indexOf("ErrorCode>999</") >= 0)
954         }
955                         
956         @Test
957         // @Ignore  
958         public void prepareFalloutRequest_Ex() {
959                 ExecutionEntity mex = setupMock()
960                 def map = setupMap(mex)
961                 initPrepareFalloutRequest(mex)
962                 
963                 when(mex.getVariable("WorkflowException")).thenThrow(new RuntimeException("expected exception"))
964                 
965                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
966                 
967                 assertTrue(doBpmnError( { _ -> CreateVcpeResCustService.prepareFalloutRequest(mex) }))
968         }
969         
970         // ***** sendSyncError *****
971                         
972         @Test
973         // @Ignore  
974         public void sendSyncError() {
975                 ExecutionEntity mex = setupMock()
976                 def map = setupMap(mex)
977                 initSendSyncError(mex)
978                 
979                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
980                 CreateVcpeResCustService.sendSyncError(mex)
981
982                 verify(mex, times(2)).getVariable(DBGFLAG)
983                 
984                 verify(mex).setVariable(processName+"WorkflowResponseSent", "true")
985                 
986                 assertEquals("500", map.get(processName+"ResponseCode"))
987                 assertEquals("Fail", map.get(processName+"Status"))
988                 
989                 def resp = map.get(processName+"Response")
990                 
991                 assertTrue(resp.indexOf("ErrorMessage>mymsg</") >= 0)
992                 
993                 verify(mex).setVariable("WorkflowResponse", resp)
994         }
995                         
996         @Test
997         // @Ignore  
998         public void sendSyncError_NotWfe() {
999                 ExecutionEntity mex = setupMock()
1000                 def map = setupMap(mex)
1001                 initSendSyncError(mex)
1002                 
1003                 when(mex.getVariable("WorkflowException")).thenReturn("not a WFE")
1004                 
1005                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
1006                 CreateVcpeResCustService.sendSyncError(mex)
1007
1008                 verify(mex, times(2)).getVariable(DBGFLAG)
1009                 
1010                 verify(mex).setVariable(processName+"WorkflowResponseSent", "true")
1011                 
1012                 assertEquals("500", map.get(processName+"ResponseCode"))
1013                 assertEquals("Fail", map.get(processName+"Status"))
1014                 
1015                 def resp = map.get(processName+"Response")
1016                 
1017                 assertTrue(resp.indexOf("ErrorMessage>Sending Sync Error.</") >= 0)
1018                 
1019                 verify(mex).setVariable("WorkflowResponse", resp)
1020         }
1021                         
1022         @Test
1023         // @Ignore  
1024         public void sendSyncError_NullWfe() {
1025                 ExecutionEntity mex = setupMock()
1026                 def map = setupMap(mex)
1027                 initSendSyncError(mex)
1028                 
1029                 when(mex.getVariable("WorkflowException")).thenReturn(null)
1030                 
1031                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
1032                 CreateVcpeResCustService.sendSyncError(mex)
1033
1034                 verify(mex, times(2)).getVariable(DBGFLAG)
1035                 
1036                 verify(mex).setVariable(processName+"WorkflowResponseSent", "true")
1037                 
1038                 assertEquals("500", map.get(processName+"ResponseCode"))
1039                 assertEquals("Fail", map.get(processName+"Status"))
1040                 
1041                 def resp = map.get(processName+"Response")
1042                 
1043                 assertTrue(resp.indexOf("ErrorMessage>Sending Sync Error.</") >= 0)
1044                 
1045                 verify(mex).setVariable("WorkflowResponse", resp)
1046         }
1047                         
1048         @Test
1049         // @Ignore  
1050         public void sendSyncError_Ex() {
1051                 ExecutionEntity mex = setupMock()
1052                 def map = setupMap(mex)
1053                 initSendSyncError(mex)
1054                 
1055                 when(mex.getVariable("WorkflowException")).thenThrow(new RuntimeException("expected exception"))
1056                 
1057                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
1058                 
1059                 CreateVcpeResCustService.sendSyncError(mex)
1060                 
1061                 assertFalse(map.containsKey(processName+"ResponseCode"))
1062         }
1063         
1064         
1065         // ***** processJavaException *****
1066                         
1067         @Test
1068         // @Ignore  
1069         public void processJavaException() {
1070                 ExecutionEntity mex = setupMock()
1071                 def map = setupMap(mex)
1072                 initProcessJavaException(mex)
1073                 
1074                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
1075                 
1076                 assertTrue(doBpmnError( { _ -> CreateVcpeResCustService.processJavaException(mex) }))
1077
1078                 verify(mex, times(2)).getVariable(DBGFLAG)
1079                 
1080                 verify(mex).setVariable("prefix", Prefix)
1081                 
1082                 def wfe = map.get("WorkflowException")
1083                 
1084                 assertEquals("Caught a Java Lang Exception", wfe.getErrorMessage())
1085         }
1086                         
1087         @Test
1088         // @Ignore  
1089         public void processJavaException_BpmnError() {
1090                 ExecutionEntity mex = setupMock()
1091                 def map = setupMap(mex)
1092                 initProcessJavaException(mex)
1093                 
1094                 when(mex.getVariables()).thenThrow(new BpmnError("expected exception"))
1095                 
1096                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
1097                 
1098                 assertTrue(doBpmnError( { _ -> CreateVcpeResCustService.processJavaException(mex) }))
1099                 
1100                 assertFalse(map.containsKey("WorkflowException"))
1101         }
1102                         
1103         @Test
1104         // @Ignore  
1105         public void processJavaException_Ex() {
1106                 ExecutionEntity mex = setupMock()
1107                 def map = setupMap(mex)
1108                 initProcessJavaException(mex)
1109                 
1110                 when(mex.getVariables()).thenThrow(new RuntimeException("expected exception"))
1111                 
1112                 CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
1113                 
1114                 assertTrue(doBpmnError( { _ -> CreateVcpeResCustService.processJavaException(mex) }))
1115                 
1116                 def wfe = map.get("WorkflowException")
1117                 
1118                 assertEquals("Exception in processJavaException method", wfe.getErrorMessage())
1119         }
1120         
1121         
1122         private void initPreProcess(ExecutionEntity mex) {
1123                 when(mex.getVariable(DBGFLAG)).thenReturn("true")
1124                 when(mex.getVariable("bpmnRequest")).thenReturn(request)
1125                 when(mex.getVariable("URN_mso_workflow_aai_distribution_delay")).thenReturn("aaidelay")
1126                 when(mex.getVariable("mso-request-id")).thenReturn("mri")
1127                 when(mex.getVariable("serviceInstanceId")).thenReturn("sii")
1128                 when(mex.getVariable("requestAction")).thenReturn("ra")
1129         }
1130         
1131         private initSendSyncResponse(ExecutionEntity mex) {
1132                 when(mex.getVariable(DBGFLAG)).thenReturn("true")
1133                 when(mex.getVariable("mso-request-id")).thenReturn("mri")
1134                 when(mex.getVariable("serviceInstanceId")).thenReturn("sii")
1135         }
1136         
1137         private void initPrepareDecomposeService(ExecutionEntity mex) {
1138                 when(mex.getVariable(DBGFLAG)).thenReturn("true")
1139                 when(mex.getVariable("createVcpeServiceRequest")).thenReturn('{"requestDetails":{"modelInfo":"mi"}}')
1140         }
1141         
1142         private void initPrepareCreateServiceInstance(ExecutionEntity mex) {
1143                 ServiceDecomposition svcdecomp = mock(ServiceDecomposition.class)
1144                 
1145                 when(mex.getVariable(DBGFLAG)).thenReturn("true")
1146                 when(mex.getVariable("createVcpeServiceRequest")).thenReturn(request)
1147                 when(mex.getVariable("serviceDecomposition")).thenReturn(svcdecomp)
1148                 
1149                 when(svcdecomp.toJsonStringNoRootName()).thenReturn("mydecomp")
1150         }
1151         
1152         private void initPostProcessServiceInstanceCreate(ExecutionEntity mex) {
1153                 when(mex.getVariable(DBGFLAG)).thenReturn("true")
1154                 when(mex.getVariable("mso-request-id")).thenReturn("mri")
1155                 when(mex.getVariable("serviceInstanceId")).thenReturn("sii")
1156                 when(mex.getVariable("serviceInstanceName")).thenReturn("sin")
1157         }
1158         
1159         private ServiceDecomposition initProcessDecomposition(ExecutionEntity mex) {
1160                 List<VnfResource> vnflst = new LinkedList<>()
1161                 vnflst.add(makeVnf("", ""))
1162                 vnflst.add(makeVnf("2", "BRG"))
1163                 vnflst.add(makeVnf("3", "BRG"))
1164                         
1165                 ServiceDecomposition svcdecomp = mock(ServiceDecomposition.class)
1166                 when(svcdecomp.getVnfResources()).thenReturn(vnflst)
1167                 
1168                 when(mex.getVariable(DBGFLAG)).thenReturn("true")
1169                 when(mex.getVariable("serviceDecomposition")).thenReturn(svcdecomp)
1170                 when(mex.getVariable("serviceInstanceId")).thenReturn("sii")
1171                 when(mex.getVariable("serviceInstanceName")).thenReturn("sin")
1172                 
1173                 return svcdecomp
1174         }
1175         
1176         private ServiceDecomposition initFilterVnfs(ExecutionEntity mex) {
1177                 List<VnfResource> vnflst = new LinkedList<>()
1178                 vnflst.add(makeVnf("", "BRG"))
1179                 vnflst.add(makeVnf("2", "Tunnel XConn"))
1180                 vnflst.add(makeVnf("3", ""))
1181                 vnflst.add(makeVnf("4", "BRG"))
1182                 vnflst.add(makeVnf("5", "other"))
1183                         
1184                 ServiceDecomposition svcdecomp = mock(ServiceDecomposition.class)
1185                 when(svcdecomp.getVnfResources()).thenReturn(vnflst)
1186                 
1187                 when(mex.getVariable(DBGFLAG)).thenReturn("true")
1188                 when(mex.getVariable("serviceDecomposition")).thenReturn(svcdecomp)
1189                 when(mex.getVariable("serviceInstanceId")).thenReturn("sii")
1190                 when(mex.getVariable("serviceInstanceName")).thenReturn("sin")
1191                 
1192                 return svcdecomp
1193         }
1194         
1195         private initAwaitAaiDistribution(ExecutionEntity mex) {
1196                 when(mex.getVariable(DBGFLAG)).thenReturn("true")
1197         }
1198         
1199         private ServiceDecomposition initPrepareCreateAllottedResourceTXC(ExecutionEntity mex) {
1200                 ServiceDecomposition svcdecomp = mock(ServiceDecomposition.class)
1201                 List<AllottedResource> arlst = new LinkedList<>()
1202                 
1203                 arlst.add(makeArBRG("A"))
1204                 arlst.add(makeArTXC("B"))
1205                 arlst.add(makeArBRG("C"))
1206                 
1207                 when(svcdecomp.getAllottedResources()).thenReturn(arlst)
1208                 
1209                 when(mex.getVariable(DBGFLAG)).thenReturn("true")
1210                 when(mex.getVariable("createVcpeServiceRequest")).thenReturn(request)
1211                 when(mex.getVariable("serviceDecomposition")).thenReturn(svcdecomp)
1212                 when(mex.getVariable("allottedResourceId")).thenReturn(ARID)
1213                 
1214                 return svcdecomp
1215         }
1216         
1217         private ServiceDecomposition initPrepareCreateAllottedResourceBRG(ExecutionEntity mex) {
1218                 ServiceDecomposition svcdecomp = mock(ServiceDecomposition.class)
1219                 List<AllottedResource> arlst = new LinkedList<>()
1220                 
1221                 arlst.add(makeArTXC("A"))
1222                 arlst.add(makeArBRG("B"))
1223                 arlst.add(makeArTXC("C"))
1224                 
1225                 when(svcdecomp.getAllottedResources()).thenReturn(arlst)
1226                 
1227                 when(mex.getVariable(DBGFLAG)).thenReturn("true")
1228                 when(mex.getVariable("createVcpeServiceRequest")).thenReturn(request)
1229                 when(mex.getVariable("serviceDecomposition")).thenReturn(svcdecomp)
1230                 when(mex.getVariable("allottedResourceId")).thenReturn(ARID)
1231                 
1232                 return svcdecomp
1233         }
1234         
1235         private AllottedResource makeArTXC(String id) {
1236                 AllottedResource ar = mock(AllottedResource.class)
1237                 ModelInfo mod = mock(ModelInfo.class)
1238                 HomingSolution home = mock(HomingSolution.class)
1239                 
1240                 when(ar.toJsonStringNoRootName()).thenReturn("json"+id)
1241                 when(ar.getAllottedResourceType()).thenReturn("Tunnel XConn")
1242                 when(ar.getModelInfo()).thenReturn(mod)
1243                 when(ar.getAllottedResourceRole()).thenReturn("TXCr")
1244                 when(ar.getHomingSolution()).thenReturn(home)
1245                 
1246                 when(mod.toJsonStringNoRootName()).thenReturn("model"+id)
1247                 
1248                 when(home.getServiceInstanceId()).thenReturn("home"+id)
1249                 
1250                 return ar
1251         }
1252         
1253         private AllottedResource makeArBRG(String id) {
1254                 AllottedResource ar = mock(AllottedResource.class)
1255                 ModelInfo mod = mock(ModelInfo.class)
1256                 HomingSolution home = mock(HomingSolution.class)
1257                 
1258                 when(ar.toJsonStringNoRootName()).thenReturn("json"+id)
1259                 when(ar.getAllottedResourceType()).thenReturn("BRG")
1260                 when(ar.getModelInfo()).thenReturn(mod)
1261                 when(ar.getAllottedResourceRole()).thenReturn("BRGr")
1262                 when(ar.getHomingSolution()).thenReturn(home)
1263                 
1264                 when(mod.toJsonStringNoRootName()).thenReturn("model"+id)
1265                 
1266                 when(home.getServiceInstanceId()).thenReturn("home"+id)
1267                 
1268                 return ar
1269         }
1270         
1271         private initPrepareVnfAndModulesCreate(ExecutionEntity mex) {
1272                 
1273                 List<VnfResource> vnflst = new LinkedList<>()
1274                 
1275                 vnflst.add(makeVnf("A", "BRG"))
1276                 vnflst.add(makeVnf("B", ""))
1277                 vnflst.add(makeVnf("C", ""))
1278                 vnflst.add(makeVnf("D", "Tunnel XConn"))
1279                 
1280                 when(mex.getVariable(DBGFLAG)).thenReturn("true")
1281                 when(mex.getVariable("createVcpeServiceRequest")).thenReturn(request)
1282                 when(mex.getVariable("vnfList")).thenReturn(vnflst)
1283                 when(mex.getVariable(Prefix+"VnfsCreatedCount")).thenReturn(2)
1284                 when(mex.getVariable("vnfModelInfo")).thenReturn("nomodel")
1285                 when(mex.getVariable("sdncVersion")).thenReturn("myvers")
1286         }
1287         
1288         private VnfResource makeVnf(String id, String role) {           
1289                 ModelInfo mod = mock(ModelInfo.class)           
1290                 VnfResource vnf = mock(VnfResource.class)
1291                 
1292                 when(mod.toString()).thenReturn('{"modelInfo":"mymodel'+id+'"}')
1293                 
1294                 when(vnf.toString()).thenReturn("myvnf"+id)
1295                 when(vnf.getModelInfo()).thenReturn(mod)
1296                 when(vnf.getNfRole()).thenReturn(role)
1297
1298                 return vnf
1299         }
1300         
1301         private initValidateVnfCreate(ExecutionEntity mex) {
1302                 when(mex.getVariable(DBGFLAG)).thenReturn("true")
1303                 when(mex.getVariable(Prefix+"VnfsCreatedCount")).thenReturn(2)
1304         }
1305         
1306         private initPostProcessResponse(ExecutionEntity mex) {
1307                 when(mex.getVariable(DBGFLAG)).thenReturn("true")
1308                 when(mex.getVariable("source")).thenReturn("mysrc")
1309                 when(mex.getVariable("mso-request-id")).thenReturn("mri")
1310                 when(mex.getVariable("serviceInstanceId")).thenReturn("sii")
1311         }
1312         
1313         private WorkflowException initPreProcessRollback(ExecutionEntity mex) {
1314                 WorkflowException wfe = mock(WorkflowException.class)
1315                 
1316                 when(mex.getVariable(DBGFLAG)).thenReturn("true")
1317                 when(mex.getVariable("WorkflowException")).thenReturn(wfe)
1318                 
1319                 return wfe
1320         }
1321         
1322         private WorkflowException initPostProcessRollback(ExecutionEntity mex) {
1323                 WorkflowException wfe = mock(WorkflowException.class)
1324                 
1325                 when(mex.getVariable(DBGFLAG)).thenReturn("true")
1326                 when(mex.getVariable("prevWorkflowException")).thenReturn(wfe)
1327                 
1328                 return wfe
1329         }
1330         
1331         private initPrepareFalloutRequest(ExecutionEntity mex) {
1332                 WorkflowException wfe = mock(WorkflowException.class)
1333                 
1334                 when(wfe.getErrorMessage()).thenReturn("mymsg")
1335                 when(wfe.getErrorCode()).thenReturn(999)
1336                 
1337                 when(mex.getVariable(DBGFLAG)).thenReturn("true")
1338                 when(mex.getVariable("WorkflowException")).thenReturn(wfe)
1339                 when(mex.getVariable(Prefix+"requestInfo")).thenReturn("<hello>world</hello>")
1340                 
1341                 return wfe
1342         }
1343         
1344         private initSendSyncError(ExecutionEntity mex) {
1345                 WorkflowException wfe = mock(WorkflowException.class)
1346                 
1347                 when(mex.getVariable(DBGFLAG)).thenReturn("true")
1348                 when(mex.getVariable("mso-request-id")).thenReturn("mri")
1349                 when(mex.getVariable("WorkflowException")).thenReturn(wfe)
1350                 
1351                 when(wfe.getErrorMessage()).thenReturn("mymsg")
1352         }
1353         
1354         private initProcessJavaException(ExecutionEntity mex) {
1355                 when(mex.getVariable(DBGFLAG)).thenReturn("true")
1356         }
1357                 
1358 }