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