various bugfixes for casablanca
[so.git] / bpmn / so-bpmn-tasks / src / test / java / org / onap / so / bpmn / common / data / TestDataSetup.java
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.common.data;
21
22 import static org.mockito.Mockito.doReturn;
23 import static org.mockito.Mockito.mock;
24
25 import java.util.ArrayList;
26 import java.util.HashMap;
27 import java.util.List;
28 import java.util.Map;
29 import java.util.UUID;
30
31 import org.assertj.core.util.Arrays;
32 import org.camunda.bpm.engine.delegate.DelegateExecution;
33 import org.camunda.bpm.engine.impl.pvm.runtime.ExecutionImpl;
34 import org.junit.Before;
35 import org.junit.Rule;
36 import org.junit.rules.ExpectedException;
37 import org.onap.so.bpmn.common.BuildingBlockExecution;
38 import org.onap.so.bpmn.common.DelegateExecutionImpl;
39 import org.onap.so.bpmn.servicedecomposition.bbobjects.AllottedResource;
40 import org.onap.so.bpmn.servicedecomposition.bbobjects.CloudRegion;
41 import org.onap.so.bpmn.servicedecomposition.bbobjects.Collection;
42 import org.onap.so.bpmn.servicedecomposition.bbobjects.Configuration;
43 import org.onap.so.bpmn.servicedecomposition.bbobjects.Customer;
44 import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf;
45 import org.onap.so.bpmn.servicedecomposition.bbobjects.InstanceGroup;
46 import org.onap.so.bpmn.servicedecomposition.bbobjects.L3Network;
47 import org.onap.so.bpmn.servicedecomposition.bbobjects.LineOfBusiness;
48 import org.onap.so.bpmn.servicedecomposition.bbobjects.OwningEntity;
49 import org.onap.so.bpmn.servicedecomposition.bbobjects.Platform;
50 import org.onap.so.bpmn.servicedecomposition.bbobjects.Pnf;
51 import org.onap.so.bpmn.servicedecomposition.bbobjects.Project;
52 import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
53 import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceProxy;
54 import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceSubscription;
55 import org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule;
56 import org.onap.so.bpmn.servicedecomposition.bbobjects.VolumeGroup;
57 import org.onap.so.bpmn.servicedecomposition.bbobjects.VpnBinding;
58 import org.onap.so.bpmn.servicedecomposition.bbobjects.VpnBondingLink;
59 import org.onap.so.bpmn.servicedecomposition.entities.GeneralBuildingBlock;
60 import org.onap.so.bpmn.servicedecomposition.entities.ResourceKey;
61 import org.onap.so.bpmn.servicedecomposition.generalobjects.License;
62 import org.onap.so.bpmn.servicedecomposition.generalobjects.OrchestrationContext;
63 import org.onap.so.bpmn.servicedecomposition.generalobjects.RequestContext;
64 import org.onap.so.bpmn.servicedecomposition.generalobjects.RequestParameters;
65 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoAllottedResource;
66 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoConfiguration;
67 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoGenericVnf;
68 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoNetwork;
69 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoServiceInstance;
70 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoServiceProxy;
71 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoVfModule;
72 import org.onap.so.bpmn.servicedecomposition.tasks.ExtractPojosForBB;
73 import org.onap.so.client.exception.BBObjectNotFoundException;
74
75 public class TestDataSetup{
76         private int collectionCounter;
77         private int configurationCounter;
78         private int customerCounter;
79         private int genericVnfCounter;
80         private int instanceGroupCounter;
81         private int l3NetworkCounter;
82         private int owningEntityCounter;
83         private int pnfCounter;
84         private int projectCounter;
85         private int serviceInstanceCounter;
86         private int serviceProxyCounter;
87         private int serviceSubscriptionCounter;
88         private int vfModuleCounter;
89         private int volumeGroupCounter;
90         private int vpnBindingCounter;
91         private int vpnBondingLinkCounter;
92
93         protected BuildingBlockExecution execution;
94
95         protected GeneralBuildingBlock gBBInput;
96
97         protected HashMap<ResourceKey, String> lookupKeyMap;
98
99         protected ExtractPojosForBB extractPojosForBB = new ExtractPojosForBB();
100
101         @Rule
102         public ExpectedException expectedException = ExpectedException.none();
103
104         protected DelegateExecution delegateExecution;
105
106         @Before
107         public void buildingBlockTestDataSetupBefore() {
108                 collectionCounter = 0;
109                 configurationCounter = 0;
110                 customerCounter = 0;
111                 genericVnfCounter = 0;
112                 instanceGroupCounter = 0;
113                 l3NetworkCounter = 0;
114                 owningEntityCounter = 0;
115                 pnfCounter = 0;
116                 projectCounter = 0;
117                 serviceInstanceCounter = 0;
118                 serviceProxyCounter = 0;
119                 serviceSubscriptionCounter = 0;
120                 vfModuleCounter = 0;
121                 volumeGroupCounter = 0;
122                 vpnBindingCounter = 0;
123                 vpnBondingLinkCounter = 0;
124
125                 execution = new DelegateExecutionImpl(new ExecutionImpl());
126                 execution.setVariable("testProcessKey", "testProcessKeyValue");
127
128                 gBBInput = new GeneralBuildingBlock();
129                 execution.setVariable("gBBInput", gBBInput);
130
131                 lookupKeyMap = new HashMap<ResourceKey, String>();
132                 execution.setVariable("lookupKeyMap", lookupKeyMap);
133
134             ExecutionImpl mockExecutionImpl = mock(ExecutionImpl.class);
135         doReturn("test").when(mockExecutionImpl).getProcessInstanceId();
136
137         ExecutionImpl executionImpl = new ExecutionImpl();
138         executionImpl.setProcessInstance(mockExecutionImpl);
139
140         delegateExecution = (DelegateExecution) executionImpl;
141         delegateExecution.setVariable("testProcessKey", "testProcessKeyValue");
142         }
143
144         public Map<String, String> buildUserInput() {
145                 Map<String, String> userInput = new HashMap<>();
146                 userInput.put("testUserInputKey", "testUserInputValue");
147
148                 return userInput;
149         }
150
151         public Map<String, String> setUserInput() {
152                 Map<String, String> userInput = buildUserInput();
153
154                 gBBInput.setUserInput(userInput);
155
156                 return userInput;
157         }
158
159         public RequestContext buildRequestContext() {
160                 RequestContext requestContext = new RequestContext();
161                 requestContext.setMsoRequestId(UUID.randomUUID().toString());
162                 requestContext.setProductFamilyId("testProductFamilyId");
163                 requestContext.setRequestorId("testRequestorId");
164
165                 requestContext.setUserParams(new HashMap<>());
166
167         Map<String,Object> dataMap = new HashMap<>();
168         dataMap.put("vpnId","testVpnId");
169         dataMap.put("vpnRegion","testVpnRegion");
170         dataMap.put("vpnRt","testVpnRt");
171         dataMap.put("vpnName","vpnName");
172         dataMap.put("vpnRegion", Arrays.asList(new String[] {"USA", "EMEA", "APAC"}));
173
174         HashMap<String,Object> userParams = new HashMap<>();
175         userParams.put("vpnData",dataMap);
176
177                 List<Map<String,Object>> userParamsList = new ArrayList<>();
178                 userParamsList.add(userParams);
179
180                 RequestParameters requestParameters = new RequestParameters();
181                 requestParameters.setUserParams(userParamsList);
182                 requestContext.setRequestParameters(requestParameters);
183
184                 return requestContext;
185         }
186
187         public RequestContext setRequestContext() {
188                 RequestContext requestContext = buildRequestContext();
189
190                 gBBInput.setRequestContext(requestContext);
191
192                 return requestContext;
193         }
194
195         public CloudRegion buildCloudRegion() {
196                 CloudRegion cloudRegion = new CloudRegion();
197                 cloudRegion.setLcpCloudRegionId("testLcpCloudRegionId");
198                 cloudRegion.setTenantId("testTenantId");
199                 cloudRegion.setCloudOwner("testCloudOwner");
200
201                 return cloudRegion;
202         }
203
204         public CloudRegion setCloudRegion() {
205                 CloudRegion cloudRegion = buildCloudRegion();
206
207                 gBBInput.setCloudRegion(cloudRegion);
208
209                 return cloudRegion;
210         }
211
212         public OrchestrationContext buildOrchestrationContext() {
213                 OrchestrationContext orchestrationContext = new OrchestrationContext();
214
215                 return orchestrationContext;
216         }
217
218         public OrchestrationContext setOrchestrationContext() {
219                 OrchestrationContext orchestrationContext = buildOrchestrationContext();
220
221                 gBBInput.setOrchContext(orchestrationContext);
222
223                 return orchestrationContext;
224         }
225
226         public Collection buildCollection() {
227                 collectionCounter++;
228
229                 Collection collection = new Collection();
230                 collection.setId("testId" + collectionCounter);
231                 collection.setInstanceGroup(buildInstanceGroup());
232
233                 return collection;
234         }
235
236         public Configuration buildConfiguration() {
237                 configurationCounter++;
238
239                 Configuration configuration = new Configuration();
240                 configuration.setConfigurationId("testConfigurationId" + configurationCounter);
241                 configuration.setConfigurationName("testConfigurationName" + configurationCounter);
242
243                 ModelInfoConfiguration modelInfoConfiguration = new ModelInfoConfiguration();
244                 modelInfoConfiguration.setModelVersionId("testModelVersionId" + configurationCounter);
245                 modelInfoConfiguration.setModelInvariantId("testModelInvariantId" + configurationCounter);
246                 modelInfoConfiguration.setModelCustomizationId("testModelCustomizationId" + configurationCounter);
247
248                 configuration.setModelInfoConfiguration(modelInfoConfiguration);
249
250                 return configuration;
251         }
252
253         public OwningEntity buildOwningEntity() {
254                 owningEntityCounter++;
255
256                 OwningEntity owningEntity = new OwningEntity();
257                 owningEntity.setOwningEntityId("testOwningEntityId" + owningEntityCounter);
258                 owningEntity.setOwningEntityName("testOwningEntityName" + owningEntityCounter);
259
260                 return owningEntity;
261         }
262
263         public Project buildProject() {
264                 projectCounter++;
265
266                 Project project = new Project();
267                 project.setProjectName("testProjectName" + projectCounter);
268
269                 return project;
270         }
271
272         public ServiceSubscription buildServiceSubscription() {
273                 serviceSubscriptionCounter++;
274
275                 ServiceSubscription serviceSubscription = new ServiceSubscription();
276                 serviceSubscription.setTempUbSubAccountId("testTempUbSubAccountId" + serviceSubscriptionCounter);
277                 serviceSubscription.setServiceType("testServiceType" + serviceSubscriptionCounter);
278
279                 return serviceSubscription;
280         }
281
282         public Customer buildCustomer() {
283                 customerCounter++;
284
285                 Customer customer = new Customer();
286                 customer.setGlobalCustomerId("testGlobalCustomerId" + customerCounter);
287                 customer.setSubscriberType("testSubscriberType" + customerCounter);
288
289                 customer.setServiceSubscription(buildServiceSubscription());
290
291                 return customer;
292         }
293
294         public ServiceInstance buildServiceInstance() {
295                 serviceInstanceCounter++;
296
297                 ServiceInstance serviceInstance = new ServiceInstance();
298                 serviceInstance.setServiceInstanceId("testServiceInstanceId" + serviceInstanceCounter);
299                 serviceInstance.setServiceInstanceName("testServiceInstanceName" + serviceInstanceCounter);
300
301                 ModelInfoServiceInstance modelInfoServiceInstance = new ModelInfoServiceInstance();
302                 modelInfoServiceInstance.setModelInvariantUuid("testModelInvariantUUID" + serviceInstanceCounter);
303                 modelInfoServiceInstance.setModelUuid("testModelUUID" + serviceInstanceCounter);
304                 modelInfoServiceInstance.setModelVersion("testModelVersion" + serviceInstanceCounter);
305                 modelInfoServiceInstance.setModelName("testModelName" + serviceInstanceCounter);
306                 modelInfoServiceInstance.setServiceType("testServiceType" + serviceInstanceCounter);
307                 serviceInstance.setModelInfoServiceInstance(modelInfoServiceInstance);
308
309                 serviceInstance.setProject(buildProject());
310
311                 serviceInstance.setOwningEntity(buildOwningEntity());
312
313                 serviceInstance.setCollection(buildCollection());
314
315                 serviceInstance.getConfigurations().add(buildConfiguration());
316
317                 return serviceInstance;
318         }
319
320         public ServiceInstance setServiceInstance() {
321                 ServiceInstance serviceInstance = buildServiceInstance();
322
323                 if(gBBInput.getCustomer() == null) {
324                         gBBInput.setCustomer(buildCustomer());
325                 }
326                 gBBInput.getCustomer().getServiceSubscription().getServiceInstances().add(serviceInstance);
327                 lookupKeyMap.put(ResourceKey.SERVICE_INSTANCE_ID, serviceInstance.getServiceInstanceId());
328
329                 return serviceInstance;
330         }
331
332         public Customer setCustomer() {
333                 if(gBBInput.getCustomer() != null) return gBBInput.getCustomer();
334                 Customer customer = new Customer();
335                 customer.setGlobalCustomerId("testGlobalCustomerId");
336                 customer.setSubscriberType("testSubscriberType");
337
338                 customer.setServiceSubscription(buildServiceSubscription());
339
340                 gBBInput.setCustomer(customer);
341
342                 return customer;
343         }
344
345         public Collection setCollection() {
346                 Collection collection = new Collection();
347                 collection.setId("testId");
348
349                 ServiceInstance serviceInstance = null;
350
351                 try {
352                         serviceInstance = extractPojosForBB.extractByKey(execution, ResourceKey.SERVICE_INSTANCE_ID, execution.getLookupMap().get(ResourceKey.SERVICE_INSTANCE_ID));
353                 } catch(BBObjectNotFoundException e) {
354                         serviceInstance = setServiceInstance();
355                 }
356
357                 serviceInstance.setCollection(collection);
358
359                 return collection;
360         }
361
362         public InstanceGroup setInstanceGroup() {
363                 InstanceGroup instanceGroup = new InstanceGroup();
364                 instanceGroup.setId("testId");
365                 instanceGroup.setInstanceGroupFunction("testInstanceGroupFunction");
366
367                 Collection collection = null;
368
369                 try {
370                         ServiceInstance serviceInstance = extractPojosForBB.extractByKey(execution, ResourceKey.SERVICE_INSTANCE_ID, execution.getLookupMap().get(ResourceKey.SERVICE_INSTANCE_ID));
371                         collection = serviceInstance.getCollection();
372
373                         if (collection == null) {
374                                 collection = setCollection();
375                         }
376                 } catch(BBObjectNotFoundException e) {
377                         collection = setCollection();
378                 }
379
380                 collection.setInstanceGroup(instanceGroup);
381
382                 return instanceGroup;
383         }
384
385         public VpnBinding buildVpnBinding() {
386                 vpnBindingCounter++;
387
388                 VpnBinding vpnBinding = new VpnBinding();
389                 vpnBinding.setVpnId("testVpnId" + vpnBindingCounter);
390                 vpnBinding.setVpnName("testVpnName" + vpnBindingCounter);
391                 vpnBinding.setCustomerVpnId("testCustomerVpnId" + vpnBindingCounter);
392
393                 return vpnBinding;
394         }
395
396         public VpnBinding setVpnBinding() {
397                 VpnBinding vpnBinding = buildVpnBinding();
398
399                 Customer customer = gBBInput.getCustomer();
400
401                 if(customer == null){
402                         customer = buildCustomer();
403                 }
404
405                 customer.getVpnBindings().add(vpnBinding);
406                 lookupKeyMap.put(ResourceKey.VPN_ID, vpnBinding.getVpnId());
407
408                 return vpnBinding;
409         }
410
411         public InstanceGroup buildInstanceGroup() {
412                 instanceGroupCounter++;
413
414                 InstanceGroup instanceGroup = new InstanceGroup();
415                 instanceGroup.setId("testId" + instanceGroupCounter);
416                 instanceGroup.setInstanceGroupFunction("testInstanceGroupFunction" + instanceGroupCounter);
417
418                 return instanceGroup;
419         }
420
421         public L3Network buildL3Network() {
422                 l3NetworkCounter++;
423
424                 L3Network network = new L3Network();
425                 network.setNetworkId("testNetworkId" + l3NetworkCounter);
426                 network.setNetworkName("testNetworkName" + l3NetworkCounter);
427                 network.setNetworkType("testNetworkType" + l3NetworkCounter);
428
429                 ModelInfoNetwork modelInfoNetwork = new ModelInfoNetwork();
430                 modelInfoNetwork.setModelInvariantUUID("testModelInvariantUUID" + l3NetworkCounter);
431                 modelInfoNetwork.setModelName("testModelName" + l3NetworkCounter);
432                 modelInfoNetwork.setModelVersion("testModelVersion" + l3NetworkCounter);
433                 modelInfoNetwork.setModelUUID("testModelUUID" + l3NetworkCounter);
434                 network.setModelInfoNetwork(modelInfoNetwork);
435
436                 return network;
437         }
438
439         public L3Network setL3Network() {
440                 L3Network network = buildL3Network();
441
442                 ServiceInstance serviceInstance = null;
443
444                 try {
445                         serviceInstance = extractPojosForBB.extractByKey(execution, ResourceKey.SERVICE_INSTANCE_ID, execution.getLookupMap().get(ResourceKey.SERVICE_INSTANCE_ID));
446                 } catch(BBObjectNotFoundException e) {
447                         serviceInstance = setServiceInstance();
448                 }
449
450                 serviceInstance.getNetworks().add(network);
451                 lookupKeyMap.put(ResourceKey.NETWORK_ID, network.getNetworkId());
452
453                 return network;
454         }
455
456         public GenericVnf buildGenericVnf() {
457                 genericVnfCounter++;
458
459                 GenericVnf genericVnf = new GenericVnf();
460                 genericVnf.setVnfId("testVnfId" + genericVnfCounter);
461                 genericVnf.setVnfName("testVnfName" + genericVnfCounter);
462                 genericVnf.setVnfType("testVnfType" + genericVnfCounter);
463                 genericVnf.setIpv4OamAddress("10.222.22.2");
464
465                 Platform platform = new Platform();
466                 platform.setPlatformName("testPlatformName");
467                 genericVnf.setPlatform(platform);
468
469                 LineOfBusiness lob = new LineOfBusiness();
470                 lob.setLineOfBusinessName("testLineOfBusinessName");
471                 genericVnf.setLineOfBusiness(lob);
472
473                 ModelInfoGenericVnf modelInfoGenericVnf = new ModelInfoGenericVnf();
474                 modelInfoGenericVnf.setModelName("testModelName" + genericVnfCounter);
475                 modelInfoGenericVnf.setModelCustomizationUuid("testModelCustomizationUUID" + genericVnfCounter);
476                 modelInfoGenericVnf.setModelInvariantUuid("testModelInvariantUUID" + genericVnfCounter);
477                 modelInfoGenericVnf.setModelVersion("testModelVersion" + genericVnfCounter);
478                 modelInfoGenericVnf.setModelUuid("testModelUUID" + genericVnfCounter);
479                 genericVnf.setModelInfoGenericVnf(modelInfoGenericVnf);
480
481                 License license = new License();
482                 List<String> array = new ArrayList<String>();
483                 array.add("testPoolUuid");
484                 license.setEntitlementPoolUuids(array);
485                 genericVnf.setLicense(license);
486
487                 return genericVnf;
488         }
489
490         public GenericVnf setGenericVnf() {
491                 GenericVnf genericVnf = buildGenericVnf();
492
493                 ServiceInstance serviceInstance = null;
494
495                 try {
496                         serviceInstance = extractPojosForBB.extractByKey(execution, ResourceKey.SERVICE_INSTANCE_ID, execution.getLookupMap().get(ResourceKey.SERVICE_INSTANCE_ID));
497                 } catch(BBObjectNotFoundException e) {
498                         serviceInstance = setServiceInstance();
499                 }
500
501                 serviceInstance.getVnfs().add(genericVnf);
502                 lookupKeyMap.put(ResourceKey.GENERIC_VNF_ID, genericVnf.getVnfId());
503
504                 return genericVnf;
505         }
506
507         public VfModule buildVfModule() {
508                 vfModuleCounter++;
509
510                 VfModule vfModule = new VfModule();
511                 vfModule.setVfModuleId("testVfModuleId" + vfModuleCounter);
512                 vfModule.setVfModuleName("testVfModuleName" + vfModuleCounter);
513
514                 ModelInfoVfModule modelInfoVfModule = new ModelInfoVfModule();
515                 modelInfoVfModule.setModelInvariantUUID("testModelInvariantUUID" + vfModuleCounter);
516                 modelInfoVfModule.setModelVersion("testModelVersion" + vfModuleCounter);
517                 modelInfoVfModule.setModelUUID("testModelUUID" + vfModuleCounter);
518                 modelInfoVfModule.setModelName("testModelName" + vfModuleCounter);
519                 modelInfoVfModule.setModelCustomizationUUID("testModelCustomizationUUID" + vfModuleCounter);
520                 vfModule.setModelInfoVfModule(modelInfoVfModule);
521
522                 return vfModule;
523         }
524
525         public VfModule setVfModule() {
526                 VfModule vfModule = buildVfModule();
527
528                 GenericVnf genericVnf = null;
529
530                 try {
531                         genericVnf = extractPojosForBB.extractByKey(execution, ResourceKey.GENERIC_VNF_ID, execution.getLookupMap().get(ResourceKey.GENERIC_VNF_ID));
532                 } catch(BBObjectNotFoundException e) {
533                         genericVnf = setGenericVnf();
534                 }
535
536                 genericVnf.getVfModules().add(vfModule);
537                 lookupKeyMap.put(ResourceKey.VF_MODULE_ID, vfModule.getVfModuleId());
538
539                 return vfModule;
540         }
541
542         public VolumeGroup buildVolumeGroup() {
543                 volumeGroupCounter++;
544
545                 VolumeGroup volumeGroup = new VolumeGroup();
546                 volumeGroup.setVolumeGroupId("testVolumeGroupId" + volumeGroupCounter);
547                 volumeGroup.setVolumeGroupName("testVolumeGroupName" + volumeGroupCounter);
548                 volumeGroup.setHeatStackId("testHeatStackId" + volumeGroupCounter);
549
550                 return volumeGroup;
551         }
552
553         public VolumeGroup setVolumeGroup() {
554                 VolumeGroup volumeGroup = buildVolumeGroup();
555
556                 GenericVnf genericVnf = null;
557
558                 try {
559                         genericVnf = extractPojosForBB.extractByKey(execution, ResourceKey.GENERIC_VNF_ID, execution.getLookupMap().get(ResourceKey.GENERIC_VNF_ID));
560                 } catch(BBObjectNotFoundException e) {
561                         genericVnf = setGenericVnf();
562                 }
563
564                 genericVnf.getVolumeGroups().add(volumeGroup);
565                 lookupKeyMap.put(ResourceKey.VOLUME_GROUP_ID, volumeGroup.getVolumeGroupId());
566
567                 return volumeGroup;
568         }
569
570         public Pnf buildPnf() {
571                 pnfCounter++;
572
573                 Pnf pnf = new Pnf();
574                 pnf.setPnfId("testPnfId" + pnfCounter);
575                 pnf.setPnfName("testPnfName" + pnfCounter);
576
577                 return pnf;
578         }
579
580         public ServiceProxy buildServiceProxy() {
581                 serviceProxyCounter++;
582
583         ServiceProxy serviceProxy = new ServiceProxy();
584         serviceProxy.setServiceInstance(buildServiceInstance());
585         serviceProxy.getServiceInstance().getVnfs().add(buildGenericVnf());
586
587         Pnf primaryPnf = buildPnf();
588         primaryPnf.setRole("Primary");
589         serviceProxy.getServiceInstance().getPnfs().add(primaryPnf);
590
591         Pnf secondaryPnf = buildPnf();
592         secondaryPnf.setRole("Secondary");
593         serviceProxy.getServiceInstance().getPnfs().add(secondaryPnf);
594
595         return serviceProxy;
596         }
597
598         public VpnBondingLink buildVpnBondingLink() {
599                 vpnBondingLinkCounter++;
600
601                 VpnBondingLink vpnBondingLink = new VpnBondingLink();
602                 vpnBondingLink.setVpnBondingLinkId("testVpnBondingLinkId" + vpnBondingLinkCounter);
603
604                 Configuration vnrConfiguration = buildConfiguration();
605                 vnrConfiguration.setNetwork(buildL3Network());
606                 vpnBondingLink.setVnrConfiguration(vnrConfiguration);
607
608                 vpnBondingLink.setVrfConfiguration(buildConfiguration());
609
610         vpnBondingLink.setInfrastructureServiceProxy(buildServiceProxy());
611
612         vpnBondingLink.setTransportServiceProxy(buildServiceProxy());
613
614                 return vpnBondingLink;
615         }
616
617         public VpnBondingLink setVpnBondingLink() {
618                 VpnBondingLink vpnBondingLink = buildVpnBondingLink();
619
620                 ServiceInstance serviceInstance = null;
621
622                 try {
623                         serviceInstance = extractPojosForBB.extractByKey(execution, ResourceKey.SERVICE_INSTANCE_ID, execution.getLookupMap().get(ResourceKey.SERVICE_INSTANCE_ID));
624                 } catch(BBObjectNotFoundException e) {
625                         serviceInstance = setServiceInstance();
626                 }
627
628                 serviceInstance.getVpnBondingLinks().add(vpnBondingLink);
629                 lookupKeyMap.put(ResourceKey.VPN_BONDING_LINK_ID, vpnBondingLink.getVpnBondingLinkId());
630
631
632                 return vpnBondingLink;
633         }
634
635         public Customer setAvpnCustomer() {
636                 Customer customer = buildCustomer();
637
638                 gBBInput.setCustomer(customer);
639
640                 return customer;
641         }
642
643         public ServiceProxy setServiceProxy(String uniqueIdentifier, String type) {
644                 ServiceProxy serviceProxy = new ServiceProxy();
645                 serviceProxy.setId("testProxyId" + uniqueIdentifier);
646                 serviceProxy.setType(type);
647
648                 ModelInfoServiceProxy modelInfo = new ModelInfoServiceProxy();
649                 modelInfo.setModelInvariantUuid("testProxyModelInvariantUuid" + uniqueIdentifier);
650                 modelInfo.setModelName("testProxyModelName" + uniqueIdentifier);
651                 modelInfo.setModelUuid("testProxyModelUuid" + uniqueIdentifier);
652                 modelInfo.setModelVersion("testProxyModelVersion" + uniqueIdentifier);
653
654                 serviceProxy.setModelInfoServiceProxy(modelInfo);
655
656                 return serviceProxy;
657         }
658
659         public AllottedResource setAllottedResource(String uniqueIdentifier) {
660                 AllottedResource ar = new AllottedResource();
661                 ar.setId("testAllottedResourceId" + uniqueIdentifier);
662
663                 ModelInfoAllottedResource modelInfo = new ModelInfoAllottedResource();
664                 modelInfo.setModelInvariantUuid("testProxyModelInvariantUuid" + uniqueIdentifier);
665                 modelInfo.setModelName("testProxyModelName" + uniqueIdentifier);
666                 modelInfo.setModelUuid("testProxyModelUuid" + uniqueIdentifier);
667                 modelInfo.setModelVersion("testProxyModelVersion" + uniqueIdentifier);
668
669                 ar.setModelInfoAllottedResource(modelInfo);
670
671                 return ar;
672         }
673
674         public Configuration setConfiguration () {
675                 Configuration config = new Configuration();
676                 config.setConfigurationId("testConfigurationId");
677                 List<Configuration> configurations = new ArrayList<>();
678                 configurations.add(config);
679                 ServiceInstance serviceInstance = new ServiceInstance();
680                 try {
681                         serviceInstance = extractPojosForBB.extractByKey(execution, ResourceKey.SERVICE_INSTANCE_ID, execution.getLookupMap().get(ResourceKey.SERVICE_INSTANCE_ID));
682                 } catch(BBObjectNotFoundException e) {
683                         serviceInstance = setServiceInstance();
684                 }
685                 lookupKeyMap.put(ResourceKey.CONFIGURATION_ID, "testConfigurationId");
686                 serviceInstance.setConfigurations(configurations);
687                 return config;
688         }
689 }