aboutsummaryrefslogtreecommitdiffstats
path: root/champ-service/src/test/java
diff options
context:
space:
mode:
Diffstat (limited to 'champ-service/src/test/java')
-rw-r--r--champ-service/src/test/java/org/onap/champ/event/GraphEventEnvelopeTest.java42
-rw-r--r--champ-service/src/test/java/org/onap/champ/util/TestUtil.java34
2 files changed, 76 insertions, 0 deletions
diff --git a/champ-service/src/test/java/org/onap/champ/event/GraphEventEnvelopeTest.java b/champ-service/src/test/java/org/onap/champ/event/GraphEventEnvelopeTest.java
new file mode 100644
index 0000000..5c39f99
--- /dev/null
+++ b/champ-service/src/test/java/org/onap/champ/event/GraphEventEnvelopeTest.java
@@ -0,0 +1,42 @@
+package org.onap.champ.event;
+
+import static org.hamcrest.Matchers.is;
+import static org.junit.Assert.assertThat;
+import org.junit.Test;
+import org.onap.aai.champcore.model.ChampObject;
+import org.onap.champ.event.GraphEvent.GraphEventOperation;
+import org.onap.champ.event.envelope.GraphEventEnvelope;
+import org.onap.champ.util.TestUtil;
+import org.skyscreamer.jsonassert.Customization;
+import org.skyscreamer.jsonassert.JSONAssert;
+import org.skyscreamer.jsonassert.JSONCompareMode;
+import org.skyscreamer.jsonassert.comparator.CustomComparator;
+
+public class GraphEventEnvelopeTest {
+
+ @Test
+ public void testEventEnvelopeFormat() throws Exception {
+ String expectedEnvelope = TestUtil.getFileAsString("event/event-envelope.json");
+
+ GraphEvent body = GraphEvent.builder(GraphEventOperation.CREATE)
+ .vertex(GraphEventVertex.fromChampObject(new ChampObject.Builder("pserver").build(), "v13")).build();
+
+ String graphEventEnvelope = new GraphEventEnvelope(body).toJson();
+
+ JSONAssert.assertEquals(expectedEnvelope, graphEventEnvelope,
+ new CustomComparator(JSONCompareMode.STRICT, new Customization("header.request-id", (o1, o2) -> true),
+ new Customization("header.timestamp", (o1, o2) -> true),
+ new Customization("body.timestamp", (o1, o2) -> true),
+ new Customization("body.transaction-id", (o1, o2) -> true)));
+ }
+
+ @Test
+ public void testRequestIdIsTransactionId() throws Exception {
+ GraphEvent body = GraphEvent.builder(GraphEventOperation.CREATE)
+ .vertex(GraphEventVertex.fromChampObject(new ChampObject.Builder("pserver").build(), "v13")).build();
+
+ GraphEventEnvelope envelope = new GraphEventEnvelope(body);
+
+ assertThat(envelope.getHeader().getRequestId(), is(envelope.getBody().getTransactionId()));
+ }
+}
diff --git a/champ-service/src/test/java/org/onap/champ/util/TestUtil.java b/champ-service/src/test/java/org/onap/champ/util/TestUtil.java
new file mode 100644
index 0000000..b9924e4
--- /dev/null
+++ b/champ-service/src/test/java/org/onap/champ/util/TestUtil.java
@@ -0,0 +1,34 @@
+package org.onap.champ.util;
+
+import java.io.File;
+import java.io.IOException;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+
+public class TestUtil {
+
+ public static Path getPath(String resourceFilename) throws URISyntaxException {
+ URL resource = ClassLoader.getSystemResource(resourceFilename);
+ if (resource != null) {
+ return Paths.get(resource.toURI());
+ }
+
+ // If the resource is not found relative to the classpath, try to get it from the file system directly.
+ File file = new File(resourceFilename);
+ if (!file.exists()) {
+ throw new RuntimeException("Resource does not exist: " + resourceFilename);
+ }
+ return file.toPath();
+ }
+
+ public static String getContentUtf8(Path filePath) throws IOException {
+ return new String(Files.readAllBytes(filePath));
+ }
+
+ public static String getFileAsString(String resourceFilename) throws IOException, URISyntaxException {
+ return getContentUtf8(getPath(resourceFilename));
+ }
+} \ No newline at end of file