diff options
Diffstat (limited to 'catalog-be/src/test/java/org/openecomp/sdc/be/components/path/BaseForwardingPathTest.java')
-rw-r--r-- | catalog-be/src/test/java/org/openecomp/sdc/be/components/path/BaseForwardingPathTest.java | 208 |
1 files changed, 208 insertions, 0 deletions
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/components/path/BaseForwardingPathTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/components/path/BaseForwardingPathTest.java new file mode 100644 index 0000000000..44f87bb352 --- /dev/null +++ b/catalog-be/src/test/java/org/openecomp/sdc/be/components/path/BaseForwardingPathTest.java @@ -0,0 +1,208 @@ +package org.openecomp.sdc.be.components.path; + +import com.google.common.collect.Lists; +import fj.data.Either; +import org.junit.Before; +import org.openecomp.sdc.be.components.BeConfDependentTest; +import org.openecomp.sdc.be.components.impl.ComponentInstanceBusinessLogic; +import org.openecomp.sdc.be.components.impl.ServiceBusinessLogic; +import org.openecomp.sdc.be.components.path.beans.TitanGraphTestSetup; +import org.openecomp.sdc.be.components.path.utils.GraphTestUtils; +import org.openecomp.sdc.be.dao.api.ActionStatus; +import org.openecomp.sdc.be.dao.jsongraph.GraphVertex; +import org.openecomp.sdc.be.dao.jsongraph.TitanDao; +import org.openecomp.sdc.be.dao.jsongraph.types.VertexTypeEnum; +import org.openecomp.sdc.be.dao.titan.TitanGraphClient; +import org.openecomp.sdc.be.dao.titan.TitanOperationStatus; +import org.openecomp.sdc.be.datatypes.elements.ForwardingPathDataDefinition; +import org.openecomp.sdc.be.datatypes.elements.ForwardingPathElementDataDefinition; +import org.openecomp.sdc.be.datatypes.enums.GraphPropertyEnum; +import org.openecomp.sdc.be.datatypes.enums.JsonPresentationFields; +import org.openecomp.sdc.be.datatypes.enums.NodeTypeEnum; +import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum; +import org.openecomp.sdc.be.model.DistributionStatusEnum; +import org.openecomp.sdc.be.model.LifecycleStateEnum; +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.jsontitan.operations.ToscaOperationFacade; +import org.openecomp.sdc.be.model.operations.api.IElementOperation; +import org.openecomp.sdc.be.model.operations.impl.UniqueIdBuilder; +import org.openecomp.sdc.be.tosca.CapabiltyRequirementConvertor; +import org.openecomp.sdc.be.user.Role; +import org.openecomp.sdc.common.util.ValidationUtils; +import org.openecomp.sdc.exception.ResponseFormat; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +public class BaseForwardingPathTest extends BeConfDependentTest implements ForwardingPathTestUtils { + + protected User user; + protected ForwardingPathDataDefinition forwardingPathDataDefinition; + + @Autowired + protected TitanGraphClient titanGraphClient; + + @Autowired + protected CapabiltyRequirementConvertor capabiltyRequirementConvertor; + + @Autowired + protected ToscaOperationFacade toscaOperationFacade; + + @Autowired + protected ServiceBusinessLogic bl; + + @Autowired + protected IElementOperation elementDao; + + @Autowired + protected ComponentInstanceBusinessLogic componentInstanceBusinessLogic; + + @javax.annotation.Resource + protected TitanDao titanDao; + + @Before + public void initTitan() { + TitanGraphTestSetup.createGraph(titanGraphClient.getGraph().left().value()); + categoryDefinition = new CategoryDefinition(); + categoryDefinition.setName(CATEGORY_NAME); + } + + @Before + public void initUser() { + // User data and management + user = new User(); + user.setUserId("jh0003"); + user.setFirstName("Jimmi"); + user.setLastName("Hendrix"); + user.setRole(Role.ADMIN.name()); + } + + + protected CategoryDefinition categoryDefinition; + protected static final String GENERIC_SERVICE_NAME = "org.openecomp.resource.abstract.nodes.service"; + protected static final String CATEGORY_NAME = "cat_name"; + protected static final String FORWARDING_PATH_ID = "forwarding_pathId"; + protected static final String HTTP_PROTOCOL = "http"; + + + protected Resource setupGenericServiceMock() { + Resource genericService = new Resource(); + genericService.setVersion("1.0"); + genericService.setToscaResourceName(GENERIC_SERVICE_NAME); + return genericService; + } + + protected void initGraph() { + Map<GraphPropertyEnum, Object> props = new HashMap<>(); + props.put(GraphPropertyEnum.IS_HIGHEST_VERSION, true); + props.put(GraphPropertyEnum.STATE, LifecycleStateEnum.CERTIFIED.name()); + props.put(GraphPropertyEnum.TOSCA_RESOURCE_NAME, "org.openecomp.resource.abstract.nodes.service"); + + GraphTestUtils.createServiceVertex(titanDao, props); + + GraphVertex resourceVertex = GraphTestUtils.createResourceVertex(titanDao, props, ResourceTypeEnum.PNF); + resourceVertex.setJsonMetadataField(JsonPresentationFields.VERSION, "0.1"); + Either<GraphVertex, TitanOperationStatus> vertexTitanOperationStatusEither = titanDao.updateVertex(resourceVertex); + assertTrue(vertexTitanOperationStatusEither.isLeft()); + } + + protected Service createTestService() { + createCategory(); + createServiceCategory(CATEGORY_NAME); + initGraph(); + Service service = new Service(); + service.setName("ForwardingPathTestingService"); + service.setDescription("Just a comment."); + service.setTags(Lists.newArrayList(service.getName(), service.getComponentType().getValue() + service.getName() + "2")); + service.setContactId("as123y"); + service.setIcon("MyIcon"); + service.setProjectCode("414155"); + ArrayList<CategoryDefinition> categories = new ArrayList<>(); + CategoryDefinition cd = new CategoryDefinition(); + cd.setName(CATEGORY_NAME); + cd.setNormalizedName("abcde"); + categories.add(cd); + service.setCategories(categories); + service.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT); + service.setDistributionStatus(DistributionStatusEnum.DISTRIBUTION_APPROVED); + return service; + } + + protected void createCategory() { + Either<CategoryDefinition, ActionStatus> category = elementDao.createCategory(categoryDefinition, NodeTypeEnum.ServiceNewCategory); + assertTrue("Failed to create category", category.isLeft()); + } + + protected void createServiceCategory(String categoryName) { + GraphVertex cat = new GraphVertex(VertexTypeEnum.SERVICE_CATEGORY); + Map<GraphPropertyEnum, Object> metadataProperties = new HashMap<>(); + String catId = UniqueIdBuilder.buildComponentCategoryUid(categoryName, VertexTypeEnum.SERVICE_CATEGORY); + cat.setUniqueId(catId); + metadataProperties.put(GraphPropertyEnum.UNIQUE_ID, catId); + metadataProperties.put(GraphPropertyEnum.LABEL, VertexTypeEnum.SERVICE_CATEGORY.getName()); + metadataProperties.put(GraphPropertyEnum.NAME, categoryName); + metadataProperties.put(GraphPropertyEnum.NORMALIZED_NAME, ValidationUtils.normalizeCategoryName4Uniqueness(categoryName)); + cat.setMetadataProperties(metadataProperties); + cat.updateMetadataJsonWithCurrentMetadataProperties(); + + Either<GraphVertex, TitanOperationStatus> catRes = titanDao.createVertex(cat); + + assertTrue(catRes.isLeft()); + } + + protected Service initForwardPath() { + ForwardingPathDataDefinition forwardingPathDataDefinition = createMockPath(); + Service service = new Service(); + service.setUniqueId(FORWARDING_PATH_ID); + assertEquals(null, service.addForwardingPath(forwardingPathDataDefinition)); + return service; + } + + protected ForwardingPathDataDefinition createMockPath() { + if (forwardingPathDataDefinition != null) { + return forwardingPathDataDefinition; + } + forwardingPathDataDefinition = new ForwardingPathDataDefinition("Yoyo"); + forwardingPathDataDefinition.setUniqueId(java.util.UUID.randomUUID().toString()); + forwardingPathDataDefinition.setDestinationPortNumber("414155"); + forwardingPathDataDefinition.setProtocol(HTTP_PROTOCOL); + org.openecomp.sdc.be.datatypes.elements.ListDataDefinition<org.openecomp.sdc.be.datatypes.elements.ForwardingPathElementDataDefinition> forwardingPathElementDataDefinitionListDataDefinition = new org.openecomp.sdc.be.datatypes.elements.ListDataDefinition<>(); + forwardingPathElementDataDefinitionListDataDefinition.add(new ForwardingPathElementDataDefinition("fromNode", "toNode", "333", "444", "2222", "5555")); + forwardingPathElementDataDefinitionListDataDefinition.add(new ForwardingPathElementDataDefinition("toNode", "toNode2", "4444", "44444", "4", "44")); + forwardingPathDataDefinition.setPathElements(forwardingPathElementDataDefinitionListDataDefinition); + return forwardingPathDataDefinition; + } + + protected Service createService() { + Either<Service, ResponseFormat> serviceCreateResult = bl.createService(createTestService(), user); + assertTrue("Failed to create service", serviceCreateResult.isLeft()); + Service service = serviceCreateResult.left().value(); +// ComponentInstance componentInstance = new ComponentInstance(); +// componentInstance.setName("Test1"); +// componentInstance.setNormalizedName("Test1"); +// componentInstance.setUniqueId("Test1"); +// componentInstance.setInputValueCounter(1); +// componentInstance.setAttributeValueCounter(1); +// componentInstance.setIcon("network"); +// componentInstance.setComponentVersion("1.0"); +// componentInstance.setIsProxy(true); +// componentInstance.setComponentUid(service.getUniqueId()); +// componentInstance.setPropertyValueCounter(1); +// componentInstance.setPosX("333"); +// componentInstance.setPosY("333"); +// componentInstance.setOriginType(OriginTypeEnum.VF); +// +// Either<ComponentInstance, ResponseFormat> instanceResult = serviceComponentInstanceBusinessLogic.createComponentInstance("services", service.getUniqueId(), user.getUserId(), componentInstance); +// assertTrue("Failed to create instance", instanceResult.isLeft()); + return service; + } +} + |