From 91dc54edcc8c2614654c19dd249dbcd10fb5913b Mon Sep 17 00:00:00 2001 From: Dan Schulte Date: Tue, 2 Jan 2018 11:18:39 -0800 Subject: [PATCH] Revert Jackson version to 2.8.11 and add JacksonSerializer tests (#336) --- .../v2/serializer/JacksonAdapterTests.java | 58 +++++++++++++++++++ pom.xml | 4 +- 2 files changed, 60 insertions(+), 2 deletions(-) create mode 100644 client-runtime/src/test/java/com/microsoft/rest/v2/serializer/JacksonAdapterTests.java diff --git a/client-runtime/src/test/java/com/microsoft/rest/v2/serializer/JacksonAdapterTests.java b/client-runtime/src/test/java/com/microsoft/rest/v2/serializer/JacksonAdapterTests.java new file mode 100644 index 000000000000..63f1e37e18a9 --- /dev/null +++ b/client-runtime/src/test/java/com/microsoft/rest/v2/serializer/JacksonAdapterTests.java @@ -0,0 +1,58 @@ +package com.microsoft.rest.v2.serializer; + +import com.fasterxml.jackson.databind.JsonMappingException; +import org.junit.Test; + +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; + +import static org.junit.Assert.*; + +public class JacksonAdapterTests { + @Test + public void emptyMap() throws IOException { + final Map map = new HashMap<>(); + final JacksonAdapter serializer = new JacksonAdapter(); + assertEquals("{}", serializer.serialize(map)); + } + + @Test + public void mapWithNullKey() { + final Map map = new HashMap<>(); + map.put(null, null); + final JacksonAdapter serializer = new JacksonAdapter(); + try { + serializer.serialize(map); + fail(); + } + catch (Exception e) { + assertEquals(JsonMappingException.class, e.getClass()); + assertTrue(e.getMessage().contains("Null key for a Map not allowed in JSON")); + } + } + + @Test + public void mapWithEmptyKeyAndNullValue() throws IOException { + final Map map = new HashMap<>(); + map.put("", null); + final JacksonAdapter serializer = new JacksonAdapter(); + assertEquals("{\"\":null}", serializer.serialize(map)); + } + + @Test + public void mapWithEmptyKeyAndEmptyValue() throws IOException { + final Map map = new HashMap<>(); + map.put("", ""); + final JacksonAdapter serializer = new JacksonAdapter(); + assertEquals("{\"\":\"\"}", serializer.serialize(map)); + } + + @Test + public void mapWithEmptyKeyAndNonEmptyValue() throws IOException { + final Map map = new HashMap<>(); + map.put("", "test"); + final JacksonAdapter serializer = new JacksonAdapter(); + assertEquals("{\"\":\"test\"}", serializer.serialize(map)); + } +} diff --git a/pom.xml b/pom.xml index ccf681edf67b..d735990df35c 100644 --- a/pom.xml +++ b/pom.xml @@ -61,12 +61,12 @@ com.fasterxml.jackson.datatype jackson-datatype-joda - 2.9.3 + 2.8.11 com.fasterxml.jackson.dataformat jackson-dataformat-xml - 2.9.3 + 2.8.11 org.apache.commons