Catalog alignment
[sdc.git] / catalog-be / src / test / java / org / openecomp / sdc / be / tosca / CapabilityRequirementConverterTest.java
index ec06c86..5d6c982 100644 (file)
 
 package org.openecomp.sdc.be.tosca;
 
-import java.util.Iterator;
 
-import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
-import org.mockito.InjectMocks;
-import org.mockito.Mock;
 import org.mockito.Mockito;
 import org.mockito.MockitoAnnotations;
-import org.openecomp.sdc.be.datatypes.elements.RequirementDataDefinition;
 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
 import org.openecomp.sdc.be.model.CapabilityDefinition;
 import org.openecomp.sdc.be.model.Component;
 import org.openecomp.sdc.be.model.ComponentInstance;
 import org.openecomp.sdc.be.model.ComponentInstanceProperty;
-import org.openecomp.sdc.be.model.ComponentParametersView;
-import org.openecomp.sdc.be.model.DataTypeDefinition;
-import org.openecomp.sdc.be.model.RequirementDefinition;
 import org.openecomp.sdc.be.model.Resource;
-import org.openecomp.sdc.be.model.jsonjanusgraph.operations.ToscaOperationFacade;
-import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
-import org.openecomp.sdc.be.tosca.model.SubstitutionMapping;
-import org.openecomp.sdc.be.tosca.model.ToscaNodeTemplate;
-import org.openecomp.sdc.be.tosca.model.ToscaNodeType;
-import org.openecomp.sdc.be.tosca.model.ToscaTemplateCapability;
 
-
-import fj.data.Either;
-import mockit.Deencapsulation;
-import org.openecomp.sdc.be.tosca.model.ToscaRequirement;
-
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 import static java.util.Arrays.asList;
@@ -56,18 +42,12 @@ import static org.mockito.Mockito.doReturn;
 
 public class CapabilityRequirementConverterTest {
 
-       @InjectMocks
-       CapabilityRequirementConverter testSubject;
-
-       @Mock
-       ToscaOperationFacade toscaOperationFacade;
-
-       CapabilityRequirementConverter capabiltyRequirementConvertor = Mockito.spy(new CapabilityRequirementConverter());
-       ComponentInstance instanceProxy = Mockito.spy(new ComponentInstance());
-       ComponentInstance vfInstance = Mockito.spy(new ComponentInstance());
-       Component vfComponent = Mockito.spy(new Resource());
-       ComponentInstance vfcInstance = Mockito.spy(new ComponentInstance());
-       Component vfcComponent = Mockito.spy(new Resource());
+    CapabilityRequirementConverter capabiltyRequirementConvertor =  Mockito.spy(new CapabilityRequirementConverter());
+    ComponentInstance instanceProxy  =  Mockito.spy( new ComponentInstance() );
+    ComponentInstance vfInstance  =  Mockito.spy( new ComponentInstance() );
+    Component vfComponent =  Mockito.spy( new Resource() );
+    ComponentInstance vfcInstance  =  Mockito.spy( new ComponentInstance() );
+    Component vfcComponent  =  Mockito.spy( new Resource() );
 
        @Before
        public void setUpMock() throws Exception {
@@ -79,377 +59,6 @@ public class CapabilityRequirementConverterTest {
                CapabilityRequirementConverter.getInstance();
        }
 
-       @Test
-       public void testConvertComponentInstanceCapabilties() {
-               Map<String, List<CapabilityDefinition>> capabilities = newCapabilities("port");
-               vfInstance.setCapabilities(capabilities);
-               ToscaNodeTemplate nodeTemplate = new ToscaNodeTemplate();
-               Map<String, DataTypeDefinition> testDataTypes = new HashMap<String, DataTypeDefinition>();
-
-               capabilities.get("att.Node").clear();
-               testSubject.convertComponentInstanceCapabilities(vfInstance, testDataTypes, nodeTemplate);
-
-               capabilities = newCapabilities("port");
-               vfInstance.setCapabilities(capabilities);
-               vfInstance.setComponentUid("uid");
-
-               Mockito.when(toscaOperationFacade.getToscaElement(Mockito.any(String.class),
-                               Mockito.any(ComponentParametersView.class)))
-                               .thenReturn(Either.right(StorageOperationStatus.BAD_REQUEST));
-
-               testSubject.convertComponentInstanceCapabilities(vfInstance, testDataTypes, nodeTemplate);
-
-       }
-
-       @Test
-       public void testConvertComponentInstanceCapabilties_1() {
-               Map<String, List<CapabilityDefinition>> capabilities = newCapabilities("port");
-               ToscaNodeTemplate nodeTemplate = new ToscaNodeTemplate();
-               Map<String, DataTypeDefinition> testDataTypes = new HashMap<String, DataTypeDefinition>();
-
-               vfInstance.setComponentUid("uid");
-
-               vfInstance.setCapabilities(capabilities);
-
-               Mockito.when(toscaOperationFacade.getToscaElement(Mockito.any(String.class),
-                               Mockito.any(ComponentParametersView.class)))
-                               .thenReturn(Either.right(StorageOperationStatus.BAD_REQUEST));
-
-               testSubject.convertComponentInstanceCapabilities(vfInstance, testDataTypes, nodeTemplate);
-
-       }
-
-
-
-       @Test
-       public void testConvertSubstitutionMappingRequirements() {
-               Map<String, Component> componentsCache = new HashMap<>();
-               SubstitutionMapping substitution = new SubstitutionMapping();
-               Map<String, List<RequirementDefinition>> requirementsMap = new HashMap<String, List<RequirementDefinition>>();
-               List<RequirementDefinition> requirementsArray = new ArrayList<RequirementDefinition>();
-               RequirementDefinition definition = new RequirementDefinition();
-               definition.setOwnerId("id");
-               definition.setName("name");
-               definition.setParentName("parentName");
-               List<String> path = new ArrayList<>();
-               path.add("path1");
-               path.add("path2");
-               definition.setPath(path);
-               requirementsArray.add(definition);
-               requirementsMap.put("key", requirementsArray);
-               List<ComponentInstance> instances = new ArrayList<>();
-               ComponentInstance instance = new ComponentInstance();
-               instance.setUniqueId("uid");
-               instances.add(instance);
-               vfComponent.setRequirements(requirementsMap);
-               vfComponent.setComponentInstances(instances);
-
-               testSubject.convertSubstitutionMappingRequirements(componentsCache, vfComponent, substitution);
-       }
-
-       @Test
-       public void testConvertSubstitutionMappingRequirements_1() {
-               Map<String, Component> componentsCache = new HashMap<>();
-               SubstitutionMapping substitution = new SubstitutionMapping();
-               Map<String, List<RequirementDefinition>> requirementsMap = new HashMap<String, List<RequirementDefinition>>();
-               List<RequirementDefinition> requirementsArray = new ArrayList<RequirementDefinition>();
-               RequirementDefinition definition = new RequirementDefinition();
-               definition.setName("name");
-               definition.setParentName("parentName");
-               List<String> path = new ArrayList<>();
-               path.add("path1.");
-               path.add("id");
-               definition.setPath(path);
-               requirementsArray.add(definition);
-               requirementsMap.put("key", requirementsArray);
-               List<ComponentInstance> instances = new ArrayList<>();
-               ComponentInstance instance = new ComponentInstance();
-               instance.setUniqueId("id");
-               instance.setComponentUid("id");
-               instances.add(instance);
-               vfComponent.setRequirements(requirementsMap);
-               vfComponent.setComponentInstances(instances);
-
-               Mockito.when(toscaOperationFacade.getToscaElement(Mockito.any(String.class),
-                               Mockito.any(ComponentParametersView.class))).thenReturn(Either.left(vfcComponent));
-
-               testSubject.convertSubstitutionMappingRequirements(componentsCache, vfComponent, substitution);
-       }
-
-       @Test
-       public void testConvertSubstitutionMappingRequirementsAsMap() {
-               Map<String, Component> componentsCache = new HashMap<>();
-               vfComponent.setRequirements(null);
-
-               Deencapsulation.invoke(testSubject, "convertSubstitutionMappingRequirementsAsMap", componentsCache,
-                               vfComponent);
-       }
-
-       @Test
-       public void testBuildAddSubstitutionMappingsRequirements() {
-               Map<String, Component> componentsCache = new HashMap<>();
-               Map<String, List<RequirementDefinition>> requirementsMap = new HashMap<String, List<RequirementDefinition>>();
-               List<RequirementDefinition> requirementsArray = new ArrayList<RequirementDefinition>();
-               RequirementDefinition definition = new RequirementDefinition();
-               definition.setOwnerId("id");
-               definition.setName("name");
-               definition.setParentName("parentName");
-               List<String> path = new ArrayList<>();
-               path.add("path1");
-               path.add("path2");
-               definition.setPath(path);
-               requirementsArray.add(definition);
-               requirementsMap.put("key", requirementsArray);
-               vfComponent.setRequirements(requirementsMap);
-               List<ComponentInstance> componentInstances = new ArrayList<>();
-               ComponentInstance instance = new ComponentInstance();
-               instance.setUniqueId("id");
-               componentInstances.add(instance);
-
-               vfComponent.setComponentInstances(componentInstances);
-
-               Deencapsulation.invoke(testSubject, "buildAddSubstitutionMappingsRequirements", componentsCache, vfComponent,
-                               requirementsMap);
-       }
-
-       @Test
-       public void testBuildAddSubstitutionMappingsCapabilities() {
-               Map<String, Component> componentsCache = new HashMap<>();
-               Map<String, List<CapabilityDefinition>> capabilities = new HashMap<>();
-
-               Deencapsulation.invoke(testSubject, "buildAddSubstitutionMappingsCapabilities", componentsCache, vfComponent,
-                               capabilities);
-       }
-
-       @Test
-       public void testBuildAddSubstitutionMappingsCapabilities_1() {
-               Map<String, Component> componentsCache = new HashMap<>();
-               Map<String, List<CapabilityDefinition>> capabilitiesMap = new HashMap<String, List<CapabilityDefinition>>();
-               List<CapabilityDefinition> capabilitiesArray = new ArrayList<CapabilityDefinition>();
-               CapabilityDefinition definition = new CapabilityDefinition();
-               definition.setOwnerId("id");
-               definition.setName("name");
-               definition.setParentName("parentName");
-               List<String> path = new ArrayList<>();
-               path.add("path1");
-               path.add("path2");
-               definition.setPath(path);
-               capabilitiesArray.add(definition);
-               capabilitiesMap.put("key", capabilitiesArray);
-               vfComponent.setCapabilities(capabilitiesMap);
-               List<ComponentInstance> componentInstances = new ArrayList<>();
-               ComponentInstance instance = new ComponentInstance();
-               instance.setUniqueId("id");
-               componentInstances.add(instance);
-
-               vfComponent.setComponentInstances(componentInstances);
-
-               Deencapsulation.invoke(testSubject, "buildAddSubstitutionMappingsCapabilities", componentsCache, vfComponent,
-                               capabilitiesMap);
-       }
-
-       @Test
-       public void testConvertProxyCapabilities() {
-               Map<String, Component> componentsCache = new HashMap<>();
-               Map<String, DataTypeDefinition> dataTypes = new HashMap<>();
-
-               List<ComponentInstance> componentInstances = new ArrayList<>();
-               ComponentInstance instance = new ComponentInstance();
-               instance.setUniqueId("id");
-               componentInstances.add(instance);
-
-               vfComponent.setComponentInstances(componentInstances);
-
-               testSubject.convertProxyCapabilities(componentsCache, instance, dataTypes);
-       }
-
-       @Test
-       public void testConvertProxyRequirementsNoRequirements() {
-               Map<String, Component> componentsCache = new HashMap<>();
-
-               List<ComponentInstance> componentInstances = new ArrayList<>();
-               ComponentInstance instance = new ComponentInstance();
-               instance.setUniqueId("id");
-               instance.setComponentUid("componentUid");
-               componentInstances.add(instance);
-
-               vfComponent.setComponentInstances(componentInstances);
-
-               Mockito.when(toscaOperationFacade.getToscaElement(Mockito.any(String.class),
-                               Mockito.any(ComponentParametersView.class)))
-                               .thenReturn(Either.right(StorageOperationStatus.BAD_REQUEST));
-
-               List<Map<String, ToscaRequirement>> proxyRequirements =
-                               testSubject.convertProxyRequirements(componentsCache, instance);
-               Assert.assertEquals(0, proxyRequirements.size());
-       }
-
-       @Test
-       public void testConvertProxyRequirementsNotSubstitutedName() {
-               Map<String, Component> componentsCache = new HashMap<>();
-               RequirementDefinition r = new RequirementDefinition();
-               r.setName("port0.dependency");
-               r.setPreviousName("dependency");
-               r.setCapability("tosca.capabilities.Node");
-               r.setNode("tosca.nodes.Root");
-               r.setRelationship("tosca.relationships.DependsOn");
-               r.setMinOccurrences(RequirementDataDefinition.MIN_OCCURRENCES);
-               r.setMaxOccurrences(RequirementDataDefinition.MAX_OCCURRENCES);
-               r.setOwnerId("id");
-               r.setParentName("parentName");
-
-               Map<String, List<RequirementDefinition>> requirements = new HashMap<>();
-               List<RequirementDefinition> requirementDefinitions = new ArrayList<>();
-               requirementDefinitions.add(r);
-               requirements.put("dependency", requirementDefinitions);
-
-               List<ComponentInstance> componentInstances = new ArrayList<>();
-               ComponentInstance instance = new ComponentInstance();
-               instance.setUniqueId("id");
-               instance.setComponentUid("componentUid");
-               instance.setRequirements(requirements);
-               instance.setNormalizedName("port0");
-               componentInstances.add(instance);
-
-               vfComponent.setComponentInstances(componentInstances);
-
-               Mockito.when(toscaOperationFacade.getToscaElement(Mockito.any(String.class),
-                               Mockito.any(ComponentParametersView.class)))
-                               .thenReturn(Either.right(StorageOperationStatus.BAD_REQUEST));
-
-               List<Map<String, ToscaRequirement>> proxyRequirements =
-                               testSubject.convertProxyRequirements(componentsCache, instance);
-               Map<String, ToscaRequirement> proxyRequirement = proxyRequirements.get(0);
-               Assert.assertEquals("dependency", proxyRequirement.keySet().iterator().next());
-       }
-
-       @Test
-       public void testConvertProxyRequirementsSubstitutedName() {
-               Map<String, Component> componentsCache = new HashMap<>();
-               RequirementDefinition r = new RequirementDefinition();
-               r.setName("dependency");
-               r.setPreviousName("dependency");
-               r.setCapability("tosca.capabilities.Node");
-               r.setNode("tosca.nodes.Root");
-               r.setRelationship("tosca.relationships.DependsOn");
-               r.setMinOccurrences(RequirementDataDefinition.MIN_OCCURRENCES);
-               r.setMaxOccurrences(RequirementDataDefinition.MAX_OCCURRENCES);
-               r.setOwnerId("id");
-               r.setParentName("parentName");
-
-               Map<String, List<RequirementDefinition>> requirements = new HashMap<>();
-               List<RequirementDefinition> requirementDefinitions = new ArrayList<>();
-               requirementDefinitions.add(r);
-               requirements.put("dependency", requirementDefinitions);
-
-               List<ComponentInstance> componentInstances = new ArrayList<>();
-               ComponentInstance instance = new ComponentInstance();
-               instance.setUniqueId("id");
-               instance.setComponentUid("componentUid");
-               instance.setRequirements(requirements);
-               instance.setNormalizedName("port0");
-               componentInstances.add(instance);
-
-               vfComponent.setComponentInstances(componentInstances);
-
-               Mockito.when(toscaOperationFacade.getToscaElement(Mockito.any(String.class),
-                               Mockito.any(ComponentParametersView.class)))
-                               .thenReturn(Either.right(StorageOperationStatus.BAD_REQUEST));
-
-               testSubject.convertProxyRequirements(componentsCache, instance);
-       }
-
-       @Test
-       public void testConvertProxyCapabilitiesWhenCapabilitiesNotNull() {
-               Map<String, Component> componentsCache = new HashMap<>();
-               Map<String, DataTypeDefinition> dataTypes = new HashMap<>();
-
-               List<ComponentInstance> componentInstances = new ArrayList<>();
-               ComponentInstance instance = new ComponentInstance();
-               instance.setUniqueId("id");
-               componentInstances.add(instance);
-
-               vfComponent.setComponentInstances(componentInstances);
-
-               Map<String, List<CapabilityDefinition>> capabilitiesMap = new HashMap<String, List<CapabilityDefinition>>();
-               List<CapabilityDefinition> capabilitiesArray = new ArrayList<CapabilityDefinition>();
-               CapabilityDefinition definition = new CapabilityDefinition();
-               definition.setOwnerId("id");
-               capabilitiesArray.add(definition);
-               capabilitiesMap.put("key", capabilitiesArray);
-               vfComponent.setUniqueId("id");
-
-               instance.setCapabilities(capabilitiesMap);
-               instance.setComponentUid("uid");
-
-               Mockito.when(toscaOperationFacade.getToscaElement(Mockito.any(String.class),
-                               Mockito.any(ComponentParametersView.class)))
-                               .thenReturn(Either.right(StorageOperationStatus.BAD_REQUEST));
-
-               testSubject.convertProxyCapabilities(componentsCache, instance, dataTypes);
-       }
-
-       @Test
-       public void testConvertSubstitutionMappingCapabilities() {
-               Map<String, Component> componentsCache = new HashMap<>();
-
-               testSubject.convertSubstitutionMappingCapabilities(componentsCache, vfComponent);
-
-               Map<String, List<CapabilityDefinition>> capabilitiesMap = new HashMap<String, List<CapabilityDefinition>>();
-               List<CapabilityDefinition> capabilitiesArray = new ArrayList<CapabilityDefinition>();
-               CapabilityDefinition definition = new CapabilityDefinition();
-               definition.setOwnerId("id");
-               definition.setName("name");
-               definition.setParentName("parentName");
-               List<String> path = new ArrayList<>();
-               path.add("path1");
-               path.add("id");
-               definition.setPath(path);
-               capabilitiesArray.add(definition);
-               capabilitiesMap.put("key", capabilitiesArray);
-               vfComponent.setCapabilities(capabilitiesMap);
-
-               List<ComponentInstance> instances = new ArrayList<>();
-               ComponentInstance instance = new ComponentInstance();
-               instance.setUniqueId("uid");
-               instances.add(instance);
-               vfComponent.setComponentInstances(instances);
-
-               testSubject.convertSubstitutionMappingCapabilities(componentsCache, vfComponent);
-       }
-
-
-       @Test
-       public void testAppendNameRecursively() {
-               Map<String, Component> componentsCache = new HashMap<>();
-               StringBuilder builder = new StringBuilder();
-               List<String> path = new ArrayList<>();
-
-               path.add("id");
-               Iterator<String> iter = path.iterator();
-               List<ComponentInstance> resourceInstances = new ArrayList<>();
-               ComponentInstance instance = new ComponentInstance();
-               instance.setUniqueId("id");
-               instance.setComponentUid("uid");
-               resourceInstances.add(instance);
-               vfComponent.setComponentInstances(resourceInstances);
-
-               Mockito.when(toscaOperationFacade.getToscaElement(Mockito.any(String.class),
-                               Mockito.any(ComponentParametersView.class)))
-                               .thenReturn(Either.right(StorageOperationStatus.BAD_REQUEST));
-
-               Deencapsulation.invoke(testSubject, "appendNameRecursively", componentsCache, vfComponent, iter, builder);
-
-       }
-
-       @Test
-       public void testGetFilter() {
-               ComponentInstance instance = new ComponentInstance();
-               instance.setIsProxy(true);
-
-               Deencapsulation.invoke(testSubject, "getFilter", instance);
-       }
-
        @Test
        public void testGetReducedPathByOwner() throws Exception {
                List<String> pathList = new ArrayList<>();
@@ -465,7 +74,7 @@ public class CapabilityRequirementConverterTest {
                pathList.add("5f172af9-1588-443e-8897-1432b19aad8c.2cb7514a-1e50-4280-8457-baacb97b50bf.vepdgtp4837vf0");
                pathList.add("86ae128e-3d0a-41f7-a957-db1df9fe598c.9cc8f8ac-6869-4dd6-a6e1-74ecb9570dc4.vepdgtp4837svc_proxy0");
 
-        List<String> reducedMap = new CapabilityRequirementConverter().getReducedPathByOwner( pathList , uniqueId );
+               List<String> reducedMap = new CapabilityRequirementConverter().getReducedPathByOwner( pathList , uniqueId );
 
                assertThat(reducedMap).isNotNull().doesNotContain(exerpt).containsOnlyOnce(duplicate).hasSize(4);
 
@@ -559,4 +168,24 @@ public class CapabilityRequirementConverterTest {
                        assertThat(name).isEqualTo("vepdgtp4837vf0.lb_1." + capabilityDefinition.getName());
                });
        }
+       @Test
+       public void getReducedPathByOwner() throws Exception {
+               List<String> pathList = new ArrayList<>();
+               String uniqueId = "41d3a665-1313-4b5e-9bf0-e901ecf4b806.a77df84e-83eb-4edc-9823-d1f9f6549693.lb_2";
+
+               String exerpt = "41d3a665-1313-4b5e-9bf0-e901ecf4b806.a77df84e-83eb-4edc-9823-d1f9f6549693.lb_1";
+               String duplicate = "a77df84e-83eb-4edc-9823-d1f9f6549693.c79e9a4a-b172-4323-a2e2-1c48d6603241.lb_swu_direct_4_rvmi";
+               pathList.add(exerpt);
+               pathList.add(duplicate);
+               pathList.add(duplicate);
+               pathList.add(uniqueId);
+
+               pathList.add("5f172af9-1588-443e-8897-1432b19aad8c.2cb7514a-1e50-4280-8457-baacb97b50bf.vepdgtp4837vf0");
+               pathList.add("86ae128e-3d0a-41f7-a957-db1df9fe598c.9cc8f8ac-6869-4dd6-a6e1-74ecb9570dc4.vepdgtp4837svc_proxy0");
+
+               List<String> reducedMap = new CapabilityRequirementConverter().getReducedPathByOwner( pathList , uniqueId );
+
+               assertThat( reducedMap ).isNotNull().doesNotContain(exerpt).containsOnlyOnce(duplicate).hasSize(4);
+       }
+
 }