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,
180 null, null, null, null);
183 protected ModelInfo createVfModuleModelInfo(String modelName, String modelVersion, String modelVersionId, String modelInvariantId, String modelCustomizationId, String modelCustomizationName) {
184 return createModelInfo("vfModule", modelName, modelVersion, modelVersionId, modelInvariantId, modelCustomizationId, modelCustomizationName);
187 protected VfModule createVfModuleForReplace(ModelInfo vfModuleModelInfo, String instanceName,
188 String lcpCloudRegionId, String tenantId, Boolean retainAssignments, Boolean retainVolumeGroups) {
189 return new VfModule( vfModuleModelInfo, instanceName, null, Action.Upgrade.name(), lcpCloudRegionId, null, tenantId,
190 null, null, true, null, null, UUID.randomUUID().toString(), null, null, retainAssignments, retainVolumeGroups, null);
193 protected ModelInfo createVnfModelInfo(boolean isAlacarte) {
194 ModelInfo vnfModelInfo = new ModelInfo();
195 vnfModelInfo.setModelType("vnf");
196 vnfModelInfo.setModelName("2016-73_MOW-AVPN-vPE-BV-L");
197 vnfModelInfo.setModelVersionId("7f40c192-f63c-463e-ba94-286933b895f8");
198 vnfModelInfo.setModelCustomizationName("2016-73_MOW-AVPN-vPE-BV-L 0");
199 vnfModelInfo.setModelCustomizationId("ab153b6e-c364-44c0-bef6-1f2982117f04");
200 //added two conditional fields according to MSO AID - needed only in alacarte
202 vnfModelInfo.setModelInvariantId("11111111-f63c-463e-ba94-286933b895f9");
203 vnfModelInfo.setModelVersion("10.0");
208 protected ModelInfo createVnfModelInfo(String modelName, String modelVersion, String modelVersionId, String modelInvariantId, String modelCustomizationId, String modelCustomizationName) {
209 return createModelInfo("vnf", modelName, modelVersion, modelVersionId, modelInvariantId, modelCustomizationId, modelCustomizationName);
212 private ModelInfo createNetworkModelInfo(boolean isAlacarte, String modelCustomizationId)
214 ModelInfo modelInfo = new ModelInfo();
215 modelInfo.setModelType("network");
216 modelInfo.setModelName("2016-73_MOW-AVPN-vPE-BV-L");
217 modelInfo.setModelVersionId("7f40c192-f63c-463e-ba94-286933b895f8");
218 modelInfo.setModelCustomizationName("2016-73_MOW-AVPN-vPE-BV-L 0");
219 modelInfo.setModelCustomizationId(modelCustomizationId);
220 //added two conditional fields according to MSO AID - needed only in alacarte
222 modelInfo.setModelInvariantId("11111111-f63c-463e-ba94-286933b895f9");
223 modelInfo.setModelVersion("10.0");
228 private ModelInfo createModelInfo() {
229 ModelInfo modelInfo = new ModelInfo();
230 modelInfo.setModelType("service");
231 modelInfo.setModelVersionId(SERVICE_MODEL_VERSION_ID);
232 modelInfo.setModelVersion("10.0");
233 modelInfo.setModelInvariantId("5d48acb5-097d-4982-aeb2-f4a3bd87d31b");
234 modelInfo.setModelName("MOW AVPN vMX BV vPE 1 Service");
238 private ModelInfo createModelInfo(String modelType, String modelName, String modelVersion, String modelVersionId, String modelInvariantId, String modelCustomizationId, String modelCustomizationName ) {
239 ModelInfo modelInfo = new ModelInfo();
240 modelInfo.setModelType(modelType);
241 modelInfo.setModelVersionId(modelVersionId);
242 modelInfo.setModelVersion(modelVersion);
243 modelInfo.setModelInvariantId(modelInvariantId);
244 modelInfo.setModelName(modelName);
245 modelInfo.setModelCustomizationId(modelCustomizationId);
246 modelInfo.setModelCustomizationName(modelCustomizationName);
250 protected Map<String, Vnf> createVnfList(HashMap<String, String> vfModuleInstanceParamsMap, List vnfInstanceParams, boolean isUserProvidedNaming) {
251 return createVnfList(vfModuleInstanceParamsMap, vnfInstanceParams, isUserProvidedNaming, false);
254 protected Map<String, Vnf> createVnfList(HashMap<String, String> vfModuleInstanceParamsMap, List vnfInstanceParams, boolean isUserProvidedNaming, boolean isAlacarte) {
255 Map<String, Vnf> vnfs = new HashMap<>();
256 ModelInfo vnfModelInfo = createVnfModelInfo(isAlacarte);
258 Map<String, Map<String, VfModule>> vfModules = new HashMap<>();
260 List<Map<String, String>> instanceParams1 = ImmutableList.of((ImmutableMap.of("vmx_int_net_len", "24")));
261 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);
262 List<Map<String, String>> instanceParams2 = ImmutableList.of(vfModuleInstanceParamsMap);
263 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);
265 String vfModuleModelName = vfModule1.getModelInfo().getModelName();
266 vfModules.put(vfModuleModelName, new LinkedHashMap<>());
268 vfModules.get(vfModuleModelName).put(vfModuleModelName + ":001", vfModule1);
269 vfModules.get(vfModuleModelName).put(vfModuleModelName + ":002", vfModule2);
271 Vnf vnf = new Vnf(vnfModelInfo, "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", (isUserProvidedNaming ? VNF_NAME : null), Action.Create.name(),
272 "platformName", "mdt1", null, "88a6ca3ee0394ade9403f075db23167e", vnfInstanceParams,"lineOfBusinessName" , false, null, vfModules,
273 UUID.randomUUID().toString(), null, null, null);
275 vnfs.put(vnf.getModelInfo().getModelName(), vnf);
279 protected void mockAaiClientAaiStatusOK() {
280 when(aaiClient.isNodeTypeExistsByName(eq(AsyncInstantiationBusinessLogicImpl.NAME_FOR_CHECK_AAI_STATUS), any())).thenReturn(false);
283 protected void enableAddCloudOwnerOnMsoRequest(boolean isActive) {
284 // always turn on the feature flag
285 when(featureManager.isActive(Features.FLAG_1810_CR_ADD_CLOUD_OWNER_TO_MSO_REQUEST)).thenReturn(isActive);
286 when(aaiClient.getCloudOwnerByCloudRegionId(anyString())).thenReturn("irma-aic");
289 protected void enableAddCloudOwnerOnMsoRequest() {
290 enableAddCloudOwnerOnMsoRequest(true);
293 protected ServiceInstantiation generateMacroMockServiceInstantiationPayload(boolean isPause, Map<String, Vnf> vnfs) {
294 return generateMockMacroServiceInstantiationPayload(isPause, vnfs, 1, true, PROJECT_NAME, false);
297 protected ServiceInstantiation generatePre1806MacroTransportServiceInstantiationPayload(String tenantId, String lcpCloudRegionId) {
298 List<Map<String, String>> instanceParams = ImmutableList
299 .of(ImmutableMap.of("someUserParam","someValue", "anotherUserParam","anotherValue"));
300 ServiceInstantiation serviceInstantiation = new ServiceInstantiation(createServiceModelInfo(), "038d99af-0427-42c2-9d15-971b99b9b489",
301 "JULIO ERICKSON", "some_project_name", "some_subscriber_id", "some_subscriber_name",
302 "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", null, "MOG", lcpCloudRegionId, null, tenantId,
303 null, null, null, Collections.EMPTY_MAP, Collections.EMPTY_MAP, Collections.EMPTY_MAP, Collections.EMPTY_MAP, instanceParams, false, 1, false, false,
304 null, null, null, null, null, null,
305 new VidNotions(InstantiationUI.TRANSPORT_SERVICE, ModelCategory.Transport, InstantiationUI.TRANSPORT_SERVICE, InstantiationType.Macro)
307 return serviceInstantiation;
310 public static class NetworkDetails {
312 public NetworkDetails(String name, String modelCustomizationId) {
314 this.modelCustomizationId = modelCustomizationId;
318 public String modelCustomizationId;
321 protected Map<String, Network> createNetworkList(List instanceParams, List<NetworkDetails> networkDetails, boolean isALaCarte) {
322 Stream<Network> networkStream = networkDetails.stream().map(
323 details->new Network(createNetworkModelInfo(isALaCarte, details.modelCustomizationId), "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb",
324 details.name, Action.Create.name(),
325 "platformName", "mdt1", null, "88a6ca3ee0394ade9403f075db23167e", instanceParams,"lineOfBusinessName" ,
326 false, null, UUID.randomUUID().toString(), null, null, null));
327 // I can't tell why compiler don't like the statement if it's only one line...
328 return networkStream.collect(Collectors.toMap(network -> network.getModelInfo().getModelCustomizationId(), network -> network));
331 protected InstanceGroup createInstanceGroup(boolean isUserProvidedNaming, Action action) {
332 ModelInfo modelInfo = new ModelInfo();
333 modelInfo.setModelType("instanceGroup");
334 modelInfo.setModelName("2016-73_MOW-AVPN-vPE-BV-L");
335 modelInfo.setModelVersionId("7f40c192-f63c-463e-ba94-286933b895f8");
336 modelInfo.setModelCustomizationName("2016-73_MOW-AVPN-vPE-BV-L 0");
337 modelInfo.setModelCustomizationId("ab153b6e-c364-44c0-bef6-1f2982117f04");
338 modelInfo.setModelInvariantId("11111111-f63c-463e-ba94-286933b895f9");
339 modelInfo.setModelVersion("10.0");
341 return new InstanceGroup(modelInfo, (isUserProvidedNaming ? VNF_GROUP_NAME : null), action.name(), false, null, emptyMap(), UUID.randomUUID().toString(), null, null,
345 protected ModelInfo createServiceModelInfo() {
346 ModelInfo siModelInfo = new ModelInfo();
347 siModelInfo.setModelName("sriov");
348 siModelInfo.setModelType("service");
349 siModelInfo.setModelInvariantId("ff3514e3-5a33-55df-13ab-12abad84e7ff");
350 siModelInfo.setModelVersionId("fe6985cd-ea33-3346-ac12-ab121484a3fe");
351 siModelInfo.setModelVersion("1.0");
356 protected ModelInfo createServiceModelInfo(String modelName, String modelVersion, String modelVersionId, String modelInvariantId, String modelCustomizationId, String modelCustomizationName) {
357 return createModelInfo("service", modelName, modelVersion, modelVersionId, modelInvariantId, modelCustomizationId, modelCustomizationName);
360 protected void createInstanceParamsMaps() {
361 instanceParamsMapWithoutParams = new HashMap<>();
362 instanceParamsMapWithoutParams.put("availability_zone_0" , "mtpocdv-kvm-az01");
363 instanceParamsMapWithoutParams.put("vre_a_volume_size_0" , "100");
365 vfModuleInstanceParamsMapWithParamsToRemove = new HashMap<>();
366 vfModuleInstanceParamsMapWithParamsToRemove.put(AsyncInstantiationBusinessLogic.PARAMS_TO_IGNORE.get(0), "should be removed");
367 vfModuleInstanceParamsMapWithParamsToRemove.put("availability_zone_0" , "mtpocdv-kvm-az01");
368 vfModuleInstanceParamsMapWithParamsToRemove.put("vre_a_volume_size_0" , "100");
370 vnfInstanceParamsMapWithParamsToRemove = new HashMap<>();
371 vnfInstanceParamsMapWithParamsToRemove.put(AsyncInstantiationBusinessLogic.PARAMS_TO_IGNORE.get(1), "should be removed");
374 public static AsyncRequestStatus asyncRequestStatusResponse(String msoStatus) {
375 AsyncRequestStatus asyncRequestStatus = new AsyncRequestStatus(new AsyncRequestStatus.Request(new RequestStatus()));
376 asyncRequestStatus.request.requestStatus.setRequestState(msoStatus);
377 asyncRequestStatus.request.requestId = UUID.randomUUID().toString();
378 asyncRequestStatus.request.startTime = TimeUtils.zonedDateTimeToString(ZonedDateTime.now());
379 return asyncRequestStatus;
382 public static RestObject<AsyncRequestStatus> asyncRequestStatusResponseAsRestObject(String msoStatus) {
383 return asyncRequestStatusResponseAsRestObject(msoStatus, 200);
386 public static RestObject<AsyncRequestStatus> asyncRequestStatusResponseAsRestObject(String msoStatus, int httpStatusCode) {
387 RestObject<AsyncRequestStatus> restObject = new RestObject<>();
388 restObject.set(asyncRequestStatusResponse(msoStatus));
389 restObject.setStatusCode(httpStatusCode);
393 protected void mockAaiClientAnyNameFree() {
394 when(aaiClient.isNodeTypeExistsByName(any(), any())).thenReturn(false);
397 protected ExceptionWithRequestInfo aaiNodeQueryBadResponseException() {
398 return new ExceptionWithRequestInfo(HttpMethod.GET, "url", "raw data", 500, null);
401 protected ServiceInstantiation generateALaCarteWithVnfsServiceInstantiationPayload() {
402 Map<String, Vnf> vnfs = createVnfList(vfModuleInstanceParamsMapWithParamsToRemove, Collections.singletonList(vnfInstanceParamsMapWithParamsToRemove) , true, true);
403 ServiceInstantiation serviceInstantiation = generateMockALaCarteServiceInstantiationPayload(false, vnfs, emptyMap(), emptyMap(), 1, true, PROJECT_NAME, false, "VNF_API");
404 return serviceInstantiation;
407 protected ServiceInstantiation generateALaCarteWithNetworksPayload(List<NetworkDetails> networkDetails) {
408 Map<String, Network> networks = createNetworkList(emptyList(), networkDetails, true);
409 ServiceInstantiation serviceInstantiation = generateMockALaCarteServiceInstantiationPayload(false, emptyMap(), networks, emptyMap(), 1, true, PROJECT_NAME, false, "VNF_API");
410 return serviceInstantiation;
413 protected ServiceInstantiation generateALaCarteUpdateWith1ExistingGroup2NewGroupsPayload() {
414 final InstanceGroup instanceGroup1 = createInstanceGroup(true, Action.None);
415 final InstanceGroup instanceGroup2 = createInstanceGroup(false, Action.Create);
416 final InstanceGroup instanceGroup3 = createInstanceGroup(true, Action.Create);
417 Map<String, InstanceGroup> groups = ImmutableMap.of(
418 "foo:001", instanceGroup1,
419 "foo:002", instanceGroup2,
420 "foo:003", instanceGroup3
422 return generateMockServiceInstantiationPayload(false, emptyMap(), emptyMap(), groups,
423 1, true, PROJECT_NAME, false, true, "VNF_API",
424 Action.None, "1234567890");
427 protected ServiceInstantiation generateALaCarteServiceInstantiationPayload() {
428 return generateMockALaCarteServiceInstantiationPayload(false, Collections.EMPTY_MAP, Collections.EMPTY_MAP, Collections.EMPTY_MAP, 1, true, PROJECT_NAME, false, "VNF_API");