47db6b3b7bd5b029444bd25d658aaacfad1ef667
[so.git] / bpmn / so-bpmn-infrastructure-common / src / test / groovy / org / onap / so / bpmn / infrastructure / scripts / DoCreateVnfAndModulesTest.groovy
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
4  * ================================================================================
5  * Copyright (C) 2018 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
21 package org.onap.so.bpmn.infrastructure.scripts
22
23 import com.github.tomakehurst.wiremock.junit.WireMockRule
24 import org.camunda.bpm.engine.ProcessEngineServices
25 import org.camunda.bpm.engine.RepositoryService
26 import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity
27 import org.camunda.bpm.engine.repository.ProcessDefinition
28 import org.junit.Assert
29 import org.junit.Before
30 import org.junit.Rule
31 import org.junit.Test
32 import org.junit.runner.RunWith
33 import org.mockito.ArgumentCaptor
34 import org.mockito.Captor
35 import org.mockito.Mockito
36 import org.mockito.MockitoAnnotations
37 import org.mockito.runners.MockitoJUnitRunner
38 import org.onap.so.bpmn.core.WorkflowException
39 import org.onap.so.bpmn.core.domain.AllottedResource
40 import org.onap.so.bpmn.core.domain.HomingSolution
41 import org.onap.so.bpmn.core.domain.InventoryType
42 import org.onap.so.bpmn.core.domain.License
43 import org.onap.so.bpmn.core.domain.ModelInfo
44 import org.onap.so.bpmn.core.domain.ModuleResource
45 import org.onap.so.bpmn.core.domain.NetworkResource
46 import org.onap.so.bpmn.core.domain.ResourceInstance
47 import org.onap.so.bpmn.core.domain.ResourceType
48 import org.onap.so.bpmn.core.domain.ServiceDecomposition
49 import org.onap.so.bpmn.core.domain.ServiceInstance
50 import org.onap.so.bpmn.core.domain.VnfResource
51
52 import static org.mockito.Mockito.*
53
54 @RunWith(MockitoJUnitRunner.class)
55 class DoCreateVnfAndModulesTest {
56
57         @Rule
58         public WireMockRule wireMockRule = new WireMockRule(28090)
59
60         @Captor
61         static ArgumentCaptor<ExecutionEntity> captor = ArgumentCaptor.forClass(ExecutionEntity.class)
62
63         @Before
64         void init() throws IOException {
65                 MockitoAnnotations.initMocks(this);
66         }
67
68         @Test
69         void testPreProcessRequest() {
70                 ExecutionEntity mockExecution = setupMock()
71                 setupBasicProcessInputs(mockExecution)
72
73                 ServiceDecomposition serviceDecomposition = createServiceDecomposition()
74                 when(mockExecution.getVariable("serviceDecomposition")).thenReturn(serviceDecomposition)
75
76                 Map<String,String> vfModuleNames = new HashMap<String,String>()
77                 vfModuleNames.put("3ec98c7a-ac20-49a1-9e0d-09fea7e8db45", "VGWA:e2:25:25:25:%")
78                 vfModuleNames.put("cc250e7e-746b-4d84-8064-df20c74213a6", "VGWB:f9:32:32:32:%")
79                 when(mockExecution.getVariable("vfModuleNames")).thenReturn(vfModuleNames)
80
81                 DoCreateVnfAndModules obj = new DoCreateVnfAndModules()
82                 obj.preProcessRequest(mockExecution)
83
84                 Mockito.verify(mockExecution, times(11)).setVariable(captor.capture(), captor.capture())
85
86                 List list = captor.getAllValues()
87                 for (int i = 0; i < list.size(); i+=2) {
88                         System.out.println("captor[" + i/2 + "]: " + list.get(i)
89                                 + (i+1 < list.size() ? ("=" + list.get(i+1)) : ""))
90                 }
91
92                 String someKey = list.get(18)
93                 Assert.assertEquals("numOfCreatedAddOnModules", someKey)
94                 Integer someValue = list.get(19)
95                 Assert.assertEquals(0, someValue)
96
97                 String lastKey = list.get(20)
98                 Assert.assertEquals("rollbackData", lastKey)
99         }
100  
101         @Test
102         void testQueryCatalogDB() {
103                 ExecutionEntity mockExecution = setupMock()
104                 setupBasicProcessInputs(mockExecution)
105
106                 ServiceDecomposition serviceDecomposition = createServiceDecomposition()
107                 when(mockExecution.getVariable("serviceDecomposition")).thenReturn(serviceDecomposition)
108
109                 DoCreateVnfAndModules obj = new DoCreateVnfAndModules()
110                 obj.queryCatalogDB(mockExecution)
111
112                 Mockito.verify(mockExecution, times(11)).setVariable(captor.capture(), captor.capture())
113
114                 List list = captor.getAllValues()
115                 for (int i = 0; i < list.size(); i+=2) {
116                         System.out.println("captor[" + i/2 + "]: " + list.get(i)
117                                 + (i+1 < list.size() ? ("=" + list.get(i+1)) : ""))
118                 }
119
120                 String vfModuleNameKey = list.get(12)
121                 Assert.assertEquals("baseVfModuleName", vfModuleNameKey)
122                 String vfModuleNameValue = list.get(13)
123                 Assert.assertEquals(null, vfModuleNameValue)
124
125                 String lastKey = list.get(20)
126                 Assert.assertEquals("baseVfModuleId", lastKey)
127         }
128  
129         @Test
130         void testQueryCatalogDBWithVfModuleNames() {
131                 ExecutionEntity mockExecution = setupMock()
132                 setupBasicProcessInputs(mockExecution)
133
134                 ServiceDecomposition serviceDecomposition = createServiceDecomposition()
135                 when(mockExecution.getVariable("serviceDecomposition")).thenReturn(serviceDecomposition)
136
137                 Map<String,String> vfModuleNames = new HashMap<String,String>()
138                 vfModuleNames.put("3ec98c7a-ac20-49a1-9e0d-09fea7e8db45", "VGWA:e2:25:25:25:%")
139                 vfModuleNames.put("cc250e7e-746b-4d84-8064-df20c74213a6", "VGWB:f9:32:32:32:%")
140                 when(mockExecution.getVariable("vfModuleNames")).thenReturn(vfModuleNames)
141
142                 DoCreateVnfAndModules obj = new DoCreateVnfAndModules()
143                 obj.queryCatalogDB(mockExecution)
144
145                 Mockito.verify(mockExecution, times(11)).setVariable(captor.capture(), captor.capture())
146
147                 List list = captor.getAllValues()
148                 for (int i = 0; i < list.size(); i+=2) {
149                         System.out.println("captor[" + i/2 + "]: " + list.get(i)
150                                 + (i+1 < list.size() ? ("=" + list.get(i+1)) : ""))
151                 }
152
153                 String vfModuleNameKey = list.get(12)
154                 Assert.assertEquals("baseVfModuleName", vfModuleNameKey)
155                 String vfModuleNameValue = list.get(13)
156                 Assert.assertEquals("VGWA:e2:25:25:25:%", vfModuleNameValue)
157
158                 String lastKey = list.get(20)
159                 Assert.assertEquals("baseVfModuleId", lastKey)
160         }
161  
162         @Test
163         void testPreProcessAddonModule() {
164                 ExecutionEntity mockExecution = setupMock()
165                 setupBasicProcessInputs(mockExecution)
166
167                 ServiceDecomposition serviceDecomposition = createServiceDecomposition()
168                 when(mockExecution.getVariable("serviceDecomposition")).thenReturn(serviceDecomposition)
169
170                 VnfResource vnf = serviceDecomposition.getVnfResources().get(0);
171                 List<ModuleResource> vfModules = vnf.getAllVfModuleObjects()
172
173                 for (int i = vfModules.size()-1; i >= 0; i--) {
174                         if (vfModules.get(i).getIsBase()) {
175                                 vfModules.remove(i);
176                         }
177                 }
178
179                 when(mockExecution.getVariable("addOnModules")).thenReturn(vfModules)
180                 when(mockExecution.getVariable("addOnModulesDeployed")).thenReturn(0)
181
182                 DoCreateVnfAndModules obj = new DoCreateVnfAndModules()
183                 obj.preProcessAddOnModule(mockExecution)
184
185                 Mockito.verify(mockExecution, times(9)).setVariable(captor.capture(), captor.capture())
186
187                 List list = captor.getAllValues()
188                 for (int i = 0; i < list.size(); i+=2) {
189                         System.out.println("captor[" + i/2 + "]: " + list.get(i)
190                                 + (i+1 < list.size() ? ("=" + list.get(i+1)) : ""))
191                 }
192
193                 String vfModuleNameKey = list.get(14)
194                 Assert.assertEquals("addOnVfModuleName", vfModuleNameKey)
195                 String vfModuleNameValue = list.get(15)
196                 Assert.assertEquals(null, vfModuleNameValue)
197
198                 String lastKey = list.get(16)
199                 Assert.assertEquals("initialCount", lastKey)
200         }
201  
202         @Test
203         void testPreProcessAddonModuleWithVfModuleNames() {
204                 ExecutionEntity mockExecution = setupMock()
205                 setupBasicProcessInputs(mockExecution)
206
207                 ServiceDecomposition serviceDecomposition = createServiceDecomposition()
208                 when(mockExecution.getVariable("serviceDecomposition")).thenReturn(serviceDecomposition)
209
210                 Map<String,String> vfModuleNames = new HashMap<String,String>()
211                 vfModuleNames.put("3ec98c7a-ac20-49a1-9e0d-09fea7e8db45", "VGWA:e2:25:25:25:%")
212                 vfModuleNames.put("cc250e7e-746b-4d84-8064-df20c74213a6", "VGWB:f9:32:32:32:%")
213                 when(mockExecution.getVariable("vfModuleNames")).thenReturn(vfModuleNames)
214                 
215                 VnfResource vnf = serviceDecomposition.getVnfResources().get(0);
216                 List<ModuleResource> vfModules = vnf.getAllVfModuleObjects()
217
218                 for (int i = vfModules.size()-1; i >= 0; i--) {
219                         if (vfModules.get(i).getIsBase()) {
220                                 vfModules.remove(i);
221                         }
222                 }
223
224                 when(mockExecution.getVariable("addOnModules")).thenReturn(vfModules)
225                 when(mockExecution.getVariable("addOnModulesDeployed")).thenReturn(0)
226
227                 DoCreateVnfAndModules obj = new DoCreateVnfAndModules()
228                 obj.preProcessAddOnModule(mockExecution)
229
230                 Mockito.verify(mockExecution, times(9)).setVariable(captor.capture(), captor.capture())
231
232                 List list = captor.getAllValues()
233                 for (int i = 0; i < list.size(); i+=2) {
234                         System.out.println("captor[" + i/2 + "]: " + list.get(i)
235                                 + (i+1 < list.size() ? ("=" + list.get(i+1)) : ""))
236                 }
237
238                 String vfModuleNameKey = list.get(14)
239                 Assert.assertEquals("addOnVfModuleName", vfModuleNameKey)
240                 String vfModuleNameValue = list.get(15)
241                 Assert.assertEquals("VGWB:f9:32:32:32:%", vfModuleNameValue)
242
243                 String lastKey = list.get(16)
244                 Assert.assertEquals("initialCount", lastKey)
245         }
246  
247         private static setupBasicProcessInputs(ExecutionEntity mockExecution) {
248                 when(mockExecution.getVariable("prefix")).thenReturn("DCVAM_")
249                 when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
250                 when(mockExecution.getVariable("msoRequestId")).thenReturn("28a7f01e-a6aa-44fd-b25e-e06e14873cd7")
251                 when(mockExecution.getVariable("serviceInstanceId")).thenReturn("7d34a7df-d6c3-4f1c-8710-576412134a5a")
252                 when(mockExecution.getVariable("productFamilyId")).thenReturn("a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb")
253                 when(mockExecution.getVariable("lcpCloudRegionId")).thenReturn("RegionOne")
254                 when(mockExecution.getVariable("tenantId")).thenReturn("b8ad3842ab3642f7bf3fbe4e4d3b9f86")
255                 when(mockExecution.getVariable("disableRollback")).thenReturn("true")
256                 when(mockExecution.getVariable("delayMS")).thenReturn("0")
257
258         }
259
260         private static ExecutionEntity setupMock() {
261                 ProcessDefinition mockProcessDefinition = mock(ProcessDefinition.class)
262                 when(mockProcessDefinition.getKey()).thenReturn("DoCreateVnfAndModules")
263                 RepositoryService mockRepositoryService = mock(RepositoryService.class)
264                 when(mockRepositoryService.getProcessDefinition()).thenReturn(mockProcessDefinition)
265                 when(mockRepositoryService.getProcessDefinition().getKey()).thenReturn("DoCreateVnfAndModules")
266                 when(mockRepositoryService.getProcessDefinition().getId()).thenReturn("100")
267                 ProcessEngineServices mockProcessEngineServices = mock(ProcessEngineServices.class)
268                 when(mockProcessEngineServices.getRepositoryService()).thenReturn(mockRepositoryService)
269
270                 ExecutionEntity mockExecution = mock(ExecutionEntity.class)
271                 // Initialize prerequisite variables
272                 when(mockExecution.getId()).thenReturn("100")
273                 when(mockExecution.getProcessDefinitionId()).thenReturn("DoCreateVnfAndModules")
274                 when(mockExecution.getProcessInstanceId()).thenReturn("DoCreateVnfAndModules")
275                 when(mockExecution.getProcessEngineServices()).thenReturn(mockProcessEngineServices)
276                 when(mockExecution.getProcessEngineServices().getRepositoryService().getProcessDefinition(mockExecution.getProcessDefinitionId())).thenReturn(mockProcessDefinition)
277
278                 return mockExecution
279         }
280
281         public static ServiceDecomposition createServiceDecomposition() {
282                 ServiceDecomposition serviceDecomposition = new ServiceDecomposition()
283
284                 ServiceInstance serviceInstance = new ServiceInstance()
285                 serviceInstance.setInstanceId("7d34a7df-d6c3-4f1c-8710-576412134a5a")
286                 serviceDecomposition.setServiceInstance(serviceInstance)
287                 serviceDecomposition.setServiceType("")
288                 serviceDecomposition.setServiceRole("")
289
290                 ModelInfo serviceModelInfo = new ModelInfo()
291                 serviceDecomposition.setModelInfo(serviceModelInfo)
292                 serviceModelInfo.setModelName("vcpesvc_rescust_1111")
293                 serviceModelInfo.setModelUuid("1dffd5f9-bb29-4a47-8073-9b9b07f4943a")
294                 serviceModelInfo.setModelVersion("1.0")
295                 serviceModelInfo.setModelCustomizationUuid("")
296                 serviceModelInfo.setModelCustomizationName("")
297                 serviceModelInfo.setModelInstanceName("")
298                 serviceModelInfo.setModelType("")
299
300                 List<VnfResource> vnfResources = new ArrayList<VnfResource>()
301                 serviceDecomposition.setVnfResources(vnfResources)
302
303                 VnfResource vnfResource = new VnfResource()
304                 vnfResources.add(vnfResource)
305                 vnfResource.setResourceId("9504b6b3-d346-4387-952c-8f9b7570b055")
306                 vnfResource.setResourceType(ResourceType.VNF)
307                 ModelInfo vnfModelInfo = new ModelInfo()
308                 vnfResource.setModelInfo(vnfModelInfo)
309                 vnfModelInfo.setModelName("vcpevsp_vgw_1111")
310                 vnfModelInfo.setModelUuid("289e96fd-a679-4286-a8a2-d76f930d650b")
311                 vnfModelInfo.setModelInvariantUuid("0327af89-f836-4086-aadb-17d5c9bd8a83");
312                 vnfModelInfo.setModelVersion("1.0");
313                 vnfModelInfo.setModelCustomizationUuid("cf151beb-9510-44a1-a165-c783e673baa1");
314                 vnfModelInfo.setModelCustomizationName("");
315                 vnfModelInfo.setModelInstanceName("vcpevsp_vgw_1111 0")
316                 vnfModelInfo.setModelType("")
317                 vnfResource.setResourceInstance(new ResourceInstance())
318                 vnfResource.setHomingSolution(new HomingSolution())
319                 vnfResource.setToscaNodeType("org.openecomp.resource.vf.VcpevspVgw1111")
320                 vnfResource.setMultiStageDesign("false")
321                 vnfResource.setMultiStageDesign("false")
322
323                 List<ModuleResource> moduleResources = new ArrayList<ModuleResource>()
324                 vnfResource.setModules(moduleResources)
325
326                 ModuleResource moduleResource = new ModuleResource()
327                 moduleResources.add(moduleResource)
328                 moduleResource.setResourceType(ResourceType.MODULE)
329                 ModelInfo moduleModelInfo = new ModelInfo()
330                 moduleResource.setModelInfo(moduleModelInfo);
331                 moduleModelInfo.setModelName("VcpevspVgw1111..base_vcpe_vgw..module-0")
332                 moduleModelInfo.setModelUuid("cf35b6b8-1f31-4efc-87a7-d53f840b8fdf")
333                 moduleModelInfo.setModelInvariantUuid("3ec98c7a-ac20-49a1-9e0d-09fea7e8db45")
334                 moduleModelInfo.setModelVersion("1")
335                 moduleModelInfo.setModelCustomizationUuid("281085b3-4598-4c94-811d-58cc685763e7")
336                 moduleModelInfo.setModelCustomizationName("")
337                 moduleModelInfo.setModelInstanceName("")
338                 moduleModelInfo.setModelType("")
339                 moduleResource.setResourceInstance(new ResourceInstance())
340                 moduleResource.setHomingSolution(new HomingSolution())
341                 moduleResource.setHasVolumeGroup(false)
342                 moduleResource.setIsBase(true)
343                 moduleResource.setVfModuleLabel("base_vcpe_vgw")
344                 moduleResource.setInitialCount(1)
345
346                 // For testing an add-on module; not in the actual vCPE model
347                 moduleResource = new ModuleResource()
348                 moduleResources.add(moduleResource)
349                 moduleResource.setResourceType(ResourceType.MODULE)
350                 moduleModelInfo = new ModelInfo()
351                 moduleResource.setModelInfo(moduleModelInfo);
352                 moduleModelInfo.setModelName("VcpevspVgw1111..addon_vcpe_vgw..module-1")
353                 moduleModelInfo.setModelUuid("8c8b41b2-8466-41b4-ae8d-5924830c40e8")
354                 moduleModelInfo.setModelInvariantUuid("cc250e7e-746b-4d84-8064-df20c74213a6")
355                 moduleModelInfo.setModelVersion("1")
356                 moduleModelInfo.setModelCustomizationUuid("99424afc-1fb4-4598-a99b-3e0690b4cb03")
357                 moduleModelInfo.setModelCustomizationName("")
358                 moduleModelInfo.setModelInstanceName("")
359                 moduleModelInfo.setModelType("")
360                 moduleResource.setResourceInstance(new ResourceInstance())
361                 moduleResource.setHomingSolution(new HomingSolution())
362                 moduleResource.setHasVolumeGroup(false)
363                 moduleResource.setIsBase(false)
364                 moduleResource.setVfModuleLabel("addon_vcpe_vgw")
365                 moduleResource.setInitialCount(1)
366
367                 serviceDecomposition.setNetworkResources(new ArrayList<NetworkResource>())
368
369                 List<AllottedResource> allottedResources = new ArrayList<AllottedResource>()
370                 serviceDecomposition.setAllottedResources(allottedResources)
371
372                 AllottedResource ar = new AllottedResource()
373                 allottedResources.add(ar)
374                 ar.setResourceId("ed4a3a9a-1411-4924-a9ee-61a41871a040")
375                 ar.setResourceType(ResourceType.ALLOTTED_RESOURCE)
376                 ModelInfo arModelInfo = new ModelInfo()
377                 ar.setModelInfo(arModelInfo)
378                 arModelInfo.setModelName("vcpear_tunnelxconn_1111")
379                 arModelInfo.setModelUuid("d99e5442-c5e4-4197-ad8d-54f7ad43dd83")
380                 arModelInfo.setModelInvariantUuid("61c17371-e824-4587-a9bb-21782aa28391")
381                 arModelInfo.setModelVersion("1.0")
382                 arModelInfo.setModelCustomizationUuid("506bb474-b8c2-41fd-aeec-4371c3ef58a4")
383                 arModelInfo.setModelCustomizationName("")
384                 arModelInfo.setModelInstanceName("vcpear_tunnelxconn_1111 0")
385                 arModelInfo.setModelType("")
386                 ar.setResourceInstance(new ResourceInstance())
387                 HomingSolution homingSolution = new HomingSolution()
388                 ar.setHomingSolution(homingSolution)
389                 homingSolution.setInventoryType(InventoryType.service)
390                 homingSolution.setServiceInstanceId("d600c1c0-ff45-40e4-bf29-45a95fa64556")
391                 homingSolution.setCloudOwner("CloudOwner")
392                 homingSolution.setCloudRegionId("RegionOne")
393                 VnfResource vnf = new VnfResource()
394                 homingSolution.setVnf(vnf)
395                 vnf.setResourceId("cea5e96e-9c67-437c-bf94-2329d277be09")
396                 vnf.setResourceType(ResourceType.VNF)
397                 vnf.setResourceInstance(new ResourceInstance())
398                 vnf.setHomingSolution(new HomingSolution())
399                 vnf.setVnfHostname("vnfHostName")
400                 homingSolution.setLicense(new License())
401                 homingSolution.setRehome(false)
402                 ar.setToscaNodeType("org.openecomp.resource.vf.VcpearTunnelxconn1111")
403                 ar.setAllottedResourceType("TunnelXConnect")
404                 ar.setAllottedResourceRole("TunnelXConn")
405                 ar.setProvidingServiceModelName("org.openecomp.service.VcpesvcVgmux1111")
406                 ar.setProvidingServiceModelInvariantUuid("d5751cb3-b9e9-470b-9c29-76a5e3ea12d0")
407                 ar.setProvidingServiceModelUuid("61b6e96a-f0c6-4f34-a91c-dab3574dd025")
408                 ar.setNfType("TunnelXConn")
409                 ar.setNfRole("TunnelXConn")
410                 
411                 ar = new AllottedResource()
412                 allottedResources.add(ar)
413                 ar.setResourceId("3b1b3686-ccfe-4e7c-9d6b-76419db398f9")
414                 ar.setResourceType(ResourceType.ALLOTTED_RESOURCE)
415                 arModelInfo = new ModelInfo()
416                 ar.setModelInfo(arModelInfo)
417                 arModelInfo.setModelName("vcpear_brg_1111")
418                 arModelInfo.setModelUuid("6b0a5aa5-98d8-455c-8cd1-618a3f1ac859")
419                 arModelInfo.setModelInvariantUuid("531f9aa5-dea4-4958-89ad-ef03f77cbf07")
420                 arModelInfo.setModelVersion("1.0")
421                 arModelInfo.setModelCustomizationUuid("d23ac3fe-ea54-4060-a7c1-ec9178c79620")
422                 arModelInfo.setModelCustomizationName("")
423                 arModelInfo.setModelInstanceName("vcpear_brg_1111 0")
424                 arModelInfo.setModelType("")
425                 ar.setResourceInstance(new ResourceInstance())
426                 homingSolution = new HomingSolution()
427                 ar.setHomingSolution(homingSolution)
428                 homingSolution.setInventoryType(InventoryType.service)
429                 homingSolution.setServiceInstanceId("bc28ebca-0cc3-4bf8-9ce9-d1524e4bec79")
430                 homingSolution.setCloudOwner("CloudOwner")
431                 homingSolution.setCloudRegionId("RegionOne")
432                 vnf = new VnfResource()
433                 homingSolution.setVnf(vnf)
434                 vnf.setResourceId("65183e95-e6f1-46cb-9315-2da27a24c2b9")
435                 vnf.setResourceType(ResourceType.VNF)
436                 vnf.setResourceInstance(new ResourceInstance())
437                 vnf.setHomingSolution(new HomingSolution())
438                 vnf.setVnfHostname("vnfHostName")
439                 homingSolution.setLicense(new License())
440                 homingSolution.setRehome(false)
441                 ar.setToscaNodeType("org.openecomp.resource.vf.VcpearBrg1111")
442                 ar.setAllottedResourceType("BRG")
443                 ar.setAllottedResourceRole("BRG")
444                 ar.setProvidingServiceModelName("org.openecomp.service.VcpesvcVbrg1111")
445                 ar.setProvidingServiceModelInvariantUuid("6eff53bf-0045-41b0-bd48-b4e1284e5b7a")
446                 ar.setProvidingServiceModelUuid("0e500bca-15ac-42eb-a2f1-4bfd3b2828ff")
447                 ar.setNfType("BRG")
448                 ar.setNfRole("BRG")
449                 
450                 return serviceDecomposition
451         }
452 }