diff options
Diffstat (limited to 'catalog-be/src/test/java/org/openecomp/sdc/be/components/ComponentBusinessLogicTest.java')
-rw-r--r-- | catalog-be/src/test/java/org/openecomp/sdc/be/components/ComponentBusinessLogicTest.java | 130 |
1 files changed, 119 insertions, 11 deletions
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/components/ComponentBusinessLogicTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/components/ComponentBusinessLogicTest.java index 5f72b0a65b..125c5f6f20 100644 --- a/catalog-be/src/test/java/org/openecomp/sdc/be/components/ComponentBusinessLogicTest.java +++ b/catalog-be/src/test/java/org/openecomp/sdc/be/components/ComponentBusinessLogicTest.java @@ -23,34 +23,37 @@ package org.openecomp.sdc.be.components; import fj.data.Either; -import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.InjectMocks; -import org.mockito.Mock; import org.mockito.junit.MockitoJUnitRunner; import org.openecomp.sdc.be.DummyConfigurationManager; -import org.openecomp.sdc.be.components.impl.ArtifactsBusinessLogic; import org.openecomp.sdc.be.components.impl.ComponentBusinessLogic; import org.openecomp.sdc.be.components.impl.ComponentInstanceBusinessLogic; import org.openecomp.sdc.be.components.utils.ComponentBusinessLogicMock; import org.openecomp.sdc.be.components.utils.ResourceBuilder; -import org.openecomp.sdc.be.config.ConfigurationManager; import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum; import org.openecomp.sdc.be.model.ArtifactDefinition; +import org.openecomp.sdc.be.model.Component; import org.openecomp.sdc.be.model.ComponentInstance; import org.openecomp.sdc.be.model.Resource; +import org.openecomp.sdc.be.model.Service; import org.openecomp.sdc.be.model.User; +import org.openecomp.sdc.be.model.category.CategoryDefinition; +import org.openecomp.sdc.be.model.category.SubCategoryDefinition; import org.openecomp.sdc.be.ui.model.UiComponentDataTransfer; +import org.openecomp.sdc.be.ui.model.UiLeftPaletteComponent; import org.openecomp.sdc.common.api.ArtifactGroupTypeEnum; import org.openecomp.sdc.exception.ResponseFormat; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.when; +import static org.openecomp.sdc.be.components.impl.utils.TestGenerationUtils.getComponentsUtils; +import static org.openecomp.sdc.common.util.GeneralUtility.getCategorizedComponents; @RunWith(MockitoJUnitRunner.class) public class ComponentBusinessLogicTest extends ComponentBusinessLogicMock { @@ -61,7 +64,8 @@ public class ComponentBusinessLogicTest extends ComponentBusinessLogicMock { private ComponentBusinessLogic testInstance = new ComponentBusinessLogic(elementDao, groupOperation, groupInstanceOperation, groupTypeOperation, groupBusinessLogic, interfaceOperation, interfaceLifecycleTypeOperation, artifactsBusinessLogic, - artifactToscaOperation) { + artifactToscaOperation,componentContactIdValidator, componentNameValidator, componentTagsValidator, componentValidator, + componentIconValidator, componentProjectCodeValidator, componentDescriptionValidator) { @Override public Either<List<String>, ResponseFormat> deleteMarkedComponents() { return null; @@ -83,10 +87,8 @@ public class ComponentBusinessLogicTest extends ComponentBusinessLogicMock { } }; - @BeforeClass - public static void setUp() throws Exception { - new DummyConfigurationManager(); - } + + DummyConfigurationManager dummyConfigurationManager = new DummyConfigurationManager();; @SuppressWarnings("unchecked") @Test @@ -98,7 +100,7 @@ public class ComponentBusinessLogicTest extends ComponentBusinessLogicMock { Map<String, Object> artifactsFromConfig = new HashMap<>(); artifactsFromConfig.put(ARTIFACT_LABEL, buildArtifactMap("artifact:not normalized.yml")); artifactsFromConfig.put(ARTIFACT_LABEL2, buildArtifactMap("alreadyNormalized.csar")); - when(ConfigurationManager.getConfigurationManager().getConfiguration().getToscaArtifacts()).thenReturn(artifactsFromConfig); + when(dummyConfigurationManager.getConfigurationMock().getToscaArtifacts()).thenReturn(artifactsFromConfig); when(artifactsBusinessLogic.createArtifactPlaceHolderInfo(resource.getUniqueId(), ARTIFACT_LABEL, (Map<String, Object>) artifactsFromConfig.get(ARTIFACT_LABEL), USER, ArtifactGroupTypeEnum.TOSCA)) .thenReturn(buildArtifactDef(ARTIFACT_LABEL)); when(artifactsBusinessLogic.createArtifactPlaceHolderInfo(resource.getUniqueId(), ARTIFACT_LABEL2, (Map<String, Object>) artifactsFromConfig.get(ARTIFACT_LABEL2), USER, ArtifactGroupTypeEnum.TOSCA)) @@ -124,4 +126,110 @@ public class ComponentBusinessLogicTest extends ComponentBusinessLogicMock { artifactDefinition.setArtifactLabel(artifactLabel); return artifactDefinition; } + + @Test + public void categorizeOneResource(){ + List<Component> componentList = new ArrayList<>(); + String subCategoryName = "Load Balancer"; + String categoryName = "Application L4+"; + Component component = initComponent(ComponentTypeEnum.RESOURCE, subCategoryName, categoryName); + componentList.add(component); + Map<String,Map<String,List<UiLeftPaletteComponent>>> response = getCategorizedComponents(getComponentsUtils().convertComponentToUiLeftPaletteComponentObject(componentList)); + assertThat(response.get(categoryName).get(subCategoryName).size()).isEqualTo(1); + } + + @Test + public void categorizeResourcesSameCategoryDifferentSubcategory(){ + List<Component> componentList = new ArrayList<>(); + String categoryName = "Application L4+"; + String subCategoryName = "Load Balancer"; + Component component = initComponent(ComponentTypeEnum.RESOURCE, subCategoryName, categoryName); + componentList.add(component); + String subCategoryName2 = "Database"; + Component component2 = initComponent(ComponentTypeEnum.RESOURCE, subCategoryName2, categoryName); + componentList.add(component2); + Map<String,Map<String,List<UiLeftPaletteComponent>>> response = getCategorizedComponents(getComponentsUtils().convertComponentToUiLeftPaletteComponentObject(componentList)); + assertThat(response.get(categoryName).get(subCategoryName).size()).isEqualTo(1); + assertThat(response.get(categoryName).get(subCategoryName2).size()).isEqualTo(1); + } + + @Test + public void categorizeResourceAndServiceSameCategoryDifferentSubcategory(){ + List<Component> componentList = new ArrayList<>(); + String categoryName = "Generic"; + String subCategoryName = "Load Balancer"; + Component component = initComponent(ComponentTypeEnum.RESOURCE, subCategoryName, categoryName); + componentList.add(component); + Component component2 = initComponent(ComponentTypeEnum.SERVICE, null, categoryName); + componentList.add(component2); + Map<String,Map<String,List<UiLeftPaletteComponent>>> response = getCategorizedComponents(getComponentsUtils().convertComponentToUiLeftPaletteComponentObject(componentList)); + assertThat(response.get(categoryName).get(subCategoryName).size()).isEqualTo(1); + assertThat(response.get("Generic").get("Generic").size()).isEqualTo(1); + } + + @Test + public void categorizeResourcesSameCategorySameSubcategory(){ + List<Component> componentList = new ArrayList<>(); + String categoryName = "Application L4+"; + String subCategoryName = "Load Balancer"; + Component component = initComponent(ComponentTypeEnum.RESOURCE, subCategoryName, categoryName); + componentList.add(component); + componentList.add(component); + Map<String,Map<String,List<UiLeftPaletteComponent>>> response = getCategorizedComponents(getComponentsUtils().convertComponentToUiLeftPaletteComponentObject(componentList)); + assertThat(response.get(categoryName).get(subCategoryName).size()).isEqualTo(2); + } + + @Test + public void categorizeTwoServices(){ + List<Component> componentList = new ArrayList<>(); + String categoryName = "Application L4+"; + String categoryName2 = "IP Mux Demux"; + Component component = initComponent(ComponentTypeEnum.SERVICE, null, categoryName); + componentList.add(component); + Component component2 = initComponent(ComponentTypeEnum.SERVICE, null, categoryName2); + componentList.add(component2); + Map<String,Map<String,List<UiLeftPaletteComponent>>> response = getCategorizedComponents(getComponentsUtils().convertComponentToUiLeftPaletteComponentObject(componentList)); + assertThat(response.get("Generic").get("Generic").size()).isEqualTo(2); + } + + @Test + public void categorizeTwoResourcesDiffCategory(){ + List<Component> componentList = new ArrayList<>(); + String categoryName = "Application L4+"; + String categoryName2 = "IP Mux Demux"; + String subCategoryName = "Load Balancer"; + Component component = initComponent(ComponentTypeEnum.RESOURCE, subCategoryName, categoryName); + componentList.add(component); + Component component2 = initComponent(ComponentTypeEnum.RESOURCE, subCategoryName, categoryName2); + componentList.add(component2); + Map<String,Map<String,List<UiLeftPaletteComponent>>> response = getCategorizedComponents(getComponentsUtils().convertComponentToUiLeftPaletteComponentObject(componentList)); + assertThat(response.get(categoryName).get(subCategoryName).size()).isEqualTo(1); + assertThat(response.get(categoryName2).get(subCategoryName).size()).isEqualTo(1); + } + + private Component initComponent(ComponentTypeEnum componentTypeEnum, String subCategoryName, String categoryName) { + Component component = null; + if(componentTypeEnum == ComponentTypeEnum.RESOURCE){ + component = new Resource(); + } + if(componentTypeEnum == ComponentTypeEnum.SERVICE){ + component = new Service(); + } + component.setComponentType(componentTypeEnum); + CategoryDefinition categoryDefinition = new CategoryDefinition(); + SubCategoryDefinition subCategoryDefinition = new SubCategoryDefinition(); + subCategoryDefinition.setName(subCategoryName); + List<SubCategoryDefinition> subCategoryDefinitionList = new ArrayList<>(); + subCategoryDefinitionList.add(subCategoryDefinition); + categoryDefinition.setSubcategories(subCategoryDefinitionList); + categoryDefinition.setName(categoryName); + List<CategoryDefinition> categoryDefinitionList = new ArrayList<>(); + categoryDefinitionList.add(categoryDefinition); + component.setCategories(categoryDefinitionList); + List<String> tags = new ArrayList<>(); + tags.add("tag1"); + tags.add("tag2"); + component.setTags(tags); + return component; + } } |