Skip to content

Commit 8483143

Browse files
author
Eugen
committed
Merge pull request eugenp#100 from Doha2012/master
Modify json view test
2 parents b66ba36 + b744723 commit 8483143

File tree

10 files changed

+73
-69
lines changed

10 files changed

+73
-69
lines changed

jackson/pom.xml

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -9,33 +9,6 @@
99

1010
<dependencies>
1111

12-
<!-- Spring -->
13-
<dependency>
14-
<groupId>org.springframework</groupId>
15-
<artifactId>spring-web</artifactId>
16-
<version>${org.springframework.version}</version>
17-
<exclusions>
18-
<exclusion>
19-
<artifactId>commons-logging</artifactId>
20-
<groupId>commons-logging</groupId>
21-
</exclusion>
22-
</exclusions>
23-
</dependency>
24-
<dependency>
25-
<groupId>org.springframework</groupId>
26-
<artifactId>spring-webmvc</artifactId>
27-
<version>${org.springframework.version}</version>
28-
</dependency>
29-
<dependency>
30-
<groupId>org.springframework</groupId>
31-
<artifactId>spring-oxm</artifactId>
32-
<version>${org.springframework.version}</version>
33-
</dependency>
34-
<dependency>
35-
<groupId>org.springframework.boot</groupId>
36-
<artifactId>spring-boot-starter-web</artifactId>
37-
<version>1.1.9.RELEASE</version>
38-
</dependency>
3912
<!-- utils -->
4013

4114
<dependency>

jackson/src/test/java/org/baeldung/jackson/jsonview/Application.java

Lines changed: 0 additions & 14 deletions
This file was deleted.

jackson/src/test/java/org/baeldung/jackson/jsonview/Item.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,16 @@ public class Item {
1010
public String itemName;
1111

1212
@JsonView(Views.Internal.class)
13-
public User owner;
13+
public String ownerName;
1414

1515
public Item() {
1616
super();
1717
}
1818

19-
public Item(final int id, final String itemName, final User owner) {
19+
public Item(final int id, final String itemName, final String ownerName) {
2020
this.id = id;
2121
this.itemName = itemName;
22-
this.owner = owner;
22+
this.ownerName = ownerName;
2323
}
2424

2525
public int getId() {
@@ -30,7 +30,7 @@ public String getItemName() {
3030
return itemName;
3131
}
3232

33-
public User getOwner() {
34-
return owner;
33+
public String getOwnerName() {
34+
return ownerName;
3535
}
3636
}

jackson/src/test/java/org/baeldung/jackson/jsonview/ItemManager.java

Lines changed: 0 additions & 10 deletions
This file was deleted.

jackson/src/test/java/org/baeldung/jackson/jsonview/User.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import com.fasterxml.jackson.annotation.JsonView;
44

55
public class User {
6-
@JsonView(Views.Public.class)
76
public int id;
87

98
@JsonView(Views.Public.class)

jackson/src/test/java/org/baeldung/jackson/test/JacksonJsonViewTest.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import org.junit.Test;
1515

1616
import com.fasterxml.jackson.core.JsonProcessingException;
17+
import com.fasterxml.jackson.databind.MapperFeature;
1718
import com.fasterxml.jackson.databind.ObjectMapper;
1819
import com.fasterxml.jackson.databind.ser.BeanSerializerFactory;
1920
import com.fasterxml.jackson.databind.ser.SerializerFactory;
@@ -25,16 +26,17 @@ public void whenUseJsonViewToSerialize_thenCorrect() throws JsonProcessingExcept
2526
final User user = new User(1, "John");
2627

2728
final ObjectMapper mapper = new ObjectMapper();
29+
mapper.disable(MapperFeature.DEFAULT_VIEW_INCLUSION);
30+
2831
final String result = mapper.writerWithView(Views.Public.class).writeValueAsString(user);
2932

3033
assertThat(result, containsString("John"));
31-
assertThat(result, containsString("1"));
34+
assertThat(result, not(containsString("1")));
3235
}
3336

3437
@Test
3538
public void whenUsePublicView_thenOnlyPublicSerialized() throws JsonProcessingException {
36-
final User owner = new User(1, "John");
37-
final Item item = new Item(2, "book", owner);
39+
final Item item = new Item(2, "book", "John");
3840

3941
final ObjectMapper mapper = new ObjectMapper();
4042
final String result = mapper.writerWithView(Views.Public.class).writeValueAsString(item);
@@ -43,13 +45,11 @@ public void whenUsePublicView_thenOnlyPublicSerialized() throws JsonProcessingEx
4345
assertThat(result, containsString("2"));
4446

4547
assertThat(result, not(containsString("John")));
46-
assertThat(result, not(containsString("1")));
4748
}
4849

4950
@Test
5051
public void whenUseInternalView_thenAllSerialized() throws JsonProcessingException {
51-
final User owner = new User(1, "John");
52-
final Item item = new Item(2, "book", owner);
52+
final Item item = new Item(2, "book", "John");
5353

5454
final ObjectMapper mapper = new ObjectMapper();
5555
final String result = mapper.writerWithView(Views.Internal.class).writeValueAsString(item);
@@ -58,7 +58,6 @@ public void whenUseInternalView_thenAllSerialized() throws JsonProcessingExcepti
5858
assertThat(result, containsString("2"));
5959

6060
assertThat(result, containsString("John"));
61-
assertThat(result, containsString("1"));
6261
}
6362

6463
@Test
@@ -84,4 +83,4 @@ public void whenUseCustomJsonViewToSerialize_thenCorrect() throws JsonProcessing
8483
assertThat(result, containsString("JOHN"));
8584
assertThat(result, containsString("1"));
8685
}
87-
}
86+
}

jackson/src/test/java/org/baeldung/jackson/jsonview/UserController.java renamed to spring-rest/src/main/java/org/baeldung/web/controller/ItemController.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,25 @@
1-
package org.baeldung.jackson.jsonview;
1+
package org.baeldung.web.controller;
22

3+
import org.baeldung.web.dto.Item;
4+
import org.baeldung.web.dto.ItemManager;
5+
import org.baeldung.web.dto.Views;
36
import org.springframework.web.bind.annotation.PathVariable;
47
import org.springframework.web.bind.annotation.RequestMapping;
58
import org.springframework.web.bind.annotation.RestController;
69

710
import com.fasterxml.jackson.annotation.JsonView;
811

912
@RestController
10-
public class UserController {
13+
public class ItemController {
1114

1215
@JsonView(Views.Public.class)
13-
@RequestMapping("/{id}")
16+
@RequestMapping("/items/{id}")
1417
public Item getItemPublic(@PathVariable final int id) {
1518
return ItemManager.getById(id);
1619
}
1720

1821
@JsonView(Views.Internal.class)
19-
@RequestMapping("/internal/{id}")
22+
@RequestMapping("/items/internal/{id}")
2023
public Item getItemInternal(@PathVariable final int id) {
2124
return ItemManager.getById(id);
2225
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package org.baeldung.web.dto;
2+
3+
import com.fasterxml.jackson.annotation.JsonView;
4+
5+
public class Item {
6+
@JsonView(Views.Public.class)
7+
public int id;
8+
9+
@JsonView(Views.Public.class)
10+
public String itemName;
11+
12+
@JsonView(Views.Internal.class)
13+
public String ownerName;
14+
15+
public Item() {
16+
super();
17+
}
18+
19+
public Item(final int id, final String itemName, final String ownerName) {
20+
this.id = id;
21+
this.itemName = itemName;
22+
this.ownerName = ownerName;
23+
}
24+
25+
public int getId() {
26+
return id;
27+
}
28+
29+
public String getItemName() {
30+
return itemName;
31+
}
32+
33+
public String getOwnerName() {
34+
return ownerName;
35+
}
36+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package org.baeldung.web.dto;
2+
3+
public class ItemManager {
4+
5+
public static Item getById(final int id) {
6+
final Item item = new Item(2, "book", "John");
7+
return item;
8+
}
9+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package org.baeldung.web.dto;
2+
3+
public class Views {
4+
public static class Public {
5+
}
6+
7+
public static class Internal extends Public {
8+
}
9+
}

0 commit comments

Comments
 (0)