summaryrefslogtreecommitdiffstats
path: root/catalog-dao/src/test/java/org/openecomp/sdc/be/utils/JsonTester.java
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-dao/src/test/java/org/openecomp/sdc/be/utils/JsonTester.java')
-rw-r--r--catalog-dao/src/test/java/org/openecomp/sdc/be/utils/JsonTester.java42
1 files changed, 42 insertions, 0 deletions
diff --git a/catalog-dao/src/test/java/org/openecomp/sdc/be/utils/JsonTester.java b/catalog-dao/src/test/java/org/openecomp/sdc/be/utils/JsonTester.java
new file mode 100644
index 0000000000..4f1b2f24bc
--- /dev/null
+++ b/catalog-dao/src/test/java/org/openecomp/sdc/be/utils/JsonTester.java
@@ -0,0 +1,42 @@
+package org.openecomp.sdc.be.utils;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.type.MapType;
+import com.fasterxml.jackson.databind.type.TypeFactory;
+
+import java.util.Map;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.openecomp.sdc.be.utils.FixtureHelpers.fixture;
+
+public class JsonTester {
+ private static final ObjectMapper MAPPER = new ObjectMapper();
+
+ public JsonTester() {
+
+ }
+
+ public static <T> void testJson(T object, String fixturePath) throws Exception {
+ testJson(object, fixturePath, MAPPER);
+ }
+
+ @SuppressWarnings("unchecked")
+ public static <T> void testJson(T object, String fixturePath, ObjectMapper mapper) throws Exception {
+ T expectedObject = (T) mapper.readValue(fixture(fixturePath), object.getClass());
+ String expectedJson = mapper.writeValueAsString(expectedObject);
+ String actualJson = mapper.writeValueAsString(object);
+
+ assertThat(actualJson).isEqualTo(expectedJson);
+ }
+
+ @SuppressWarnings("unchecked")
+ public static <T> void testJsonMap(Map<String, T> map, Class<T> valueClass, String fixturePath, ObjectMapper mapper) throws Exception {
+ MapType mapType = TypeFactory.defaultInstance().constructMapType(Map.class, String.class, valueClass);
+ Map<String, T> expectedObject = mapper.readValue(fixture(fixturePath), mapType);
+ String expectedJson = mapper.writeValueAsString(expectedObject);
+
+ String actualJson = mapper.writeValueAsString(map);
+
+ assertThat(actualJson).isEqualTo(expectedJson);
+ }
+} \ No newline at end of file