aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/main/java/org/onap/aai/spike/schema/GraphEventTransformer.java6
-rw-r--r--src/test/java/org/onap/aai/spike/event/incoming/GizmoGraphEventTest.java98
-rw-r--r--src/test/java/org/onap/aai/spike/event/incoming/OffsetManagerTest.java (renamed from src/test/java/org/onap/aai/spike/event/OffsetManagerTest.java)2
-rw-r--r--src/test/java/org/onap/aai/spike/event/outgoing/SpikeGraphEventTest.java79
-rw-r--r--src/test/java/org/onap/aai/spike/schema/GraphEventTransformerTest.java67
-rw-r--r--src/test/resources/event/champ-update-notification-raw-with-relationship.json72
6 files changed, 317 insertions, 7 deletions
diff --git a/src/main/java/org/onap/aai/spike/schema/GraphEventTransformer.java b/src/main/java/org/onap/aai/spike/schema/GraphEventTransformer.java
index ced84bb..54d9936 100644
--- a/src/main/java/org/onap/aai/spike/schema/GraphEventTransformer.java
+++ b/src/main/java/org/onap/aai/spike/schema/GraphEventTransformer.java
@@ -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
index 0000000..6c35ffe
--- /dev/null
+++ b/src/test/java/org/onap/aai/spike/event/incoming/GizmoGraphEventTest.java
@@ -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);
+ }
+}
diff --git a/src/test/java/org/onap/aai/spike/event/OffsetManagerTest.java b/src/test/java/org/onap/aai/spike/event/incoming/OffsetManagerTest.java
index 7975d6f..e2a622b 100644
--- a/src/test/java/org/onap/aai/spike/event/OffsetManagerTest.java
+++ b/src/test/java/org/onap/aai/spike/event/incoming/OffsetManagerTest.java
@@ -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
index 0000000..b64e487
--- /dev/null
+++ b/src/test/java/org/onap/aai/spike/event/outgoing/SpikeGraphEventTest.java
@@ -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);
+ }
+}
diff --git a/src/test/java/org/onap/aai/spike/schema/GraphEventTransformerTest.java b/src/test/java/org/onap/aai/spike/schema/GraphEventTransformerTest.java
index f58bbfc..1e14e5e 100644
--- a/src/test/java/org/onap/aai/spike/schema/GraphEventTransformerTest.java
+++ b/src/test/java/org/onap/aai/spike/schema/GraphEventTransformerTest.java
@@ -20,18 +20,20 @@
*/
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
index 0000000..31fb02f
--- /dev/null
+++ b/src/test/resources/event/champ-update-notification-raw-with-relationship.json
@@ -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