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