1616
1717package org .springframework .restdocs .payload ;
1818
19- import java .io .IOException ;
2019import java .util .Arrays ;
2120import java .util .Map ;
2221
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 ;
2822import 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 ;
2927
3028import org .springframework .http .MediaType ;
3129
@@ -42,7 +40,7 @@ class FieldPathPayloadSubsectionExtractorTests {
4240
4341 @ Test
4442 @ SuppressWarnings ("unchecked" )
45- void extractMapSubsectionOfJsonMap () throws JsonParseException , JsonMappingException , IOException {
43+ void extractMapSubsectionOfJsonMap () throws JacksonException {
4644 byte [] extractedPayload = new FieldPathPayloadSubsectionExtractor ("a.b" )
4745 .extractSubsection ("{\" a\" :{\" b\" :{\" c\" :5}}}" .getBytes (), MediaType .APPLICATION_JSON );
4846 Map <String , Object > extracted = new ObjectMapper ().readValue (extractedPayload , Map .class );
@@ -52,7 +50,7 @@ void extractMapSubsectionOfJsonMap() throws JsonParseException, JsonMappingExcep
5250
5351 @ Test
5452 @ SuppressWarnings ("unchecked" )
55- void extractSingleElementArraySubsectionOfJsonMap () throws JsonParseException , JsonMappingException , IOException {
53+ void extractSingleElementArraySubsectionOfJsonMap () throws JacksonException {
5654 byte [] extractedPayload = new FieldPathPayloadSubsectionExtractor ("a.[]" )
5755 .extractSubsection ("{\" a\" :[{\" b\" :5}]}" .getBytes (), MediaType .APPLICATION_JSON );
5856 Map <String , Object > extracted = new ObjectMapper ().readValue (extractedPayload , Map .class );
@@ -62,7 +60,7 @@ void extractSingleElementArraySubsectionOfJsonMap() throws JsonParseException, J
6260
6361 @ Test
6462 @ SuppressWarnings ("unchecked" )
65- void extractMultiElementArraySubsectionOfJsonMap () throws JsonParseException , JsonMappingException , IOException {
63+ void extractMultiElementArraySubsectionOfJsonMap () throws JacksonException {
6664 byte [] extractedPayload = new FieldPathPayloadSubsectionExtractor ("a" )
6765 .extractSubsection ("{\" a\" :[{\" b\" :5},{\" b\" :4}]}" .getBytes (), MediaType .APPLICATION_JSON );
6866 Map <String , Object > extracted = new ObjectMapper ().readValue (extractedPayload , Map .class );
@@ -72,8 +70,7 @@ void extractMultiElementArraySubsectionOfJsonMap() throws JsonParseException, Js
7270
7371 @ Test
7472 @ SuppressWarnings ("unchecked" )
75- void extractMapSubsectionFromSingleElementArrayInAJsonMap ()
76- throws JsonParseException , JsonMappingException , IOException {
73+ void extractMapSubsectionFromSingleElementArrayInAJsonMap () throws JacksonException {
7774 byte [] extractedPayload = new FieldPathPayloadSubsectionExtractor ("a.[].b" )
7875 .extractSubsection ("{\" a\" :[{\" b\" :{\" c\" :5}}]}" .getBytes (), MediaType .APPLICATION_JSON );
7976 Map <String , Object > extracted = new ObjectMapper ().readValue (extractedPayload , Map .class );
@@ -83,8 +80,7 @@ void extractMapSubsectionFromSingleElementArrayInAJsonMap()
8380
8481 @ Test
8582 @ SuppressWarnings ("unchecked" )
86- void extractMapSubsectionWithCommonStructureFromMultiElementArrayInAJsonMap ()
87- throws JsonParseException , JsonMappingException , IOException {
83+ void extractMapSubsectionWithCommonStructureFromMultiElementArrayInAJsonMap () throws JacksonException {
8884 byte [] extractedPayload = new FieldPathPayloadSubsectionExtractor ("a.[].b" )
8985 .extractSubsection ("{\" a\" :[{\" b\" :{\" c\" :5}},{\" b\" :{\" c\" :6}}]}" .getBytes (), MediaType .APPLICATION_JSON );
9086 Map <String , Object > extracted = new ObjectMapper ().readValue (extractedPayload , Map .class );
@@ -120,7 +116,7 @@ void extractMapSubsectionWithVaryingStructureFromInconsistentJsonMapWhereAllSubs
120116 @ Test
121117 @ SuppressWarnings ("unchecked" )
122118 void extractMapSubsectionWithVaryingStructureDueToOptionalFieldsFromMultiElementArrayInAJsonMap ()
123- throws JsonParseException , JsonMappingException , IOException {
119+ throws JacksonException {
124120 byte [] extractedPayload = new FieldPathPayloadSubsectionExtractor ("a.[].b" ).extractSubsection (
125121 "{\" a\" :[{\" b\" :{\" c\" :5}},{\" b\" :{\" c\" :6, \" d\" : 7}}]}" .getBytes (), MediaType .APPLICATION_JSON ,
126122 Arrays .asList (new FieldDescriptor ("d" ).optional ()));
@@ -132,7 +128,7 @@ void extractMapSubsectionWithVaryingStructureDueToOptionalFieldsFromMultiElement
132128 @ Test
133129 @ SuppressWarnings ("unchecked" )
134130 void extractMapSubsectionWithVaryingStructureDueToOptionalParentFieldsFromMultiElementArrayInAJsonMap ()
135- throws JsonParseException , JsonMappingException , IOException {
131+ throws JacksonException {
136132 byte [] extractedPayload = new FieldPathPayloadSubsectionExtractor ("a.[].b" ).extractSubsection (
137133 "{\" a\" :[{\" b\" :{\" c\" :5}},{\" b\" :{\" c\" :6, \" d\" : { \" e\" : 7}}}]}" .getBytes (),
138134 MediaType .APPLICATION_JSON , Arrays .asList (new FieldDescriptor ("d" ).optional ()));
@@ -142,9 +138,8 @@ void extractMapSubsectionWithVaryingStructureDueToOptionalParentFieldsFromMultiE
142138 }
143139
144140 @ 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 ();
148143 byte [] prettyPrintedPayload = objectMapper
149144 .writeValueAsBytes (objectMapper .readValue ("{\" a\" : { \" b\" : { \" c\" : 1 }}}" , Object .class ));
150145 byte [] extractedSubsection = new FieldPathPayloadSubsectionExtractor ("a.b" )
@@ -155,8 +150,7 @@ void extractedSubsectionIsPrettyPrintedWhenInputIsPrettyPrinted()
155150 }
156151
157152 @ Test
158- void extractedSubsectionIsNotPrettyPrintedWhenInputIsNotPrettyPrinted ()
159- throws JsonParseException , JsonMappingException , JsonProcessingException , IOException {
153+ void extractedSubsectionIsNotPrettyPrintedWhenInputIsNotPrettyPrinted () throws JacksonException {
160154 ObjectMapper objectMapper = new ObjectMapper ();
161155 byte [] payload = objectMapper
162156 .writeValueAsBytes (objectMapper .readValue ("{\" a\" : { \" b\" : { \" c\" : 1 }}}" , Object .class ));
@@ -176,8 +170,8 @@ void extractNonExistentSubsection() {
176170
177171 @ Test
178172 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 ))
181175 .isInstanceOf (PayloadHandlingException .class )
182176 .hasMessage ("a identifies an empty section of the payload" );
183177 }
0 commit comments