2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 - 2019 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
11 * http://www.apache.org/licenses/LICENSE-2.0
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=========================================================
21 package org.onap.vid.services;
23 import static java.util.Collections.emptyList;
24 import static java.util.Collections.emptyMap;
25 import static org.mockito.ArgumentMatchers.any;
26 import static org.mockito.ArgumentMatchers.anyString;
27 import static org.mockito.ArgumentMatchers.eq;
28 import static org.mockito.Mockito.when;
29 import static org.onap.vid.model.VidNotions.InstantiationType;
30 import static org.onap.vid.model.VidNotions.InstantiationUI;
31 import static org.onap.vid.model.VidNotions.ModelCategory;
33 import com.google.common.collect.ImmutableList;
34 import com.google.common.collect.ImmutableMap;
35 import java.time.ZonedDateTime;
36 import java.util.ArrayList;
37 import java.util.Collections;
38 import java.util.HashMap;
39 import java.util.LinkedHashMap;
40 import java.util.List;
42 import java.util.UUID;
43 import java.util.stream.Collectors;
44 import java.util.stream.Stream;
45 import javax.inject.Inject;
46 import org.onap.vid.aai.AaiClientInterface;
47 import org.onap.vid.aai.ExceptionWithRequestInfo;
48 import org.onap.vid.model.Action;
49 import org.onap.vid.model.VidNotions;
50 import org.onap.vid.model.serviceInstantiation.InstanceGroup;
51 import org.onap.vid.model.serviceInstantiation.Network;
52 import org.onap.vid.model.serviceInstantiation.ServiceInstantiation;
53 import org.onap.vid.model.serviceInstantiation.VfModule;
54 import org.onap.vid.model.serviceInstantiation.Vnf;
55 import org.onap.vid.mso.RestObject;
56 import org.onap.vid.mso.model.ModelInfo;
57 import org.onap.vid.mso.rest.AsyncRequestStatus;
58 import org.onap.vid.mso.rest.RequestStatus;
59 import org.onap.vid.properties.Features;
60 import org.onap.vid.utils.TimeUtils;
61 import org.springframework.http.HttpMethod;
62 import org.springframework.test.context.testng.AbstractTestNGSpringContextTests;
63 import org.togglz.core.manager.FeatureManager;
65 public class AsyncInstantiationBaseTest extends AbstractTestNGSpringContextTests {
67 public static final String OWNING_ENTITY_ID = "038d99af-0427-42c2-9d15-971b99b9b489";
68 public static final String JULIO_ERICKSON = "JULIO ERICKSON";
69 public static final String PROJECT_NAME = "{some project name}";
70 public static final String SUBSCRIBER_ID = "{some subscriber id}";
71 public static final String SUBSCRIBER_NAME = "{some subscriber name}";
72 public static final String PRODUCT_FAMILY_ID = "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb";
73 public static final String INSTANCE_NAME = "vPE_Service";
74 public static final String SUBSCRIPTION_SERVICE_TYPE = "VMX";
75 public static final String LCP_CLOUD_REGION_ID = "mdt1";
76 public static final String A6CA3EE0394ADE9403F075DB23167E = "88a6ca3ee0394ade9403f075db23167e";
77 public static final String TENANT_NAME = "USP-SIP-IC-24335-T-01";
78 public static final String AIC_ZONE_ID = "NFT1";
79 public static final String AIC_ZONE_NAME = "NFTJSSSS-NFT1";
80 public static final String TEST_API = "GR_API";
81 public static final String SERVICE_MODEL_VERSION_ID = "3c40d244-808e-42ca-b09a-256d83d19d0a";
82 public static final String VF_MODULE_0_MODEL_CUSTOMIZATION_NAME = "a25e8e8c-58b8-4eec-810c-97dcc1f5cb7f";
83 public static final String VF_MODULE_1_MODEL_CUSTOMIZATION_NAME = "72d9d1cd-f46d-447a-abdb-451d6fb05fa8";
84 public static final String VF_MODULE_0_MODEL_VERSION_ID = "4c75f813-fa91-45a4-89d0-790ff5f1ae79";
85 public static final String VF_MODULE_1_MODEL_VERSION_ID = "56e2b103-637c-4d1a-adc8-3a7f4a6c3240";
86 public static final String VNF_NAME = "vmxnjr001";
87 public static final String VNF_GROUP_NAME = "VNF_GROUP_NAME";
89 protected HashMap<String, String> instanceParamsMapWithoutParams;
90 protected HashMap<String, String> vfModuleInstanceParamsMapWithParamsToRemove;
91 protected HashMap<String, String> vnfInstanceParamsMapWithParamsToRemove;
94 protected FeatureManager featureManager;
97 protected AaiClientInterface aaiClient;
100 protected CloudOwnerService cloudOwnerService;
102 public ServiceInstantiation generateMockMacroServiceInstantiationPayload(boolean isPause, Map<String, Vnf> vnfs, int bulkSize, boolean isUserProvidedNaming, String projectName, boolean rollbackOnFailure) {
103 return generateMockServiceInstantiationPayload(isPause, vnfs, Collections.EMPTY_MAP, Collections.EMPTY_MAP, bulkSize, isUserProvidedNaming, projectName, rollbackOnFailure, false, null, Action.Create, null);
106 public ServiceInstantiation generateMockALaCarteServiceInstantiationPayload(boolean isPause, Map<String, Vnf> vnfs, Map<String, Network> networks, Map<String, InstanceGroup> vnfGroups, int bulkSize, boolean isUserProvidedNaming, String projectName, boolean rollbackOnFailure, String testApi) {
107 return generateMockServiceInstantiationPayload(isPause, vnfs, networks, vnfGroups, bulkSize, isUserProvidedNaming, projectName, rollbackOnFailure, true, testApi, Action.Create, null);
110 public ServiceInstantiation generateMockAlaCarteServiceDeletionPayload(boolean isPause, Map<String, Vnf> vnfs, Map<String, Network> networks, Map<String, InstanceGroup> vnfGroups, int bulkSize, boolean isUserProvidedNaming, String projectName, boolean rollbackOnFailure, String testApi, String instanceId) {
111 return generateMockServiceInstantiationPayload(isPause, vnfs, networks, vnfGroups, bulkSize, isUserProvidedNaming, projectName, rollbackOnFailure, true, testApi, Action.Delete, instanceId);
114 public ServiceInstantiation generateMockServiceDeletionPayload(boolean isPause, Map<String, Vnf> vnfs, Map<String, Network> networks, Map<String, InstanceGroup> vnfGroups, int bulkSize, boolean isUserProvidedNaming, String projectName, boolean rollbackOnFailure, String testApi, String instanceId) {
115 return generateMockServiceInstantiationPayload(isPause, vnfs, networks, vnfGroups, bulkSize, isUserProvidedNaming, projectName, rollbackOnFailure, false, testApi, Action.Delete, instanceId);
117 private ServiceInstantiation generateMockServiceInstantiationPayload(boolean isPause, Map<String, Vnf> vnfs, Map<String, Network> networks, Map<String, InstanceGroup> vnfGroups, int bulkSize, boolean isUserProvidedNaming, String projectName, boolean rollbackOnFailure, boolean isAlacarte, String testApi, Action action, String instanceId) {
118 ModelInfo modelInfo = createModelInfo();
120 List<Map<String,String>> instanceParams = createInstanceParams();
122 return new ServiceInstantiation( modelInfo,
123 AsyncInstantiationBusinessLogicTest.OWNING_ENTITY_ID,
124 AsyncInstantiationBusinessLogicTest.JULIO_ERICKSON,
126 AsyncInstantiationBusinessLogicTest.SUBSCRIBER_ID,
127 AsyncInstantiationBusinessLogicTest.SUBSCRIBER_NAME,
128 AsyncInstantiationBusinessLogicTest.PRODUCT_FAMILY_ID,
129 isUserProvidedNaming ? AsyncInstantiationBusinessLogicTest.INSTANCE_NAME : null,
130 AsyncInstantiationBusinessLogicTest.SUBSCRIPTION_SERVICE_TYPE,
131 AsyncInstantiationBusinessLogicTest.LCP_CLOUD_REGION_ID,
133 AsyncInstantiationBusinessLogicTest.A6CA3EE0394ADE9403F075DB23167E,
134 AsyncInstantiationBusinessLogicTest.TENANT_NAME,
135 AsyncInstantiationBusinessLogicTest.AIC_ZONE_ID,
136 AsyncInstantiationBusinessLogicTest.AIC_ZONE_NAME,
149 UUID.randomUUID().toString(), null, null, null);
152 private List<Map<String,String>> createInstanceParams() {
153 List<Map<String, String>> instanceParams = new ArrayList<>();
154 HashMap<String, String> map = new HashMap<>();
155 map.put("instanceParams_test1" , "some text");
156 map.put("instanceParams_test2" , "another text");
157 instanceParams.add(map);
158 return instanceParams;
161 protected VfModule createVfModule(String modelName, String modelVersionId, String modelCustomizationId,
162 List<Map<String, String>> instanceParams, Map<String, String> supplementaryParams, String instanceName, String volumeGroupInstanceName, boolean isAlacarte) {
163 ModelInfo vfModuleInfo = new ModelInfo();
164 vfModuleInfo.setModelType("vfModule");
165 vfModuleInfo.setModelName(modelName);
166 vfModuleInfo.setModelVersionId(modelVersionId);
167 vfModuleInfo.setModelCustomizationId(modelCustomizationId);
168 vfModuleInfo.setModelCustomizationName(modelName);
171 vfModuleInfo.setModelInvariantId("22222222-f63c-463e-ba94-286933b895f9");
172 vfModuleInfo.setModelVersion("10.0");
173 return new VfModule(vfModuleInfo, instanceName, volumeGroupInstanceName, Action.Create.name(), "mdt1", null,
174 "88a6ca3ee0394ade9403f075db23167e", instanceParams, supplementaryParams, false, true, null, UUID.randomUUID().toString(), null, null,
178 return new VfModule(vfModuleInfo, instanceName, volumeGroupInstanceName, Action.Create.name(), null, null, null,
179 instanceParams, supplementaryParams, false, false, null, UUID.randomUUID().toString(), null, null, null);
182 protected ModelInfo createVfModuleModelInfo(String modelName, String modelVersion, String modelVersionId, String modelInvariantId, String modelCustomizationId, String modelCustomizationName) {
183 return createModelInfo("vfModule", modelName, modelVersion, modelVersionId, modelInvariantId, modelCustomizationId, modelCustomizationName);
186 protected VfModule createVfModuleForReplace(ModelInfo vfModuleModelInfo, String instanceName, String lcpCloudRegionId, String tenantId) {
187 return new VfModule( vfModuleModelInfo, instanceName, null, Action.Upgrade.name(), lcpCloudRegionId, null, tenantId,
188 null, null, true, null, null, UUID.randomUUID().toString(), null, null, null);
191 protected ModelInfo createVnfModelInfo(boolean isAlacarte) {
192 ModelInfo vnfModelInfo = new ModelInfo();
193 vnfModelInfo.setModelType("vnf");
194 vnfModelInfo.setModelName("2016-73_MOW-AVPN-vPE-BV-L");
195 vnfModelInfo.setModelVersionId("7f40c192-f63c-463e-ba94-286933b895f8");
196 vnfModelInfo.setModelCustomizationName("2016-73_MOW-AVPN-vPE-BV-L 0");
197 vnfModelInfo.setModelCustomizationId("ab153b6e-c364-44c0-bef6-1f2982117f04");
198 //added two conditional fields according to MSO AID - needed only in alacarte
200 vnfModelInfo.setModelInvariantId("11111111-f63c-463e-ba94-286933b895f9");
201 vnfModelInfo.setModelVersion("10.0");
206 protected ModelInfo createVnfModelInfo(String modelName, String modelVersion, String modelVersionId, String modelInvariantId, String modelCustomizationId, String modelCustomizationName) {
207 return createModelInfo("vnf", modelName, modelVersion, modelVersionId, modelInvariantId, modelCustomizationId, modelCustomizationName);
210 private ModelInfo createNetworkModelInfo(boolean isAlacarte, String modelCustomizationId)
212 ModelInfo modelInfo = new ModelInfo();
213 modelInfo.setModelType("network");
214 modelInfo.setModelName("2016-73_MOW-AVPN-vPE-BV-L");
215 modelInfo.setModelVersionId("7f40c192-f63c-463e-ba94-286933b895f8");
216 modelInfo.setModelCustomizationName("2016-73_MOW-AVPN-vPE-BV-L 0");
217 modelInfo.setModelCustomizationId(modelCustomizationId);
218 //added two conditional fields according to MSO AID - needed only in alacarte
220 modelInfo.setModelInvariantId("11111111-f63c-463e-ba94-286933b895f9");
221 modelInfo.setModelVersion("10.0");
226 private ModelInfo createModelInfo() {
227 ModelInfo modelInfo = new ModelInfo();
228 modelInfo.setModelType("service");
229 modelInfo.setModelVersionId(SERVICE_MODEL_VERSION_ID);
230 modelInfo.setModelVersion("10.0");
231 modelInfo.setModelInvariantId("5d48acb5-097d-4982-aeb2-f4a3bd87d31b");
232 modelInfo.setModelName("MOW AVPN vMX BV vPE 1 Service");
236 private ModelInfo createModelInfo(String modelType, String modelName, String modelVersion, String modelVersionId, String modelInvariantId, String modelCustomizationId, String modelCustomizationName ) {
237 ModelInfo modelInfo = new ModelInfo();
238 modelInfo.setModelType(modelType);
239 modelInfo.setModelVersionId(modelVersionId);
240 modelInfo.setModelVersion(modelVersion);
241 modelInfo.setModelInvariantId(modelInvariantId);
242 modelInfo.setModelName(modelName);
243 modelInfo.setModelCustomizationId(modelCustomizationId);
244 modelInfo.setModelCustomizationName(modelCustomizationName);
248 protected Map<String, Vnf> createVnfList(HashMap<String, String> vfModuleInstanceParamsMap, List vnfInstanceParams, boolean isUserProvidedNaming) {
249 return createVnfList(vfModuleInstanceParamsMap, vnfInstanceParams, isUserProvidedNaming, false);
252 protected Map<String, Vnf> createVnfList(HashMap<String, String> vfModuleInstanceParamsMap, List vnfInstanceParams, boolean isUserProvidedNaming, boolean isAlacarte) {
253 Map<String, Vnf> vnfs = new HashMap<>();
254 ModelInfo vnfModelInfo = createVnfModelInfo(isAlacarte);
256 Map<String, Map<String, VfModule>> vfModules = new HashMap<>();
258 List<Map<String, String>> instanceParams1 = ImmutableList.of((ImmutableMap.of("vmx_int_net_len", "24")));
259 VfModule vfModule1 = createVfModule("201673MowAvpnVpeBvL..AVPN_base_vPE_BV..module-0", VF_MODULE_0_MODEL_VERSION_ID, VF_MODULE_0_MODEL_CUSTOMIZATION_NAME, instanceParams1, new HashMap<>(), (isUserProvidedNaming ? "vmxnjr001_AVPN_base_vPE_BV_base" : null), null, isAlacarte);
260 List<Map<String, String>> instanceParams2 = ImmutableList.of(vfModuleInstanceParamsMap);
261 VfModule vfModule2 = createVfModule("201673MowAvpnVpeBvL..AVPN_vRE_BV..module-1", VF_MODULE_1_MODEL_VERSION_ID, VF_MODULE_1_MODEL_CUSTOMIZATION_NAME, instanceParams2, new HashMap<>(), (isUserProvidedNaming ? "vmxnjr001_AVPN_base_vRE_BV_expansion": null), (isUserProvidedNaming ? "myVgName" : null), isAlacarte);
263 String vfModuleModelName = vfModule1.getModelInfo().getModelName();
264 vfModules.put(vfModuleModelName, new LinkedHashMap<>());
266 vfModules.get(vfModuleModelName).put(vfModuleModelName + ":001", vfModule1);
267 vfModules.get(vfModuleModelName).put(vfModuleModelName + ":002", vfModule2);
269 Vnf vnf = new Vnf(vnfModelInfo, "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", (isUserProvidedNaming ? VNF_NAME : null), Action.Create.name(),
270 "platformName", "mdt1", null, "88a6ca3ee0394ade9403f075db23167e", vnfInstanceParams,"lineOfBusinessName" , false, null, vfModules,
271 UUID.randomUUID().toString(), null, null, null);
273 vnfs.put(vnf.getModelInfo().getModelName(), vnf);
277 protected void mockAaiClientAaiStatusOK() {
278 when(aaiClient.isNodeTypeExistsByName(eq(AsyncInstantiationBusinessLogicImpl.NAME_FOR_CHECK_AAI_STATUS), any())).thenReturn(false);
281 protected void enableAddCloudOwnerOnMsoRequest(boolean isActive) {
282 // always turn on the feature flag
283 when(featureManager.isActive(Features.FLAG_1810_CR_ADD_CLOUD_OWNER_TO_MSO_REQUEST)).thenReturn(isActive);
284 when(aaiClient.getCloudOwnerByCloudRegionId(anyString())).thenReturn("irma-aic");
287 protected void enableAddCloudOwnerOnMsoRequest() {
288 enableAddCloudOwnerOnMsoRequest(true);
291 protected ServiceInstantiation generateMacroMockServiceInstantiationPayload(boolean isPause, Map<String, Vnf> vnfs) {
292 return generateMockMacroServiceInstantiationPayload(isPause, vnfs, 1, true, PROJECT_NAME, false);
295 protected ServiceInstantiation generatePre1806MacroTransportServiceInstantiationPayload(String tenantId, String lcpCloudRegionId) {
296 List<Map<String, String>> instanceParams = ImmutableList
297 .of(ImmutableMap.of("someUserParam","someValue", "anotherUserParam","anotherValue"));
298 ServiceInstantiation serviceInstantiation = new ServiceInstantiation(createServiceModelInfo(), "038d99af-0427-42c2-9d15-971b99b9b489",
299 "JULIO ERICKSON", "some_project_name", "some_subscriber_id", "some_subscriber_name",
300 "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", null, "MOG", lcpCloudRegionId, null, tenantId,
301 null, null, null, Collections.EMPTY_MAP, Collections.EMPTY_MAP, Collections.EMPTY_MAP, Collections.EMPTY_MAP, instanceParams, false, 1, false, false,
302 null, null, null, null, null, null,
303 new VidNotions(InstantiationUI.TRANSPORT_SERVICE, ModelCategory.Transport, InstantiationUI.TRANSPORT_SERVICE, InstantiationType.Macro)
305 return serviceInstantiation;
308 public static class NetworkDetails {
310 public NetworkDetails(String name, String modelCustomizationId) {
312 this.modelCustomizationId = modelCustomizationId;
316 public String modelCustomizationId;
319 protected Map<String, Network> createNetworkList(List instanceParams, List<NetworkDetails> networkDetails, boolean isALaCarte) {
320 Stream<Network> networkStream = networkDetails.stream().map(
321 details->new Network(createNetworkModelInfo(isALaCarte, details.modelCustomizationId), "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb",
322 details.name, Action.Create.name(),
323 "platformName", "mdt1", null, "88a6ca3ee0394ade9403f075db23167e", instanceParams,"lineOfBusinessName" ,
324 false, null, UUID.randomUUID().toString(), null, null, null));
325 // I can't tell why compiler don't like the statement if it's only one line...
326 return networkStream.collect(Collectors.toMap(network -> network.getModelInfo().getModelCustomizationId(), network -> network));
329 protected InstanceGroup createInstanceGroup(boolean isUserProvidedNaming, Action action) {
330 ModelInfo modelInfo = new ModelInfo();
331 modelInfo.setModelType("instanceGroup");
332 modelInfo.setModelName("2016-73_MOW-AVPN-vPE-BV-L");
333 modelInfo.setModelVersionId("7f40c192-f63c-463e-ba94-286933b895f8");
334 modelInfo.setModelCustomizationName("2016-73_MOW-AVPN-vPE-BV-L 0");
335 modelInfo.setModelCustomizationId("ab153b6e-c364-44c0-bef6-1f2982117f04");
336 modelInfo.setModelInvariantId("11111111-f63c-463e-ba94-286933b895f9");
337 modelInfo.setModelVersion("10.0");
339 return new InstanceGroup(modelInfo, (isUserProvidedNaming ? VNF_GROUP_NAME : null), action.name(), false, null, emptyMap(), UUID.randomUUID().toString(), null, null,
343 protected ModelInfo createServiceModelInfo() {
344 ModelInfo siModelInfo = new ModelInfo();
345 siModelInfo.setModelName("sriov");
346 siModelInfo.setModelType("service");
347 siModelInfo.setModelInvariantId("ff3514e3-5a33-55df-13ab-12abad84e7ff");
348 siModelInfo.setModelVersionId("fe6985cd-ea33-3346-ac12-ab121484a3fe");
349 siModelInfo.setModelVersion("1.0");
354 protected ModelInfo createServiceModelInfo(String modelName, String modelVersion, String modelVersionId, String modelInvariantId, String modelCustomizationId, String modelCustomizationName) {
355 return createModelInfo("service", modelName, modelVersion, modelVersionId, modelInvariantId, modelCustomizationId, modelCustomizationName);
358 protected void createInstanceParamsMaps() {
359 instanceParamsMapWithoutParams = new HashMap<>();
360 instanceParamsMapWithoutParams.put("availability_zone_0" , "mtpocdv-kvm-az01");
361 instanceParamsMapWithoutParams.put("vre_a_volume_size_0" , "100");
363 vfModuleInstanceParamsMapWithParamsToRemove = new HashMap<>();
364 vfModuleInstanceParamsMapWithParamsToRemove.put(AsyncInstantiationBusinessLogic.PARAMS_TO_IGNORE.get(0), "should be removed");
365 vfModuleInstanceParamsMapWithParamsToRemove.put("availability_zone_0" , "mtpocdv-kvm-az01");
366 vfModuleInstanceParamsMapWithParamsToRemove.put("vre_a_volume_size_0" , "100");
368 vnfInstanceParamsMapWithParamsToRemove = new HashMap<>();
369 vnfInstanceParamsMapWithParamsToRemove.put(AsyncInstantiationBusinessLogic.PARAMS_TO_IGNORE.get(1), "should be removed");
372 public static AsyncRequestStatus asyncRequestStatusResponse(String msoStatus) {
373 AsyncRequestStatus asyncRequestStatus = new AsyncRequestStatus(new AsyncRequestStatus.Request(new RequestStatus()));
374 asyncRequestStatus.request.requestStatus.setRequestState(msoStatus);
375 asyncRequestStatus.request.requestId = UUID.randomUUID().toString();
376 asyncRequestStatus.request.startTime = TimeUtils.zonedDateTimeToString(ZonedDateTime.now());
377 return asyncRequestStatus;
380 public static RestObject<AsyncRequestStatus> asyncRequestStatusResponseAsRestObject(String msoStatus) {
381 return asyncRequestStatusResponseAsRestObject(msoStatus, 200);
384 public static RestObject<AsyncRequestStatus> asyncRequestStatusResponseAsRestObject(String msoStatus, int httpStatusCode) {
385 RestObject<AsyncRequestStatus> restObject = new RestObject<>();
386 restObject.set(asyncRequestStatusResponse(msoStatus));
387 restObject.setStatusCode(httpStatusCode);
391 protected void mockAaiClientAnyNameFree() {
392 when(aaiClient.isNodeTypeExistsByName(any(), any())).thenReturn(false);
395 protected ExceptionWithRequestInfo aaiNodeQueryBadResponseException() {
396 return new ExceptionWithRequestInfo(HttpMethod.GET, "url", "raw data", 500, null);
399 protected ServiceInstantiation generateALaCarteWithVnfsServiceInstantiationPayload() {
400 Map<String, Vnf> vnfs = createVnfList(vfModuleInstanceParamsMapWithParamsToRemove, Collections.singletonList(vnfInstanceParamsMapWithParamsToRemove) , true, true);
401 ServiceInstantiation serviceInstantiation = generateMockALaCarteServiceInstantiationPayload(false, vnfs, emptyMap(), emptyMap(), 1, true, PROJECT_NAME, false, "VNF_API");
402 return serviceInstantiation;
405 protected ServiceInstantiation generateALaCarteWithNetworksPayload(List<NetworkDetails> networkDetails) {
406 Map<String, Network> networks = createNetworkList(emptyList(), networkDetails, true);
407 ServiceInstantiation serviceInstantiation = generateMockALaCarteServiceInstantiationPayload(false, emptyMap(), networks, emptyMap(), 1, true, PROJECT_NAME, false, "VNF_API");
408 return serviceInstantiation;
411 protected ServiceInstantiation generateALaCarteUpdateWith1ExistingGroup2NewGroupsPayload() {
412 final InstanceGroup instanceGroup1 = createInstanceGroup(true, Action.None);
413 final InstanceGroup instanceGroup2 = createInstanceGroup(false, Action.Create);
414 final InstanceGroup instanceGroup3 = createInstanceGroup(true, Action.Create);
415 Map<String, InstanceGroup> groups = ImmutableMap.of(
416 "foo:001", instanceGroup1,
417 "foo:002", instanceGroup2,
418 "foo:003", instanceGroup3
420 return generateMockServiceInstantiationPayload(false, emptyMap(), emptyMap(), groups,
421 1, true, PROJECT_NAME, false, true, "VNF_API",
422 Action.None, "1234567890");
425 protected ServiceInstantiation generateALaCarteServiceInstantiationPayload() {
426 return generateMockALaCarteServiceInstantiationPayload(false, Collections.EMPTY_MAP, Collections.EMPTY_MAP, Collections.EMPTY_MAP, 1, true, PROJECT_NAME, false, "VNF_API");