1 package it.com.atlassian.rest.json;
2
3 import com.atlassian.rest.jersey.client.WebResourceFactory;
4
5 import static org.junit.Assert.*;
6
7 import org.junit.Test;
8
9 public class JsonTest {
10 @Test
11 public void testConfiguration() {
12 final String jsonString = WebResourceFactory.anonymous().path("json.json").get(String.class);
13 assertEquals("{\"anInteger\":1,\"aLong\":2,\"emptyCollection\":[],\"singletonCollection\":[{\"name\":\"item1\"}],\"singletonMap\":{\"foo\":\"bar\"}}", jsonString);
14 }
15
16 @Test
17 public void testReturningChildClassMeansSerializingAsChildClass() {
18 final String jsonString = WebResourceFactory.anonymous().path("dummyjson/subclass.json").get(String.class);
19 assertEquals("{\"dataFromParent\":\"parent\",\"dataFromChild\":\"child\"}", jsonString);
20 }
21
22 @Test
23 public void testReturningGenericClassShouldNotThrowException() {
24 final String jsonString = WebResourceFactory.anonymous().path("dummyjson/generic.json").get(String.class);
25 assertEquals("{\"dataFromParent\":\"parent\"}", jsonString);
26 }
27
28 @Test
29 public void testReturningGenericChildClassMeansSerializingAsChildClass() {
30 final String jsonString = WebResourceFactory.anonymous().path("dummyjson/subclassgeneric.json").get(String.class);
31 assertEquals("{\"dataFromParent\":\"parent\",\"dataFromChild\":\"child\"}", jsonString);
32 }
33
34 @Test
35 public void testSubClassGenericExplicitlyMeansSerializingAsChildClass() {
36 final String jsonString = WebResourceFactory.anonymous().path("dummyjson/subclassgenericexplicit.json").get(String.class);
37 assertEquals("{\"dataFromParent\":\"parent\",\"dataFromChild\":\"child\"}", jsonString);
38 }
39 }