aboutsummaryrefslogtreecommitdiffstats
path: root/src/test/java/org/onap/aai/datagrooming/DataGroomingTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/org/onap/aai/datagrooming/DataGroomingTest.java')
-rw-r--r--src/test/java/org/onap/aai/datagrooming/DataGroomingTest.java143
1 files changed, 115 insertions, 28 deletions
diff --git a/src/test/java/org/onap/aai/datagrooming/DataGroomingTest.java b/src/test/java/org/onap/aai/datagrooming/DataGroomingTest.java
index 161702d..63a7a24 100644
--- a/src/test/java/org/onap/aai/datagrooming/DataGroomingTest.java
+++ b/src/test/java/org/onap/aai/datagrooming/DataGroomingTest.java
@@ -17,11 +17,11 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
-
package org.onap.aai.datagrooming;
import com.att.eelf.configuration.EELFLogger;
import com.att.eelf.configuration.EELFManager;
+
import org.janusgraph.core.JanusGraphTransaction;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.apache.tinkerpop.gremlin.structure.Edge;
@@ -30,17 +30,15 @@ import org.junit.After;
import org.junit.Before;
import org.junit.FixMethodOrder;
import org.junit.Test;
+import org.junit.Ignore;
import org.junit.runners.MethodSorters;
import org.onap.aai.AAISetup;
import org.onap.aai.dbmap.AAIGraph;
import org.onap.aai.exceptions.AAIException;
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
-import java.util.List;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
@@ -55,8 +53,6 @@ public class DataGroomingTest extends AAISetup {
private Vertex cloudRegionVertex;
- private boolean setUp = false;
-
@Before
public void setup() {
dataGrooming = new DataGrooming(loaderFactory, schemaVersions);
@@ -66,78 +62,103 @@ public class DataGroomingTest extends AAISetup {
try {
GraphTraversalSource g = transaction.traversal();
cloudRegionVertex = g.addV().property("aai-node-type", "cloud-region").property("cloud-owner", "test-owner")
- .property("cloud-region-id", "test-region").property("source-of-truth", "JUNIT").next();
+ .property("cloud-region-id", "test-region").property("source-of-truth", "JUNIT")
+ .property("aai-uri", "aai-uriX01")
+ .property("aai-last-mod-ts","19191919").next();
Vertex cloudRegionVertexDupe = g.addV().property("aai-node-type", "cloud-region")
.property("cloud-owner", "test-owner").property("cloud-region-id", "test-region")
- .property("source-of-truth", "JUNIT").next();
+ .property("aai-uri", "aai-uriX02")
+ .property("aai-last-mod-ts","19191919").property("source-of-truth", "JUNIT").next();
Vertex cloudRegionDupe3 = g.addV().property("aai-node-type", "cloud-region")
.property("cloud-owner", "test-owner").property("cloud-region-id", "test-region")
- .property("source-of-truth", "JUNIT").next();
+ .property("aai-uri", "aai-uriX03")
+ .property("aai-last-mod-ts","19191919").property("source-of-truth", "JUNIT").next();
Vertex cloudRegionDupe4 = g.addV().property("aai-node-type", "cloud-region")
.property("cloud-owner", "test-owner").property("cloud-region-id", "test-region")
- .property("source-of-truth", "JUNIT").next();
+ .property("aai-uri", "aai-uriX04")
+ .property("aai-last-mod-ts","19191919").property("source-of-truth", "JUNIT").next();
Vertex cloudRegionDupe5 = g.addV().property("aai-node-type", "cloud-region")
.property("cloud-owner", "test-owner").property("cloud-region-id", "test-region")
+ .property("aai-uri", "aai-uriX05")
.property("source-of-truth", "JUNIT").next();
Vertex cloudRegionVertexBadNode = g.addV().property("aai-node-type", "cloud-region")
+ .property("aai-uri", "aai-uriX06")
.property("cloud-owner", "test-owner-noregionId").property("source-of-truth", "JUNIT").next();
Vertex cloudRegionVertexBadNode2 = g.addV().property("aai-node-type", "cloud-region")
+ .property("aai-uri", "aai-uriX07")
.property("cloud-region", "test-owner-noownerId").property("source-of-truth", "JUNIT").next();
Vertex cloudRegionVertexBadNode3 = g.addV().property("aai-node-type", "cloud-region")
+ .property("aai-uri", "aai-uriX08")
.property("cloud-region", "test-owner-noownerId2").property("source-of-truth", "JUNIT").next();
Vertex tenantGhostNodeNoNT = g.addV().property("tenant-id", "test-owner-tenant-id-1")
+ .property("aai-uri", "aai-uriX09")
.property("source-of-truth", "JUNIT").next();
Vertex cloudRegionNoNT = g.addV().property("cloud-region", "test-owner-noownerIdnont-1")
+ .property("aai-uri", "aai-uriX10")
.property("cloud-owner", "test-owner-noregion-nont2").property("source-of-truth", "JUNIT").next();
Vertex tenantNoNT = g.addV().property("tenant-id", "test-owner-tenant-id-1")
+ .property("aai-uri", "aai-uriX11")
.property("source-of-truth", "JUNIT").next();
Vertex tenantNoKey = g.addV().property("aai-node-type", "tenant").property("source-of-truth", "JUNIT")
+ .property("aai-uri", "aai-uriX12")
.next();
Vertex cloudRegionNoKey = g.addV().property("aai-node-type", "cloud-region")
+ .property("aai-uri", "aai-uriX13")
.property("source-of-truth", "JUNIT").next();
Vertex tenantNoParent = g.addV().property("aai-node-type", "tenant")
+ .property("aai-uri", "aai-uriX14")
.property("tenant-id", "test-owner-tenant-id").property("source-of-truth", "JUNIT").next();
Vertex tenantNoParent1 = g.addV().property("aai-node-type", "tenant")
+ .property("aai-uri", "aai-uriX15")
.property("tenant-id", "test-owner-tenant-id1").property("source-of-truth", "JUNIT").next();
Vertex tenantNoParentDupe1 = g.addV().property("aai-node-type", "tenant")
+ .property("aai-uri", "aai-uriX16")
.property("tenant-id", "test-owner-tenant-id1").property("source-of-truth", "JUNIT").next();
Vertex tenantNoParentDupe2 = g.addV().property("aai-node-type", "tenant")
+ .property("aai-uri", "aai-uriX17")
.property("tenant-id", "test-owner-tenant-id1").property("source-of-truth", "JUNIT").next();
Vertex tenantDupe3 = g.addV().property("aai-node-type", "tenant")
+ .property("aai-uri", "aai-uriX18")
.property("tenant-id", "test-owner-tenant-id1").property("source-of-truth", "JUNIT").next();
+
Vertex tenantDupe4 = g.addV().property("aai-node-type", "tenant")
+ .property("aai-uri", "aai-uriX19")
.property("tenant-id", "test-owner-tenant-id1").property("source-of-truth", "JUNIT").next();
Vertex tenantNoParent2 = g.addV().property("aai-node-type", "tenant")
+ .property("aai-uri", "aai-uriX20")
.property("tenant-id", "test-owner-tenant-id2").property("source-of-truth", "JUNIT").next();
tenantNoParent2.property("aai-uuid", tenantNoParent2.id() + "dummy");
Vertex tenantVertex = g.addV().property("aai-node-type", "tenant").property("tenant-id", "test-tenant")
+ .property("aai-uri", "aai-uriX21")
.property("source-of-truth", "JUNIT").next();
Vertex pserverVertex = g.addV().property("aai-node-type", "pserver").property("hostname", "test-pserver")
+ .property("aai-uri", "aai-uriX22")
.property("in-maint", false).property("source-of-truth", "JUNIT").next();
Vertex azNokey = g.addV().property("aai-node-type", "availability-zone")
+ .property("aai-uri", "aai-uriX23")
.property("source-of-truth", "JUNIT").next();
cloudRegionVertex.addEdge("BadEdge", tenantGhostNodeNoNT, null);
@@ -147,6 +168,10 @@ public class DataGroomingTest extends AAISetup {
edgeSerializer.addTreeEdge(g, cloudRegionNoKey, tenantNoKey);
edgeSerializer.addEdge(g, pserverVertex, azNokey);
+ Edge e = g.addV().property("aai-node-type", "blah")
+ .property("aai-uri", "aai-uriX24")
+ .property("source-of-truth", "JUNIT").addE("blah").next();
+
cloudRegionNoNT.addEdge("Base Edge2", tenantNoNT, null);
} catch (Exception ex) {
@@ -162,10 +187,13 @@ public class DataGroomingTest extends AAISetup {
}
}
+
+
+
@Test
public void testGroomingNonAutoFix() throws AAIException {
String[] args = {
- "-edgesOnly", "false", "-autoFix ", "false", "-skipHostCheck ", "true", "-dontFixOrphans ", "true"
+ "-skipHostCheck ", "-dontFixOrphans "
};
dataGrooming.execute(args);
@@ -178,31 +206,22 @@ public class DataGroomingTest extends AAISetup {
assertThat(dataGrooming.getOneArmedEdgeHashCount(), is(3));
}
+
@Test
public void testGroomingWithAutoFix() throws AAIException {
String[] args = {
- "-autoFix ", "true", "-edgesOnly", "false", "-skipHostCheck ", "false", "-dontFixOrphans ", "false",
- "-skipIndexUpdateFix", "true", "-sleepMinutes", "1", "-timeWindowMinutes", "100", "-dupeFixOn", "true"
+ "-autoFix ", "-maxFix", "0",
+ "-skipIndexUpdateFix", "-sleepMinutes", "1", "-timeWindowMinutes", "100", "-dupeFixOn"
};
dataGrooming.execute(args);
- assertThat(dataGrooming.getDeleteCandidateList().size(), is(19));
- assertThat(dataGrooming.getDeleteCount(), is(18));
+ assertThat(dataGrooming.getDeleteCandidateList().size(), is(0));
+ assertThat(dataGrooming.getDeleteCount(), is(0));
}
- @Test
- public void testGroomingUpdateIndexedProps() throws AAIException {
- JanusGraphTransaction transaction = AAIGraph.getInstance().getGraph().newTransaction();
- GraphTraversalSource g = transaction.traversal();
- Vertex cloudRegionVertex1 = g.addV().property("aai-node-type", "cloud-region")
- .property("cloud-owner", "test-owner-partial").property("cloud-region-id", "test-region")
- .property("source-of-truth", "JUNIT").next();
- dataGrooming.updateIndexedProps(cloudRegionVertex1, "1", "cloud-region", new HashMap<>(), new ArrayList<>());
- transaction.rollback();
- // TODO asset something
- }
+
@Test
public void testGroomingGettersAndSetters() throws AAIException {
@@ -221,6 +240,7 @@ public class DataGroomingTest extends AAISetup {
assertThat(dataGrooming.getDeleteCount(), is(0));
}
+
@Test
public void testGroomingNoArgs() throws AAIException {
String[] args = {
@@ -235,6 +255,7 @@ public class DataGroomingTest extends AAISetup {
assertThat(dataGrooming.getDeleteCount(), is(0));
}
+
@Test
public void testGroomingDupeCheck() throws AAIException {
String[] args = {
@@ -244,16 +265,82 @@ public class DataGroomingTest extends AAISetup {
assertThat(dataGrooming.getDupeGroups().size(), is(2));
}
+
@Test
public void testGroomingAutoFixMaxRecords() throws AAIException {
- String[] args = { "-autoFix ", "true", "-maxFix", "0", "-edgesOnly",
- "true" , "-sleepMinutes", "1"};
+ String[] args = { "-autoFix ", "-sleepMinutes", "1"};
+ dataGrooming.execute(args);
+ assertThat(dataGrooming.getDeleteCandidateList().size(), is(14));
+
+ }
+
+
+ @Test
+ public void testGroomingMain() throws AAIException {
+
+ String[] args = { "-autoFix ", "-sleepMinutes", "1", "-f", "groomingInput", "-neverUseCache", "-singleNodeType", "cloud-region"};
dataGrooming.execute(args);
assertThat(dataGrooming.getDeleteCandidateList().size(), is(0));
}
+
+
+ @Test
+ public void testGroomingSingleNT() throws AAIException {
+
+ String[] args = { "-autoFix ", "-sleepMinutes", "1", "-neverUseCache", "-singleNodeType", "cloud-region"};
+ dataGrooming.execute(args);
+ assertThat(dataGrooming.getDeleteCandidateList().size(), is(8));
+
+ }
+
+
+ @Test
+ public void testGroomingUpdateIndexedPropsForMissingNT() throws AAIException {
+
+ JanusGraphTransaction transaction = AAIGraph.getInstance().getGraph().newTransaction();
+ GraphTraversalSource g = transaction.traversal();
+ Vertex cloudRegionVertex1 = g.addV().property("aai-node-type", "cloud-region")
+ .property("cloud-owner", "test-owner-partial").property("cloud-region-id", "test-region")
+ .property("aai-uri", "aai-uriX25")
+ .property("source-of-truth", "JUNIT").next();
+ dataGrooming.updateIndexedPropsForMissingNT(cloudRegionVertex1, "1", "cloud-region", new HashMap<>(), new ArrayList<>());
+ transaction.rollback();
+ // TODO assert something
+ }
+
+
+ @Test
+ public void testTryToReSetIndexedProps() throws AAIException {
+ JanusGraphTransaction transaction = AAIGraph.getInstance().getGraph().newTransaction();
+ GraphTraversalSource g = transaction.traversal();
+ Vertex cloudRegionVertex2 = g.addV().property("aai-node-type", "cloud-region")
+ .property("aai-uri", "aai-uriX26")
+ .property("cloud-owner", "test-owner-resetIndx").property("cloud-region-id", "test-region")
+ .property("source-of-truth", "JUNIT").next();
+ dataGrooming.tryToReSetIndexedProps(cloudRegionVertex2, "1", new ArrayList<>());
+ transaction.rollback();
+ // TODO assert something
+ }
+
+
+ @Test
+ public void testCheckAaiUriOk() throws AAIException {
+
+ JanusGraphTransaction transaction = AAIGraph.getInstance().getGraph().newTransaction();
+ GraphTraversalSource g = transaction.traversal();
+ Vertex cloudRegionVertex3 = g.addV().property("aai-node-type", "cloud-region")
+ .property("cloud-owner", "test-owner-no-uri").property("cloud-region-id", "test-region")
+ .property("source-of-truth", "JUNIT").next();
+
+ assertThat(dataGrooming.checkAaiUriOk(g, cloudRegionVertex3), is(false));
+
+ transaction.rollback();
+
+ }
+
@After
public void tearDown() {