1 package org.openecomp.sdc.be.tosca;
3 import java.util.ArrayList;
4 import java.util.Collections;
5 import java.util.HashMap;
8 import java.util.function.Supplier;
10 import org.apache.commons.lang3.tuple.ImmutablePair;
11 import org.apache.commons.lang3.tuple.Triple;
12 import org.junit.Before;
13 import org.junit.Ignore;
14 import org.junit.Test;
15 import org.mockito.InjectMocks;
16 import org.mockito.Mock;
17 import org.mockito.Mockito;
18 import org.mockito.MockitoAnnotations;
19 import org.openecomp.sdc.be.components.BeConfDependentTest;
20 import org.openecomp.sdc.be.dao.titan.TitanOperationStatus;
21 import org.openecomp.sdc.be.datatypes.elements.ForwardingPathDataDefinition;
22 import org.openecomp.sdc.be.datatypes.elements.ForwardingPathElementDataDefinition;
23 import org.openecomp.sdc.be.datatypes.elements.ListDataDefinition;
24 import org.openecomp.sdc.be.datatypes.elements.RequirementDataDefinition;
25 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
26 import org.openecomp.sdc.be.datatypes.enums.OriginTypeEnum;
27 import org.openecomp.sdc.be.model.ArtifactDefinition;
28 import org.openecomp.sdc.be.model.CapabilityDefinition;
29 import org.openecomp.sdc.be.model.CapabilityRequirementRelationship;
30 import org.openecomp.sdc.be.model.Component;
31 import org.openecomp.sdc.be.model.ComponentInstance;
32 import org.openecomp.sdc.be.model.ComponentInstanceInput;
33 import org.openecomp.sdc.be.model.ComponentInstanceProperty;
34 import org.openecomp.sdc.be.model.ComponentParametersView;
35 import org.openecomp.sdc.be.model.DataTypeDefinition;
36 import org.openecomp.sdc.be.model.GroupDefinition;
37 import org.openecomp.sdc.be.model.GroupInstance;
38 import org.openecomp.sdc.be.model.InputDefinition;
39 import org.openecomp.sdc.be.model.PropertyDefinition;
40 import org.openecomp.sdc.be.model.RelationshipInfo;
41 import org.openecomp.sdc.be.model.RequirementCapabilityRelDef;
42 import org.openecomp.sdc.be.model.RequirementDefinition;
43 import org.openecomp.sdc.be.model.Resource;
44 import org.openecomp.sdc.be.model.Service;
45 import org.openecomp.sdc.be.model.cache.ApplicationDataTypeCache;
46 import org.openecomp.sdc.be.model.category.CategoryDefinition;
47 import org.openecomp.sdc.be.model.category.SubCategoryDefinition;
48 import org.openecomp.sdc.be.model.jsontitan.operations.ToscaOperationFacade;
49 import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
50 import org.openecomp.sdc.be.model.operations.impl.InterfaceLifecycleOperation;
51 import org.openecomp.sdc.be.tosca.model.SubstitutionMapping;
52 import org.openecomp.sdc.be.tosca.model.ToscaCapability;
53 import org.openecomp.sdc.be.tosca.model.ToscaMetadata;
54 import org.openecomp.sdc.be.tosca.model.ToscaNodeTemplate;
55 import org.openecomp.sdc.be.tosca.model.ToscaNodeType;
56 import org.openecomp.sdc.be.tosca.model.ToscaTemplate;
57 import org.openecomp.sdc.be.tosca.model.ToscaTemplateRequirement;
58 import org.openecomp.sdc.be.tosca.model.ToscaTopolgyTemplate;
60 import fj.data.Either;
61 import mockit.Deencapsulation;
62 import org.openecomp.sdc.be.tosca.utils.InputConverter;
64 public class ToscaExportHandlerTest extends BeConfDependentTest {
67 ToscaExportHandler testSubject;
70 ApplicationDataTypeCache dataTypeCache;
73 ToscaOperationFacade toscaOperationFacade;
76 CapabilityRequirementConverter capabiltyRequirementConvertor;
79 InputConverter inputConverter;
82 GroupExportParser groupExportParser;
85 GroupExportParserImpl groupExportParserImpl;
88 InterfaceLifecycleOperation interfaceLifecycleOperation;
91 public void setUpMock() throws Exception {
92 MockitoAnnotations.initMocks(this);
95 private Resource getNewResource() {
96 Resource resource = new Resource();
97 List<CategoryDefinition> categories = new ArrayList<>();
98 CategoryDefinition category = new CategoryDefinition();
99 List<SubCategoryDefinition> subcategories = new ArrayList<>();
100 SubCategoryDefinition subcategory = new SubCategoryDefinition();
102 subcategory.setName("name");
103 subcategories.add(subcategory);
104 category.setName("name");
105 category.setSubcategories(subcategories);
106 categories.add(category);
108 resource.setCategories(categories);
109 resource.setVersion("version");
110 resource.setVendorName("vendorName");
111 resource.setVendorRelease("vendorRelease");
112 resource.setResourceVendorModelNumber("resourceVendorModelNumber");
117 private Service getNewService() {
118 Service service = new Service();
119 List<CategoryDefinition> categories = new ArrayList<>();
120 CategoryDefinition category = new CategoryDefinition();
121 List<SubCategoryDefinition> subcategories = new ArrayList<>();
122 SubCategoryDefinition subcategory = new SubCategoryDefinition();
124 subcategory.setName("name");
125 subcategories.add(subcategory);
126 category.setName("name");
127 category.setSubcategories(subcategories);
128 categories.add(category);
130 service.setCategories(categories);
131 service.setComponentType(ComponentTypeEnum.SERVICE);
132 service.setServiceType("serviceType");
133 service.setServiceRole("serviceRole");
134 service.setEnvironmentContext("environmentContext");
140 public void testExportComponent() throws Exception {
141 Component component = getNewResource();
142 Either<ToscaRepresentation, ToscaError> result;
144 Mockito.when(dataTypeCache.getAll()).thenReturn(Either.left(new HashMap<>()));
145 Mockito.when(capabiltyRequirementConvertor.convertRequirements(Mockito.any(Map.class), Mockito.any(Resource.class),
146 Mockito.any(ToscaNodeType.class))).thenReturn(Either.left(new ToscaNodeType()));
148 // default test when component is Resource
149 result = testSubject.exportComponent(component);
151 component = getNewService();
152 Mockito.when(capabiltyRequirementConvertor.convertRequirements(Mockito.any(Map.class),Mockito.any(Service.class),
153 Mockito.any(ToscaNodeType.class))).thenReturn(Either.left(new ToscaNodeType()));
154 Mockito.when(dataTypeCache.getAll()).thenReturn(Either.right(TitanOperationStatus.NOT_FOUND));
156 // default test when component is Service
157 result = testSubject.exportComponent(component);
161 public void testExportComponentInterface() throws Exception {
162 Component component = getNewResource();
163 Either<ToscaRepresentation, ToscaError> result;
165 ((Resource) component).setInterfaces(new HashMap<>());
167 Mockito.when(dataTypeCache.getAll()).thenReturn(Either.right(TitanOperationStatus.NOT_FOUND));
168 Mockito.when(interfaceLifecycleOperation.getAllInterfaceLifecycleTypes()).thenReturn(Either.left(Collections.emptyMap()));
169 // default test when convertInterfaceNodeType is right
170 result = testSubject.exportComponentInterface(component, false);
172 Mockito.when(dataTypeCache.getAll()).thenReturn(Either.left(new HashMap<>()));
173 Mockito.when(capabiltyRequirementConvertor.convertRequirements(Mockito.any(Map.class),Mockito.any(Resource.class),
174 Mockito.any(ToscaNodeType.class))).thenReturn(Either.left(new ToscaNodeType()));
176 // default test when convertInterfaceNodeType is left
177 result = testSubject.exportComponentInterface(component, false);
182 public void testCreateToscaRepresentation() throws Exception {
183 ToscaTemplate toscaTemplate = new ToscaTemplate("");
184 ToscaRepresentation result;
187 result = testSubject.createToscaRepresentation(toscaTemplate);
191 public void testGetDependencies() throws Exception {
193 Component component = new Resource();
194 Either<ToscaTemplate, ToscaError> result;
197 result = testSubject.getDependencies(component);
201 public void testConvertToscaTemplate() throws Exception {
203 Component component = getNewResource();
204 ToscaTemplate toscaNode = new ToscaTemplate("");
205 Either<ToscaTemplate, ToscaError> result;
206 List<ComponentInstance> resourceInstances = new ArrayList<>();
207 ComponentInstance instance = new ComponentInstance();
209 instance.setOriginType(OriginTypeEnum.SERVICE);
210 instance.setSourceModelUid("targetModelUid");
211 resourceInstances.add(instance);
213 component.setComponentInstances(resourceInstances);
215 Mockito.when(dataTypeCache.getAll()).thenReturn(Either.left(new HashMap<>()));
216 Mockito.when(capabiltyRequirementConvertor.getOriginComponent(Mockito.any(Map.class),
217 Mockito.any(ComponentInstance.class))).thenReturn(Either.right(false));
220 result = Deencapsulation.invoke(testSubject, "convertToscaTemplate", component, toscaNode);
223 @Ignore("need to solve problem with groupExportParser injection")
225 public void testConvertToscaTemplateWhenComponentContainsGroup() {
226 Component component = getNewResource();
227 ToscaTemplate toscaNode = new ToscaTemplate("");
228 Either<ToscaTemplate, ToscaError> result;
229 component.setComponentInstances(new ArrayList<>());
231 List<GroupDefinition> groups = new ArrayList<>();
232 GroupDefinition group = new GroupDefinition();
233 List<String> artifacts = new ArrayList<>();
234 artifacts.add("artifact");
235 group.setType("org.openecomp.groups.VfModule");
236 group.setArtifacts(artifacts);
238 component.setGroups(groups);
240 Map<String, String[]> substitutionMappingMap = new HashMap<>();
241 String[] array = { "value1", "value2" };
242 substitutionMappingMap.put("key", array);
244 Mockito.when(capabiltyRequirementConvertor.convertSubstitutionMappingCapabilities(Mockito.any(Map.class),
245 Mockito.any(Component.class))).thenReturn(Either.left(substitutionMappingMap));
247 Mockito.when(capabiltyRequirementConvertor.convertSubstitutionMappingRequirements(Mockito.any(Map.class),
248 Mockito.any(Component.class), Mockito.any(SubstitutionMapping.class)))
249 .thenReturn(Either.left(new SubstitutionMapping()));
251 Mockito.when(dataTypeCache.getAll()).thenReturn(Either.left(new HashMap<>()));
253 Mockito.when(inputConverter.convertInputs(Mockito.any(List.class),Mockito.any(Map.class)))
254 .thenReturn(new HashMap<>());
256 Mockito.when(groupExportParser.getGroups(component))
259 // test component contains group
260 result = Deencapsulation.invoke(testSubject, "convertToscaTemplate", component, toscaNode);
263 @Ignore("need to solve problem with groupExportParser injection")
265 public void testConvertToscaTemplateWhenComponentIsService() throws Exception {
266 Component component = getNewService();
267 ToscaTemplate toscaNode = new ToscaTemplate("");
268 Either<ToscaTemplate, ToscaError> result;
269 component.setComponentInstances(new ArrayList<>());
271 List<GroupDefinition> groups = new ArrayList<>();
272 GroupDefinition group = new GroupDefinition();
273 List<String> artifacts = new ArrayList<>();
274 artifacts.add("artifact");
275 group.setType("org.openecomp.groups.VfModule");
276 group.setArtifacts(artifacts);
278 component.setGroups(groups);
280 Map<String, String[]> substitutionMappingMap = new HashMap<>();
281 String[] array = { "value1", "value2" };
282 substitutionMappingMap.put("key", array);
284 Mockito.when(capabiltyRequirementConvertor.convertSubstitutionMappingCapabilities(Mockito.any(Map.class),
285 Mockito.any(Component.class))).thenReturn(Either.left(substitutionMappingMap));
287 Mockito.when(capabiltyRequirementConvertor.convertSubstitutionMappingRequirements(Mockito.any(Map.class),
288 Mockito.any(Component.class), Mockito.any(SubstitutionMapping.class)))
289 .thenReturn(Either.left(new SubstitutionMapping()));
291 Mockito.when(dataTypeCache.getAll()).thenReturn(Either.left(new HashMap<>()));
293 Mockito.when(inputConverter.convertInputs(Mockito.any(List.class),Mockito.any(Map.class)))
294 .thenReturn(new HashMap<>());
295 // test component contains group
296 result = Deencapsulation.invoke(testSubject, "convertToscaTemplate", component, toscaNode);
300 public void testConvertMetadata_1() throws Exception {
302 Component component = getNewResource();
303 boolean isInstance = true;
304 ComponentInstance componentInstance = new ComponentInstance();
305 componentInstance.setOriginType(OriginTypeEnum.ServiceProxy);
306 componentInstance.setSourceModelInvariant("targetModelInvariant");
308 ToscaMetadata result;
312 result = Deencapsulation.invoke(testSubject, "convertMetadata", component, isInstance, componentInstance);
316 public void testFillImports() throws Exception {
318 Component component = getNewService();
319 ToscaTemplate toscaTemplate = new ToscaTemplate("");
320 Either<ImmutablePair<ToscaTemplate, Map<String, Component>>, ToscaError> result;
322 ComponentInstance instance = new ComponentInstance();
323 List<ComponentInstance> resourceInstances = new ArrayList<>();
324 instance.setComponentUid("name");
325 resourceInstances.add(instance);
326 component.setComponentInstances(resourceInstances);
327 Map<String, ArtifactDefinition> toscaArtifacts = new HashMap<>();
328 ArtifactDefinition artifact = new ArtifactDefinition();
329 artifact.setArtifactName("name.name2");
330 toscaArtifacts.put("assettoscatemplate", artifact);
331 component.setToscaArtifacts(toscaArtifacts);
333 Mockito.when(toscaOperationFacade.getToscaFullElement(Mockito.any(String.class)))
334 .thenReturn(Either.left(component));
337 result = Deencapsulation.invoke(testSubject, "fillImports", component, toscaTemplate);
341 public void testCreateDependency() throws Exception {
343 Map<String, Component> componentCache = new HashMap<>();
344 List<Map<String, Map<String, String>>> imports = new ArrayList<>();
345 List<Triple<String, String, Component>> dependecies = new ArrayList<>();
346 ComponentInstance ci = new ComponentInstance();
347 Component component = getNewResource();
349 Map<String, ArtifactDefinition> toscaArtifacts = new HashMap<>();
350 ArtifactDefinition artifact = new ArtifactDefinition();
351 artifact.setArtifactName("name.name2");
352 toscaArtifacts.put("assettoscatemplate", artifact);
353 component.setToscaArtifacts(toscaArtifacts);
354 ci.setComponentUid("name");
355 ci.setOriginType(OriginTypeEnum.ServiceProxy);
356 ci.setSourceModelUid("modelName");
358 Mockito.when(toscaOperationFacade.getToscaFullElement(Mockito.eq("name"))).thenReturn(Either.left(component));
360 Mockito.when(toscaOperationFacade.getToscaFullElement(Mockito.eq("modelName")))
361 .thenReturn(Either.left(new Service()));
364 Deencapsulation.invoke(testSubject, "createDependency", componentCache, imports, dependecies, ci);
368 public void testGetInterfaceFilename() throws Exception {
369 String artifactName = "artifact.name";
373 result = ToscaExportHandler.getInterfaceFilename(artifactName);
377 public void testConvertNodeType() throws Exception {
378 Component component = new Resource();
379 ToscaTemplate toscaNode = new ToscaTemplate("");
380 Map<String, ToscaNodeType> nodeTypes = new HashMap<>();
381 Either<ToscaTemplate, ToscaError> result;
383 Mockito.when(dataTypeCache.getAll()).thenReturn(Either.right(TitanOperationStatus.ALREADY_EXIST));
386 result = Deencapsulation.invoke(testSubject, "convertNodeType",new HashMap<>(), component, toscaNode, nodeTypes);
390 public void testConvertInterfaceNodeType() throws Exception {
391 Component component = getNewResource();
392 ToscaTemplate toscaNode = new ToscaTemplate("");
393 Map<String, ToscaNodeType> nodeTypes = new HashMap<>();
394 Either<ToscaTemplate, ToscaError> result;
395 List<InputDefinition> inputs = new ArrayList<>();
396 inputs.add(new InputDefinition());
397 component.setInputs(inputs);
399 Mockito.when(dataTypeCache.getAll()).thenReturn(Either.left(new HashMap<>()));
400 Mockito.when(interfaceLifecycleOperation.getAllInterfaceLifecycleTypes()).thenReturn(Either.left(Collections.emptyMap()));
402 Mockito.when(capabiltyRequirementConvertor.convertRequirements(Mockito.any(Map.class), Mockito.any(Resource.class),
403 Mockito.any(ToscaNodeType.class))).thenReturn(Either.left(new ToscaNodeType()));
406 result = Deencapsulation.invoke(testSubject, "convertInterfaceNodeType",new HashMap<>(), component, toscaNode
409 @Ignore("need to fix change in injected class.")
411 public void testConvertReqCapAndTypeName() throws Exception {
412 Component component = new Resource();
413 ToscaTemplate toscaNode = new ToscaTemplate("");
414 Map<String, ToscaNodeType> nodeTypes = new HashMap();
415 ToscaNodeType toscaNodeType = new ToscaNodeType();
416 Map<String, DataTypeDefinition> dataTypes = new HashMap<>();
417 Either<ToscaTemplate, ToscaError> result;
420 capabiltyRequirementConvertor.convertCapabilities(Mockito.any(Map.class),Mockito.any(Resource.class), Mockito.any(Map.class)))
421 .thenReturn(new HashMap<>());
423 Mockito.when(capabiltyRequirementConvertor.convertRequirements(Mockito.any(Map.class),Mockito.any(Resource.class),
424 Mockito.any(ToscaNodeType.class))).thenReturn(Either.left(new ToscaNodeType()));
427 result = Deencapsulation.invoke(testSubject, "convertReqCapAndTypeName",new HashMap<>(), component, toscaNode, nodeTypes,
428 toscaNodeType, dataTypes);
430 component = new Service();
432 Mockito.when(capabiltyRequirementConvertor.convertRequirements(Mockito.any(Map.class),Mockito.any(Service.class),
433 Mockito.any(ToscaNodeType.class))).thenReturn(Either.left(new ToscaNodeType()));
435 // test when component is service
436 result = Deencapsulation.invoke(testSubject, "convertReqCapAndTypeName", component, toscaNode, nodeTypes,
437 toscaNodeType, dataTypes);
442 public void testConvertNodeTemplates() throws Exception {
443 Component component = getNewResource();
444 List<ComponentInstance> componentInstances = new ArrayList<>();
445 Map<String, List<ComponentInstanceProperty>> componentInstancesProperties = new HashMap<>();
446 Map<String, Component> componentCache = new HashMap<>();
447 Map<String, DataTypeDefinition> dataTypes = new HashMap<>();
448 ToscaTopolgyTemplate topologyTemplate = new ToscaTopolgyTemplate();
449 Either<Map<String, ToscaNodeTemplate>, ToscaError> result;
450 Map<String, List<ComponentInstanceInput>> componentInstancesInputs = new HashMap<>();
451 List<ComponentInstanceInput> inputs = new ArrayList<>();
452 inputs.add(new ComponentInstanceInput());
453 componentInstancesInputs.put("key", inputs);
454 List<RequirementCapabilityRelDef> resourceInstancesRelations = new ArrayList<>();
455 RequirementCapabilityRelDef reldef = new RequirementCapabilityRelDef();
456 reldef.setFromNode("node");
457 resourceInstancesRelations.add(reldef);
458 component.setComponentInstancesRelations(resourceInstancesRelations);
460 ComponentInstance instance = new ComponentInstance();
461 instance.setUniqueId("id");
462 instance.setComponentUid("uid");
463 instance.setOriginType(OriginTypeEnum.ServiceProxy);
464 List<GroupInstance> groupInstances = new ArrayList<>();
465 GroupInstance groupInst = new GroupInstance();
466 List<String> artifacts = new ArrayList<>();
467 artifacts.add("artifact");
468 groupInst.setArtifacts(artifacts);
469 groupInst.setType("type");
470 groupInstances.add(groupInst);
471 instance.setGroupInstances(groupInstances);
472 componentInstances.add(instance);
474 component.setComponentInstancesInputs(componentInstancesInputs);
475 component.setInvariantUUID("uuid");
476 component.setUUID("uuid");
477 component.setDescription("desc");
479 componentCache.put("uid", component);
481 componentInstancesProperties.put("id", new ArrayList<>());
482 componentInstancesInputs.put("id", new ArrayList<>());
484 Mockito.when(capabiltyRequirementConvertor.getOriginComponent(Mockito.any(Map.class),
485 Mockito.any(ComponentInstance.class))).thenReturn(Either.left(component));
487 Mockito.when(capabiltyRequirementConvertor.convertComponentInstanceCapabilities(
488 Mockito.any(ComponentInstance.class), Mockito.any(Map.class), Mockito.any(ToscaNodeTemplate.class)))
489 .thenReturn(Either.left(new ToscaNodeTemplate()));
492 result = Deencapsulation.invoke(testSubject, "convertNodeTemplates", component, componentInstances,
493 componentInstancesProperties, componentCache, dataTypes, topologyTemplate);
497 public void testConvertNodeTemplatesWhenComponentIsService() throws Exception {
498 Component component = getNewService();
499 List<ComponentInstance> componentInstances = new ArrayList<>();
500 Map<String, List<ComponentInstanceProperty>> componentInstancesProperties = new HashMap<>();
501 Map<String, Component> componentCache = new HashMap<>();
502 Map<String, DataTypeDefinition> dataTypes = new HashMap<>();
503 ToscaTopolgyTemplate topologyTemplate = new ToscaTopolgyTemplate();
504 Either<Map<String, ToscaNodeTemplate>, ToscaError> result;
505 Map<String, List<ComponentInstanceInput>> componentInstancesInputs = new HashMap<>();
506 List<ComponentInstanceInput> inputs = new ArrayList<>();
507 inputs.add(new ComponentInstanceInput());
508 componentInstancesInputs.put("key", inputs);
509 List<RequirementCapabilityRelDef> resourceInstancesRelations = new ArrayList<>();
510 RequirementCapabilityRelDef reldef = new RequirementCapabilityRelDef();
511 reldef.setFromNode("node");
512 resourceInstancesRelations.add(reldef);
513 component.setComponentInstancesRelations(resourceInstancesRelations);
515 ComponentInstance instance = new ComponentInstance();
516 instance.setUniqueId("id");
517 instance.setComponentUid("uid");
518 instance.setOriginType(OriginTypeEnum.ServiceProxy);
519 List<GroupInstance> groupInstances = new ArrayList<>();
520 GroupInstance groupInst = new GroupInstance();
521 List<String> artifacts = new ArrayList<>();
522 artifacts.add("artifact");
523 groupInst.setArtifacts(artifacts);
524 groupInst.setType("type");
525 groupInstances.add(groupInst);
526 instance.setGroupInstances(groupInstances);
527 componentInstances.add(instance);
529 component.setComponentInstancesInputs(componentInstancesInputs);
530 component.setInvariantUUID("uuid");
531 component.setUUID("uuid");
532 component.setDescription("desc");
534 Map<String, ForwardingPathDataDefinition> forwardingPaths = new HashMap<>();
535 ForwardingPathDataDefinition path = new ForwardingPathDataDefinition();
536 ListDataDefinition<ForwardingPathElementDataDefinition> list = new ListDataDefinition<>();
537 path.setPathElements(list);
538 forwardingPaths.put("key", path);
540 ((Service) component).setForwardingPaths(forwardingPaths);
542 componentCache.put("uid", component);
544 componentInstancesProperties.put("id", new ArrayList<>());
545 componentInstancesInputs.put("id", new ArrayList<>());
547 Mockito.when(capabiltyRequirementConvertor.getOriginComponent(Mockito.any(Map.class),
548 Mockito.any(ComponentInstance.class))).thenReturn(Either.left(component));
550 Mockito.when(capabiltyRequirementConvertor.convertComponentInstanceCapabilities(
551 Mockito.any(ComponentInstance.class), Mockito.any(Map.class), Mockito.any(ToscaNodeTemplate.class)))
552 .thenReturn(Either.left(new ToscaNodeTemplate()));
555 result = Deencapsulation.invoke(testSubject, "convertNodeTemplates", component, componentInstances,
556 componentInstancesProperties, componentCache, dataTypes, topologyTemplate);
560 public void testConvertNodeTemplatesWhenConvertComponentInstanceCapabilitiesIsRight() throws Exception {
561 Component component = getNewResource();
562 List<ComponentInstance> componentInstances = new ArrayList<>();
563 Map<String, List<ComponentInstanceProperty>> componentInstancesProperties = new HashMap<>();
564 Map<String, Component> componentCache = new HashMap<>();
565 Map<String, DataTypeDefinition> dataTypes = new HashMap<>();
566 ToscaTopolgyTemplate topologyTemplate = new ToscaTopolgyTemplate();
567 Either<Map<String, ToscaNodeTemplate>, ToscaError> result;
568 Map<String, List<ComponentInstanceInput>> componentInstancesInputs = new HashMap<>();
569 List<ComponentInstanceInput> inputs = new ArrayList<>();
570 inputs.add(new ComponentInstanceInput());
571 componentInstancesInputs.put("key", inputs);
572 List<RequirementCapabilityRelDef> resourceInstancesRelations = new ArrayList<>();
573 RequirementCapabilityRelDef reldef = new RequirementCapabilityRelDef();
574 reldef.setFromNode("node");
575 resourceInstancesRelations.add(reldef);
576 component.setComponentInstancesRelations(resourceInstancesRelations);
578 ComponentInstance instance = new ComponentInstance();
579 instance.setUniqueId("id");
580 instance.setComponentUid("uid");
581 instance.setOriginType(OriginTypeEnum.ServiceProxy);
582 componentInstances.add(instance);
584 component.setComponentInstancesInputs(componentInstancesInputs);
585 component.setInvariantUUID("uuid");
586 component.setUUID("uuid");
587 component.setDescription("desc");
589 componentCache.put("uid", component);
591 Mockito.when(capabiltyRequirementConvertor.getOriginComponent(Mockito.any(Map.class),
592 Mockito.any(ComponentInstance.class))).thenReturn(Either.left(component));
594 Mockito.when(capabiltyRequirementConvertor.convertComponentInstanceCapabilities(
595 Mockito.any(ComponentInstance.class), Mockito.any(Map.class), Mockito.any(ToscaNodeTemplate.class)))
596 .thenReturn(Either.right(ToscaError.GENERAL_ERROR));
599 result = Deencapsulation.invoke(testSubject, "convertNodeTemplates", component, componentInstances,
600 componentInstancesProperties, componentCache, dataTypes, topologyTemplate);
604 public void testConvetNodeTemplateWhenGetOriginComponentIsRight() throws Exception {
605 Component component = getNewResource();
606 List<ComponentInstance> componentInstances = new ArrayList<>();
607 Map<String, List<ComponentInstanceProperty>> componentInstancesProperties = new HashMap<>();
608 Map<String, Component> componentCache = new HashMap<>();
609 Map<String, DataTypeDefinition> dataTypes = new HashMap<>();
610 ToscaTopolgyTemplate topologyTemplate = new ToscaTopolgyTemplate();
611 Either<Map<String, ToscaNodeTemplate>, ToscaError> result;
612 Map<String, List<ComponentInstanceInput>> componentInstancesInputs = new HashMap<>();
613 List<ComponentInstanceInput> inputs = new ArrayList<>();
614 inputs.add(new ComponentInstanceInput());
615 componentInstancesInputs.put("key", inputs);
616 List<RequirementCapabilityRelDef> resourceInstancesRelations = new ArrayList<>();
617 RequirementCapabilityRelDef reldef = new RequirementCapabilityRelDef();
618 reldef.setFromNode("id");
619 resourceInstancesRelations.add(reldef);
620 component.setComponentInstancesRelations(resourceInstancesRelations);
622 ComponentInstance instance = new ComponentInstance();
623 instance.setUniqueId("id");
624 instance.setComponentUid("uid");
625 instance.setOriginType(OriginTypeEnum.ServiceProxy);
626 componentInstances.add(instance);
628 component.setComponentInstancesInputs(componentInstancesInputs);
629 component.setInvariantUUID("uuid");
630 component.setUUID("uuid");
631 component.setDescription("desc");
633 componentCache.put("uid", component);
635 Mockito.when(capabiltyRequirementConvertor.getOriginComponent(Mockito.any(Map.class),
636 Mockito.any(ComponentInstance.class))).thenReturn(Either.right(false));
639 result = Deencapsulation.invoke(testSubject, "convertNodeTemplates", component, componentInstances,
640 componentInstancesProperties, componentCache, dataTypes, topologyTemplate);
644 public void testConvertNodeTemplatesWhenConvertComponentInstanceRequirmentsIsRight() {
645 Component component = new Resource();
646 List<ComponentInstance> componentInstances = new ArrayList<>();
647 Map<String, List<ComponentInstanceProperty>> componentInstancesProperties = new HashMap<>();
648 Map<String, Component> componentCache = new HashMap<>();
649 Map<String, DataTypeDefinition> dataTypes = new HashMap<>();
650 ToscaTopolgyTemplate topologyTemplate = new ToscaTopolgyTemplate();
651 Either<Map<String, ToscaNodeTemplate>, ToscaError> result;
652 Map<String, List<ComponentInstanceInput>> componentInstancesInputs = new HashMap<>();
653 List<ComponentInstanceInput> inputs = new ArrayList<>();
654 inputs.add(new ComponentInstanceInput());
655 componentInstancesInputs.put("key", inputs);
656 List<RequirementCapabilityRelDef> resourceInstancesRelations = new ArrayList<>();
657 RequirementCapabilityRelDef reldef = new RequirementCapabilityRelDef();
658 reldef.setFromNode("id");
659 reldef.setToNode("node");
660 List<CapabilityRequirementRelationship> relationships = new ArrayList<>();
661 CapabilityRequirementRelationship relationship = new CapabilityRequirementRelationship();
662 relationship.setRelation(new RelationshipInfo());
663 relationships.add(relationship);
664 reldef.setRelationships(relationships);
665 resourceInstancesRelations.add(reldef);
666 component.setComponentInstancesRelations(resourceInstancesRelations);
668 ComponentInstance instance = new ComponentInstance();
669 instance.setUniqueId("id");
670 componentInstances.add(instance);
672 component.setComponentInstancesInputs(componentInstancesInputs);
673 component.setComponentInstances(componentInstances);
675 Mockito.when(capabiltyRequirementConvertor.getOriginComponent(Mockito.any(Map.class),
676 Mockito.any(ComponentInstance.class))).thenReturn(Either.left(component));
679 result = Deencapsulation.invoke(testSubject, "convertNodeTemplates", component, componentInstances,
680 componentInstancesProperties, componentCache, dataTypes, topologyTemplate);
684 public void testAddComponentInstanceInputs() throws Exception {
686 Map<String, DataTypeDefinition> dataTypes = new HashMap<>();
687 Map<String, List<ComponentInstanceInput>> componentInstancesInputs = new HashMap<>();
688 ComponentInstance componentInstance = new ComponentInstance();
689 String instanceUniqueId = "id";
690 Map<String, Object> props = new HashMap<>();
692 List<ComponentInstanceInput> componentInstanceInputs = new ArrayList<>();
693 componentInstanceInputs.add(new ComponentInstanceInput());
695 componentInstancesInputs.put(instanceUniqueId, componentInstanceInputs);
698 Deencapsulation.invoke(testSubject, "addComponentInstanceInputs", dataTypes, componentInstancesInputs,
699 instanceUniqueId, props);
703 public void testAddPropertiesOfComponentInstance() throws Exception {
704 Map<String, List<ComponentInstanceProperty>> componentInstancesProperties = new HashMap<>();
705 Map<String, DataTypeDefinition> dataTypes = new HashMap<>();
706 ComponentInstance componentInstance = new ComponentInstance();
707 String instanceUniqueId = "id";
708 Map<String, Object> props = new HashMap<>();
710 ComponentInstanceProperty cip = new ComponentInstanceProperty();
711 cip.setInstanceUniqueId("id");
713 List<ComponentInstanceProperty> list = new ArrayList<>();
716 componentInstancesProperties.put("id", list);
719 Deencapsulation.invoke(testSubject, "addPropertiesOfComponentInstance", componentInstancesProperties, dataTypes,
720 instanceUniqueId, props);
724 public void testAddPropertiesOfParentComponent() throws Exception {
725 Map<String, DataTypeDefinition> dataTypes = new HashMap<>();
726 ComponentInstance componentInstance = new ComponentInstance();
727 Component componentOfInstance = new Resource();
728 Map<String, Object> props = new HashMap<>();
730 List<PropertyDefinition> properties = new ArrayList<>();
731 properties.add(new PropertyDefinition());
733 ((Resource) componentOfInstance).setProperties(properties);
736 Deencapsulation.invoke(testSubject, "addPropertiesOfParentComponent", dataTypes,
737 componentOfInstance, props);
742 public void testCreateNodeType() throws Exception {
744 Component component = new Resource();
745 List<String> array = new ArrayList<>();
747 ((Resource) component).setDerivedFrom(array);
748 ToscaNodeType result;
750 // test when component is resource
751 result = Deencapsulation.invoke(testSubject, "createNodeType", component);
753 component = new Service();
754 // test when component is service
755 result = Deencapsulation.invoke(testSubject, "createNodeType", component);
759 public void testCreateProxyNodeTypes() throws Exception {
760 Map<String, Component> componentCache = new HashMap<>();
761 Component container = new Resource();
762 Either<Map<String, ToscaNodeType>, ToscaError> result;
763 List<ComponentInstance> componentInstances = new ArrayList<>();
764 ComponentInstance instance = new ComponentInstance();
765 instance.setOriginType(OriginTypeEnum.ServiceProxy);
766 instance.setSourceModelUid("targetModelUid");
768 componentInstances.add(instance);
769 container.setComponentInstances(componentInstances);
771 Mockito.when(toscaOperationFacade.getLatestByName("serviceProxy"))
772 .thenReturn(Either.right(StorageOperationStatus.BAD_REQUEST));
774 // test when getLatestByName return is right
775 result = Deencapsulation.invoke(testSubject, "createProxyNodeTypes", componentCache, container);
780 public void testCreateProxyNodeTypesWhenGetLatestByNameReturnValue() {
781 Map<String, Component> componentCache = new HashMap<>();
782 Component container = new Resource();
783 Either<Map<String, ToscaNodeType>, ToscaError> result;
784 List<ComponentInstance> componentInstances = new ArrayList<>();
785 ComponentInstance instance = new ComponentInstance();
786 instance.setOriginType(OriginTypeEnum.ServiceProxy);
787 instance.setSourceModelUid("targetModelUid");
789 componentInstances.add(instance);
790 container.setComponentInstances(componentInstances);
792 Mockito.when(toscaOperationFacade.getLatestByName("serviceProxy")).thenReturn(Either.left(new Resource()));
794 ComponentParametersView parameterView = new ComponentParametersView();
795 parameterView.disableAll();
796 parameterView.setIgnoreCategories(false);
798 Mockito.when(toscaOperationFacade.getToscaElement(Mockito.any(String.class),
799 Mockito.any(ComponentParametersView.class)))
800 .thenReturn(Either.right(StorageOperationStatus.BAD_REQUEST));
802 Mockito.when(dataTypeCache.getAll()).thenReturn(Either.left(new HashMap<>()));
804 // test when getLatestByName is left
805 result = Deencapsulation.invoke(testSubject, "createProxyNodeTypes", componentCache, container);
809 public void testCreateProxyNodeType() throws Exception {
810 Map<String, Component> componentCache = new HashMap<>();
811 Component origComponent = new Resource();
812 Component proxyComponent = new Resource();
813 ComponentInstance instance = new ComponentInstance();
814 ToscaNodeType result;
816 Mockito.when(dataTypeCache.getAll()).thenReturn(Either.left(new HashMap<>()));
819 result = Deencapsulation.invoke(testSubject, "createProxyNodeType", componentCache, origComponent,
820 proxyComponent, instance);
824 public void testConvertComponentInstanceRequirements() throws Exception {
825 Component component = new Resource();
826 ComponentInstance componentInstance = new ComponentInstance();
827 List<RequirementCapabilityRelDef> relations = new ArrayList<>();
828 ToscaNodeTemplate nodeTypeTemplate = new ToscaNodeTemplate();
829 Component originComponent = new Resource();
830 Map<String, Component> componentCache = new HashMap<>();
831 Either<ToscaNodeTemplate, ToscaError> result;
834 result = Deencapsulation.invoke(testSubject, "convertComponentInstanceRequirements", component,
835 componentInstance, relations, nodeTypeTemplate, originComponent, componentCache);
837 RequirementCapabilityRelDef reldef = new RequirementCapabilityRelDef();
838 reldef.setFromNode("name");
839 reldef.setToNode("name1");
840 List<CapabilityRequirementRelationship> relationships = new ArrayList<>();
841 CapabilityRequirementRelationship cap = new CapabilityRequirementRelationship();
842 cap.setRelation(new RelationshipInfo());
843 relationships.add(cap);
844 reldef.setRelationships(relationships);
845 relations.add(reldef);
846 componentInstance.setUniqueId("name");
848 List<ComponentInstance> instances = new ArrayList<>();
849 instances.add(componentInstance);
850 component.setComponentInstances(instances);
852 // test when filteredRElations ins't empty
853 result = Deencapsulation.invoke(testSubject, "convertComponentInstanceRequirements", component,
854 componentInstance, relations, nodeTypeTemplate, originComponent, componentCache);
858 public void testAddRequirement() throws Exception {
859 ComponentInstance fromInstance = new ComponentInstance();
860 Component fromOriginComponent = new Resource();
861 List<ComponentInstance> instancesList = new ArrayList<>();
862 RequirementCapabilityRelDef rel = new RequirementCapabilityRelDef();
863 List<Map<String, ToscaTemplateRequirement>> toscaRequirements = new ArrayList<>();
864 Map<String, Component> componentCache = new HashMap<>();
867 List<CapabilityRequirementRelationship> relationships = new ArrayList<>();
868 CapabilityRequirementRelationship cap = new CapabilityRequirementRelationship();
869 cap.setRequirement(new RequirementDataDefinition());
870 RelationshipInfo relation = new RelationshipInfo();
871 relation.setRequirementUid("Uid");
872 relation.setRequirement("requirment");
873 relation.setCapability("cap");
874 relation.setCapabilityOwnerId("id1");
875 cap.setRelation(relation);
876 relationships.add(cap);
877 rel.setRelationships(relationships);
878 rel.setToNode("name");
879 fromInstance.setUniqueId("name");
880 fromInstance.setComponentUid("string");
881 instancesList.add(fromInstance);
882 Map<String, List<RequirementDefinition>> requirements = new HashMap<>();
883 fromOriginComponent.setRequirements(requirements);
886 result = Deencapsulation.invoke(testSubject, "addRequirement", fromInstance, fromOriginComponent, instancesList,
887 rel, toscaRequirements, componentCache);
892 public void testAddRequirmentsWhenFindRequirmentsReturnsValue() {
894 ComponentInstance fromInstance = new ComponentInstance();
895 Component fromOriginComponent = new Resource();
896 List<ComponentInstance> instancesList = new ArrayList<>();
897 RequirementCapabilityRelDef rel = new RequirementCapabilityRelDef();
898 List<Map<String, ToscaTemplateRequirement>> toscaRequirements = new ArrayList<>();
899 Map<String, Component> componentCache = new HashMap<>();
902 List<CapabilityRequirementRelationship> relationships = new ArrayList<>();
903 CapabilityRequirementRelationship cap = new CapabilityRequirementRelationship();
904 cap.setRequirement(new RequirementDataDefinition());
905 RelationshipInfo relation = new RelationshipInfo();
906 relation.setRequirementUid("Uid");
907 relation.setRequirement("requirment");
908 relation.setCapability("cap");
909 relation.setCapabilityOwnerId("id1");
910 cap.setRelation(relation);
911 relationships.add(cap);
912 rel.setRelationships(relationships);
913 rel.setToNode("name");
914 fromInstance.setUniqueId("name");
915 fromInstance.setComponentUid("string");
916 instancesList.add(fromInstance);
917 Map<String, List<RequirementDefinition>> requirements = new HashMap<>();
919 List<RequirementDefinition> defs = new ArrayList<>();
920 RequirementDefinition def = new RequirementDefinition();
921 def.setName("requirment");
922 def.setCapability("cap");
924 requirements.put("key", defs);
925 fromOriginComponent.setRequirements(requirements);
927 Mockito.when(toscaOperationFacade.getToscaElement(Mockito.any(String.class),
928 Mockito.any(ComponentParametersView.class)))
929 .thenReturn(Either.right(StorageOperationStatus.BAD_REQUEST));
932 result = Deencapsulation.invoke(testSubject, "addRequirement", fromInstance, fromOriginComponent, instancesList,
933 rel, toscaRequirements, componentCache);
937 public void testAddRequirmentsWhenCapabilityBelongsToRelation() {
938 ComponentInstance fromInstance = new ComponentInstance();
939 Component fromOriginComponent = new Resource();
940 List<ComponentInstance> instancesList = new ArrayList<>();
941 RequirementCapabilityRelDef rel = new RequirementCapabilityRelDef();
942 List<Map<String, ToscaTemplateRequirement>> toscaRequirements = new ArrayList<>();
943 Map<String, Component> componentCache = new HashMap<>();
946 List<CapabilityRequirementRelationship> relationships = new ArrayList<>();
947 CapabilityRequirementRelationship cap = new CapabilityRequirementRelationship();
948 cap.setRequirement(new RequirementDataDefinition());
949 RelationshipInfo relation = new RelationshipInfo();
950 relation.setRequirementUid("Uid");
951 relation.setRequirement("requirment");
952 relation.setCapability("cap");
953 relation.setCapabilityOwnerId("id1");
954 cap.setRelation(relation);
955 relationships.add(cap);
956 rel.setRelationships(relationships);
957 rel.setToNode("name");
958 fromInstance.setUniqueId("name");
959 fromInstance.setComponentUid("string");
960 instancesList.add(fromInstance);
961 Map<String, List<RequirementDefinition>> requirements = new HashMap<>();
963 List<RequirementDefinition> defs = new ArrayList<>();
964 RequirementDefinition def = new RequirementDefinition();
965 def.setName("requirment");
966 def.setCapability("cap");
968 requirements.put("key", defs);
969 fromOriginComponent.setRequirements(requirements);
971 Map<String, List<CapabilityDefinition>> capabilities = new HashMap<>();
972 List<CapabilityDefinition> caps = new ArrayList<>();
973 CapabilityDefinition capdef = new CapabilityDefinition();
974 capdef.setOwnerId("id");
975 capdef.setName("name");
976 capdef.setType("type");
978 capabilities.put("cap", caps);
980 fromOriginComponent.setCapabilities(capabilities);
982 Mockito.when(toscaOperationFacade.getToscaElement(Mockito.any(String.class),
983 Mockito.any(ComponentParametersView.class))).thenReturn(Either.left(fromOriginComponent));
986 result = Deencapsulation.invoke(testSubject, "addRequirement", fromInstance, fromOriginComponent, instancesList,
987 rel, toscaRequirements, componentCache);
989 @Ignore("need to fix change in injected class.")
991 public void testAddRequirmentsWithBuildAndAddRequirements() {
992 ComponentInstance fromInstance = new ComponentInstance();
993 Component fromOriginComponent = new Resource();
994 List<ComponentInstance> instancesList = new ArrayList<>();
995 RequirementCapabilityRelDef rel = new RequirementCapabilityRelDef();
996 List<Map<String, ToscaTemplateRequirement>> toscaRequirements = new ArrayList<>();
997 Map<String, Component> componentCache = new HashMap<>();
1000 List<CapabilityRequirementRelationship> relationships = new ArrayList<>();
1001 CapabilityRequirementRelationship cap = new CapabilityRequirementRelationship();
1002 cap.setRequirement(new RequirementDataDefinition());
1003 RelationshipInfo relation = new RelationshipInfo();
1004 relation.setRequirementUid("Uid");
1005 relation.setRequirement("requirment");
1006 relation.setCapability("cap");
1007 relation.setCapabilityOwnerId("id");
1008 cap.setRelation(relation);
1009 relationships.add(cap);
1010 rel.setRelationships(relationships);
1011 rel.setToNode("name");
1012 fromInstance.setUniqueId("name");
1013 fromInstance.setComponentUid("string");
1014 instancesList.add(fromInstance);
1015 Map<String, List<RequirementDefinition>> requirements = new HashMap<>();
1017 List<RequirementDefinition> defs = new ArrayList<>();
1018 RequirementDefinition def = new RequirementDefinition();
1019 def.setName("requirment");
1020 def.setCapability("cap");
1022 requirements.put("key", defs);
1023 fromOriginComponent.setRequirements(requirements);
1025 Map<String, List<CapabilityDefinition>> capabilities = new HashMap<>();
1026 List<CapabilityDefinition> caps = new ArrayList<>();
1027 CapabilityDefinition capdef = new CapabilityDefinition();
1028 capdef.setOwnerId("id");
1029 capdef.setName("cap");
1030 capdef.setType("type");
1032 capabilities.put("cap", caps);
1033 fromOriginComponent.setCapabilities(capabilities);
1035 Mockito.when(toscaOperationFacade.getToscaElement(Mockito.any(String.class),
1036 Mockito.any(ComponentParametersView.class))).thenReturn(Either.left(fromOriginComponent));
1038 Mockito.when(capabiltyRequirementConvertor.buildSubstitutedName(Mockito.any(Map.class),
1039 Mockito.any(Component.class), Mockito.any(List.class), Mockito.anyString(),Mockito.anyString()))
1040 .thenReturn(Either.right(false));
1043 result = Deencapsulation.invoke(testSubject, "addRequirement", fromInstance, fromOriginComponent, instancesList,
1044 rel, toscaRequirements, componentCache);
1046 @Ignore("need to fix change in injected class.")
1048 public void testBuildAndAddRequirement() throws Exception {
1049 List<Map<String, ToscaTemplateRequirement>> toscaRequirements = new ArrayList<>();
1050 Component fromOriginComponent = new Resource();
1051 Component toOriginComponent = new Resource();
1052 CapabilityDefinition capability = new CapabilityDefinition();
1053 RequirementDefinition requirement = new RequirementDefinition();
1054 RelationshipInfo reqAndRelationshipPair = new RelationshipInfo();
1055 ComponentInstance toInstance = new ComponentInstance();
1056 Map<String, Component> componentCache = new HashMap<>();
1058 capability.setPath(new ArrayList<>());
1059 reqAndRelationshipPair.setCapability("cap");
1060 requirement.setPath(new ArrayList<>());
1061 reqAndRelationshipPair.setRequirement("req");
1063 Mockito.when(capabiltyRequirementConvertor.buildSubstitutedName(new HashMap<>(), toOriginComponent,
1064 new ArrayList<>(),Mockito.anyString(), "cap")).thenReturn(Either.left("buildCapNameRes"));
1066 Mockito.when(capabiltyRequirementConvertor.buildSubstitutedName(new HashMap<>(), fromOriginComponent,
1067 new ArrayList<>(),Mockito.anyString(), "req")).thenReturn(Either.right(false));
1070 result = Deencapsulation.invoke(testSubject, "buildAndAddRequirement", toscaRequirements, fromOriginComponent,
1071 toOriginComponent, capability, requirement, reqAndRelationshipPair, toInstance, componentCache);
1074 @Ignore("need to fix change in injected class.")
1076 public void testBuildAndAddRequirementBuildSubtitutedNameReturnsValueTwice() {
1077 List<Map<String, ToscaTemplateRequirement>> toscaRequirements = new ArrayList<>();
1078 Component fromOriginComponent = new Resource();
1079 Component toOriginComponent = new Resource();
1080 CapabilityDefinition capability = new CapabilityDefinition();
1081 RequirementDefinition requirement = new RequirementDefinition();
1082 RelationshipInfo reqAndRelationshipPair = new RelationshipInfo();
1083 ComponentInstance toInstance = new ComponentInstance();
1084 Map<String, Component> componentCache = new HashMap<>();
1086 capability.setPath(new ArrayList<>());
1087 reqAndRelationshipPair.setCapability("cap");
1088 requirement.setPath(new ArrayList<>());
1089 reqAndRelationshipPair.setRequirement("req");
1091 Mockito.when(capabiltyRequirementConvertor.buildSubstitutedName(Mockito.anyMap(), Mockito.any(Resource.class),
1092 Mockito.anyList(), Mockito.anyString(),Mockito.anyString())).thenReturn(Either.left("buildCapNameRes"));
1095 result = Deencapsulation.invoke(testSubject, "buildAndAddRequirement", toscaRequirements, fromOriginComponent,
1096 toOriginComponent, capability, requirement, reqAndRelationshipPair, toInstance, componentCache);
1100 public void testIsRequirementBelongToRelation() throws Exception {
1102 Component originComponent = new Resource();
1103 RelationshipInfo reqAndRelationshipPair = new RelationshipInfo();
1104 RequirementDefinition requirement = new RequirementDefinition();
1105 String fromInstanceId = "";
1108 requirement.setName("name");
1109 reqAndRelationshipPair.setRequirement("name1");
1111 // test return false
1112 result = Deencapsulation.invoke(testSubject, "isRequirementBelongToRelation", originComponent,
1113 reqAndRelationshipPair, requirement, fromInstanceId);
1117 public void testIsRequirementBelongToRelationWithNonAtomicComponent() {
1119 Component originComponent = new Service();
1120 RelationshipInfo reqAndRelationshipPair = new RelationshipInfo();
1121 RequirementDefinition requirement = new RequirementDefinition();
1122 String fromInstanceId = "";
1125 // default test return true
1126 result = Deencapsulation.invoke(testSubject, "isRequirementBelongToRelation", originComponent,
1127 reqAndRelationshipPair, requirement, fromInstanceId);
1131 public void testIsRequirementBelongToOwner() throws Exception {
1133 RelationshipInfo reqAndRelationshipPair = new RelationshipInfo();
1134 RequirementDefinition requirement = new RequirementDefinition();
1135 String fromInstanceId = "";
1136 Component originComponent = new Resource();
1139 requirement.setOwnerId("owner1");
1140 reqAndRelationshipPair.setRequirementOwnerId("owner");
1143 result = Deencapsulation.invoke(testSubject, "isRequirementBelongToOwner", reqAndRelationshipPair, requirement,
1144 fromInstanceId, originComponent);
1148 public void testIsCvfc() throws Exception {
1150 Component component = new Resource();
1153 component = new Service();
1155 result = Deencapsulation.invoke(testSubject, "isCvfc", component);
1159 public void testConvertCapabilities() throws Exception {
1160 Component component = new Resource();
1161 SubstitutionMapping substitutionMappings = new SubstitutionMapping();
1162 Map<String, Component> componentCache = new HashMap<>();
1163 Either<SubstitutionMapping, ToscaError> result;
1165 Mockito.when(capabiltyRequirementConvertor.convertSubstitutionMappingCapabilities(componentCache, component))
1166 .thenReturn(Either.right(ToscaError.NODE_TYPE_CAPABILITY_ERROR));
1168 // default test return isRight
1169 result = Deencapsulation.invoke(testSubject, "convertCapabilities", component, substitutionMappings,
1172 @Ignore("need to fix change in injected class.")
1174 public void testConvertCapabilities_1() throws Exception {
1175 Component component = new Resource();
1176 ToscaNodeType nodeType = new ToscaNodeType();
1177 Map<String, DataTypeDefinition> dataTypes = new HashMap<>();
1178 Either<ToscaNodeType, ToscaError> result;
1180 Map<String, ToscaCapability> capabilities = new HashMap<>();
1181 capabilities.put("key", new ToscaCapability());
1183 Mockito.when(capabiltyRequirementConvertor.convertCapabilities(Mockito.any(Map.class), component, dataTypes)).thenReturn(capabilities);
1186 result = Deencapsulation.invoke(testSubject, "convertCapabilities", component, nodeType, dataTypes);