Skip to content

Commit 2d41c16

Browse files
committed
test: json resource serialization tests
1 parent 60b437e commit 2d41c16

File tree

1 file changed

+35
-6
lines changed

1 file changed

+35
-6
lines changed

support/json/json-resources/src/test/java/sparkles/support/json/resources/JsonResourcesModuleTest.java

Lines changed: 35 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,66 @@
11
package sparkles.support.json.resources;
22

3+
import com.fasterxml.jackson.annotation.JsonInclude;
34
import com.fasterxml.jackson.databind.ObjectMapper;
45

56
import org.junit.Test;
67

8+
import java.util.UUID;
9+
10+
import sparkles.support.common.ToStringBuilder;
11+
712
import static org.assertj.core.api.Assertions.assertThat;
813

914
public class JsonResourcesModuleTest {
1015

1116
private final ObjectMapper om = new ObjectMapper()
12-
.registerModule(new JsonResourcesModule());
17+
.registerModule(new JsonResourcesModule())
18+
.setSerializationInclusion(JsonInclude.Include.NON_DEFAULT);
1319

1420
@Test
15-
public void foo() throws Exception {
21+
public void embedded_shouldSerialize() throws Exception {
1622
Foo foo = new Foo();
1723
foo.related = new Bar("hello world!");
1824

1925
String serialized = om.writeValueAsString(foo);
20-
//assertThat(serialized).isNull();
26+
assertThat(serialized).isEqualTo("{\"_embedded\":{\"related\":{\"name\":\"hello world!\"}}}");
2127

22-
Foo deserialized = om.readValue(serialized, Foo.class);
23-
assertThat(deserialized).isNull();
28+
}
29+
30+
@Test
31+
public void embedded_shouldDeserialize() throws Exception {
32+
Foo deserialized = om.readValue("{\"_embedded\":{\"related\":{\"name\":\"hello world!\"}}}", Foo.class);
33+
assertThat(deserialized).isNotNull();
34+
assertThat(deserialized.related).isNotNull();
35+
assertThat(deserialized.related.name).isEqualTo("hello world!");
36+
}
37+
38+
@Test
39+
public void shouldSerializeProperties() throws Exception {
40+
Foo foo = new Foo();
41+
foo.id = UUID.fromString("f6eb1bd7-7611-49b1-ba15-5d1fa59a30a3");
42+
43+
String serialized = om.writeValueAsString(foo);
44+
assertThat(serialized).isEqualTo("{\"id\":\"f6eb1bd7-7611-49b1-ba15-5d1fa59a30a3\"}");
2445
}
2546

2647
@Resource
2748
private static class Foo {
2849

50+
@Links
51+
public LinkCollection links;
52+
2953
@Embedded
3054
public Bar related;
3155

56+
public UUID id;
57+
3258
@Override
3359
public String toString() {
34-
return "Foo[related=" + related.toString() + "]";
60+
return new ToStringBuilder(Foo.class)
61+
.append("id", id)
62+
.append("related", related)
63+
.toString();
3564
}
3665
}
3766

0 commit comments

Comments
 (0)