Browse Source

Add test for parsing object as json tree

pull/724/head
MoonFruit 4 years ago
parent
commit
27664aeee8
No known key found for this signature in database
GPG Key ID: 86EE2A2C61AB27B3
  1. 22
      json-path/src/test/java/com/jayway/jsonpath/GsonJsonProviderTest.java
  2. 21
      json-path/src/test/java/com/jayway/jsonpath/JacksonJsonNodeJsonProviderTest.java

22
json-path/src/test/java/com/jayway/jsonpath/GsonJsonProviderTest.java

@ -1,8 +1,11 @@
package com.jayway.jsonpath; package com.jayway.jsonpath;
import com.fasterxml.jackson.databind.JsonNode;
import com.google.gson.JsonArray; import com.google.gson.JsonArray;
import com.google.gson.JsonElement; import com.google.gson.JsonElement;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import com.jayway.jsonpath.JacksonJsonNodeJsonProviderTest.FooBarBaz;
import com.jayway.jsonpath.JacksonJsonNodeJsonProviderTest.Gen;
import com.jayway.jsonpath.spi.json.GsonJsonProvider; import com.jayway.jsonpath.spi.json.GsonJsonProvider;
import com.jayway.jsonpath.spi.mapper.GsonMappingProvider; import com.jayway.jsonpath.spi.mapper.GsonMappingProvider;
import com.jayway.jsonpath.spi.mapper.MappingException; import com.jayway.jsonpath.spi.mapper.MappingException;
@ -205,6 +208,25 @@ public class GsonJsonProviderTest extends BaseTest {
assertThat(result).isNull(); assertThat(result).isNull();
} }
@Test
public void object_can_be_parsed() {
Gen gen = new Gen();
gen.eric = "yepp";
FooBarBaz<Gen> fooBarBaz = new FooBarBaz<>();
fooBarBaz.foo = "foo0";
fooBarBaz.bar = 0L;
fooBarBaz.baz = true;
fooBarBaz.gen = gen;
DocumentContext context = using(GSON_CONFIGURATION).parse(fooBarBaz);
assertThat((Object) context.json()).isInstanceOf(JsonElement.class);
assertThat(context.read("$.foo", String.class)).isEqualTo("foo0");
assertThat(context.read("$.bar", Long.class)).isZero();
assertThat(context.read("$.baz", Boolean.class)).isTrue();
assertThat(context.read("$.gen.eric", String.class)).isEqualTo("yepp");
}
public static class FooBarBaz<T> { public static class FooBarBaz<T> {
public T gen; public T gen;

21
json-path/src/test/java/com/jayway/jsonpath/JacksonJsonNodeJsonProviderTest.java

@ -9,6 +9,7 @@ import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.databind.node.ArrayNode; import com.fasterxml.jackson.databind.node.ArrayNode;
import com.fasterxml.jackson.databind.node.JsonNodeFactory; import com.fasterxml.jackson.databind.node.JsonNodeFactory;
import com.fasterxml.jackson.databind.node.ObjectNode; import com.fasterxml.jackson.databind.node.ObjectNode;
import com.jayway.jsonpath.internal.JsonContext;
import com.jayway.jsonpath.spi.json.JacksonJsonNodeJsonProvider; import com.jayway.jsonpath.spi.json.JacksonJsonNodeJsonProvider;
import com.jayway.jsonpath.spi.mapper.JacksonMappingProvider; import com.jayway.jsonpath.spi.mapper.JacksonMappingProvider;
import com.jayway.jsonpath.spi.mapper.MappingException; import com.jayway.jsonpath.spi.mapper.MappingException;
@ -247,6 +248,26 @@ public class JacksonJsonNodeJsonProviderTest extends BaseTest {
assertThat(node.get(0).get("name").asText()).isEqualTo("a"); assertThat(node.get(0).get("name").asText()).isEqualTo("a");
} }
@Test
public void object_can_be_parsed() {
Gen gen = new Gen();
gen.eric = "yepp";
FooBarBaz<Gen> fooBarBaz = new FooBarBaz<>();
fooBarBaz.foo = "foo0";
fooBarBaz.bar = 0L;
fooBarBaz.baz = true;
fooBarBaz.gen = gen;
DocumentContext context = using(JACKSON_JSON_NODE_CONFIGURATION).parse(fooBarBaz);
assertThat((Object) context.json()).isInstanceOf(JsonNode.class);
assertThat(context.read("$.foo", String.class)).isEqualTo("foo0");
assertThat(context.read("$.bar", Long.class)).isZero();
assertThat(context.read("$.baz", Boolean.class)).isTrue();
assertThat(context.read("$.gen.eric", String.class)).isEqualTo("yepp");
}
public static class FooBarBaz<T> { public static class FooBarBaz<T> {
public T gen; public T gen;
public String foo; public String foo;

Loading…
Cancel
Save