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.
17 package org.openecomp.sdc.be.components.impl;
19 import static org.assertj.core.api.Java6Assertions.assertThat;
20 import static org.mockito.ArgumentMatchers.any;
21 import static org.mockito.ArgumentMatchers.anyBoolean;
22 import static org.mockito.ArgumentMatchers.anyObject;
23 import static org.mockito.ArgumentMatchers.anyString;
24 import static org.mockito.Mockito.when;
25 import static org.openecomp.sdc.be.auditing.impl.AuditTestUtils.RESOURCE_NAME;
27 import fj.data.Either;
28 import java.io.IOException;
29 import java.nio.file.FileSystems;
30 import java.nio.file.Files;
31 import java.util.ArrayList;
32 import java.util.Collections;
33 import java.util.EnumMap;
34 import java.util.HashSet;
35 import java.util.List;
37 import java.util.Map.Entry;
39 import org.apache.commons.collections.map.HashedMap;
40 import org.apache.commons.lang3.tuple.ImmutablePair;
41 import org.apache.commons.lang3.tuple.MutablePair;
42 import org.junit.Before;
43 import org.junit.Test;
44 import org.mockito.ArgumentMatchers;
45 import org.mockito.InjectMocks;
46 import org.mockito.Mockito;
47 import org.mockito.MockitoAnnotations;
48 import org.openecomp.sdc.ElementOperationMock;
49 import org.openecomp.sdc.be.auditing.impl.AuditingManager;
50 import org.openecomp.sdc.be.components.csar.CsarInfo;
51 import org.openecomp.sdc.be.components.impl.ArtifactsBusinessLogic.ArtifactOperationEnum;
52 import org.openecomp.sdc.be.components.impl.artifact.ArtifactOperationInfo;
53 import org.openecomp.sdc.be.components.impl.exceptions.ComponentException;
54 import org.openecomp.sdc.be.components.lifecycle.LifecycleChangeInfoWithAction;
55 import org.openecomp.sdc.be.dao.api.ActionStatus;
56 import org.openecomp.sdc.be.dao.janusgraph.JanusGraphOperationStatus;
57 import org.openecomp.sdc.be.datatypes.elements.AttributeDataDefinition;
58 import org.openecomp.sdc.be.datatypes.elements.GetInputValueDataDefinition;
59 import org.openecomp.sdc.be.datatypes.elements.ListCapabilityDataDefinition;
60 import org.openecomp.sdc.be.datatypes.elements.ListRequirementDataDefinition;
61 import org.openecomp.sdc.be.datatypes.elements.PropertyDataDefinition;
62 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
63 import org.openecomp.sdc.be.datatypes.enums.NodeTypeEnum;
64 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
65 import org.openecomp.sdc.be.impl.ComponentsUtils;
66 import org.openecomp.sdc.be.model.ArtifactDefinition;
67 import org.openecomp.sdc.be.model.CapabilityDefinition;
68 import org.openecomp.sdc.be.model.CapabilityTypeDefinition;
69 import org.openecomp.sdc.be.model.Component;
70 import org.openecomp.sdc.be.model.ComponentInstance;
71 import org.openecomp.sdc.be.model.ComponentInstanceInput;
72 import org.openecomp.sdc.be.model.ComponentInstanceProperty;
73 import org.openecomp.sdc.be.model.ComponentParametersView;
74 import org.openecomp.sdc.be.model.DataTypeDefinition;
75 import org.openecomp.sdc.be.model.GroupDefinition;
76 import org.openecomp.sdc.be.model.InputDefinition;
77 import org.openecomp.sdc.be.model.InterfaceDefinition;
78 import org.openecomp.sdc.be.model.LifecycleStateEnum;
79 import org.openecomp.sdc.be.model.NodeTypeInfo;
80 import org.openecomp.sdc.be.model.Operation;
81 import org.openecomp.sdc.be.model.PropertyDefinition;
82 import org.openecomp.sdc.be.model.RequirementCapabilityRelDef;
83 import org.openecomp.sdc.be.model.RequirementDefinition;
84 import org.openecomp.sdc.be.model.Resource;
85 import org.openecomp.sdc.be.model.Service;
86 import org.openecomp.sdc.be.model.UploadCapInfo;
87 import org.openecomp.sdc.be.model.UploadComponentInstanceInfo;
88 import org.openecomp.sdc.be.model.UploadPropInfo;
89 import org.openecomp.sdc.be.model.UploadReqInfo;
90 import org.openecomp.sdc.be.model.UploadResourceInfo;
91 import org.openecomp.sdc.be.model.User;
92 import org.openecomp.sdc.be.model.category.CategoryDefinition;
93 import org.openecomp.sdc.be.model.category.SubCategoryDefinition;
94 import org.openecomp.sdc.be.model.jsonjanusgraph.operations.ToscaOperationFacade;
95 import org.openecomp.sdc.be.model.operations.api.ICapabilityTypeOperation;
96 import org.openecomp.sdc.be.model.User;
98 import java.util.HashMap;
100 import org.openecomp.sdc.be.model.operations.api.IElementOperation;
101 import org.openecomp.sdc.be.model.operations.api.IInterfaceLifecycleOperation;
102 import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
103 import org.openecomp.sdc.be.resources.data.auditing.AuditingActionEnum;
104 import org.openecomp.sdc.be.user.Role;
105 import org.openecomp.sdc.common.api.Constants;
106 import org.openecomp.sdc.common.util.ValidationUtils;
107 import org.openecomp.sdc.exception.ResponseFormat;
109 public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBaseTestSetup {
111 ComponentsUtils componentsUtils = new ComponentsUtils(Mockito.mock(AuditingManager.class));
112 ToscaOperationFacade toscaOperationFacade = Mockito.mock(ToscaOperationFacade.class);
113 ServiceBusinessLogic serviceBusinessLogic = Mockito.mock(ServiceBusinessLogic.class);
114 ICapabilityTypeOperation capabilityTypeOperation = Mockito.mock(ICapabilityTypeOperation.class);
115 IElementOperation elementDao = Mockito.mock(IElementOperation.class);
116 IInterfaceLifecycleOperation interfaceTypeOperation = Mockito.mock(IInterfaceLifecycleOperation.class);
117 InputsBusinessLogic inputsBusinessLogic = Mockito.mock(InputsBusinessLogic.class);
119 private static final String RESOURCE_NAME = "My-Resource_Name with space";
120 private static final String RESOURCE_TOSCA_NAME = "My-Resource_Tosca_Name";
121 private static final String GENERIC_ROOT_NAME = "tosca.nodes.Root";
122 private static final String GENERIC_VF_NAME = "org.openecomp.resource.abstract.nodes.VF";
123 private static final String GENERIC_CR_NAME = "org.openecomp.resource.abstract.nodes.CR";
124 private static final String GENERIC_PNF_NAME = "org.openecomp.resource.abstract.nodes.PNF";
125 private static final String RESOURCE_CATEGORY1 = "Network Layer 2-3";
126 private static final String RESOURCE_SUBCATEGORY = "Router";
129 private ServiceImportParseLogic serviceImportParseLogic;
130 ResponseFormatManager responseManager = null;
133 private ServiceImportParseLogic createTestSubject() {
134 return new ServiceImportParseLogic();
137 ServiceImportParseLogic bl;
141 public void setup() {
142 MockitoAnnotations.initMocks(this);
145 mockElementDao = new ElementOperationMock();
147 // User data and management
149 user.setUserId("jh0003");
150 user.setFirstName("Jimmi");
151 user.setLastName("Hendrix");
152 user.setRole(Role.ADMIN.name());
153 responseManager = ResponseFormatManager.getInstance();
155 bl = new ServiceImportParseLogic();
156 bl.setComponentsUtils(componentsUtils);
157 bl.setToscaOperationFacade(toscaOperationFacade);
158 serviceBusinessLogic.setElementDao(elementDao);
159 bl.setServiceBusinessLogic(serviceBusinessLogic);
160 bl.setCapabilityTypeOperation(capabilityTypeOperation);
161 bl.setInterfaceTypeOperation(interfaceTypeOperation);
162 bl.setInputsBusinessLogic(inputsBusinessLogic);
167 public void testGetServiceBusinessLogic() {
168 ServiceImportParseLogic testSubject;
169 ServiceBusinessLogic result;
171 testSubject = createTestSubject();
172 result = testSubject.getServiceBusinessLogic();
176 public void testSetServiceBusinessLogic() {
177 ServiceImportParseLogic testSubject;
178 ServiceBusinessLogic serviceBusinessLogic = null;
180 testSubject = createTestSubject();
181 testSubject.setServiceBusinessLogic(serviceBusinessLogic);
185 public void testGetCapabilityTypeOperation() {
186 ServiceImportParseLogic testSubject;
187 ICapabilityTypeOperation result;
189 testSubject = createTestSubject();
190 result = testSubject.getCapabilityTypeOperation();
194 public void testSetCapabilityTypeOperation() {
195 ServiceImportParseLogic testSubject;
196 ICapabilityTypeOperation iCapabilityTypeOperation = null;
198 testSubject = createTestSubject();
199 testSubject.setCapabilityTypeOperation(iCapabilityTypeOperation);
202 private CsarInfo createCsarInfo() {
203 Map<String, byte[]> csar = new HashMap<>();
204 User user = new User();
205 CsarInfo csarInfo = new CsarInfo(user, "csar_UUID", csar, "vfResourceName", "mainTemplateName",
206 "mainTemplateContent", true);
207 csarInfo.setVfResourceName("vfResourceName");
208 csarInfo.setCsar(csar);
209 csarInfo.setCsarUUID("csarUUID");
210 csarInfo.setModifier(user);
211 csarInfo.setUpdate(true);
216 public void testFindNodeTypesArtifactsToHandle() {
217 ServiceImportParseLogic testSubject = createTestSubject();
218 Map<String, NodeTypeInfo> nodeTypesInfo = new HashedMap();
219 final Service service = createServiceObject(false);
221 bl.findNodeTypesArtifactsToHandle(
222 nodeTypesInfo, getCsarInfo(), service);
226 public void testBuildNodeTypeYaml() {
227 Map.Entry<String, Object> nodeNameValue = new Entry<String, Object>() {
229 public String getKey() {
234 public Object getValue() {
239 public Object setValue(Object value) {
243 Map<String, Object> mapToConvert = new HashMap<>();
244 String nodeResourceType = Constants.USER_DEFINED_RESOURCE_NAMESPACE_PREFIX;
247 bl.buildNodeTypeYaml(
248 nodeNameValue, mapToConvert, nodeResourceType, getCsarInfo());
249 } catch (ComponentException e) {
250 assertComponentException(e, ActionStatus.INVALID_TOSCA_TEMPLATE,
251 ComponentTypeEnum.RESOURCE.getValue());
256 public void testFindAddNodeTypeArtifactsToHandle() {
258 Map<String, List<ArtifactDefinition>> extractedVfcsArtifacts = new HashMap<>();
259 Map<String, EnumMap<ArtifactOperationEnum, List<ArtifactDefinition>>> nodeTypesArtifactsToHandle = new HashMap<>();
260 String namespace = "namespace";
262 ImmutablePair p1 = ImmutablePair.<String, String>of("s", "sd");
263 Map<String, NodeTypeInfo> nodeTypesInfo = new HashedMap();
264 final Service service = createServiceObject(false);
265 Resource resource = new Resource();
266 Either<Component, StorageOperationStatus> getCompLatestResult = Either.left(resource);
267 when(toscaOperationFacade.getLatestByToscaResourceName(anyString()))
268 .thenReturn(getCompLatestResult);
270 bl.findAddNodeTypeArtifactsToHandle(getCsarInfo(), nodeTypesArtifactsToHandle, service,
271 extractedVfcsArtifacts, namespace, p1);
272 } catch (ComponentException e) {
273 assertComponentException(e, ActionStatus.INVALID_TOSCA_TEMPLATE,
274 ComponentTypeEnum.RESOURCE.getValue());
279 public void testHandleAndAddExtractedVfcsArtifacts() {
281 List<ArtifactDefinition> vfcArtifacts = new ArrayList<>();
282 List<ArtifactDefinition> artifactsToAdd = new ArrayList<>();
283 bl.handleAndAddExtractedVfcsArtifacts(vfcArtifacts, artifactsToAdd);
287 public void testFindNodeTypeArtifactsToHandle() {
289 Resource curNodeType = createParseResourceObject(true);
290 List<ArtifactDefinition> extractedArtifacts = new ArrayList<>();
291 bl.findNodeTypeArtifactsToHandle(curNodeType, extractedArtifacts);
295 public void testCollectExistingArtifacts() {
297 Resource curNodeType = createParseResourceObject(true);
298 bl.collectExistingArtifacts(curNodeType);
302 public void testPutFoundArtifacts() {
303 ArtifactDefinition artifactDefinition = new ArtifactDefinition();
304 List<ArtifactDefinition> artifactsToUpload = new ArrayList<>();
305 artifactsToUpload.add(artifactDefinition);
306 List<ArtifactDefinition> artifactsToUpdate = new ArrayList<>();
307 artifactsToUpdate.add(artifactDefinition);
308 List<ArtifactDefinition> artifactsToDelete = new ArrayList<>();
309 artifactsToDelete.add(artifactDefinition);
310 bl.putFoundArtifacts(artifactsToUpload, artifactsToUpdate, artifactsToDelete);
314 public void testProcessExistingNodeTypeArtifacts() {
315 ArtifactDefinition artifactDefinition = new ArtifactDefinition();
316 List<ArtifactDefinition> extractedArtifacts = new ArrayList<>();
317 extractedArtifacts.add(artifactDefinition);
318 List<ArtifactDefinition> artifactsToUpload = new ArrayList<>();
319 artifactsToUpload.add(artifactDefinition);
320 List<ArtifactDefinition> artifactsToUpdate = new ArrayList<>();
321 artifactsToUpdate.add(artifactDefinition);
322 List<ArtifactDefinition> artifactsToDelete = new ArrayList<>();
323 artifactsToDelete.add(artifactDefinition);
324 Map<String, ArtifactDefinition> existingArtifacts = new HashMap<>();
325 existingArtifacts.put("test", artifactDefinition);
327 bl.processExistingNodeTypeArtifacts(extractedArtifacts, artifactsToUpload, artifactsToUpdate,
328 artifactsToDelete, existingArtifacts);
329 } catch (ComponentException e) {
330 assertComponentException(e, ActionStatus.GENERAL_ERROR,
331 ComponentTypeEnum.RESOURCE.getValue());
337 public void testProcessNodeTypeArtifact() {
338 List<ArtifactDefinition> artifactsToUpload = new ArrayList<>();
339 List<ArtifactDefinition> artifactsToUpdate = new ArrayList<>();
340 Map<String, ArtifactDefinition> existingArtifacts = new HashMap<>();
341 ArtifactDefinition currNewArtifact = new ArtifactDefinition();
342 bl.processNodeTypeArtifact(artifactsToUpload, artifactsToUpdate, existingArtifacts, currNewArtifact);
346 public void testUpdateFoundArtifact() {
347 List<ArtifactDefinition> artifactsToUpdate = new ArrayList<>();
348 ArtifactDefinition currNewArtifact = new ArtifactDefinition();
349 currNewArtifact.setArtifactChecksum("090909");
350 currNewArtifact.setPayloadData("data");
351 ArtifactDefinition foundArtifact = new ArtifactDefinition();
352 foundArtifact.setArtifactChecksum("08767");
353 bl.updateFoundArtifact(artifactsToUpdate, currNewArtifact, foundArtifact);
357 public void testIsArtifactDeletionRequired() {
358 String artifactId = "artifactId";
359 byte[] artifactFileBytes = new byte[100];
360 boolean isFromCsar = true;
361 bl.isArtifactDeletionRequired(artifactId, artifactFileBytes, isFromCsar);
365 public void testFillGroupsFinalFields() {
366 List<GroupDefinition> groupsAsList = new ArrayList<>();
367 bl.fillGroupsFinalFields(groupsAsList);
371 public void testGetComponentTypeForResponse() {
372 Resource resource = createParseResourceObject(true);
373 bl.getComponentTypeForResponse(resource);
377 public void testGetComponentTypeForResponseByService() {
378 Service service = createServiceObject(true);
379 bl.getComponentTypeForResponse(service);
383 public void testIsfillGroupMemebersRecursivlyStopCondition() {
384 String groupName = "groupName";
385 Map<String, GroupDefinition> allGroups = new HashMap<>();
386 Set<String> allGroupMembers = new HashSet<>();
387 bl.isfillGroupMemebersRecursivlyStopCondition(groupName, allGroups, allGroupMembers);
391 public void testIsfillGroupMemebersRecursivlyStopCondition2() {
392 String groupName = "groupName";
393 Map<String, GroupDefinition> allGroups = new HashMap<>();
394 GroupDefinition groupDefinition = new GroupDefinition();
395 Map<String, String> members = new HashMap<>();
396 members.put("members", "members");
397 groupDefinition.setMembers(members);
398 allGroups.put(groupName, groupDefinition);
399 Set<String> allGroupMembers = new HashSet<>();
400 bl.isfillGroupMemebersRecursivlyStopCondition(groupName, allGroups, allGroupMembers);
404 public void testBuildValidComplexVfc() {
405 Resource resource = createParseResourceObject(true);
406 String nodeName = "org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test";
407 Map<String, NodeTypeInfo> nodesInfo = new HashMap<>();
408 NodeTypeInfo nodeTypeInfo = new NodeTypeInfo();
409 List<String> derivedFrom = new ArrayList<>();
410 derivedFrom.add("derivedFrom");
411 nodeTypeInfo.setDerivedFrom(derivedFrom);
412 nodesInfo.put(nodeName, nodeTypeInfo);
415 bl.buildValidComplexVfc(resource, getCsarInfo(), nodeName, nodesInfo);
416 } catch (ComponentException e) {
417 assertComponentException(e, ActionStatus.GENERAL_ERROR,
418 ComponentTypeEnum.RESOURCE.getValue());
423 public void testValidateResourceBeforeCreate() {
424 Resource resource = createParseResourceObject(true);
427 bl.getServiceBusinessLogic().setElementDao(elementDao);
428 bl.validateResourceBeforeCreate(resource, user, AuditingActionEnum.IMPORT_RESOURCE,false, getCsarInfo());
429 } catch (ComponentException e) {
430 assertComponentException(e, ActionStatus.GENERAL_ERROR,
431 ComponentTypeEnum.RESOURCE.getValue());
437 public void testValidateResourceType() {
438 Resource resource = createParseResourceObject(true);
439 bl.validateResourceType( user, resource, AuditingActionEnum.IMPORT_RESOURCE);
443 public void testValidateResourceTypeIsEmpty() {
444 Resource resource = new Resource();
445 resource.setResourceType(null);
446 bl.validateResourceType(user, resource, AuditingActionEnum.IMPORT_RESOURCE);
450 public void testValidateLifecycleTypesCreate() {
451 Resource resource = createParseResourceObject(true);
452 Map<String, InterfaceDefinition> mapInterfaces = new HashMap<>();
453 InterfaceDefinition interfaceDefinition = new InterfaceDefinition();
454 String uniqueId = "01932342212";
455 interfaceDefinition.setUniqueId(uniqueId);
456 mapInterfaces.put("uniqueId", interfaceDefinition);
457 resource.setInterfaces(mapInterfaces);
458 when(interfaceTypeOperation.getInterface(anyString())).thenReturn(Either.right(StorageOperationStatus.NOT_FOUND));
459 bl.validateLifecycleTypesCreate(user, resource, AuditingActionEnum.IMPORT_RESOURCE);
463 public void testValidateCapabilityTypesCreate() {
464 Resource resource = createParseResourceObject(true);
465 Map<String, List<CapabilityDefinition>> capabilities = new HashMap<>();
466 String uniqueId = "18982938994";
467 List<CapabilityDefinition> capabilityDefinitionList= new ArrayList<>();
468 CapabilityDefinition capabilityDefinition = new CapabilityDefinition();
469 capabilityDefinitionList.add(capabilityDefinition);
470 capabilities.put(uniqueId, capabilityDefinitionList);
471 resource.setCapabilities(capabilities);
472 when(capabilityTypeOperation.getCapabilityType(anyString(), anyBoolean())).
473 thenReturn(Either.right(StorageOperationStatus.NOT_FOUND));
475 bl.validateCapabilityTypesCreate(user, bl.getCapabilityTypeOperation(), resource,
476 AuditingActionEnum.IMPORT_RESOURCE, true);
477 } catch (ComponentException e) {
478 assertComponentException(e, ActionStatus.INVALID_TOSCA_TEMPLATE,
479 ComponentTypeEnum.RESOURCE.getValue());
484 public void testValidateCapabilityTypesCreateWhenHaveCapability() {
485 Resource resource = createParseResourceObject(true);
486 Map<String, List<CapabilityDefinition>> capabilities = new HashMap<>();
487 String uniqueId = "18982938994";
488 List<CapabilityDefinition> capabilityDefinitionList= new ArrayList<>();
489 CapabilityDefinition capabilityDefinition = new CapabilityDefinition();
490 capabilityDefinitionList.add(capabilityDefinition);
491 capabilities.put(uniqueId, capabilityDefinitionList);
492 resource.setCapabilities(capabilities);
493 CapabilityTypeDefinition capabilityTypeDefinition = new CapabilityTypeDefinition();
494 when(capabilityTypeOperation.getCapabilityType(anyString(), anyBoolean())).
495 thenReturn(Either.left(capabilityTypeDefinition));
497 bl.validateCapabilityTypesCreate(user, bl.getCapabilityTypeOperation(), resource,
498 AuditingActionEnum.IMPORT_RESOURCE, true);
499 } catch (ComponentException e) {
500 assertComponentException(e, ActionStatus.INVALID_TOSCA_TEMPLATE,
501 ComponentTypeEnum.RESOURCE.getValue());
506 public void testValidateCapabilityTypeExists() {
507 Resource resource = createParseResourceObject(true);
508 Either<Boolean, ResponseFormat> eitherResult = Either.left(true);
509 for (Map.Entry<String, List<CapabilityDefinition>> typeEntry : resource.getCapabilities().entrySet()) {
511 bl.validateCapabilityTypeExists(user, bl.getCapabilityTypeOperation(), resource,
512 AuditingActionEnum.IMPORT_RESOURCE,
513 eitherResult, typeEntry, false);
518 public void testValidateCapabilityTypeExistsWhenPropertiesIsNull() {
519 Resource resource = createParseResourceObject(true);
520 Either<Boolean, ResponseFormat> eitherResult = Either.left(true);
521 CapabilityTypeDefinition capabilityTypeDefinition = new CapabilityTypeDefinition();
523 String uniqueId = "0987348532";
524 PropertyDefinition propertyDefinition = new PropertyDefinition();
525 Map<String, PropertyDefinition> properties = new HashMap<>();
526 properties.put(uniqueId, propertyDefinition);
527 capabilityTypeDefinition.setProperties(properties);
529 Map<String, List<CapabilityDefinition>> capabilities = new HashMap<>();
530 List<CapabilityDefinition> capabilityDefinitionList = new ArrayList<>();
531 CapabilityDefinition capabilityDefinition = new CapabilityDefinition();
532 capabilityDefinitionList.add(capabilityDefinition);
533 capabilities.put(uniqueId, capabilityDefinitionList);
534 resource.setCapabilities(capabilities);
536 when(capabilityTypeOperation.getCapabilityType(anyString(), anyBoolean())).
537 thenReturn(Either.left(capabilityTypeDefinition));
538 for (Map.Entry<String, List<CapabilityDefinition>> typeEntry : resource.getCapabilities().entrySet()) {
540 bl.validateCapabilityTypeExists(user, bl.getCapabilityTypeOperation(), resource,
541 AuditingActionEnum.IMPORT_RESOURCE,
542 eitherResult, typeEntry, false);
547 public void testValidateCapabilityTypeExistsWhenPropertiesNotNull() {
548 Resource resource = createParseResourceObject(true);
549 Either<Boolean, ResponseFormat> eitherResult = Either.left(true);
550 CapabilityTypeDefinition capabilityTypeDefinition = new CapabilityTypeDefinition();
552 String uniqueId = "0987348532";
553 PropertyDefinition propertyDefinition = new PropertyDefinition();
554 propertyDefinition.setName(uniqueId);
555 Map<String, PropertyDefinition> properties = new HashMap<>();
556 properties.put(uniqueId, propertyDefinition);
557 capabilityTypeDefinition.setProperties(properties);
559 Map<String, List<CapabilityDefinition>> capabilities = new HashMap<>();
562 List<CapabilityDefinition> capabilityDefinitionList = new ArrayList<>();
563 List<ComponentInstanceProperty> componentInstancePropertyList = new ArrayList<>();
564 ComponentInstanceProperty componentInstanceProperty = new ComponentInstanceProperty();
565 componentInstanceProperty.setValueUniqueUid(uniqueId);
566 componentInstanceProperty.setName(uniqueId);
567 componentInstancePropertyList.add(componentInstanceProperty);
568 CapabilityDefinition capabilityDefinition = new CapabilityDefinition();
569 capabilityDefinition.setProperties(componentInstancePropertyList);
570 capabilityDefinitionList.add(capabilityDefinition);
572 capabilities.put(uniqueId, capabilityDefinitionList);
573 resource.setCapabilities(capabilities);
576 when(capabilityTypeOperation.getCapabilityType(anyString(), anyBoolean())).
577 thenReturn(Either.left(capabilityTypeDefinition));
578 for (Map.Entry<String, List<CapabilityDefinition>> typeEntry : resource.getCapabilities().entrySet()) {
580 bl.validateCapabilityTypeExists(user, bl.getCapabilityTypeOperation(), resource,
581 AuditingActionEnum.IMPORT_RESOURCE,
582 eitherResult, typeEntry, false);
587 public void testValidateCapabilityTypeExists2() {
588 Resource resource = createParseResourceObject(true);
589 Either<Boolean, ResponseFormat> eitherResult = Either.left(true);
590 when(capabilityTypeOperation.getCapabilityType(anyString(), anyBoolean())).
591 thenReturn(Either.right(StorageOperationStatus.NOT_FOUND));
593 for (String type : resource.getRequirements().keySet()) {
594 bl.validateCapabilityTypeExists(user, bl.getCapabilityTypeOperation(), resource,
595 resource.getRequirements().get(type), AuditingActionEnum.IMPORT_RESOURCE, eitherResult, type,
598 } catch (ComponentException e) {
599 assertComponentException(e, ActionStatus.INVALID_TOSCA_TEMPLATE,
600 ComponentTypeEnum.RESOURCE.getValue());
607 public void testValidateResourceFieldsBeforeCreate() {
608 Resource resource = createParseResourceObject(true);
610 bl.validateResourceFieldsBeforeCreate( user, resource, AuditingActionEnum.IMPORT_RESOURCE, true);
611 } catch (ComponentException e) {
612 assertComponentException(e, ActionStatus.GENERAL_ERROR,
613 ComponentTypeEnum.RESOURCE.getValue());
618 public void testValidateDerivedFromExist() {
619 Resource resource = createParseResourceObject(true);
621 when(toscaOperationFacade.validateToscaResourceNameExists(anyString()))
622 .thenReturn(Either.left(true));
623 bl.validateDerivedFromExist( user, resource, AuditingActionEnum.IMPORT_RESOURCE);
624 } catch (ComponentException e) {
625 assertComponentException(e, ActionStatus.GENERAL_ERROR,
626 ComponentTypeEnum.RESOURCE.getValue());
631 public void testValidateDerivedFromExistFailure1() {
632 Resource resource = createParseResourceObject(true);
634 when(toscaOperationFacade.validateToscaResourceNameExists(anyString()))
635 .thenReturn(Either.left(false));
636 bl.validateDerivedFromExist( user, resource, AuditingActionEnum.IMPORT_RESOURCE);
637 } catch (ComponentException e) {
638 assertComponentException(e, ActionStatus.PARENT_RESOURCE_NOT_FOUND,
639 ComponentTypeEnum.RESOURCE.getValue());
644 public void testValidateDerivedFromExistFailure2() {
645 Resource resource = createParseResourceObject(true);
647 when(toscaOperationFacade.validateToscaResourceNameExists(anyString()))
648 .thenReturn(Either.right(StorageOperationStatus.OK));
649 bl.validateDerivedFromExist( user, resource, AuditingActionEnum.IMPORT_RESOURCE);
650 } catch (ComponentException e) {
651 assertComponentException(e, ActionStatus.OK,
652 ComponentTypeEnum.RESOURCE.getValue());
657 public void testValidateLicenseType() {
658 Resource resource = createParseResourceObject(true);
661 bl.validateLicenseType( user, resource, AuditingActionEnum.IMPORT_RESOURCE);
662 } catch (ComponentException e) {
663 assertComponentException(e, ActionStatus.INVALID_CONTENT,
664 ComponentTypeEnum.RESOURCE.getValue());
671 public void testValidateCost() {
672 Resource resource = createParseResourceObject(true);
674 bl.validateCost( resource);
675 } catch (ComponentException e) {
676 assertComponentException(e, ActionStatus.INVALID_CONTENT,
677 ComponentTypeEnum.RESOURCE.getValue());
682 public void testValidateResourceVendorModelNumber() {
683 Resource resource = createParseResourceObject(true);
684 bl.validateResourceVendorModelNumber( user, resource, AuditingActionEnum.IMPORT_RESOURCE);
688 public void testValidateResourceVendorModelNumberWrongLen() {
689 Resource resource = createParseResourceObject(true);
690 resource.setResourceVendorModelNumber("000000000011122221111222333444443222556677788778889999998776554332340");
692 bl.validateResourceVendorModelNumber( user, resource, AuditingActionEnum.IMPORT_RESOURCE);
693 } catch (ComponentException e) {
699 public void testValidateResourceVendorModelNumberWrongValue() {
700 Resource resource = createParseResourceObject(true);
701 resource.setResourceVendorModelNumber("");
703 bl.validateResourceVendorModelNumber( user, resource, AuditingActionEnum.IMPORT_RESOURCE);
704 } catch (ComponentException e) {
705 assertComponentException(e, ActionStatus.INVALID_RESOURCE_VENDOR_MODEL_NUMBER,
706 ComponentTypeEnum.RESOURCE.getValue());
711 public void testValidateVendorReleaseName() {
712 Resource resource = createParseResourceObject(true);
713 resource.setVendorRelease("0.1");
714 bl.validateVendorReleaseName( user, resource, AuditingActionEnum.IMPORT_RESOURCE);
718 public void testValidateVendorReleaseNameFailure() {
719 Resource resource = createParseResourceObject(true);
720 resource.setVendorRelease("");
722 bl.validateVendorReleaseName( user, resource, AuditingActionEnum.IMPORT_RESOURCE);
723 } catch (ComponentException e) {
724 assertComponentException(e, ActionStatus.MISSING_VENDOR_RELEASE,
725 ComponentTypeEnum.RESOURCE.getValue());
731 public void testValidateVendorReleaseNameWrongLen() {
732 Resource resource = createParseResourceObject(true);
733 resource.setVendorRelease("000000000011122221111222333444443222556677788778889999998776554332340");
735 bl.validateVendorReleaseName(user, resource, AuditingActionEnum.IMPORT_RESOURCE);
736 } catch (ComponentException e) {
742 public void testValidateCategory() {
743 Resource resource = createParseResourceObject(true);
745 bl.validateCategory( user, resource, AuditingActionEnum.IMPORT_RESOURCE, true);
746 } catch (ComponentException e) {
747 assertComponentException(e, ActionStatus.GENERAL_ERROR,
748 ComponentTypeEnum.RESOURCE.getValue());
753 public void testValidateEmptyCategory() {
754 Resource resource = createParseResourceObject(true);
755 resource.setCategories(null);
757 bl.validateCategory(user, resource, AuditingActionEnum.IMPORT_RESOURCE, true);
758 } catch (ComponentException e) {
759 assertComponentException(e, ActionStatus.COMPONENT_MISSING_CATEGORY,
760 ComponentTypeEnum.RESOURCE.getValue());
765 public void testValidateCategorySizeBiggerThan1() {
766 Resource resource = createParseResourceObject(true);
767 List<CategoryDefinition> categories = new ArrayList<>();
768 CategoryDefinition categoryDefinition1 = new CategoryDefinition();
769 CategoryDefinition categoryDefinition2 = new CategoryDefinition();
770 categories.add(categoryDefinition1);
771 categories.add(categoryDefinition2);
773 resource.setCategories(categories);
775 bl.validateCategory(user, resource, AuditingActionEnum.IMPORT_RESOURCE, true);
776 } catch (ComponentException e) {
777 assertComponentException(e, ActionStatus.COMPONENT_TOO_MUCH_CATEGORIES,
778 ComponentTypeEnum.RESOURCE.getValue());
783 public void testValidateEmptySubCategory() {
784 Resource resource = createParseResourceObject(true);
785 List<CategoryDefinition> categories = resource.getCategories();
786 CategoryDefinition categoryDefinition = categories.get(0);
787 categoryDefinition.setSubcategories(null);
790 bl.validateCategory(user, resource, AuditingActionEnum.IMPORT_RESOURCE, true);
791 } catch (ComponentException e) {
792 assertComponentException(e, ActionStatus.COMPONENT_MISSING_SUBCATEGORY,
793 ComponentTypeEnum.RESOURCE.getValue());
798 public void testValidateEmptySubCategorySizeBiggerThan1() {
799 Resource resource = createParseResourceObject(true);
800 List<CategoryDefinition> categories = resource.getCategories();
801 CategoryDefinition categoryDefinition = categories.get(0);
802 List<SubCategoryDefinition> subcategories = categoryDefinition.getSubcategories();
803 SubCategoryDefinition subCategoryDefinition1 = new SubCategoryDefinition();
804 SubCategoryDefinition subCategoryDefinition2 = new SubCategoryDefinition();
805 subcategories.add(subCategoryDefinition1);
806 subcategories.add(subCategoryDefinition2);
809 bl.validateCategory(user, resource, AuditingActionEnum.IMPORT_RESOURCE, true);
810 } catch (ComponentException e) {
811 assertComponentException(e, ActionStatus.RESOURCE_TOO_MUCH_SUBCATEGORIES,
812 ComponentTypeEnum.RESOURCE.getValue());
817 public void testValidateEmptyCategoryName() {
818 Resource resource = createParseResourceObject(true);
819 List<CategoryDefinition> categories = resource.getCategories();
820 CategoryDefinition categoryDefinition = categories.get(0);
821 categoryDefinition.setName(null);
824 bl.validateCategory(user, resource, AuditingActionEnum.IMPORT_RESOURCE, true);
825 } catch (ComponentException e) {
826 assertComponentException(e, ActionStatus.COMPONENT_MISSING_CATEGORY,
827 ComponentTypeEnum.RESOURCE.getValue());
832 public void testValidateEmptySubCategoryName() {
833 Resource resource = createParseResourceObject(true);
834 List<CategoryDefinition> categories = resource.getCategories();
835 CategoryDefinition categoryDefinition = categories.get(0);
836 List<SubCategoryDefinition> subcategories = categoryDefinition.getSubcategories();
837 SubCategoryDefinition subCategoryDefinition1 = subcategories.get(0);
838 subCategoryDefinition1.setName(null);
841 bl.validateCategory(user, resource, AuditingActionEnum.IMPORT_RESOURCE, true);
842 } catch (ComponentException e) {
843 assertComponentException(e, ActionStatus.COMPONENT_MISSING_SUBCATEGORY,
844 ComponentTypeEnum.RESOURCE.getValue());
849 public void testValidateCategoryListed() {
850 Resource resource = createParseResourceObject(true);
851 CategoryDefinition category = resource.getCategories().get(0);
852 SubCategoryDefinition subcategory = category.getSubcategories().get(0);
854 bl.validateCategoryListed( category, subcategory, user, resource, AuditingActionEnum.IMPORT_RESOURCE, true);
855 } catch (ComponentException e) {
856 assertComponentException(e, ActionStatus.GENERAL_ERROR,
857 ComponentTypeEnum.RESOURCE.getValue());
862 public void testFailOnInvalidCategory() {
863 Resource resource = createParseResourceObject(true);
865 bl.failOnInvalidCategory( user, resource, AuditingActionEnum.IMPORT_RESOURCE);
866 } catch (ComponentException e) {
867 assertComponentException(e, ActionStatus.COMPONENT_INVALID_CATEGORY,
868 ComponentTypeEnum.RESOURCE.getValue());
874 public void testValidateVendorName() {
875 Resource resource = createParseResourceObject(true);
877 bl.validateVendorName( user, resource, AuditingActionEnum.IMPORT_RESOURCE);
878 } catch (ComponentException e) {
879 assertComponentException(e, ActionStatus.GENERAL_ERROR,
880 ComponentTypeEnum.RESOURCE.getValue());
885 public void testValidateVendorNameEmpty() {
886 Resource resource = createParseResourceObject(true);
887 resource.setVendorName(null);
889 bl.validateVendorName(user, resource, AuditingActionEnum.IMPORT_RESOURCE);
890 } catch (ComponentException e) {
891 assertComponentException(e, ActionStatus.MISSING_VENDOR_NAME,
892 ComponentTypeEnum.RESOURCE.getValue());
897 public void testValidateVendorNameWrongLen() {
898 Resource resource = createParseResourceObject(true);
899 resource.setVendorName("000000000011122221111222333444443222556677788778889999998776554332340");
901 bl.validateVendorName(user, resource, AuditingActionEnum.IMPORT_RESOURCE);
902 } catch (ComponentException e) {
907 public void testValidateVendorName2() {
908 Resource resource = createParseResourceObject(true);
909 CategoryDefinition category = resource.getCategories().get(0);
910 SubCategoryDefinition subcategory = category.getSubcategories().get(0);
911 String vendorName = "vendorName";
913 bl.validateVendorName( vendorName, user, resource, AuditingActionEnum.IMPORT_RESOURCE);
914 } catch (ComponentException e) {
915 assertComponentException(e, ActionStatus.GENERAL_ERROR,
916 ComponentTypeEnum.RESOURCE.getValue());
921 public void testFillResourceMetadata2() {
922 String yamlName = "yamlName";
923 Resource resourceVf = createParseResourceObject(true);
924 String nodeName = Constants.USER_DEFINED_RESOURCE_NAMESPACE_PREFIX + "test";
925 resourceVf.setSystemName("systemName");
927 bl.fillResourceMetadata( yamlName, resourceVf, nodeName, user);
928 } catch (ComponentException e) {
934 public void testFillResourceMetadataWrongStart() {
935 String yamlName = "yamlName";
936 Resource resourceVf = createParseResourceObject(true);
937 String nodeName = "WrongStart" + "test";
939 bl.fillResourceMetadata(yamlName, resourceVf, nodeName, user);
940 } catch (ComponentException e) {
946 public void testFillResourceMetadataResourceTypeIsAbs() {
947 String yamlName = "yamlName";
948 Resource resourceVf = createParseResourceObject(true);
949 String nodeName = Constants.USER_DEFINED_RESOURCE_NAMESPACE_PREFIX + Constants.ABSTRACT;
951 bl.fillResourceMetadata(yamlName, resourceVf, nodeName, user);
952 } catch (ComponentException e) {
953 assertComponentException(e, ActionStatus.INVALID_NODE_TEMPLATE,
954 ComponentTypeEnum.RESOURCE.getValue());
959 public void testGetNodeTypeActualName() {
960 String fullName = Constants.USER_DEFINED_RESOURCE_NAMESPACE_PREFIX+"test";
962 bl.getNodeTypeActualName(fullName);
963 } catch (ComponentException e) {
964 assertComponentException(e, ActionStatus.GENERAL_ERROR,
965 ComponentTypeEnum.RESOURCE.getValue());
970 public void testAddInput() {
971 Map<String, InputDefinition> currPropertiesMap = new HashMap<>();
972 InputDefinition prop = new InputDefinition();
974 bl.addInput(currPropertiesMap, prop);
975 } catch (ComponentException e) {
976 assertComponentException(e, ActionStatus.GENERAL_ERROR,
977 ComponentTypeEnum.RESOURCE.getValue());
982 public void testFindAviableRequirement() {
983 String uniqueId = "101929382910";
984 String regName = uniqueId;
985 String yamlName = uniqueId;
986 UploadComponentInstanceInfo uploadComponentInstanceInfo = new UploadComponentInstanceInfo();
987 ComponentInstance currentCompInstance = new ComponentInstance();
989 Map<String, List<RequirementDefinition>> requirements = new HashMap<>();
990 List<RequirementDefinition> requirementDefinitionList = new ArrayList<>();
991 RequirementDefinition requirementDefinition = new RequirementDefinition();
992 requirementDefinition.setName(uniqueId);
993 requirementDefinition.setMaxOccurrences("10");
994 requirementDefinition.setLeftOccurrences("3");
995 requirementDefinitionList.add(requirementDefinition);
996 requirements.put(uniqueId, requirementDefinitionList);
997 currentCompInstance.setRequirements(requirements);
999 String capName = "capName";
1001 bl.findAviableRequiremen(regName, yamlName, uploadComponentInstanceInfo, currentCompInstance, capName);
1002 } catch (ComponentException e) {
1003 assertComponentException(e, ActionStatus.INVALID_NODE_TEMPLATE,
1004 ComponentTypeEnum.RESOURCE.getValue());
1009 public void testFindAviableRequirementSameCapName() {
1010 String uniqueId = "101929382910";
1011 String regName = uniqueId;
1012 String yamlName = uniqueId;
1013 UploadComponentInstanceInfo uploadComponentInstanceInfo = new UploadComponentInstanceInfo();
1014 ComponentInstance currentCompInstance = new ComponentInstance();
1016 Map<String, List<RequirementDefinition>> requirements = new HashMap<>();
1017 List<RequirementDefinition> requirementDefinitionList = new ArrayList<>();
1018 RequirementDefinition requirementDefinition = new RequirementDefinition();
1019 requirementDefinition.setName(uniqueId);
1020 requirementDefinition.setMaxOccurrences("10");
1021 requirementDefinition.setLeftOccurrences("3");
1022 requirementDefinitionList.add(requirementDefinition);
1023 requirements.put(uniqueId, requirementDefinitionList);
1024 currentCompInstance.setRequirements(requirements);
1026 String capName = uniqueId;
1028 bl.findAviableRequiremen(regName, yamlName, uploadComponentInstanceInfo, currentCompInstance, capName);
1029 } catch (ComponentException e) {
1030 assertComponentException(e, ActionStatus.INVALID_NODE_TEMPLATE,
1031 ComponentTypeEnum.RESOURCE.getValue());
1036 public void testFindAvailableCapabilityByTypeOrName() {
1037 RequirementDefinition validReq = new RequirementDefinition();
1038 ComponentInstance currentCapCompInstance = new ComponentInstance();
1039 UploadReqInfo uploadReqInfo = new UploadReqInfo();
1042 bl.findAvailableCapabilityByTypeOrName(validReq, currentCapCompInstance, uploadReqInfo);
1043 } catch (ComponentException e) {
1044 assertComponentException(e, ActionStatus.GENERAL_ERROR,
1045 ComponentTypeEnum.RESOURCE.getValue());
1051 public void testFindAvailableCapability() {
1052 String uniqueId = "23422345677";
1053 RequirementDefinition validReq = new RequirementDefinition();
1054 validReq.setCapability(uniqueId);
1055 ComponentInstance instance = new ComponentInstance();
1056 Map<String, List<CapabilityDefinition>> capabilityMap = new HashMap<>();
1057 List<CapabilityDefinition> capabilityDefinitionList = new ArrayList<>();
1058 CapabilityDefinition capabilityDefinition = new CapabilityDefinition();
1059 capabilityDefinition.setMaxOccurrences("3");
1060 capabilityDefinition.setLeftOccurrences("2");
1061 capabilityDefinitionList.add(capabilityDefinition);
1062 capabilityMap.put(uniqueId, capabilityDefinitionList);
1063 instance.setCapabilities(capabilityMap);
1066 bl.findAvailableCapability(validReq, instance);
1067 } catch (ComponentException e) {
1068 assertComponentException(e, ActionStatus.GENERAL_ERROR,
1069 ComponentTypeEnum.RESOURCE.getValue());
1074 public void testfindAvailableCapability2() {
1075 String uniqueId = "23422345677";
1076 RequirementDefinition validReq = new RequirementDefinition();
1077 validReq.setCapability(uniqueId);
1078 ComponentInstance instance = new ComponentInstance();
1079 Map<String, List<CapabilityDefinition>> capabilityMap = new HashMap<>();
1080 List<CapabilityDefinition> capabilityDefinitionList = new ArrayList<>();
1081 CapabilityDefinition capabilityDefinition = new CapabilityDefinition();
1082 capabilityDefinition.setName(uniqueId);
1083 capabilityDefinition.setMaxOccurrences("3");
1084 capabilityDefinition.setLeftOccurrences("2");
1085 capabilityDefinitionList.add(capabilityDefinition);
1086 capabilityMap.put(uniqueId, capabilityDefinitionList);
1087 instance.setCapabilities(capabilityMap);
1088 UploadReqInfo uploadReqInfo = new UploadReqInfo();
1089 uploadReqInfo.setCapabilityName(uniqueId);
1091 bl.findAvailableCapability(validReq, instance, uploadReqInfo);
1092 } catch (ComponentException e) {
1093 assertComponentException(e, ActionStatus.GENERAL_ERROR,
1094 ComponentTypeEnum.RESOURCE.getValue());
1099 public void testGetComponentWithInstancesFilter() {
1101 bl.getComponentWithInstancesFilter();
1102 } catch (ComponentException e) {
1103 assertComponentException(e, ActionStatus.GENERAL_ERROR,
1104 ComponentTypeEnum.RESOURCE.getValue());
1109 public void testCreateParseResourceObject() {
1110 String key = "0923928394";
1111 List<UploadCapInfo> capabilities = new ArrayList<>();
1112 UploadCapInfo uploadCapInfo = new UploadCapInfo();
1113 uploadCapInfo.setType(key);
1114 capabilities.add(uploadCapInfo);
1116 String resourceId = "resourceId";
1117 Map<String, List<CapabilityDefinition>> defaultCapabilities = new HashMap<>();
1118 CapabilityDefinition capabilityDefinition = new CapabilityDefinition();
1119 capabilityDefinition.setName(key);
1120 List<CapabilityDefinition> capabilityDefinitionList = new ArrayList<>();
1121 capabilityDefinitionList.add(capabilityDefinition);
1122 defaultCapabilities.put(key, capabilityDefinitionList);
1124 Map<String, List<CapabilityDefinition>> validCapabilitiesMap = new HashMap<>();
1125 InputDefinition prop = new InputDefinition();
1127 Resource resource = createParseResourceObject(true);
1128 Map<String, List<CapabilityDefinition>> capabilitiesMap = resource.getCapabilities();
1129 capabilitiesMap.put(key, capabilityDefinitionList);
1131 when(toscaOperationFacade.getToscaFullElement(anyString()))
1132 .thenReturn(Either.left(resource));
1135 bl.addValidComponentInstanceCapabilities(key, capabilities, resourceId, defaultCapabilities,
1136 validCapabilitiesMap);
1137 } catch (ComponentException e) {
1138 assertComponentException(e, ActionStatus.GENERAL_ERROR,
1139 ComponentTypeEnum.RESOURCE.getValue());
1144 public void testGetCapabilityFailure() {
1145 String resourceId = "resourceId";
1146 String key = "0923928394";
1147 Map<String, List<CapabilityDefinition>> defaultCapabilities = new HashMap<>();
1148 CapabilityDefinition capabilityDefinition = new CapabilityDefinition();
1149 capabilityDefinition.setName(key);
1150 List<CapabilityDefinition> capabilityDefinitionList = new ArrayList<>();
1151 capabilityDefinitionList.add(capabilityDefinition);
1152 defaultCapabilities.put(key, capabilityDefinitionList);
1153 String capabilityType = key;
1154 when(toscaOperationFacade.getToscaFullElement(anyString()))
1155 .thenReturn(Either.right(StorageOperationStatus.NOT_FOUND));
1157 bl.getCapability(resourceId, defaultCapabilities, capabilityType);
1158 } catch (ComponentException e) {
1159 assertComponentException(e, ActionStatus.COMPONENT_NOT_FOUND,
1160 ComponentTypeEnum.RESOURCE.getValue());
1166 public void testValidateCapabilityProperties() {
1167 List<UploadCapInfo> capabilities = new ArrayList<>();
1168 UploadCapInfo uploadCapInfo = new UploadCapInfo();
1169 List<UploadPropInfo> properties = new ArrayList<>();
1170 UploadPropInfo uploadPropInfo = new UploadPropInfo();
1171 properties.add(uploadPropInfo);
1172 uploadCapInfo.setProperties(properties);
1173 capabilities.add(uploadCapInfo);
1174 String resourceId = "resourceId";
1175 CapabilityDefinition defaultCapability = new CapabilityDefinition();
1176 defaultCapability.setProperties(null);
1177 defaultCapability.setName("test");
1180 bl.validateCapabilityProperties(capabilities, resourceId, defaultCapability);
1181 } catch (ComponentException e) {
1182 e.printStackTrace();
1187 public void testValidateUniquenessUpdateUploadedComponentInstanceCapability() {
1188 String key = "02124568";
1189 List<UploadCapInfo> capabilities = new ArrayList<>();
1190 UploadCapInfo uploadCapInfo = new UploadCapInfo();
1191 List<UploadPropInfo> properties = new ArrayList<>();
1192 UploadPropInfo uploadPropInfo = new UploadPropInfo();
1193 uploadPropInfo.setName(key);
1194 properties.add(uploadPropInfo);
1195 uploadCapInfo.setProperties(properties);
1196 capabilities.add(uploadCapInfo);
1197 String resourceId = "resourceId";
1198 CapabilityDefinition defaultCapability = new CapabilityDefinition();
1199 List<ComponentInstanceProperty> componentInstancePropertyList = new ArrayList<>();
1200 ComponentInstanceProperty componentInstanceProperty = new ComponentInstanceProperty();
1201 componentInstancePropertyList.add(componentInstanceProperty);
1202 defaultCapability.setProperties(componentInstancePropertyList);
1203 defaultCapability.setName(key);
1206 bl.validateUniquenessUpdateUploadedComponentInstanceCapability(defaultCapability, uploadCapInfo);
1207 } catch (ComponentException e) {
1208 assertComponentException(e, ActionStatus.GENERAL_ERROR,
1209 ComponentTypeEnum.RESOURCE.getValue());
1214 public void testSetDeploymentArtifactsPlaceHolderByResource() {
1215 Resource resource = createParseResourceObject(true);
1218 bl.setDeploymentArtifactsPlaceHolder(resource, user);
1219 } catch (ComponentException e) {
1220 assertComponentException(e, ActionStatus.GENERAL_ERROR,
1221 ComponentTypeEnum.RESOURCE.getValue());
1226 public void testSetDeploymentArtifactsPlaceHolderByService() {
1227 Service Service = createServiceObject(true);
1230 bl.setDeploymentArtifactsPlaceHolder(Service, user);
1231 } catch (ComponentException e) {
1232 assertComponentException(e, ActionStatus.GENERAL_ERROR,
1233 ComponentTypeEnum.RESOURCE.getValue());
1238 public void testProcessDeploymentResourceArtifacts() {
1239 Resource resource = createParseResourceObject(true);
1240 Map<String, ArtifactDefinition> artifactMap = new HashMap<>();
1242 Object v = new Object();
1244 bl.processDeploymentResourceArtifacts(user, resource, artifactMap, k, v);
1245 } catch (Exception e) {
1246 e.printStackTrace();
1251 public void testMergeOldResourceMetadataWithNew() {
1252 Resource oldResource = createParseResourceObject(true);
1253 Resource newResource = new Resource();
1256 bl.mergeOldResourceMetadataWithNew(oldResource, newResource);
1257 } catch (ComponentException e) {
1258 assertComponentException(e, ActionStatus.GENERAL_ERROR,
1259 ComponentTypeEnum.RESOURCE.getValue());
1264 public void testBuildComplexVfcMetadata() {
1265 Resource resource = createParseResourceObject(true);
1266 String nodeName = "org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test";
1267 Map<String, NodeTypeInfo> nodesInfo = new HashMap<>();
1268 NodeTypeInfo nodeTypeInfo = new NodeTypeInfo();
1269 List<String> derivedFrom = new ArrayList<>();
1270 derivedFrom.add("derivedFrom");
1271 nodeTypeInfo.setDerivedFrom(derivedFrom);
1272 nodesInfo.put(nodeName, nodeTypeInfo);
1275 bl.buildComplexVfcMetadata(getCsarInfo(), nodeName, nodesInfo);
1276 } catch (ComponentException e) {
1277 assertComponentException(e, ActionStatus.GENERAL_ERROR,
1278 ComponentTypeEnum.RESOURCE.getValue());
1283 public void testValidateResourceCreationFromNodeType() {
1284 Resource resource = createParseResourceObject(true);
1285 resource.setDerivedFrom(null);
1287 bl.validateResourceCreationFromNodeType(resource, user);
1288 } catch (ComponentException e) {
1289 assertComponentException(e, ActionStatus.MISSING_DERIVED_FROM_TEMPLATE,
1290 ComponentTypeEnum.RESOURCE.getValue());
1295 public void testCreateInputsOnResource() {
1296 Resource resource = createParseResourceObject(true);
1297 Map<String, InputDefinition> inputs = new HashMap<>();
1300 bl.createInputsOnResource(resource, inputs);
1301 } catch (ComponentException e) {
1302 assertComponentException(e, ActionStatus.GENERAL_ERROR,
1303 ComponentTypeEnum.RESOURCE.getValue());
1308 public void testCreateInputsOnResourceWhenIsNotEmpty() {
1309 String key = "12345667";
1310 Resource resource = createParseResourceObject(true);
1311 List<InputDefinition> inputDefinitionList = new ArrayList<>();
1312 InputDefinition inputDefinition = new InputDefinition();
1313 inputDefinitionList.add(inputDefinition);
1314 resource.setInputs(inputDefinitionList);
1315 Map<String, InputDefinition> inputs = new HashMap<>();
1316 inputs.put(key, inputDefinition);
1319 bl.createInputsOnResource(resource, inputs);
1320 } catch (Exception e) {
1321 e.printStackTrace();
1326 public void testCreateInputsOnService() {
1327 Service service = createServiceObject(true);
1328 Map<String, InputDefinition> inputs = new HashMap<>();
1331 bl.createInputsOnService(service, inputs);
1332 } catch (Exception e) {
1333 e.printStackTrace();
1338 public void testCreateServiceTransaction() {
1339 Service service = createServiceObject(true);
1342 bl.createServiceTransaction(service, user, true);
1343 } catch (Exception e) {
1344 e.printStackTrace();
1349 public void testCreateArtifactsPlaceHolderData() {
1350 Service service = createServiceObject(true);
1353 bl.createArtifactsPlaceHolderData(service, user);
1354 } catch (Exception e) {
1355 e.printStackTrace();
1360 public void testSetInformationalArtifactsPlaceHolder() {
1361 Service service = createServiceObject(true);
1364 bl.setInformationalArtifactsPlaceHolder(service, user);
1365 } catch (Exception e) {
1366 e.printStackTrace();
1371 public void testValidateNestedDerivedFromDuringUpdate() {
1372 Resource currentResource = createParseResourceObject(true);
1373 Resource updateInfoResource = createParseResourceObject(true);
1374 String key = "2323456";
1376 List<String> currentDerivedFromList = new ArrayList<>();
1377 currentDerivedFromList.add(key);
1378 currentResource.setDerivedFrom(currentDerivedFromList);
1379 List<String> updatedDerivedFromList = new ArrayList<>();
1380 updatedDerivedFromList.add("23344567778");
1381 updateInfoResource.setDerivedFrom(updatedDerivedFromList);
1383 when(toscaOperationFacade.validateToscaResourceNameExtends(anyString(), anyString()))
1384 .thenReturn(Either.right(StorageOperationStatus.NOT_FOUND));
1387 bl.validateNestedDerivedFromDuringUpdate(currentResource, updateInfoResource, true);
1388 } catch (ComponentException e) {
1389 assertComponentException(e, ActionStatus.GENERAL_ERROR,
1390 ComponentTypeEnum.RESOURCE.getValue());
1395 public void testValidateDerivedFromExtending() {
1396 Resource currentResource = createParseResourceObject(true);
1397 Resource updateInfoResource = createParseResourceObject(true);
1399 when(toscaOperationFacade.validateToscaResourceNameExtends(anyString(), anyString()))
1400 .thenReturn(Either.left(false));
1402 bl.validateDerivedFromExtending(user, currentResource, updateInfoResource,
1403 AuditingActionEnum.IMPORT_RESOURCE);
1404 } catch (ComponentException e) {
1405 assertComponentException(e, ActionStatus.PARENT_RESOURCE_DOES_NOT_EXTEND,
1406 ComponentTypeEnum.RESOURCE.getValue());
1411 public void testValidateResourceFieldsBeforeUpdate() {
1412 Resource currentResource = createParseResourceObject(true);
1413 Resource updateInfoResource = createParseResourceObject(true);
1416 bl.validateResourceFieldsBeforeUpdate(currentResource, updateInfoResource, true, true);
1417 } catch (Exception e) {
1418 e.printStackTrace();
1423 public void testValidateResourceName() {
1424 Resource currentResource = createParseResourceObject(true);
1425 Resource updateInfoResource = createParseResourceObject(true);
1426 currentResource.setName("test1");
1427 updateInfoResource.setName("test2");
1430 bl.validateResourceName(currentResource, updateInfoResource, true, false);
1431 } catch (ComponentException e) {
1432 assertComponentException(e, ActionStatus.RESOURCE_NAME_CANNOT_BE_CHANGED,
1433 ComponentTypeEnum.RESOURCE.getValue());
1438 public void testIsResourceNameEquals() {
1439 Resource currentResource = createParseResourceObject(true);
1440 Resource updateInfoResource = createParseResourceObject(true);
1443 bl.isResourceNameEquals(currentResource, updateInfoResource);
1444 } catch (Exception e) {
1445 e.printStackTrace();
1450 public void testPrepareResourceForUpdate() {
1451 Resource oldResource = createParseResourceObject(true);
1452 Resource newResource = createParseResourceObject(true);
1455 bl.prepareResourceForUpdate(oldResource, newResource, user, true, true);
1456 } catch (Exception e) {
1457 e.printStackTrace();
1462 public void testFailOnChangeState() {
1463 ResponseFormat response = new ResponseFormat();
1464 Resource oldResource = createParseResourceObject(true);
1465 Resource newResource = createParseResourceObject(true);
1468 bl.failOnChangeState(response, user, oldResource, newResource);
1469 } catch (Exception e) {
1470 e.printStackTrace();
1475 public void testHandleResourceGenericType() {
1476 Resource resource = createParseResourceObject(true);
1479 bl.handleResourceGenericType(resource);
1480 } catch (Exception e) {
1481 e.printStackTrace();
1486 public void testUpdateOrCreateGroups() {
1487 Resource resource = createParseResourceObject(true);
1488 Map<String, GroupDefinition> groups = new HashMap<>();
1491 bl.updateOrCreateGroups(resource, groups);
1492 } catch (Exception e) {
1493 e.printStackTrace();
1498 public void testAddGroupsToCreateOrUpdate() {
1499 Resource resource = createParseResourceObject(true);
1500 Map<String, GroupDefinition> groups = new HashMap<>();
1502 List<GroupDefinition> groupsFromResource = new ArrayList<>();
1503 List<GroupDefinition> groupsAsList = new ArrayList<>();
1504 List<GroupDefinition> groupsToUpdate = new ArrayList<>();
1505 List<GroupDefinition> groupsToCreate = new ArrayList<>();
1508 bl.addGroupsToCreateOrUpdate(groupsFromResource, groupsAsList, groupsToUpdate, groupsToCreate);
1509 } catch (Exception e) {
1510 e.printStackTrace();
1515 public void testAddGroupsToDelete() {
1516 Map<String, GroupDefinition> groups = new HashMap<>();
1518 List<GroupDefinition> groupsFromResource = new ArrayList<>();
1519 List<GroupDefinition> groupsAsList = new ArrayList<>();
1520 List<GroupDefinition> groupsToDelete = new ArrayList<>();
1523 bl.addGroupsToDelete(groupsFromResource, groupsAsList, groupsToDelete);
1524 } catch (Exception e) {
1525 e.printStackTrace();
1530 public void testUpdateGroupsMembersUsingResource() {
1531 Service component = createServiceObject(true);
1532 Map<String, GroupDefinition> groups = new HashMap<>();
1535 bl.updateGroupsMembersUsingResource(groups, component);
1536 } catch (Exception e) {
1537 e.printStackTrace();
1542 public void testupdateGroupMembers() {
1543 Service component = createServiceObject(true);
1544 Map<String, GroupDefinition> groups = new HashMap<>();
1545 GroupDefinition updatedGroupDefinition = new GroupDefinition();
1546 List<ComponentInstance> componentInstances = new ArrayList<>();
1547 String groupName = "groupName";
1548 Map<String, String> members = new HashMap<>();
1551 bl.updateGroupMembers(groups, updatedGroupDefinition, component, componentInstances, groupName, members);
1552 } catch (ComponentException e) {
1553 e.printStackTrace();
1558 public void testValidateCyclicGroupsDependencies() {
1559 Service component = createServiceObject(true);
1560 Map<String, GroupDefinition> groups = new HashMap<>();
1561 String key = "098738485";
1562 GroupDefinition groupDefinition = new GroupDefinition();
1563 groups.put(key, groupDefinition);
1566 bl.validateCyclicGroupsDependencies(groups);
1567 } catch (ComponentException e) {
1568 assertComponentException(e, ActionStatus.GENERAL_ERROR,
1569 ComponentTypeEnum.RESOURCE.getValue());
1574 public void testFillAllGroupMemebersRecursivly() {
1575 Map<String, GroupDefinition> allGroups = new HashMap<>();
1576 Set<String> allGroupMembers = new HashSet<>();
1577 String groupName = "groupName";
1580 bl.fillAllGroupMemebersRecursivly(groupName, allGroups, allGroupMembers);
1581 } catch (Exception e) {
1587 public void testFillResourceMetadataForService() {
1588 String yamlName = "yamlName";
1589 Service resourceVf = createServiceObject(true);
1590 String nodeName = "nodeName";
1593 bl.fillResourceMetadata(yamlName, resourceVf, nodeName, user);
1594 } catch (Exception e) {
1600 public void testpropagateStateToCertified() {
1601 String yamlName = "yamlName";
1602 Resource resource = createParseResourceObject(true);
1603 LifecycleChangeInfoWithAction lifecycleChangeInfo = new LifecycleChangeInfoWithAction();
1606 bl.propagateStateToCertified(user, resource, lifecycleChangeInfo, true, true, true);
1607 } catch (Exception e) {
1613 public void testBuildValidComplexVfc2() {
1614 String nodeName = "nodeName";
1615 Resource resource = createParseResourceObject(true);
1616 Map<String, NodeTypeInfo> nodesInfo = new HashMap<>();
1619 bl.buildValidComplexVfc(getCsarInfo(), nodeName, nodesInfo);
1620 } catch (Exception e) {
1626 public void testUpdateGroupsOnResource() {
1627 Resource resource = createParseResourceObject(true);
1628 Map<String, GroupDefinition> groups = new HashMap<>();
1631 bl.updateGroupsOnResource(resource, groups);
1632 } catch (Exception e) {
1638 public void testSetInformationalArtifactsPlaceHolder2() {
1639 Resource resource = createParseResourceObject(true);
1642 bl.setInformationalArtifactsPlaceHolder(resource, user);
1643 } catch (Exception e) {
1649 public void testCreateArtifactsPlaceHolderData2() {
1650 Resource resource = createParseResourceObject(true);
1653 bl.createArtifactsPlaceHolderData(resource, user);
1654 } catch (Exception e) {
1660 public void testHandleGroupsProperties() {
1661 Service service = createServiceObject(true);
1662 Map<String, GroupDefinition> groups = new HashMap<>();
1664 bl.handleGroupsProperties(service, groups);
1665 } catch (Exception e) {
1671 public void testHandleGroupsProperties2() {
1672 Resource resource = createParseResourceObject(true);
1673 Map<String, GroupDefinition> groups = new HashMap<>();
1675 bl.handleGroupsProperties(resource, groups);
1676 } catch (Exception e) {
1682 public void testHandleGetInputs() {
1683 PropertyDataDefinition property = new PropertyDataDefinition();
1684 List<InputDefinition> inputs = new ArrayList<>();
1686 bl.handleGetInputs(property, inputs);
1687 } catch (Exception e) {
1693 public void testFindInputByName() {
1694 GetInputValueDataDefinition getInput = new GetInputValueDataDefinition();
1695 List<InputDefinition> inputs = new ArrayList<>();
1697 bl.findInputByName(inputs, getInput);
1698 } catch (Exception e) {
1704 public void testAssociateComponentInstancePropertiesToComponent() {
1705 String yamlName = "yamlName";
1706 Resource resource = createParseResourceObject(true);
1707 Map<String, List<ComponentInstanceProperty>> instProperties = new HashMap<>();
1708 List<InputDefinition> inputs = new ArrayList<>();
1710 bl.associateComponentInstancePropertiesToComponent(yamlName, resource, instProperties);
1711 } catch (Exception e) {
1717 public void testAssociateComponentInstanceInputsToComponent() {
1718 String yamlName = "yamlName";
1719 Resource resource = createParseResourceObject(true);
1720 Map<String, List<ComponentInstanceInput>> instInputs = new HashMap<>();
1723 bl.associateComponentInstanceInputsToComponent(yamlName, resource, instInputs);
1724 } catch (Exception e) {
1730 public void testAssociateDeploymentArtifactsToInstances() {
1731 String yamlName = "yamlName";
1732 Resource resource = createParseResourceObject(true);
1733 Map<String, Map<String, ArtifactDefinition>> instDeploymentArtifacts = new HashMap<>();
1736 bl.associateDeploymentArtifactsToInstances(user, yamlName, resource, instDeploymentArtifacts);
1737 } catch (Exception e) {
1743 public void testAssociateArtifactsToInstances() {
1744 String yamlName = "yamlName";
1745 Resource resource = createParseResourceObject(true);
1746 Map<String, Map<String, ArtifactDefinition>> instDeploymentArtifacts = new HashMap<>();
1749 bl.associateDeploymentArtifactsToInstances(user, yamlName, resource, instDeploymentArtifacts);
1750 } catch (Exception e) {
1756 public void testAssociateArtifactsToInstances2() {
1757 String yamlName = "yamlName";
1758 Resource resource = createParseResourceObject(true);
1759 Map<String, Map<String, ArtifactDefinition>> instDeploymentArtifacts = new HashMap<>();
1762 bl.associateArtifactsToInstances(yamlName, resource, instDeploymentArtifacts);
1763 } catch (Exception e) {
1769 public void testAssociateOrAddCalculatedCapReq() {
1770 String yamlName = "yamlName";
1771 Resource resource = createParseResourceObject(true);
1772 Map<ComponentInstance, Map<String, List<CapabilityDefinition>>> instCapabilities = new HashMap<>();
1773 Map<ComponentInstance, Map<String, List<RequirementDefinition>>> instRequirements = new HashMap<>();
1775 bl.associateOrAddCalculatedCapReq(yamlName, resource, instCapabilities, instRequirements);
1776 } catch (Exception e) {
1782 public void testAssociateInstAttributeToComponentToInstances() {
1783 String yamlName = "yamlName";
1784 Resource resource = createParseResourceObject(true);
1785 Map<String, List<AttributeDataDefinition>> instAttributes = new HashMap<>();
1787 bl.associateInstAttributeToComponentToInstances(yamlName, resource, instAttributes);
1788 } catch (Exception e) {
1794 public void testThrowComponentExceptionByResource() {
1795 StorageOperationStatus status = StorageOperationStatus.OK;
1796 Resource resource = createParseResourceObject(true);
1798 bl.throwComponentExceptionByResource(status, resource);
1799 } catch (Exception e) {
1805 public void testGetResourceAfterCreateRelations() {
1807 Resource resource = createParseResourceObject(true);
1810 bl.getResourceAfterCreateRelations(resource);
1811 } catch (Exception e) {
1817 public void testSetCapabilityNamesTypes() {
1819 Map<String, List<CapabilityDefinition>> originCapabilities = new HashMap<>();
1820 Map<String, List<UploadCapInfo>> uploadedCapabilities = new HashMap<>();
1823 bl.setCapabilityNamesTypes(originCapabilities, uploadedCapabilities);
1824 } catch (Exception e) {
1830 public void testAssociateComponentInstanceInputsToComponent2() {
1831 String yamlName = "yamlName";
1832 Service service = createServiceObject(true);
1833 Map<String, List<ComponentInstanceInput>> instInputs = new HashMap<>();
1836 bl.associateComponentInstanceInputsToComponent(yamlName, service, instInputs);
1837 } catch (Exception e) {
1843 public void testAssociateComponentInstancePropertiesToComponent2() {
1844 String yamlName = "yamlName";
1845 Service service = createServiceObject(true);
1846 Map<String, List<ComponentInstanceProperty>> instInputs = new HashMap<>();
1849 bl.associateComponentInstancePropertiesToComponent(yamlName, service, instInputs);
1850 } catch (Exception e) {
1856 public void testAssociateDeploymentArtifactsToInstances2() {
1857 String yamlName = "yamlName";
1858 Service service = createServiceObject(true);
1859 Map<String, Map<String, ArtifactDefinition>> instDeploymentArtifacts = new HashMap<>();
1862 bl.associateDeploymentArtifactsToInstances(user, yamlName, service, instDeploymentArtifacts);
1863 } catch (Exception e) {
1869 public void testAssociateArtifactsToInstances3() {
1870 String yamlName = "yamlName";
1871 Service service = createServiceObject(true);
1872 Map<String, Map<String, ArtifactDefinition>> instArtifacts = new HashMap<>();
1875 bl.associateArtifactsToInstances(yamlName, service, instArtifacts);
1876 } catch (Exception e) {
1881 public void testAssociateOrAddCalculatedCapReq2() {
1882 String yamlName = "yamlName";
1883 Service resource = createServiceObject(true);
1884 Map<ComponentInstance, Map<String, List<CapabilityDefinition>>> instCapabilities = new HashMap<>();
1885 Map<ComponentInstance, Map<String, List<RequirementDefinition>>> instRequirements = new HashMap<>();
1887 bl.associateOrAddCalculatedCapReq(yamlName, resource, instCapabilities, instRequirements);
1888 } catch (Exception e) {
1894 public void testAssociateInstAttributeToComponentToInstances2() {
1895 String yamlName = "yamlName";
1896 Service resource = createServiceObject(true);
1897 Map<String, List<AttributeDataDefinition>> instAttributes = new HashMap<>();
1899 bl.associateInstAttributeToComponentToInstances(yamlName, resource, instAttributes);
1900 } catch (Exception e) {
1906 public void testAssociateRequirementsToService() {
1907 String yamlName = "yamlName";
1908 Service resource = createServiceObject(true);
1909 Map<String, ListRequirementDataDefinition> requirements = new HashMap<>();
1911 bl.associateRequirementsToService(yamlName, resource, requirements);
1912 } catch (Exception e) {
1918 public void testAssociateCapabilitiesToService() {
1919 String yamlName = "yamlName";
1920 Service resource = createServiceObject(true);
1921 Map<String, ListCapabilityDataDefinition> capabilities = new HashMap<>();
1923 bl.associateCapabilitiesToService(yamlName, resource, capabilities);
1924 } catch (Exception e) {
1930 public void testAssociateResourceInstances() {
1931 String yamlName = "yamlName";
1932 Service resource = createServiceObject(true);
1933 List<RequirementCapabilityRelDef> relations = new ArrayList<>();
1935 bl.associateResourceInstances(yamlName, resource, relations);
1936 } catch (Exception e) {
1942 public void testAddCapabilities() {
1943 Map<String, List<CapabilityDefinition>> originCapabilities = new HashMap<>();
1944 String type = "type";
1945 List<CapabilityDefinition> capabilities = new ArrayList<>();
1947 bl.addCapabilities(originCapabilities, type, capabilities);
1948 } catch (Exception e) {
1954 public void testAddCapabilitiesProperties() {
1955 Map<String, Map<String, UploadPropInfo>> newPropertiesMap = new HashMap<>();
1956 List<UploadCapInfo> capabilities = new ArrayList<>();
1958 bl.addCapabilitiesProperties(newPropertiesMap, capabilities);
1959 } catch (Exception e) {
1965 public void testGetServiceWithGroups() {
1966 String resourceId = "resourceId";
1968 bl.getServiceWithGroups(resourceId);
1969 } catch (Exception e) {
1975 public void testGetResourceWithGroups() {
1976 String resourceId = "resourceId";
1978 bl.getResourceWithGroups(resourceId);
1979 } catch (Exception e) {
1985 public void testAssociateResourceInstances2() {
1986 String yamlName = "yamlName";
1987 Resource resource = createParseResourceObject(true);
1988 List<RequirementCapabilityRelDef> relations = new ArrayList<>();
1990 bl.associateResourceInstances(yamlName, resource, relations);
1991 } catch (Exception e) {
1997 public void testAddRelationsToRI() {
1998 String yamlName = "yamlName";
1999 Resource resource = createParseResourceObject(true);
2000 Map<String, UploadComponentInstanceInfo> uploadResInstancesMap = new HashMap<>();
2001 List<ComponentInstance> componentInstancesList = new ArrayList<>();
2002 List<RequirementCapabilityRelDef> relations = new ArrayList<>();
2004 bl.addRelationsToRI(yamlName, resource, uploadResInstancesMap, componentInstancesList, relations);
2005 } catch (Exception e) {
2011 public void testAddRelationsToRI2() {
2012 String yamlName = "yamlName";
2013 Resource resource = createParseResourceObject(true);
2014 UploadComponentInstanceInfo nodesInfoValue = new UploadComponentInstanceInfo();
2015 List<RequirementCapabilityRelDef> relations = new ArrayList<>();
2017 bl.addRelationToRI(yamlName, resource, nodesInfoValue, relations);
2018 } catch (Exception e) {
2024 public void testFindVfcResource() {
2025 Service service = createServiceObject(true);
2026 String currVfcToscaName = "currVfcToscaName";
2027 String previousVfcToscaName = "previousVfcToscaName";
2028 UploadComponentInstanceInfo nodesInfoValue = new UploadComponentInstanceInfo();
2029 List<RequirementCapabilityRelDef> relations = new ArrayList<>();
2031 bl.findVfcResource(getCsarInfo(), service, currVfcToscaName, previousVfcToscaName,
2032 StorageOperationStatus.OK);
2033 } catch (ComponentException e) {
2034 assertComponentException(e, ActionStatus.OK,
2035 ComponentTypeEnum.RESOURCE.getValue());
2039 protected Resource createParseResourceObject(boolean afterCreate) {
2040 Resource resource = new Resource();
2041 resource.setName(RESOURCE_NAME);
2042 resource.setToscaResourceName(RESOURCE_TOSCA_NAME);
2043 resource.addCategory(RESOURCE_CATEGORY1, RESOURCE_SUBCATEGORY);
2044 resource.setDescription("My short description");
2045 List<String> tgs = new ArrayList<>();
2047 tgs.add(resource.getName());
2048 resource.setTags(tgs);
2049 List<String> template = new ArrayList<>();
2050 template.add("tosca.nodes.Root");
2051 resource.setDerivedFrom(template);
2052 resource.setVendorName("Motorola");
2053 resource.setVendorRelease("1.0.0");
2054 resource.setContactId("ya5467");
2055 resource.setIcon("defaulticon");
2056 Map<String, List<RequirementDefinition>> requirements = new HashMap<>();
2057 List<RequirementDefinition> requirementDefinitionList = new ArrayList<>();
2058 requirements.put("test", requirementDefinitionList);
2059 resource.setRequirements(requirements);
2060 resource.setCost("cost");
2061 resource.setResourceVendorModelNumber("02312233");
2064 Map<String, ArtifactDefinition> artifacts = new HashMap<>();
2065 ArtifactDefinition artifactDefinition = new ArtifactDefinition();
2066 artifacts.put("artifact", artifactDefinition);
2067 resource.setArtifacts(artifacts);
2069 resource.setLicenseType("licType");
2072 resource.setName(resource.getName());
2073 resource.setVersion("0.1");
2074 resource.setUniqueId(resource.getName()
2075 .toLowerCase() + ":" + resource.getVersion());
2076 resource.setCreatorUserId(user.getUserId());
2077 resource.setCreatorFullName(user.getFirstName() + " " + user.getLastName());
2078 resource.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT);
2083 protected CsarInfo getCsarInfo() {
2084 String csarUuid = "0010";
2085 User user = new User();
2086 Map<String, byte[]> csar = new HashMap<>();
2087 String vfReousrceName = "resouceName";
2088 String mainTemplateName = "mainTemplateName";
2089 String mainTemplateContent = null;
2091 mainTemplateContent = loadFileNameToJsonString("service_import_template.yml");
2092 } catch (IOException e) {
2093 e.printStackTrace();
2095 CsarInfo csarInfo = new CsarInfo(user, csarUuid, csar, vfReousrceName, mainTemplateName, mainTemplateContent,
2100 public static String loadFileNameToJsonString(String fileName) throws IOException {
2101 String sourceDir = "src/test/resources/normativeTypes";
2102 return loadFileNameToJsonString(sourceDir, fileName);
2105 private static String loadFileNameToJsonString(String sourceDir, String fileName) throws IOException {
2106 java.nio.file.Path filePath = FileSystems.getDefault().getPath(sourceDir, fileName);
2107 byte[] fileContent = Files.readAllBytes(filePath);
2108 return new String(fileContent);
2111 protected Service createServiceObject (boolean afterCreate) {
2112 Service service = new Service();
2113 service.setUniqueId("sid");
2114 service.setName("Service");
2115 CategoryDefinition category = new CategoryDefinition();
2116 category.setName(SERVICE_CATEGORY);
2117 category.setIcons(Collections.singletonList("defaulticon"));
2118 List<CategoryDefinition> categories = new ArrayList<>();
2119 categories.add(category);
2120 service.setCategories(categories);
2121 service.setInstantiationType(INSTANTIATION_TYPE);
2123 service.setDescription("description");
2124 List<String> tgs = new ArrayList<>();
2125 tgs.add(service.getName());
2126 service.setTags(tgs);
2127 service.setIcon("defaulticon");
2128 service.setContactId("aa1234");
2129 service.setProjectCode("12345");
2130 service.setEcompGeneratedNaming(true);
2133 service.setVersion("0.1");
2134 service.setUniqueId(service.getName() + ":" + service.getVersion());
2135 service.setCreatorUserId(user.getUserId());
2136 service.setCreatorFullName(user.getFirstName() + " " + user.getLastName());
2141 protected void assertComponentException(ComponentException e, ActionStatus expectedStatus, String... variables) {
2142 ResponseFormat actualResponse = e.getResponseFormat() != null ?
2143 e.getResponseFormat() : componentsUtils.getResponseFormat(e.getActionStatus(), e.getParams());
2144 assertParseResponse(actualResponse, expectedStatus, variables);
2147 private void assertParseResponse(ResponseFormat actualResponse, ActionStatus expectedStatus, String... variables) {
2148 ResponseFormat expectedResponse = responseManager.getResponseFormat(expectedStatus, variables);
2149 assertThat(expectedResponse.getStatus()).isEqualTo(actualResponse.getStatus());
2150 assertThat(expectedResponse.getFormattedMessage()).isEqualTo(actualResponse.getFormattedMessage());