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