16
16
17
17
package org .springframework .restdocs .payload ;
18
18
19
- import java .io .IOException ;
20
19
import java .util .Arrays ;
21
20
import java .util .Map ;
22
21
23
- import com .fasterxml .jackson .core .JsonParseException ;
24
- import com .fasterxml .jackson .core .JsonProcessingException ;
25
- import com .fasterxml .jackson .databind .JsonMappingException ;
26
- import com .fasterxml .jackson .databind .ObjectMapper ;
27
- import com .fasterxml .jackson .databind .SerializationFeature ;
28
22
import org .junit .jupiter .api .Test ;
23
+ import tools .jackson .core .JacksonException ;
24
+ import tools .jackson .databind .ObjectMapper ;
25
+ import tools .jackson .databind .SerializationFeature ;
26
+ import tools .jackson .databind .json .JsonMapper ;
29
27
30
28
import org .springframework .http .MediaType ;
31
29
@@ -42,7 +40,7 @@ class FieldPathPayloadSubsectionExtractorTests {
42
40
43
41
@ Test
44
42
@ SuppressWarnings ("unchecked" )
45
- void extractMapSubsectionOfJsonMap () throws JsonParseException , JsonMappingException , IOException {
43
+ void extractMapSubsectionOfJsonMap () throws JacksonException {
46
44
byte [] extractedPayload = new FieldPathPayloadSubsectionExtractor ("a.b" )
47
45
.extractSubsection ("{\" a\" :{\" b\" :{\" c\" :5}}}" .getBytes (), MediaType .APPLICATION_JSON );
48
46
Map <String , Object > extracted = new ObjectMapper ().readValue (extractedPayload , Map .class );
@@ -52,7 +50,7 @@ void extractMapSubsectionOfJsonMap() throws JsonParseException, JsonMappingExcep
52
50
53
51
@ Test
54
52
@ SuppressWarnings ("unchecked" )
55
- void extractSingleElementArraySubsectionOfJsonMap () throws JsonParseException , JsonMappingException , IOException {
53
+ void extractSingleElementArraySubsectionOfJsonMap () throws JacksonException {
56
54
byte [] extractedPayload = new FieldPathPayloadSubsectionExtractor ("a.[]" )
57
55
.extractSubsection ("{\" a\" :[{\" b\" :5}]}" .getBytes (), MediaType .APPLICATION_JSON );
58
56
Map <String , Object > extracted = new ObjectMapper ().readValue (extractedPayload , Map .class );
@@ -62,7 +60,7 @@ void extractSingleElementArraySubsectionOfJsonMap() throws JsonParseException, J
62
60
63
61
@ Test
64
62
@ SuppressWarnings ("unchecked" )
65
- void extractMultiElementArraySubsectionOfJsonMap () throws JsonParseException , JsonMappingException , IOException {
63
+ void extractMultiElementArraySubsectionOfJsonMap () throws JacksonException {
66
64
byte [] extractedPayload = new FieldPathPayloadSubsectionExtractor ("a" )
67
65
.extractSubsection ("{\" a\" :[{\" b\" :5},{\" b\" :4}]}" .getBytes (), MediaType .APPLICATION_JSON );
68
66
Map <String , Object > extracted = new ObjectMapper ().readValue (extractedPayload , Map .class );
@@ -72,8 +70,7 @@ void extractMultiElementArraySubsectionOfJsonMap() throws JsonParseException, Js
72
70
73
71
@ Test
74
72
@ SuppressWarnings ("unchecked" )
75
- void extractMapSubsectionFromSingleElementArrayInAJsonMap ()
76
- throws JsonParseException , JsonMappingException , IOException {
73
+ void extractMapSubsectionFromSingleElementArrayInAJsonMap () throws JacksonException {
77
74
byte [] extractedPayload = new FieldPathPayloadSubsectionExtractor ("a.[].b" )
78
75
.extractSubsection ("{\" a\" :[{\" b\" :{\" c\" :5}}]}" .getBytes (), MediaType .APPLICATION_JSON );
79
76
Map <String , Object > extracted = new ObjectMapper ().readValue (extractedPayload , Map .class );
@@ -83,8 +80,7 @@ void extractMapSubsectionFromSingleElementArrayInAJsonMap()
83
80
84
81
@ Test
85
82
@ SuppressWarnings ("unchecked" )
86
- void extractMapSubsectionWithCommonStructureFromMultiElementArrayInAJsonMap ()
87
- throws JsonParseException , JsonMappingException , IOException {
83
+ void extractMapSubsectionWithCommonStructureFromMultiElementArrayInAJsonMap () throws JacksonException {
88
84
byte [] extractedPayload = new FieldPathPayloadSubsectionExtractor ("a.[].b" )
89
85
.extractSubsection ("{\" a\" :[{\" b\" :{\" c\" :5}},{\" b\" :{\" c\" :6}}]}" .getBytes (), MediaType .APPLICATION_JSON );
90
86
Map <String , Object > extracted = new ObjectMapper ().readValue (extractedPayload , Map .class );
@@ -120,7 +116,7 @@ void extractMapSubsectionWithVaryingStructureFromInconsistentJsonMapWhereAllSubs
120
116
@ Test
121
117
@ SuppressWarnings ("unchecked" )
122
118
void extractMapSubsectionWithVaryingStructureDueToOptionalFieldsFromMultiElementArrayInAJsonMap ()
123
- throws JsonParseException , JsonMappingException , IOException {
119
+ throws JacksonException {
124
120
byte [] extractedPayload = new FieldPathPayloadSubsectionExtractor ("a.[].b" ).extractSubsection (
125
121
"{\" a\" :[{\" b\" :{\" c\" :5}},{\" b\" :{\" c\" :6, \" d\" : 7}}]}" .getBytes (), MediaType .APPLICATION_JSON ,
126
122
Arrays .asList (new FieldDescriptor ("d" ).optional ()));
@@ -132,7 +128,7 @@ void extractMapSubsectionWithVaryingStructureDueToOptionalFieldsFromMultiElement
132
128
@ Test
133
129
@ SuppressWarnings ("unchecked" )
134
130
void extractMapSubsectionWithVaryingStructureDueToOptionalParentFieldsFromMultiElementArrayInAJsonMap ()
135
- throws JsonParseException , JsonMappingException , IOException {
131
+ throws JacksonException {
136
132
byte [] extractedPayload = new FieldPathPayloadSubsectionExtractor ("a.[].b" ).extractSubsection (
137
133
"{\" a\" :[{\" b\" :{\" c\" :5}},{\" b\" :{\" c\" :6, \" d\" : { \" e\" : 7}}}]}" .getBytes (),
138
134
MediaType .APPLICATION_JSON , Arrays .asList (new FieldDescriptor ("d" ).optional ()));
@@ -142,9 +138,8 @@ void extractMapSubsectionWithVaryingStructureDueToOptionalParentFieldsFromMultiE
142
138
}
143
139
144
140
@ Test
145
- void extractedSubsectionIsPrettyPrintedWhenInputIsPrettyPrinted ()
146
- throws JsonParseException , JsonMappingException , JsonProcessingException , IOException {
147
- ObjectMapper objectMapper = new ObjectMapper ().enable (SerializationFeature .INDENT_OUTPUT );
141
+ void extractedSubsectionIsPrettyPrintedWhenInputIsPrettyPrinted () throws JacksonException {
142
+ ObjectMapper objectMapper = JsonMapper .builder ().enable (SerializationFeature .INDENT_OUTPUT ).build ();
148
143
byte [] prettyPrintedPayload = objectMapper
149
144
.writeValueAsBytes (objectMapper .readValue ("{\" a\" : { \" b\" : { \" c\" : 1 }}}" , Object .class ));
150
145
byte [] extractedSubsection = new FieldPathPayloadSubsectionExtractor ("a.b" )
@@ -155,8 +150,7 @@ void extractedSubsectionIsPrettyPrintedWhenInputIsPrettyPrinted()
155
150
}
156
151
157
152
@ Test
158
- void extractedSubsectionIsNotPrettyPrintedWhenInputIsNotPrettyPrinted ()
159
- throws JsonParseException , JsonMappingException , JsonProcessingException , IOException {
153
+ void extractedSubsectionIsNotPrettyPrintedWhenInputIsNotPrettyPrinted () throws JacksonException {
160
154
ObjectMapper objectMapper = new ObjectMapper ();
161
155
byte [] payload = objectMapper
162
156
.writeValueAsBytes (objectMapper .readValue ("{\" a\" : { \" b\" : { \" c\" : 1 }}}" , Object .class ));
@@ -176,8 +170,8 @@ void extractNonExistentSubsection() {
176
170
177
171
@ Test
178
172
void extractEmptyArraySubsection () {
179
- assertThatThrownBy (() -> new FieldPathPayloadSubsectionExtractor ("a" )
180
- . extractSubsection ( "{ \" a \" :[]}}" . getBytes (), MediaType .APPLICATION_JSON ))
173
+ assertThatThrownBy (() -> new FieldPathPayloadSubsectionExtractor ("a" ). extractSubsection ( "{ \" a \" :[]}" . getBytes (),
174
+ MediaType .APPLICATION_JSON ))
181
175
.isInstanceOf (PayloadHandlingException .class )
182
176
.hasMessage ("a identifies an empty section of the payload" );
183
177
}
0 commit comments