UT-AdditionalInfoOperation2
[sdc.git] / catalog-model / src / test / java / org / openecomp / sdc / be / model / operations / impl / AdditionalInformationOperationTest.java
index 8bb4a29..6fd04c1 100644 (file)
 
 package org.openecomp.sdc.be.model.operations.impl;
 
+import com.thinkaurelius.titan.core.TitanEdge;
+import com.thinkaurelius.titan.core.TitanGraph;
 import com.thinkaurelius.titan.core.TitanVertex;
 import fj.data.Either;
 import static org.assertj.core.api.Assertions.assertThat;
+
 import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
+import org.openecomp.sdc.be.dao.neo4j.GraphEdgeLabels;
+import org.openecomp.sdc.be.dao.neo4j.GraphPropertiesDictionary;
 import org.openecomp.sdc.be.dao.titan.TitanGenericDao;
 import org.openecomp.sdc.be.dao.titan.TitanOperationStatus;
 import org.openecomp.sdc.be.datatypes.enums.NodeTypeEnum;
@@ -39,6 +44,8 @@ import org.openecomp.sdc.be.resources.data.UserData;
 import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
+import java.util.Iterator;
+
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 import static org.mockito.ArgumentMatchers.eq;
@@ -103,6 +110,42 @@ public class AdditionalInformationOperationTest extends ModelTestBase {
         assertTrue(result.isRight());
     }
 
+    @Test
+    public void testDelAdditionalInfoParam_InvalidId() {
+        Either<AdditionalInformationDefinition, TitanOperationStatus> result;
+        String id = "uid";
+        String componentId = "componentId";
+        TitanGraph graph = titanDao.getGraph().left().value();
+        TitanVertex v1 = graph.addVertex();
+        v1.property("uid", componentId);
+        v1.property(GraphPropertiesDictionary.LABEL.getProperty(), "resource");
+        TitanVertex v2 = graph.addVertex();
+        v2.property(id,id);
+
+        TitanEdge addEdge = v1.addEdge(GraphEdgeLabels.ADDITIONAL_INFORMATION.getProperty(), v2);
+        addEdge.property("edgeProp", "resource");
+        graph.tx().commit();
+
+        result = additionalInformationOperation.deleteAdditionalInformationParameter(NodeTypeEnum.Resource, componentId, id);
+        clearGraph();
+        assertTrue(result.isRight());
+    }
+
+    private void clearGraph() {
+        Either<TitanGraph, TitanOperationStatus> graphResult = titanDao.getGraph();
+        TitanGraph graph = graphResult.left().value();
+
+        Iterable<TitanVertex> vertices = graph.query().vertices();
+        if (vertices != null) {
+            Iterator<TitanVertex> iterator = vertices.iterator();
+            while (iterator.hasNext()) {
+                TitanVertex vertex = iterator.next();
+                vertex.remove();
+            }
+        }
+        titanDao.commit();
+    }
+
     private UserData deleteAndCreateUser(String userId, String firstName, String lastName) {
         UserData userData = new UserData();
         userData.setUserId(userId);