77
88import java .io .ByteArrayOutputStream ;
99import java .io .IOException ;
10+ import java .util .HashMap ;
1011import java .util .HashSet ;
1112import java .util .Set ;
1213import java .util .zip .GZIPOutputStream ;
1314
1415import static org .junit .jupiter .api .Assertions .*;
15- import static org .mockito .Mockito .*;
1616
1717@ Tag ("unit" )
1818class RetrofitResponseBodyMapperTest {
@@ -22,13 +22,21 @@ class RetrofitResponseBodyMapperTest {
2222 void isRedactUrl () {
2323 var mapper = new RetrofitResponseBodyMapper (Set .of ("https://www.google.com/" ), 0 );
2424
25- var response = new Response .Builder ()
26- .request (request ("GET" ))
27- .protocol (Protocol .HTTP_1_0 )
28- .message ("message" )
29- .code (200 )
30- .body (ResponseBody .create ("123" .getBytes (), MediaType .get ("application/text" )))
31- .build ();
25+ var response = new Response (
26+ request ("GET" ),
27+ Protocol .HTTP_1_0 ,
28+ "message" ,
29+ 200 ,
30+ null ,
31+ new Headers .Builder ().build (),
32+ ResponseBody .create ("123" .getBytes (), MediaType .get ("application/text" )),
33+ null ,
34+ null ,
35+ null ,
36+ 1 ,
37+ 2 ,
38+ null
39+ );
3240
3341 var value = mapper .getValue (null , response );
3442
@@ -40,13 +48,21 @@ void isRedactUrl() {
4048 void promisesBody () {
4149 var mapper = new RetrofitResponseBodyMapper (new HashSet <>(), 0 );
4250
43- var response = new Response .Builder ()
44- .request (request ("HEAD" ))
45- .protocol (Protocol .HTTP_1_0 )
46- .message ("message" )
47- .code (201 )
48- .body (ResponseBody .create ("123" .getBytes (), MediaType .get ("application/text" )))
49- .build ();
51+ var response = new Response (
52+ request ("HEAD" ),
53+ Protocol .HTTP_1_0 ,
54+ "message" ,
55+ 201 ,
56+ null ,
57+ new Headers .Builder ().build (),
58+ ResponseBody .create ("123" .getBytes (), MediaType .get ("application/text" )),
59+ null ,
60+ null ,
61+ null ,
62+ 1 ,
63+ 2 ,
64+ null
65+ );
5066
5167 var value = mapper .getValue (null , response );
5268
@@ -58,14 +74,21 @@ void promisesBody() {
5874 void bodyHasUnknownEncoding () {
5975 var mapper = new RetrofitResponseBodyMapper (new HashSet <>(), 0 );
6076
61- var response = new Response .Builder ()
62- .request (request ("GET" ))
63- .protocol (Protocol .HTTP_1_0 )
64- .message ("message" )
65- .code (201 )
66- .header ("Content-Encoding" , "unknownEncoding" )
67- .body (ResponseBody .create ("123" .getBytes (), MediaType .get ("application/text" )))
68- .build ();
77+ var response = new Response (
78+ request ("GET" ),
79+ Protocol .HTTP_1_0 ,
80+ "message" ,
81+ 201 ,
82+ null ,
83+ new Headers .Builder ().add ("Content-Encoding" , "unknownEncoding" ).build (),
84+ ResponseBody .create ("123" .getBytes (), MediaType .get ("application/text" )),
85+ null ,
86+ null ,
87+ null ,
88+ 1 ,
89+ 2 ,
90+ null
91+ );
6992
7093 var value = mapper .getValue (null , response );
7194
@@ -77,12 +100,21 @@ void bodyHasUnknownEncoding() {
77100 void bodyMissing () {
78101 var mapper = new RetrofitResponseBodyMapper (new HashSet <>(), 0 );
79102
80- // In OkHttp 5.x, Response.body() is non-null by design, so we need to mock it
81- var response = mock (Response .class );
82- when (response .request ()).thenReturn (request ("GET" ));
83- when (response .code ()).thenReturn (201 );
84- when (response .headers ()).thenReturn (new Headers .Builder ().build ());
85- when (response .body ()).thenReturn (null );
103+ var response = new Response (
104+ request ("GET" ),
105+ Protocol .HTTP_1_0 ,
106+ "message" ,
107+ 201 ,
108+ null ,
109+ new Headers .Builder ().build (),
110+ null ,
111+ null ,
112+ null ,
113+ null ,
114+ 1 ,
115+ 2 ,
116+ null
117+ );
86118
87119 var value = mapper .getValue (null , response );
88120
@@ -93,13 +125,21 @@ void bodyMissing() {
93125 @ DisplayName ("Response body is correctly returned" )
94126 void bodyAvailable () {
95127 var mapper = new RetrofitResponseBodyMapper (new HashSet <>(), 4096 );
96- var response = new Response .Builder ()
97- .request (request ("GET" ))
98- .protocol (Protocol .HTTP_2 )
99- .message ("OK" )
100- .code (200 )
101- .body (ResponseBody .create ("123" .getBytes (), MediaType .get ("application/text" )))
102- .build ();
128+ var response = new Response (
129+ request ("GET" ),
130+ Protocol .HTTP_2 ,
131+ "OK" ,
132+ 200 ,
133+ null ,
134+ new Headers .Builder ().build (),
135+ ResponseBody .create ("123" .getBytes (), MediaType .get ("application/text" )),
136+ null ,
137+ null ,
138+ null ,
139+ 1 ,
140+ 2 ,
141+ null
142+ );
103143
104144 assertEquals ("123" , mapper .getValue (null , response ));
105145 }
@@ -108,13 +148,21 @@ void bodyAvailable() {
108148 @ DisplayName ("Response body is correctly shortened" )
109149 void bodyIsShortened () {
110150 var mapper = new RetrofitResponseBodyMapper (new HashSet <>(), 2 );
111- var response = new Response .Builder ()
112- .request (request ("GET" ))
113- .protocol (Protocol .HTTP_2 )
114- .message ("OK" )
115- .code (200 )
116- .body (ResponseBody .create ("123" .getBytes (), MediaType .get ("application/text" )))
117- .build ();
151+ var response = new Response (
152+ request ("GET" ),
153+ Protocol .HTTP_2 ,
154+ "OK" ,
155+ 200 ,
156+ null ,
157+ new Headers .Builder ().build (),
158+ ResponseBody .create ("123" .getBytes (), MediaType .get ("application/text" )),
159+ null ,
160+ null ,
161+ null ,
162+ 1 ,
163+ 2 ,
164+ null
165+ );
118166
119167 assertEquals ("12 ... Content size: 3 characters" , mapper .getValue (null , response ));
120168 }
@@ -123,13 +171,21 @@ void bodyIsShortened() {
123171 @ DisplayName ("Response body is correctly returned when empty" )
124172 void bodyIsEmpty () {
125173 var mapper = new RetrofitResponseBodyMapper (new HashSet <>(), 4096 );
126- var response = new Response .Builder ()
127- .request (request ("GET" ))
128- .protocol (Protocol .HTTP_2 )
129- .message ("OK" )
130- .code (200 )
131- .body (ResponseBody .create (new byte []{}, MediaType .get ("application/text" )))
132- .build ();
174+ var response = new Response (
175+ request ("GET" ),
176+ Protocol .HTTP_2 ,
177+ "OK" ,
178+ 200 ,
179+ null ,
180+ new Headers .Builder ().build (),
181+ ResponseBody .create (new byte []{}, MediaType .get ("application/text" )),
182+ null ,
183+ null ,
184+ null ,
185+ 1 ,
186+ 2 ,
187+ null
188+ );
133189
134190 assertEquals ("" , mapper .getValue (null , response ));
135191 }
@@ -138,14 +194,21 @@ void bodyIsEmpty() {
138194 @ DisplayName ("Response body is correctly returned when response is gzipped" )
139195 void bodyIsGzipped () throws IOException {
140196 var mapper = new RetrofitResponseBodyMapper (new HashSet <>(), 4096 );
141- var response = new Response .Builder ()
142- .request (request ("GET" ))
143- .protocol (Protocol .HTTP_2 )
144- .message ("OK" )
145- .code (200 )
146- .header ("Content-Encoding" , "gzip" )
147- .body (ResponseBody .create (gzip ("some amount of data" ), MediaType .get ("application/text" )))
148- .build ();
197+ var response = new Response (
198+ request ("GET" ),
199+ Protocol .HTTP_2 ,
200+ "OK" ,
201+ 200 ,
202+ null ,
203+ new Headers .Builder ().add ("Content-Encoding" , "gzip" ).build (),
204+ ResponseBody .create (gzip ("some amount of data" ), MediaType .get ("application/text" )),
205+ null ,
206+ null ,
207+ null ,
208+ 1 ,
209+ 2 ,
210+ null
211+ );
149212
150213 assertEquals ("some amount of data" , mapper .getValue (null , response ));
151214 }
@@ -157,13 +220,16 @@ void responseIsNull() {
157220 }
158221
159222 private Request request (String method ) {
160- return new Request . Builder ()
161- . url ( new HttpUrl .Builder ()
223+ return new Request (
224+ new HttpUrl .Builder ()
162225 .scheme ("https" )
163226 .host ("www.google.com" )
164- .build ())
165- .method (method , method .equals ("GET" ) || method .equals ("HEAD" ) ? null : RequestBody .create ("123" .getBytes (), MediaType .get ("application/text" )))
166- .build ();
227+ .build (),
228+ method ,
229+ new Headers .Builder ().build (),
230+ RequestBody .create ("123" .getBytes (), MediaType .get ("application/text" )),
231+ new HashMap <>()
232+ );
167233 }
168234
169235 private byte [] gzip (String data ) throws IOException {
0 commit comments