Centralize TOSCA function validation
[sdc.git] / catalog-be / src / test / java / org / openecomp / sdc / be / components / impl / GroupBusinessLogicTest.java
index dfb94ae..141aae7 100644 (file)
@@ -31,6 +31,7 @@ package org.openecomp.sdc.be.components.impl;
 
 import static java.util.Arrays.asList;
 import static org.assertj.core.api.Assertions.assertThat;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyList;
@@ -60,8 +61,9 @@ import org.openecomp.sdc.be.components.validation.AccessValidations;
 import org.openecomp.sdc.be.config.Configuration;
 import org.openecomp.sdc.be.config.ConfigurationManager;
 import org.openecomp.sdc.be.dao.api.ActionStatus;
-import org.openecomp.sdc.be.dao.janusgraph.JanusGraphOperationStatus;
 import org.openecomp.sdc.be.dao.janusgraph.JanusGraphDao;
+import org.openecomp.sdc.be.dao.janusgraph.JanusGraphOperationStatus;
+import org.openecomp.sdc.be.dao.jsongraph.types.JsonParseFlagEnum;
 import org.openecomp.sdc.be.datatypes.elements.PropertyDataDefinition;
 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
 import org.openecomp.sdc.be.impl.ComponentsUtils;
@@ -174,7 +176,6 @@ class GroupBusinessLogicTest {
 
     @Test
     void testValidAndUpdateGrpInstancePropValues_fail() {
-        Either<GroupInstance, ResponseFormat> result;
         String componentId = "id";
         String instanceId = "id";
         GroupInstance oldGroupInstance = new GroupInstance();
@@ -182,11 +183,10 @@ class GroupBusinessLogicTest {
         List<PropertyDataDefinition> properties = new LinkedList<>();
         properties.add(new PropertyDataDefinition());
         oldGroupInstance.setProperties(properties);
-        try {
-            result = test.validateAndUpdateGroupInstancePropertyValues(componentId, instanceId, oldGroupInstance, newProperties);
-        } catch (ComponentException e) {
-            assertThat(e.getActionStatus()).isEqualTo(ActionStatus.GENERAL_ERROR);
-        }
+        when(toscaOperationFacade.getToscaElement(componentId, JsonParseFlagEnum.ParseAll)).thenReturn(Either.left(new Resource()));
+        final ComponentException actualException = assertThrows(ComponentException.class,
+            () -> test.validateAndUpdateGroupInstancePropertyValues(componentId, instanceId, oldGroupInstance, newProperties));
+        assertEquals(ActionStatus.GENERAL_ERROR, actualException.getActionStatus());
     }
 
     @Test
@@ -367,4 +367,63 @@ class GroupBusinessLogicTest {
         Assertions.assertEquals("ArtTmpInfoName1", allGroups.get(0).getGroupName());
         Assertions.assertEquals(expectedResponse.getStatus(), result.right().value().getStatus());
     }
+
+    @Test
+    void testGetNextVfModuleNameCounter_groupNull() {
+
+        final int resultCollection = test.getNextVfModuleNameCounter((Collection <GroupDefinition>) null);
+        final int resultMap = test.getNextVfModuleNameCounter((Map<String, GroupDefinition>) null);
+
+        Assertions.assertEquals(0, resultCollection);
+        Assertions.assertEquals(0, resultMap);
+    }
+
+    @Test
+    void testGetNextVfModuleNameCounter_groupEmpty() {
+
+        final int resultCollection = test.getNextVfModuleNameCounter(new ArrayList<>());
+        final int resultMap = test.getNextVfModuleNameCounter(new HashMap<>());
+
+        Assertions.assertEquals(0, resultCollection);
+        Assertions.assertEquals(0, resultMap);
+    }
+
+    @Test
+    void testGetNextVfModuleNameCounter_takesCollectionPass() {
+
+        final Collection<GroupDefinition> group = new ArrayList<>();
+        final GroupDefinition groupDefinition1 = new GroupDefinition();
+        final GroupDefinition groupDefinition2 = new GroupDefinition();
+        final GroupDefinition groupDefinition3 = new GroupDefinition();
+        groupDefinition1.setName("resourceSystemName..ArtTmpInfoDesc1..module-0");
+        groupDefinition2.setName("resourceSystemName..ArtTmpInfoDesc1..module-9");
+        groupDefinition3.setName("resourceSystemName..ArtTmpInfoDesc2..module-1");
+        group.add(groupDefinition1);
+        group.add(groupDefinition2);
+        group.add(groupDefinition3);
+
+        final int result = test.getNextVfModuleNameCounter(group);
+
+        Assertions.assertEquals(10, result);
+    }
+
+    @Test
+    void testGetNextVfModuleNameCounter_takesMapPass() {
+
+        final Map<String, GroupDefinition> group = new HashMap<>();
+        final GroupDefinition groupDefinition1 = new GroupDefinition();
+        final GroupDefinition groupDefinition2 = new GroupDefinition();
+        final GroupDefinition groupDefinition3 = new GroupDefinition();
+        groupDefinition1.setName("resourceSystemName..ArtTmpInfoDesc1..module-0");
+        groupDefinition2.setName("resourceSystemName..ArtTmpInfoDesc1..module-9");
+        groupDefinition3.setName("resourceSystemName..ArtTmpInfoDesc2..module-1");
+
+        group.put("first", groupDefinition1);
+        group.put("second", groupDefinition2);
+        group.put("third", groupDefinition3);
+
+        final int result = test.getNextVfModuleNameCounter(group);
+
+        Assertions.assertEquals(10, result);
+    }
 }
\ No newline at end of file