Increase code coverage 67/57667/1
authorIoannis Sotiropoulos <Ioannis.Sotiropoulos@amdocs.com>
Thu, 26 Jul 2018 09:01:12 +0000 (10:01 +0100)
committerIoannis Sotiropoulos <Ioannis.Sotiropoulos@amdocs.com>
Thu, 26 Jul 2018 09:01:12 +0000 (10:01 +0100)
Add tests to increase code coverage above 50 percent.

Change-Id: Ie4f7517d7984b301e2bea7a2262307032c820700
Issue-ID: AAI-1425
Signed-off-by: Ioannis Sotiropoulos <Ioannis.Sotiropoulos@amdocs.com>
src/main/java/org/onap/aai/spike/schema/GraphEventTransformer.java
src/test/java/org/onap/aai/spike/event/incoming/GizmoGraphEventTest.java [new file with mode: 0644]
src/test/java/org/onap/aai/spike/event/incoming/OffsetManagerTest.java [moved from src/test/java/org/onap/aai/spike/event/OffsetManagerTest.java with 98% similarity]
src/test/java/org/onap/aai/spike/event/outgoing/SpikeGraphEventTest.java [new file with mode: 0644]
src/test/java/org/onap/aai/spike/schema/GraphEventTransformerTest.java
src/test/resources/event/champ-update-notification-raw-with-relationship.json [new file with mode: 0644]

index ced84bb..54d9936 100644 (file)
@@ -23,9 +23,6 @@ package org.onap.aai.spike.schema;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Set;
-import com.google.common.base.CaseFormat;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
 import org.eclipse.persistence.dynamic.DynamicType;
 import org.eclipse.persistence.internal.helper.DatabaseField;
 import org.eclipse.persistence.jaxb.dynamic.DynamicJAXBContext;
@@ -36,6 +33,9 @@ import org.onap.aai.spike.event.incoming.GizmoEdge;
 import org.onap.aai.spike.event.incoming.GizmoGraphEvent;
 import org.onap.aai.spike.event.incoming.GizmoVertex;
 import org.onap.aai.spike.exception.SpikeException;
+import com.google.common.base.CaseFormat;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
 
 /**
  * This class is responsible for transforming raw graph entities (such as vertices and edges) into
diff --git a/src/test/java/org/onap/aai/spike/event/incoming/GizmoGraphEventTest.java b/src/test/java/org/onap/aai/spike/event/incoming/GizmoGraphEventTest.java
new file mode 100644 (file)
index 0000000..6c35ffe
--- /dev/null
@@ -0,0 +1,98 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright © 2017-2018 Amdocs
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.aai.spike.event.incoming;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+import java.io.IOException;
+import java.net.URISyntaxException;
+import org.junit.Test;
+import org.onap.aai.spike.event.envelope.EventEnvelopeParser;
+import org.onap.aai.spike.event.outgoing.SpikeGraphEvent;
+import org.onap.aai.spike.exception.SpikeException;
+import org.onap.aai.spike.test.util.TestFileReader;
+
+public class GizmoGraphEventTest {
+
+    @Test
+    public void TestToSpikeGraphEvent() throws SpikeException, IOException, URISyntaxException {
+        String champNotification =
+                TestFileReader.getFileAsString("event/champ-update-notification-raw-with-relationship.json");
+
+        GizmoGraphEvent gizmoGraphEvent = new EventEnvelopeParser().parseEvent(champNotification);
+        SpikeGraphEvent spikeGraphEvent = gizmoGraphEvent.toSpikeGraphEvent();
+
+        assertEquals("b9c7d24a-64a5-4b89-a10a-a89ce58b1caa", spikeGraphEvent.getRelationship().getId());
+        assertEquals("537494bd-1e8a-4198-9712-8cefa0f80457", spikeGraphEvent.getRelationship().getSource().getId());
+        assertEquals("981c0494-c742-4d75-851c-8194bbbd8a96", spikeGraphEvent.getRelationship().getTarget().getId());
+    }
+
+    @Test
+    public void TestGetObjectKey() {
+        String objectKey;
+        GizmoGraphEvent gizmoGraphEvent;
+
+        gizmoGraphEvent = new GizmoGraphEvent();
+        GizmoVertex vertex = new GizmoVertex();
+        vertex.setId("addfff68");
+        gizmoGraphEvent.setVertex(vertex);
+        objectKey = gizmoGraphEvent.getObjectKey();
+        assertEquals("addfff68", objectKey);
+
+        gizmoGraphEvent = new GizmoGraphEvent();
+        GizmoEdge relationship = new GizmoEdge();
+        relationship.setId("909d");
+
+        gizmoGraphEvent.setRelationship(relationship);
+        objectKey = gizmoGraphEvent.getObjectKey();
+        assertEquals("909d", objectKey);
+
+        gizmoGraphEvent = new GizmoGraphEvent();
+        objectKey = gizmoGraphEvent.getObjectKey();
+        assertNull(objectKey);
+    }
+
+    @Test
+    public void TestGetObjectType() {
+        String objectType;
+        String type = "pserver";
+        GizmoGraphEvent gizmoGraphEvent;
+
+        gizmoGraphEvent = new GizmoGraphEvent();
+        GizmoVertex vertex = new GizmoVertex();
+        vertex.setType(type);
+        gizmoGraphEvent.setVertex(vertex);
+        objectType = gizmoGraphEvent.getObjectType();
+        assertEquals("Vertex->" + type, objectType);
+
+        gizmoGraphEvent = new GizmoGraphEvent();
+        GizmoEdge relationship = new GizmoEdge();
+        relationship.setType(type);
+
+        gizmoGraphEvent.setRelationship(relationship);
+        objectType = gizmoGraphEvent.getObjectType();
+        assertEquals("Relationship->" + type, objectType);
+
+        gizmoGraphEvent = new GizmoGraphEvent();
+        objectType = gizmoGraphEvent.getObjectType();
+        assertNull(objectType);
+    }
+}
@@ -18,7 +18,7 @@
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
-package org.onap.aai.spike.event;
+package org.onap.aai.spike.event.incoming;
 
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
diff --git a/src/test/java/org/onap/aai/spike/event/outgoing/SpikeGraphEventTest.java b/src/test/java/org/onap/aai/spike/event/outgoing/SpikeGraphEventTest.java
new file mode 100644 (file)
index 0000000..b64e487
--- /dev/null
@@ -0,0 +1,79 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright © 2017-2018 Amdocs
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.aai.spike.event.outgoing;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+import org.junit.Test;
+
+public class SpikeGraphEventTest {
+    @Test
+    public void testGetObjectKey() {
+        String objectKey;
+
+        SpikeGraphEvent spikeGraphEvent;
+
+        spikeGraphEvent = new SpikeGraphEvent();
+        SpikeVertex vertex = new SpikeVertex();
+        vertex.setId("addfff68");
+        spikeGraphEvent.setVertex(vertex);
+        objectKey = spikeGraphEvent.getObjectKey();
+        assertEquals("addfff68", objectKey);
+
+        spikeGraphEvent = new SpikeGraphEvent();
+        SpikeEdge relationship = new SpikeEdge();
+        relationship.setId("909d");
+
+        spikeGraphEvent.setRelationship(relationship);
+        objectKey = spikeGraphEvent.getObjectKey();
+        assertEquals("909d", objectKey);
+
+        spikeGraphEvent = new SpikeGraphEvent();
+        objectKey = spikeGraphEvent.getObjectKey();
+        assertNull(objectKey);
+    }
+
+    @Test
+    public void testGetObjectType() {
+        String objectType;
+        String type = "pserver";
+        SpikeGraphEvent spikeGraphEvent;
+
+        spikeGraphEvent = new SpikeGraphEvent();
+        SpikeVertex vertex = new SpikeVertex();
+        vertex.setType(type);
+        spikeGraphEvent.setVertex(vertex);
+        objectType = spikeGraphEvent.getObjectType();
+        assertEquals("Vertex->" + type, objectType);
+
+        spikeGraphEvent = new SpikeGraphEvent();
+        SpikeEdge relationship = new SpikeEdge();
+        relationship.setType(type);
+
+        spikeGraphEvent.setRelationship(relationship);
+        objectType = spikeGraphEvent.getObjectType();
+        assertEquals("Relationship->" + type, objectType);
+
+        spikeGraphEvent = new SpikeGraphEvent();
+        objectType = spikeGraphEvent.getObjectType();
+        assertNull(objectType);
+    }
+}
index f58bbfc..1e14e5e 100644 (file)
  */
 package org.onap.aai.spike.schema;
 
+import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
-
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileReader;
 import java.io.IOException;
-import javax.xml.bind.JAXBException;
+import java.net.URISyntaxException;
 import org.junit.Before;
 import org.junit.Test;
+import org.onap.aai.spike.event.envelope.EventEnvelopeParser;
 import org.onap.aai.spike.event.incoming.GizmoGraphEvent;
 import org.onap.aai.spike.exception.SpikeException;
+import org.onap.aai.spike.test.util.TestFileReader;
 
 
 /**
@@ -39,7 +41,6 @@ import org.onap.aai.spike.exception.SpikeException;
  * compliant representations of generic graph entities.
  */
 public class GraphEventTransformerTest {
-
     /**
      * Performs all setup steps expected to be performed prior to each test.
      */
@@ -118,4 +119,64 @@ public class GraphEventTransformerTest {
             }
         }
     }
+    
+    @Test
+    public void TestValidateFieldType() throws SpikeException {
+        String value = null;
+        Class clazz;
+        Object obj;
+
+        clazz = Integer.class;
+        value = "5";
+        obj = GraphEventTransformer.validateFieldType(value, clazz);
+        assertEquals(new Integer(5), obj);
+
+        clazz = Long.class;
+        value = "5";
+        obj = GraphEventTransformer.validateFieldType(value, clazz);
+        assertEquals(new Long(5), obj);
+
+        clazz = Float.class;
+        value = "5.5";
+        obj = GraphEventTransformer.validateFieldType(value, clazz);
+        assertEquals(new Float(5.5), obj);
+
+        clazz = Double.class;
+        value = "5";
+        obj = GraphEventTransformer.validateFieldType(value, clazz);
+        assertEquals(new Double(5), obj);
+
+        clazz = Boolean.class;
+        value = "true";
+        obj = GraphEventTransformer.validateFieldType(value, clazz);
+        assertEquals(new Boolean(true), obj);
+
+        value = "NotValidBoolean";
+        try {
+            GraphEventTransformer.validateFieldType(value, clazz);
+        } catch (SpikeException e) {
+            assertEquals("Invalid property value: " + value, e.getMessage());
+        }
+
+        clazz = String.class;
+        value = "11";
+        try {
+            GraphEventTransformer.validateFieldType(value, clazz);
+        } catch (SpikeException e) {
+            assertEquals("Invalid property value: " + value, e.getMessage());
+        }
+    }
+
+    @Test
+    public void TestPopulateUUID() throws IOException, URISyntaxException, SpikeException {
+        String champNotification =
+                TestFileReader.getFileAsString("event/champ-update-notification-raw-with-relationship.json");
+
+        GizmoGraphEvent gizmoGraphEvent = new EventEnvelopeParser().parseEvent(champNotification);
+        GraphEventTransformer.populateUUID(gizmoGraphEvent);
+
+        assertEquals("b9c7d24a-64a5-4b89-a10a-a89ce58b1caa", gizmoGraphEvent.getRelationship().getId());
+        assertEquals("537494bd-1e8a-4198-9712-8cefa0f80457", gizmoGraphEvent.getRelationship().getSource().getId());
+        assertEquals("981c0494-c742-4d75-851c-8194bbbd8a96", gizmoGraphEvent.getRelationship().getTarget().getId());
+    }
 }
diff --git a/src/test/resources/event/champ-update-notification-raw-with-relationship.json b/src/test/resources/event/champ-update-notification-raw-with-relationship.json
new file mode 100644 (file)
index 0000000..31fb02f
--- /dev/null
@@ -0,0 +1,72 @@
+{  
+   "header":{  
+      "event-type":"update-notification-raw",
+      "request-id":"5491ee71-28e8-41f4-bd8c-bc10ab8d17e6",
+      "source-name":"CHAMP",
+      "timestamp":"20180725T093333Z"
+   },
+   "body":{  
+      "transaction-id":"5491ee71-28e8-41f4-bd8c-bc10ab8d17e6",
+      "relationship":{  
+         "source":{  
+            "type":"vserver",
+            "relationship":false,
+            "properties":{  
+               "aai-last-mod-ts":1531240845176,
+               "in-maint":false,
+               "aai-uuid":"537494bd-1e8a-4198-9712-8cefa0f80457",
+               "vserver-name":"test-vserver",
+               "aai-created-ts":1531240845176,
+               "last-mod-source-of-truth":"Gizmo-Creator",
+               "vserver-id":"VSER1",
+               "source-of-truth":"Gizmo-Creator",
+               "vserver-name2":"alt-test-vserver",
+               "vserver-selflink":"http://1.2.3.4/moreInfo",
+               "is-closed-loop-disabled":false,
+               "aai-node-type":"vserver"
+            },
+            "key":122904760,
+            "object":true
+         },
+         "type":"tosca.relationships.HostedOn",
+         "relationship":true,
+         "properties":{  
+            "aai-last-mod-ts":1532511213006,
+            "aai-uuid":"b9c7d24a-64a5-4b89-a10a-a89ce58b1caa",
+            "SVC-INFRA":"OUT",
+            "prevent-delete":"IN",
+            "aai-created-ts":1532511213006,
+            "delete-other-v":"NONE",
+            "contains-other-v":"NONE"
+         },
+         "key":"3dxpuf-2169x4-2ck5-2pjqz4",
+         "target":{  
+            "type":"pserver",
+            "relationship":false,
+            "properties":{  
+               "ptnii-equip-name":"e-name",
+               "aai-last-mod-ts":1528745939872,
+               "equip-type":"server",
+               "equip-vendor":"HP",
+               "fqdn":"myhost.onap.net",
+               "purpose":"my-purpose",
+               "aai-created-ts":1528745939872,
+               "ipv4-oam-address":"1.2.3.4",
+               "source-of-truth":"ma-postman",
+               "aai-node-type":"pserver",
+               "hostname":"ma-host2-20180611-04",
+               "equip-model":"DL380p-nd",
+               "in-maint":"false",
+               "aai-uuid":"981c0494-c742-4d75-851c-8194bbbd8a96",
+               "resource-version":"1477013499",
+               "last-mod-source-of-truth":"ma-postman"
+            },
+            "key":163844176,
+            "object":true
+         },
+         "object":false
+      },
+      "operation":"STORE",
+      "timestamp":1532511213729
+   }
+}
\ No newline at end of file