2 * Copyright (C) 2020 CMCC, Inc. and others. All rights reserved.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
16 package org.openecomp.sdc.be.components.impl;
18 import fj.data.Either;
19 import org.junit.jupiter.api.BeforeEach;
20 import org.mockito.Mockito;
21 import org.openecomp.sdc.ElementOperationMock;
22 import org.openecomp.sdc.be.auditing.impl.AuditingManager;
23 import org.openecomp.sdc.be.components.csar.CsarArtifactsAndGroupsBusinessLogic;
24 import org.openecomp.sdc.be.components.csar.CsarInfo;
25 import org.openecomp.sdc.be.components.distribution.engine.DistributionEngine;
26 import org.openecomp.sdc.be.components.impl.exceptions.ComponentException;
27 import org.openecomp.sdc.be.components.impl.generic.GenericTypeBusinessLogic;
28 import org.openecomp.sdc.be.components.impl.utils.CreateServiceFromYamlParameter;
29 import org.openecomp.sdc.be.components.path.ForwardingPathValidator;
30 import org.openecomp.sdc.be.components.validation.NodeFilterValidator;
31 import org.openecomp.sdc.be.components.validation.ServiceDistributionValidation;
32 import org.openecomp.sdc.be.components.validation.UserValidations;
33 import org.openecomp.sdc.be.components.validation.component.*;
34 import org.openecomp.sdc.be.components.validation.service.*;
35 import org.openecomp.sdc.be.dao.api.ActionStatus;
36 import org.openecomp.sdc.be.dao.cassandra.AuditCassandraDao;
37 import org.openecomp.sdc.be.dao.janusgraph.JanusGraphDao;
38 import org.openecomp.sdc.be.datamodel.utils.UiComponentDataConverter;
39 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
40 import org.openecomp.sdc.be.datatypes.enums.JsonPresentationFields;
41 import org.openecomp.sdc.be.datatypes.enums.NodeTypeEnum;
42 import org.openecomp.sdc.be.externalapi.servlet.representation.*;
43 import org.openecomp.sdc.be.facade.operations.CatalogOperation;
44 import org.openecomp.sdc.be.impl.ComponentsUtils;
45 import org.openecomp.sdc.be.impl.WebAppContextWrapper;
46 import org.openecomp.sdc.be.model.*;
47 import org.openecomp.sdc.be.model.category.CategoryDefinition;
48 import org.openecomp.sdc.be.model.jsonjanusgraph.operations.NodeFilterOperation;
49 import org.openecomp.sdc.be.model.jsonjanusgraph.operations.ToscaOperationFacade;
50 import org.openecomp.sdc.be.model.operations.api.IElementOperation;
51 import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
52 import org.openecomp.sdc.be.model.operations.impl.GraphLockOperation;
53 import org.openecomp.sdc.be.resources.data.auditing.ResourceAdminEvent;
54 import org.openecomp.sdc.be.user.Role;
55 import org.openecomp.sdc.be.user.UserBusinessLogic;
56 import org.openecomp.sdc.common.api.ArtifactGroupTypeEnum;
57 import org.openecomp.sdc.common.api.Constants;
58 import org.openecomp.sdc.common.api.UploadArtifactInfo;
59 import org.openecomp.sdc.exception.ResponseFormat;
60 import org.springframework.web.context.WebApplicationContext;
62 import javax.servlet.ServletContext;
63 import java.io.IOException;
64 import java.nio.file.Files;
65 import java.nio.file.Path;
66 import java.nio.file.Paths;
69 import static org.junit.jupiter.api.Assertions.assertEquals;
70 import static org.mockito.ArgumentMatchers.*;
71 import static org.mockito.Mockito.when;
73 public class ServiceImportBussinessLogicBaseTestSetup extends BaseBusinessLogicMock {
74 protected ServiceImportBusinessLogic sIB1;
75 protected static final String SERVICE_CATEGORY = "Mobility";
76 protected static final String INSTANTIATION_TYPE = "A-la-carte";
77 protected final ServletContext servletContext = Mockito.mock(ServletContext.class);
78 protected UserBusinessLogic mockUserAdmin = Mockito.mock(UserBusinessLogic.class);
79 protected WebAppContextWrapper webAppContextWrapper = Mockito.mock(WebAppContextWrapper.class);
80 protected WebApplicationContext webAppContext = Mockito.mock(WebApplicationContext.class);
81 protected ResponseFormatManager responseManager = null;
82 protected ComponentsUtils componentsUtils = new ComponentsUtils(Mockito.mock(AuditingManager.class));
83 protected AuditCassandraDao auditingDao = Mockito.mock(AuditCassandraDao.class);
84 protected ArtifactsBusinessLogic artifactBl = Mockito.mock(ArtifactsBusinessLogic.class);
85 protected GraphLockOperation graphLockOperation = Mockito.mock(GraphLockOperation.class);
86 protected JanusGraphDao mockJanusGraphDao = Mockito.mock(JanusGraphDao.class);
87 protected ToscaOperationFacade toscaOperationFacade = Mockito.mock(ToscaOperationFacade.class);
88 protected CsarArtifactsAndGroupsBusinessLogic csarArtifactsAndGroupsBusinessLogic = Mockito.mock(CsarArtifactsAndGroupsBusinessLogic.class);
89 protected GenericTypeBusinessLogic genericTypeBusinessLogic = Mockito.mock(GenericTypeBusinessLogic.class);
90 protected UserValidations userValidations = Mockito.mock(UserValidations.class);
91 protected ResourceAdminEvent auditArchive1 = Mockito.mock(ResourceAdminEvent.class);
92 protected CatalogOperation catalogOperation = Mockito.mock(CatalogOperation.class);
93 protected ResourceAdminEvent auditArchive2 = Mockito.mock(ResourceAdminEvent.class);
94 protected ResourceAdminEvent auditRestore = Mockito.mock(ResourceAdminEvent.class);
95 protected ServiceImportParseLogic serviceImportParseLogic = Mockito.mock(ServiceImportParseLogic.class);
96 IElementOperation mockElementDao = new ElementOperationMock();
97 DistributionEngine distributionEngine = Mockito.mock(DistributionEngine.class);
98 ServiceDistributionValidation serviceDistributionValidation = Mockito.mock(ServiceDistributionValidation.class);
99 ComponentInstanceBusinessLogic componentInstanceBusinessLogic = Mockito.mock(ComponentInstanceBusinessLogic.class);
100 ForwardingPathValidator forwardingPathValidator = Mockito.mock(ForwardingPathValidator.class);
101 UiComponentDataConverter uiComponentDataConverter = Mockito.mock(UiComponentDataConverter.class);
102 NodeFilterOperation serviceFilterOperation = Mockito.mock(NodeFilterOperation.class);
103 NodeFilterValidator serviceFilterValidator = Mockito.mock(NodeFilterValidator.class);
104 protected ServiceTypeValidator serviceTypeValidator = new ServiceTypeValidator(componentsUtils);
105 protected ServiceCategoryValidator serviceCategoryValidator = new ServiceCategoryValidator(componentsUtils, mockElementDao);
106 protected ServiceRoleValidator serviceRoleValidator = new ServiceRoleValidator(componentsUtils);
107 protected ServiceFunctionValidator serviceFunctionValidator = new ServiceFunctionValidator(componentsUtils);
108 protected ServiceInstantiationTypeValidator serviceInstantiationTypeValidator = new ServiceInstantiationTypeValidator(componentsUtils);
109 protected ComponentDescriptionValidator componentDescriptionValidator = new ComponentDescriptionValidator(componentsUtils);
110 protected ComponentProjectCodeValidator componentProjectCodeValidator = new ComponentProjectCodeValidator(componentsUtils);
111 protected ComponentIconValidator componentIconValidator = new ComponentIconValidator(componentsUtils);
112 protected ComponentContactIdValidator componentContactIdValidator = new ComponentContactIdValidator(componentsUtils);
113 protected ComponentTagsValidator componentTagsValidator = new ComponentTagsValidator(componentsUtils);
114 protected ComponentNameValidator componentNameValidator = new ComponentNameValidator(componentsUtils, toscaOperationFacade);
115 protected final ComponentValidator componentValidator = Mockito.mock(ComponentValidator.class);
116 protected ServiceValidator serviceValidator = createServiceValidator();
118 protected User user = null;
119 protected Resource genericService = null;
121 private static final String RESOURCE_NAME = "My-Resource_Name with space";
122 private static final String RESOURCE_TOSCA_NAME = "My-Resource_Tosca_Name";
123 private static final String RESOURCE_CATEGORY1 = "Network Layer 2-3";
124 private static final String RESOURCE_SUBCATEGORY = "Router";
125 protected static final String CERTIFIED_VERSION = "1.0";
126 protected static final String UNCERTIFIED_VERSION = "0.2";
127 protected static final String COMPONNET_ID = "myUniqueId";
128 protected static final String GENERIC_SERVICE_NAME = "org.openecomp.resource.abstract.nodes.service";
130 protected static final String SERVICE_ROLE = JsonPresentationFields.SERVICE_ROLE.getPresentation();
131 protected static final String SERVICE_TYPE = JsonPresentationFields.SERVICE_TYPE.getPresentation();
132 protected static final String SERVICE_FUNCTION = JsonPresentationFields.SERVICE_FUNCTION.getPresentation();
134 public ServiceImportBussinessLogicBaseTestSetup() {
138 protected ServiceValidator createServiceValidator() {
139 List<ComponentFieldValidator> componentFieldValidators = Arrays.asList(componentContactIdValidator,
140 componentDescriptionValidator,
141 componentIconValidator, componentNameValidator,
142 new ComponentProjectCodeValidator(componentsUtils),
143 componentTagsValidator);
145 List<ServiceFieldValidator> serviceFieldValidators = Arrays.asList(serviceCategoryValidator, new ServiceEnvironmentContextValidator(),
146 serviceInstantiationTypeValidator, new ServiceNamingPolicyValidator(componentsUtils),
147 serviceRoleValidator, serviceTypeValidator);
148 return new ServiceValidator(componentsUtils, componentFieldValidators, serviceFieldValidators);
152 public void setup() throws IOException {
155 IElementOperation mockElementDao = new ElementOperationMock();
157 // User data and management
159 user.setUserId("jh0003");
160 user.setFirstName("Jimmi");
161 user.setLastName("Hendrix");
162 user.setRole(Role.ADMIN.name());
164 when(mockUserAdmin.getUser("jh0003", false)).thenReturn(user);
165 when(userValidations.validateUserExists(eq("jh0003"))).thenReturn(user);
166 when(userValidations.validateUserNotEmpty(eq(user), anyString())).thenReturn(user);
167 // when(userValidations.validateUserRole(user))
168 // Servlet Context attributes
169 when(servletContext.getAttribute(Constants.CONFIGURATION_MANAGER_ATTR)).thenReturn(configurationManager);
170 // when(servletContext.getAttribute(Constants.SERVICE_OPERATION_MANAGER)).thenReturn(new ServiceOperation());
171 when(servletContext.getAttribute(Constants.WEB_APPLICATION_CONTEXT_WRAPPER_ATTR)).thenReturn(webAppContextWrapper);
172 when(webAppContextWrapper.getWebAppContext(servletContext)).thenReturn(webAppContext);
173 when(webAppContext.getBean(IElementOperation.class)).thenReturn(mockElementDao);
174 when(graphLockOperation.lockComponent(Mockito.anyString(), Mockito.eq(NodeTypeEnum.Service))).thenReturn(StorageOperationStatus.OK);
175 when(graphLockOperation.lockComponentByName(Mockito.anyString(), Mockito.eq(NodeTypeEnum.Service))).thenReturn(StorageOperationStatus.OK);
176 when(catalogOperation.updateCatalog(Mockito.any(), Mockito.any())).thenReturn(ActionStatus.OK);
177 // artifact bussinesslogic
178 ArtifactDefinition artifactDef = new ArtifactDefinition();
179 when(artifactBl.createArtifactPlaceHolderInfo(Mockito.any(), Mockito.anyString(), Mockito.anyMap(), Mockito.any(User.class), Mockito.any(ArtifactGroupTypeEnum.class))).thenReturn(artifactDef);
182 Service serviceResponse = createServiceObject(true);
183 Either<Component, StorageOperationStatus> eitherCreate = Either.left(serviceResponse);
184 when(toscaOperationFacade.createToscaComponent(Mockito.any(Component.class))).thenReturn(eitherCreate);
185 when(toscaOperationFacade.getToscaElement(Mockito.anyString())).thenReturn(eitherCreate);
186 Either<Boolean, StorageOperationStatus> eitherCount = Either.left(false);
187 when(toscaOperationFacade.validateComponentNameExists("Service", null, ComponentTypeEnum.SERVICE)).thenReturn(eitherCount);
188 Either<Boolean, StorageOperationStatus> eitherCountExist = Either.left(true);
189 when(toscaOperationFacade.validateComponentNameExists("alreadyExist", null, ComponentTypeEnum.SERVICE)).thenReturn(eitherCountExist);
190 when(userValidations.validateUserExists(user)).thenReturn(user);
193 Resource resourceRsponse = createParseResourceObject(true);
194 Either<Component, StorageOperationStatus> eitherResourceCreate = Either.left(resourceRsponse);
195 when(toscaOperationFacade.createToscaComponent(Mockito.any(Component.class))).thenReturn(eitherResourceCreate);
196 Either<Component, StorageOperationStatus> eitherResourceRes = Either.left(resourceRsponse);
197 when(toscaOperationFacade.getToscaFullElement(Mockito.anyString())).thenReturn(eitherResourceRes);
199 Either<Boolean, StorageOperationStatus> eitherResourceCount = Either.left(false);
200 when(toscaOperationFacade.validateComponentNameExists("Resource", null, ComponentTypeEnum.RESOURCE)).thenReturn(eitherResourceCount);
201 Either<Boolean, StorageOperationStatus> eitherResourceCountExist = Either.left(true);
202 when(toscaOperationFacade.validateComponentNameExists("alreadyExist", null, ComponentTypeEnum.RESOURCE)).thenReturn(eitherResourceCountExist);
204 genericService = setupGenericServiceMock();
205 Either<Resource, StorageOperationStatus> findLatestGeneric = Either.left(genericService);
206 when(toscaOperationFacade.getLatestCertifiedNodeTypeByToscaResourceName(GENERIC_SERVICE_NAME)).thenReturn(findLatestGeneric);
208 when(serviceImportParseLogic.isArtifactDeletionRequired(anyString(),any(),anyBoolean())).thenReturn(true);
209 Either<Boolean, ResponseFormat> validateCGD = Either.left(true);
210 when(serviceImportParseLogic.validateCyclicGroupsDependencies(any())).thenReturn(validateCGD);
212 sIB1 = new ServiceImportBusinessLogic(elementDao, groupOperation, groupInstanceOperation,
213 groupTypeOperation, groupBusinessLogic, interfaceOperation, interfaceLifecycleTypeOperation,
214 artifactBl, distributionEngine, componentInstanceBusinessLogic,
215 serviceDistributionValidation, forwardingPathValidator, uiComponentDataConverter, serviceFilterOperation,
216 serviceFilterValidator, artifactToscaOperation, componentContactIdValidator,
217 componentNameValidator, componentTagsValidator, componentValidator,
218 componentIconValidator, componentProjectCodeValidator, componentDescriptionValidator);
223 responseManager = ResponseFormatManager.getInstance();
226 protected Service createServiceObject(boolean afterCreate) {
227 Service service = new Service();
228 service.setUniqueId("sid");
229 service.setName("Service");
230 CategoryDefinition category = new CategoryDefinition();
231 category.setName(SERVICE_CATEGORY);
232 category.setIcons(Collections.singletonList("defaulticon"));
233 List<CategoryDefinition> categories = new ArrayList<>();
234 categories.add(category);
235 service.setCategories(categories);
236 service.setInstantiationType(INSTANTIATION_TYPE);
238 service.setDescription("description");
239 List<String> tgs = new ArrayList<>();
240 tgs.add(service.getName());
241 service.setTags(tgs);
242 // service.setVendorName("Motorola");
243 // service.setVendorRelease("1.0.0");
244 service.setIcon("defaulticon");
245 // service.setState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT);
246 service.setContactId("aa1234");
247 service.setProjectCode("12345");
248 service.setEcompGeneratedNaming(true);
251 service.setVersion("0.1");
252 service.setUniqueId(service.getName() + ":" + service.getVersion());
253 service.setCreatorUserId(user.getUserId());
254 service.setCreatorFullName(user.getFirstName() + " " + user.getLastName());
259 protected Resource createResourceObject(boolean afterCreate) {
260 Resource resource = new Resource();
261 resource.setUniqueId("sid");
262 resource.setName("Service");
263 CategoryDefinition category = new CategoryDefinition();
264 category.setName(SERVICE_CATEGORY);
265 category.setIcons(Collections.singletonList("defaulticon"));
266 List<CategoryDefinition> categories = new ArrayList<>();
267 categories.add(category);
268 resource.setCategories(categories);
271 resource.setDescription("description");
272 List<String> tgs = new ArrayList<>();
273 tgs.add(resource.getName());
274 resource.setTags(tgs);
275 resource.setIcon("defaulticon");
276 resource.setContactId("aa1234");
277 resource.setProjectCode("12345");
281 resource.setVersion("0.1");
282 resource.setUniqueId(resource.getName() + ":" + resource.getVersion());
283 resource.setCreatorUserId(user.getUserId());
284 resource.setCreatorFullName(user.getFirstName() + " " + user.getLastName());
289 protected Resource createParseResourceObject(boolean afterCreate) {
290 Resource resource = new Resource();
291 resource.setName(RESOURCE_NAME);
292 resource.setToscaResourceName(RESOURCE_TOSCA_NAME);
293 resource.addCategory(RESOURCE_CATEGORY1, RESOURCE_SUBCATEGORY);
294 resource.setDescription("My short description");
295 List<String> tgs = new ArrayList<>();
297 tgs.add(resource.getName());
298 resource.setTags(tgs);
299 List<String> template = new ArrayList<>();
300 template.add("tosca.nodes.Root");
301 resource.setDerivedFrom(template);
302 resource.setVendorName("Motorola");
303 resource.setVendorRelease("1.0.0");
304 resource.setContactId("ya5467");
305 resource.setIcon("defaulticon");
306 Map<String, List<RequirementDefinition>> requirements = new HashMap<>();
307 List<RequirementDefinition> requirementDefinitionList= new ArrayList<>();
308 requirements.put("test", requirementDefinitionList);
309 resource.setRequirements(requirements);
312 resource.setName(resource.getName());
313 resource.setVersion("0.1");
314 resource.setUniqueId(resource.getName()
315 .toLowerCase() + ":" + resource.getVersion());
316 resource.setCreatorUserId(user.getUserId());
317 resource.setCreatorFullName(user.getFirstName() + " " + user.getLastName());
318 resource.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT);
322 protected Resource setupGenericServiceMock() {
323 Resource genericService = new Resource();
324 genericService.setVersion("1.0");
325 genericService.setToscaResourceName(GENERIC_SERVICE_NAME);
326 return genericService;
330 protected Map<String, GroupDefinition> getGroups() {
331 Map<String, GroupDefinition> groups = new HashMap<>();
332 GroupDefinition groupDefinition = new GroupDefinition();
333 groupDefinition.setName("groupDefinitionName");
334 groups.put("groupsMap",groupDefinition);
338 protected UploadComponentInstanceInfo getuploadComponentInstanceInfo(){
339 UploadComponentInstanceInfo uploadComponentInstanceInfo = new UploadComponentInstanceInfo();
340 uploadComponentInstanceInfo.setType("resources");
341 Collection<String> directives = new Collection<String>() {
348 public boolean isEmpty() {
353 public boolean contains(Object o) {
358 public Iterator<String> iterator() {
363 public Object[] toArray() {
364 return new Object[0];
368 public <T> T[] toArray(T[] ts) {
373 public boolean add(String s) {
378 public boolean remove(Object o) {
383 public boolean containsAll(Collection<?> collection) {
388 public boolean addAll(Collection<? extends String> collection) {
393 public boolean removeAll(Collection<?> collection) {
398 public boolean retainAll(Collection<?> collection) {
403 public void clear() {
407 uploadComponentInstanceInfo.setDirectives(directives);
408 UploadNodeFilterInfo uploadNodeFilterInfo = new UploadNodeFilterInfo();
409 Map<String, List<UploadReqInfo>> requirements = new HashMap<>();
410 List<UploadReqInfo> uploadReqInfoList = new ArrayList<>();
411 UploadReqInfo uploadReqInfo = new UploadReqInfo();
412 uploadReqInfo.setName("uploadReqInfo");
413 uploadReqInfo.setNode("zxjTestImportServiceAb");
414 uploadReqInfo.setCapabilityName("tosca.capabilities.Node");
415 uploadReqInfoList.add(uploadReqInfo);
416 requirements.put("requirements",uploadReqInfoList);
417 uploadNodeFilterInfo.setName("mme_ipu_vdu.virtualbinding");
418 uploadComponentInstanceInfo.setCapabilities(getCapabilities());
419 uploadComponentInstanceInfo.setRequirements(requirements);
420 uploadComponentInstanceInfo.setName("zxjTestImportServiceAb");
421 return uploadComponentInstanceInfo;
424 protected Map<String, List<UploadCapInfo>> getCapabilities(){
425 List<UploadCapInfo> uploadCapInfoList = new ArrayList<>();
426 UploadCapInfo uploadCapInfo = new UploadCapInfo();
427 uploadCapInfo.setNode("tosca.nodes.Root");
428 uploadCapInfo.setName("mme_ipu_vdu.dependency");
429 uploadCapInfoList.add(uploadCapInfo);
430 Map<String, List<UploadCapInfo>> uploadCapInfoMap = new HashMap<>();
431 uploadCapInfoMap.put("tosca.capabilities.Node",uploadCapInfoList);
432 return uploadCapInfoMap;
435 protected List<ComponentInstance> creatComponentInstances(){
436 List<ComponentInstance> componentInstances = new ArrayList<>();
437 ComponentInstance componentInstance = new ComponentInstance();
438 Map<String, List<CapabilityDefinition>> capabilities = new HashMap<>();
439 List<CapabilityDefinition> capabilityDefinitionList = new ArrayList<>();
440 CapabilityDefinition capabilityDefinition = new CapabilityDefinition();
441 capabilityDefinition.setName("mme_ipu_vdu.feature");
442 capabilityDefinitionList.add(capabilityDefinition);
443 capabilities.put("tosca.capabilities.Node",capabilityDefinitionList);
445 Map<String, List<RequirementDefinition>> requirements = new HashMap<>();
446 List<RequirementDefinition> requirementDefinitionList = new ArrayList<>();
447 RequirementDefinition requirementDefinition = new RequirementDefinition();
448 requirementDefinition.setName("zxjtestimportserviceab0.mme_ipu_vdu.dependency.test");
449 requirementDefinitionList.add(requirementDefinition);
450 requirements.put("tosca.capabilities.Node",requirementDefinitionList);
451 componentInstance.setRequirements(requirements);
452 componentInstance.setCapabilities(capabilities);
453 componentInstance.setUniqueId("uniqueId");
454 componentInstance.setComponentUid("componentUid");
455 componentInstance.setName("zxjTestImportServiceAb");
456 componentInstances.add(componentInstance);
457 return componentInstances;
460 protected UploadComponentInstanceInfo createUploadComponentInstanceInfo(){
461 UploadComponentInstanceInfo uploadComponentInstanceInfo = new UploadComponentInstanceInfo();
462 uploadComponentInstanceInfo.setName("UploadComponentInstanceInfo");
463 return uploadComponentInstanceInfo;
466 private void mockAbstract() throws IOException {
467 checkCreateAbstract();
472 private void checkCreateAbstract(){
473 AbstractResourceInfo abstractResourceInfo = new AbstractResourceInfo();
474 List<RequirementCapabilityRelDef> componentInstancesRelations = new ArrayList<>();
475 abstractResourceInfo.setComponentInstancesRelations(componentInstancesRelations);
476 abstractResourceInfo.setAbstractResourceUniqueId("abstractResourceUniqueId");
477 abstractResourceInfo.setAbstractResourceName("abstractResourceName");
478 abstractResourceInfo.setAbstractResourceUUid("abstractResourceUUid");
480 AbstractResourceInfo getAbstractResourceInfo = new AbstractResourceInfo();
481 getAbstractResourceInfo.getAbstractResourceName();
482 getAbstractResourceInfo.getAbstractResourceUniqueId();
483 getAbstractResourceInfo.getAbstractResourceUUid();
484 getAbstractResourceInfo.getComponentInstancesRelations();
486 AbstractTemplateInfo createAbstractTemplateInfo = new AbstractTemplateInfo();
487 List<AbstractResourceInfo> abstractResourceInfoList = new ArrayList<>();
488 abstractResourceInfoList.add(abstractResourceInfo);
489 createAbstractTemplateInfo.setAbstractResourceInfoList(abstractResourceInfoList);
490 createAbstractTemplateInfo.setServiceUniqueId("serviceUniqueId");
491 createAbstractTemplateInfo.setIsAbstractTemplate(true);
492 createAbstractTemplateInfo.setServiceUUid("serviceUUid");
494 AbstractTemplateInfo getAbstractTemplateInfo = new AbstractTemplateInfo();
495 getAbstractTemplateInfo.getAbstractResourceInfoList();
496 getAbstractTemplateInfo.getIsAbstractTemplate();
497 getAbstractTemplateInfo.getServiceUniqueId();
498 getAbstractTemplateInfo.getServiceUUid();
500 CopyServiceInfo copyServiceInfo = new CopyServiceInfo();
501 copyServiceInfo.setNewServiceName("newServiceName");
502 copyServiceInfo.setNewServiceUUid("serviceUUid");
503 copyServiceInfo.setOldServiceUUid("oldServiceUUid");
505 CopyServiceInfo getCopyServiceInfo = new CopyServiceInfo();
506 getCopyServiceInfo.getNewServiceName();
507 getCopyServiceInfo.getNewServiceUUid();
508 getCopyServiceInfo.getOldServiceUUid();
510 ReplaceVNFInfo replaceVNFInfo = new ReplaceVNFInfo();
511 ComponentInstance realVNFComponentInstance = new ComponentInstance();
512 replaceVNFInfo.setAbstractResourceUniqueId("abstractResourceUniqueId");
513 replaceVNFInfo.setRealVNFComponentInstance(realVNFComponentInstance);
514 replaceVNFInfo.setServiceUniqueId("serviceUniqueId");
516 ReplaceVNFInfo getReplaceVNFInfo = new ReplaceVNFInfo();
517 getReplaceVNFInfo.getServiceUniqueId();
518 getReplaceVNFInfo.getAbstractResourceUniqueId();
519 getReplaceVNFInfo.getRealVNFComponentInstance();
522 private void checkCreateOther(){
523 ResourceInstanceMetadata resourceInstanceMetadata = new ResourceInstanceMetadata();
524 List<ArtifactMetadata> artifacts = new ArrayList<>();
525 resourceInstanceMetadata.setArtifacts(artifacts);
526 resourceInstanceMetadata.setResoucreType("resoucreType");
527 resourceInstanceMetadata.setResourceInstanceName("resourceInstanceName");
528 resourceInstanceMetadata.setResourceInvariantUUID("resourceInvariantUUID");
529 resourceInstanceMetadata.setResourceName("resourceName");
530 resourceInstanceMetadata.setResourceUUID("resourceUUID");
531 resourceInstanceMetadata.setResourceVersion("resourceVersion");
533 ResourceInstanceMetadata getResourceInstanceMetadata = new ResourceInstanceMetadata();
534 getResourceInstanceMetadata.getArtifacts();
535 getResourceInstanceMetadata.getResoucreType();
536 getResourceInstanceMetadata.getResourceInstanceName();
537 getResourceInstanceMetadata.getResourceInvariantUUID();
538 getResourceInstanceMetadata.getResourceName();
539 getResourceInstanceMetadata.getResourceUUID();
540 getResourceInstanceMetadata.getResourceVersion();
542 UploadServiceInfo uploadServiceInfo = new UploadServiceInfo();
543 List<String> tags = new ArrayList<>();
544 List<CategoryDefinition> categories = new ArrayList<>();
545 List<UploadArtifactInfo> artifactList = new ArrayList<>();
546 uploadServiceInfo.setProjectCode("projectCode");
547 uploadServiceInfo.setCategories(categories);
548 uploadServiceInfo.setServiceType("");
549 uploadServiceInfo.setServiceVendorModelNumber("serviceVendorModelNumber");
550 uploadServiceInfo.setVendorRelease("vendorRelease");
551 uploadServiceInfo.setVendorName("vendorName");
552 uploadServiceInfo.setServiceIconPath("serviceIconPath");
553 uploadServiceInfo.setName("uploadServiceInfo");
554 uploadServiceInfo.setContactId("contactId");
555 uploadServiceInfo.setIcon("icon");
556 uploadServiceInfo.setNamingPolicy("namingPolicy");
557 uploadServiceInfo.setEcompGeneratedNaming("ecompGeneratedNaming");
558 uploadServiceInfo.setServiceEcompNaming("serviceEcompNaming");
559 uploadServiceInfo.setServiceRole("serviceRole");
560 uploadServiceInfo.setSubcategory("subcategory");
561 uploadServiceInfo.setCategory("category");
562 uploadServiceInfo.setType("type");
563 uploadServiceInfo.setUUID("UUID");
564 uploadServiceInfo.setInvariantUUID("invariantUUID");
565 uploadServiceInfo.setResourceVendorRelease("resourceVendorRelease");
566 uploadServiceInfo.setResourceVendor("resourceVendor");
567 uploadServiceInfo.setDescription("description");
568 uploadServiceInfo.setTags(tags);
569 uploadServiceInfo.setArtifactList(artifactList);
570 uploadServiceInfo.setPayloadName("payloadName");
571 uploadServiceInfo.setPayloadData("payloadData");
574 protected void checkGetUploadServiceInfo(){
575 UploadServiceInfo uploadServiceInfo = new UploadServiceInfo();
576 List<String> tags = new ArrayList<>();
577 List<CategoryDefinition> categories = new ArrayList<>();
578 List<UploadArtifactInfo> artifactList = new ArrayList<>();
579 uploadServiceInfo.getProjectCode();
580 uploadServiceInfo.getCategories();
581 uploadServiceInfo.getServiceType();
582 uploadServiceInfo.getServiceVendorModelNumber();
583 uploadServiceInfo.getVendorRelease();
584 uploadServiceInfo.getVendorName();
585 uploadServiceInfo.getServiceIconPath();
586 uploadServiceInfo.getName();
587 uploadServiceInfo.getContactId();
588 uploadServiceInfo.getIcon();
589 uploadServiceInfo.getNamingPolicy();
590 uploadServiceInfo.getEcompGeneratedNaming();
591 uploadServiceInfo.getServiceEcompNaming();
592 uploadServiceInfo.getServiceRole();
593 uploadServiceInfo.getSubcategory();
594 uploadServiceInfo.getCategory();
595 uploadServiceInfo.getType();
596 uploadServiceInfo.getUUID();
597 uploadServiceInfo.getInvariantUUID();
598 uploadServiceInfo.getResourceVendorRelease();
599 uploadServiceInfo.getResourceVendor();
600 uploadServiceInfo.getDescription();
601 uploadServiceInfo.getTags();
602 uploadServiceInfo.getArtifactList();
603 uploadServiceInfo.getPayloadName();
604 uploadServiceInfo.getPayloadData();
607 private void checkCreateFile() throws IOException {
608 CreateServiceFromYamlParameter csfp = new CreateServiceFromYamlParameter();
609 Map<String, NodeTypeInfo> nodeTypesInfo = new HashMap<>();
610 ParsedToscaYamlInfo parsedToscaYamlInfo = new ParsedToscaYamlInfo();
611 List<ArtifactDefinition> createdArtifacts = new ArrayList<>();
612 CsarInfo csarInfo = getCsarInfo();
613 csfp.setYamlName("yamlName");
614 csfp.setNodeTypesInfo(nodeTypesInfo);
615 csfp.setParsedToscaYamlInfo(parsedToscaYamlInfo);
616 csfp.setCsarInfo(csarInfo);
617 csfp.setCreatedArtifacts(createdArtifacts);
618 csfp.setYamlName("yamlName");
619 csfp.setShouldLock(true);
620 csfp.setInTransaction(true);
621 csfp.setNodeName("nodeName");
623 CreateServiceFromYamlParameter getCsfy = new CreateServiceFromYamlParameter();
624 getCsfy.getYamlName();
625 getCsfy.getNodeTypesInfo();
626 getCsfy.getParsedToscaYamlInfo();
627 getCsfy.getCsarInfo();
628 getCsfy.getCreatedArtifacts();
629 getCsfy.getYamlName();
630 getCsfy.isShouldLock();
631 getCsfy.isInTransaction();
632 getCsfy.getNodeName();
635 protected CsarInfo getCsarInfo () throws IOException {
636 String csarUuid = "0010";
637 User user = new User();
638 Map<String, byte[]> csar = crateCsarFromPayload();
639 String vfReousrceName = "resouceName";
640 String mainTemplateName = "mainTemplateName";
641 String mainTemplateContent = getMainTemplateContent();
642 final Service service = createServiceObject(false);
643 CsarInfo csarInfo = new CsarInfo(user, csarUuid, csar, vfReousrceName, mainTemplateName, mainTemplateContent, false);
647 protected Map<String, byte[]> crateCsarFromPayload() {
648 String payloadName = "valid_vf.csar";
649 byte[] data = new byte[1024];
650 Map<String, byte[]> returnValue = new HashMap<>();
651 returnValue.put(payloadName,data);
656 protected String getGroupsYaml() throws IOException {
657 Path filePath = Paths.get("src/test/resources/types/groups.yml");
658 byte[] fileContent = Files.readAllBytes(filePath);
659 return new String(fileContent);
662 protected String getYamlFileContent() throws IOException {
663 Path filePath = Paths.get("src/test/resources/types/fileContent.yml");
664 byte[] fileContent = Files.readAllBytes(filePath);
665 return new String(fileContent);
668 public String getMainTemplateContent() throws IOException {
669 Path filePath = Paths.get("src/test/resources/types/mainTemplateContent.yml");
670 byte[] fileContent = Files.readAllBytes(filePath);
671 return new String(fileContent);
674 protected String getArtifactsYml() throws IOException {
675 Path filePath = Paths.get("src/test/resources/types/artifacts.yml");
676 byte[] fileContent = Files.readAllBytes(filePath);
677 return new String(fileContent);
680 protected void assertComponentException(ComponentException e, ActionStatus expectedStatus, String... variables) {
681 ResponseFormat actualResponse = e.getResponseFormat() != null ?
682 e.getResponseFormat() : componentsUtils.getResponseFormat(e.getActionStatus(), e.getParams());
683 assertResponse(actualResponse, expectedStatus, variables);
686 protected void assertResponse(ResponseFormat actualResponse, ActionStatus expectedStatus, String... variables) {
687 ResponseFormat expectedResponse = responseManager.getResponseFormat(expectedStatus, variables);
688 assertEquals(expectedResponse.getStatus(), actualResponse.getStatus());
689 assertEquals("assert error description", expectedResponse.getFormattedMessage(), actualResponse.getFormattedMessage());