Skip to content

Commit ebb8500

Browse files
committed
Bump Retrofit logging-interceptor
1 parent aae9f21 commit ebb8500

2 files changed

Lines changed: 64 additions & 130 deletions

File tree

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ dependencies {
7777
compileOnly group: 'com.squareup.retrofit2', name: 'converter-jackson', version: "${retrofitVersion}"
7878

7979
// https://mvnrepository.com/artifact/com.squareup.okhttp3/logging-interceptor
80-
compileOnly group: 'com.squareup.okhttp3', name: 'logging-interceptor', version: '4.12.0'
80+
compileOnly group: 'com.squareup.okhttp3', name: 'logging-interceptor', version: '5.3.2'
8181

8282
// https://mvnrepository.com/artifact/de.siegmar/logback-gelf
8383
compileOnly group: 'de.siegmar', name: 'logback-gelf', version: '6.1.+'

src/test/java/ee/bitweb/core/retrofit/logging/mappers/RetrofitResponseBodyMapperTest.java

Lines changed: 63 additions & 129 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@
77

88
import java.io.ByteArrayOutputStream;
99
import java.io.IOException;
10-
import java.util.HashMap;
1110
import java.util.HashSet;
1211
import java.util.Set;
1312
import java.util.zip.GZIPOutputStream;
1413

1514
import static org.junit.jupiter.api.Assertions.*;
15+
import static org.mockito.Mockito.*;
1616

1717
@Tag("unit")
1818
class RetrofitResponseBodyMapperTest {
@@ -22,21 +22,13 @@ class RetrofitResponseBodyMapperTest {
2222
void isRedactUrl() {
2323
var mapper = new RetrofitResponseBodyMapper(Set.of("https://www.google.com/"), 0);
2424

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-
);
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();
4032

4133
var value = mapper.getValue(null, response);
4234

@@ -48,21 +40,13 @@ void isRedactUrl() {
4840
void promisesBody() {
4941
var mapper = new RetrofitResponseBodyMapper(new HashSet<>(), 0);
5042

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-
);
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();
6650

6751
var value = mapper.getValue(null, response);
6852

@@ -74,21 +58,14 @@ void promisesBody() {
7458
void bodyHasUnknownEncoding() {
7559
var mapper = new RetrofitResponseBodyMapper(new HashSet<>(), 0);
7660

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-
);
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();
9269

9370
var value = mapper.getValue(null, response);
9471

@@ -100,21 +77,12 @@ void bodyHasUnknownEncoding() {
10077
void bodyMissing() {
10178
var mapper = new RetrofitResponseBodyMapper(new HashSet<>(), 0);
10279

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-
);
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);
11886

11987
var value = mapper.getValue(null, response);
12088

@@ -125,21 +93,13 @@ void bodyMissing() {
12593
@DisplayName("Response body is correctly returned")
12694
void bodyAvailable() {
12795
var mapper = new RetrofitResponseBodyMapper(new HashSet<>(), 4096);
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-
);
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();
143103

144104
assertEquals("123", mapper.getValue(null, response));
145105
}
@@ -148,21 +108,13 @@ void bodyAvailable() {
148108
@DisplayName("Response body is correctly shortened")
149109
void bodyIsShortened() {
150110
var mapper = new RetrofitResponseBodyMapper(new HashSet<>(), 2);
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-
);
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();
166118

167119
assertEquals("12 ... Content size: 3 characters", mapper.getValue(null, response));
168120
}
@@ -171,21 +123,13 @@ void bodyIsShortened() {
171123
@DisplayName("Response body is correctly returned when empty")
172124
void bodyIsEmpty() {
173125
var mapper = new RetrofitResponseBodyMapper(new HashSet<>(), 4096);
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-
);
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();
189133

190134
assertEquals("", mapper.getValue(null, response));
191135
}
@@ -194,21 +138,14 @@ void bodyIsEmpty() {
194138
@DisplayName("Response body is correctly returned when response is gzipped")
195139
void bodyIsGzipped() throws IOException {
196140
var mapper = new RetrofitResponseBodyMapper(new HashSet<>(), 4096);
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-
);
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();
212149

213150
assertEquals("some amount of data", mapper.getValue(null, response));
214151
}
@@ -220,16 +157,13 @@ void responseIsNull() {
220157
}
221158

222159
private Request request(String method) {
223-
return new Request(
224-
new HttpUrl.Builder()
160+
return new Request.Builder()
161+
.url(new HttpUrl.Builder()
225162
.scheme("https")
226163
.host("www.google.com")
227-
.build(),
228-
method,
229-
new Headers.Builder().build(),
230-
RequestBody.create("123".getBytes(), MediaType.get("application/text")),
231-
new HashMap<>()
232-
);
164+
.build())
165+
.method(method, method.equals("GET") || method.equals("HEAD") ? null : RequestBody.create("123".getBytes(), MediaType.get("application/text")))
166+
.build();
233167
}
234168

235169
private byte[] gzip(String data) throws IOException {

0 commit comments

Comments
 (0)