Skip to content

Commit a6b567a

Browse files
committed
Polishing
1 parent 7a51617 commit a6b567a

File tree

1 file changed

+64
-99
lines changed

1 file changed

+64
-99
lines changed

spring-webflux/src/test/java/org/springframework/web/reactive/function/client/DefaultClientResponseTests.java

Lines changed: 64 additions & 99 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
package org.springframework.web.reactive.function.client;
1818

1919
import java.net.InetSocketAddress;
20-
import java.nio.ByteBuffer;
2120
import java.nio.charset.StandardCharsets;
2221
import java.util.Collections;
2322
import java.util.List;
@@ -34,7 +33,6 @@
3433
import org.springframework.core.codec.ByteArrayDecoder;
3534
import org.springframework.core.codec.StringDecoder;
3635
import org.springframework.core.io.buffer.DataBuffer;
37-
import org.springframework.core.io.buffer.DefaultDataBuffer;
3836
import org.springframework.core.io.buffer.DefaultDataBufferFactory;
3937
import org.springframework.http.HttpHeaders;
4038
import org.springframework.http.HttpRange;
@@ -45,7 +43,6 @@
4543
import org.springframework.http.ResponseEntity;
4644
import org.springframework.http.client.reactive.ClientHttpResponse;
4745
import org.springframework.http.codec.DecoderHttpMessageReader;
48-
import org.springframework.http.codec.HttpMessageReader;
4946
import org.springframework.http.codec.json.Jackson2JsonDecoder;
5047
import org.springframework.util.LinkedMultiValueMap;
5148
import org.springframework.util.MultiValueMap;
@@ -62,19 +59,21 @@
6259
*/
6360
class DefaultClientResponseTests {
6461

65-
private ClientHttpResponse mockResponse = mock();
62+
private static final ParameterizedTypeReference<String> STRING_TYPE = new ParameterizedTypeReference<>() {};
63+
64+
65+
private final ClientHttpResponse mockResponse = mock();
6666

6767
private final HttpHeaders httpHeaders = new HttpHeaders();
6868

69-
private ExchangeStrategies mockExchangeStrategies = mock();
69+
private final ExchangeStrategies mockExchangeStrategies = mock();
7070

7171
private DefaultClientResponse defaultClientResponse;
7272

7373

7474
@BeforeEach
7575
void configureMocks() {
7676
given(mockResponse.getHeaders()).willReturn(this.httpHeaders);
77-
7877
defaultClientResponse = new DefaultClientResponse(mockResponse, mockExchangeStrategies, "", "", () -> null);
7978
}
8079

@@ -121,13 +120,11 @@ void cookies() {
121120
@Test
122121
void body() {
123122
byte[] bytes = "foo".getBytes(StandardCharsets.UTF_8);
124-
DefaultDataBuffer dataBuffer = DefaultDataBufferFactory.sharedInstance.wrap(ByteBuffer.wrap(bytes));
125-
Flux<DataBuffer> body = Flux.just(dataBuffer);
126-
mockTextPlainResponse(body);
123+
DataBuffer dataBuffer = DefaultDataBufferFactory.sharedInstance.wrap(bytes);
124+
mockTextPlainResponse(Flux.just(dataBuffer));
127125

128-
List<HttpMessageReader<?>> messageReaders = Collections
129-
.singletonList(new DecoderHttpMessageReader<>(StringDecoder.allMimeTypes()));
130-
given(mockExchangeStrategies.messageReaders()).willReturn(messageReaders);
126+
given(mockExchangeStrategies.messageReaders()).willReturn(
127+
Collections.singletonList(new DecoderHttpMessageReader<>(StringDecoder.allMimeTypes())));
131128

132129
Mono<String> resultMono = defaultClientResponse.body(toMono(String.class));
133130
assertThat(resultMono.block()).isEqualTo("foo");
@@ -136,13 +133,11 @@ void body() {
136133
@Test
137134
void bodyToMono() {
138135
byte[] bytes = "foo".getBytes(StandardCharsets.UTF_8);
139-
DefaultDataBuffer dataBuffer = DefaultDataBufferFactory.sharedInstance.wrap(ByteBuffer.wrap(bytes));
140-
Flux<DataBuffer> body = Flux.just(dataBuffer);
141-
mockTextPlainResponse(body);
136+
DataBuffer dataBuffer = DefaultDataBufferFactory.sharedInstance.wrap(bytes);
137+
mockTextPlainResponse(Flux.just(dataBuffer));
142138

143-
List<HttpMessageReader<?>> messageReaders = Collections
144-
.singletonList(new DecoderHttpMessageReader<>(StringDecoder.allMimeTypes()));
145-
given(mockExchangeStrategies.messageReaders()).willReturn(messageReaders);
139+
given(mockExchangeStrategies.messageReaders()).willReturn(
140+
Collections.singletonList(new DecoderHttpMessageReader<>(StringDecoder.allMimeTypes())));
146141

147142
Mono<String> resultMono = defaultClientResponse.bodyToMono(String.class);
148143
assertThat(resultMono.block()).isEqualTo("foo");
@@ -151,30 +146,24 @@ void bodyToMono() {
151146
@Test
152147
void bodyToMonoTypeReference() {
153148
byte[] bytes = "foo".getBytes(StandardCharsets.UTF_8);
154-
DefaultDataBuffer dataBuffer = DefaultDataBufferFactory.sharedInstance.wrap(ByteBuffer.wrap(bytes));
155-
Flux<DataBuffer> body = Flux.just(dataBuffer);
156-
mockTextPlainResponse(body);
149+
DataBuffer dataBuffer = DefaultDataBufferFactory.sharedInstance.wrap(bytes);
150+
mockTextPlainResponse(Flux.just(dataBuffer));
157151

158-
List<HttpMessageReader<?>> messageReaders = Collections
159-
.singletonList(new DecoderHttpMessageReader<>(StringDecoder.allMimeTypes()));
160-
given(mockExchangeStrategies.messageReaders()).willReturn(messageReaders);
152+
given(mockExchangeStrategies.messageReaders()).willReturn(
153+
Collections.singletonList(new DecoderHttpMessageReader<>(StringDecoder.allMimeTypes())));
161154

162-
Mono<String> resultMono =
163-
defaultClientResponse.bodyToMono(new ParameterizedTypeReference<String>() {
164-
});
155+
Mono<String> resultMono = defaultClientResponse.bodyToMono(STRING_TYPE);
165156
assertThat(resultMono.block()).isEqualTo("foo");
166157
}
167158

168159
@Test
169160
void bodyToFlux() {
170161
byte[] bytes = "foo".getBytes(StandardCharsets.UTF_8);
171-
DefaultDataBuffer dataBuffer = DefaultDataBufferFactory.sharedInstance.wrap(ByteBuffer.wrap(bytes));
172-
Flux<DataBuffer> body = Flux.just(dataBuffer);
173-
mockTextPlainResponse(body);
162+
DataBuffer dataBuffer = DefaultDataBufferFactory.sharedInstance.wrap(bytes);
163+
mockTextPlainResponse(Flux.just(dataBuffer));
174164

175-
List<HttpMessageReader<?>> messageReaders = Collections
176-
.singletonList(new DecoderHttpMessageReader<>(StringDecoder.allMimeTypes()));
177-
given(mockExchangeStrategies.messageReaders()).willReturn(messageReaders);
165+
given(mockExchangeStrategies.messageReaders()).willReturn(
166+
Collections.singletonList(new DecoderHttpMessageReader<>(StringDecoder.allMimeTypes())));
178167

179168
Flux<String> resultFlux = defaultClientResponse.bodyToFlux(String.class);
180169
Mono<List<String>> result = resultFlux.collectList();
@@ -184,17 +173,13 @@ void bodyToFlux() {
184173
@Test
185174
void bodyToFluxTypeReference() {
186175
byte[] bytes = "foo".getBytes(StandardCharsets.UTF_8);
187-
DefaultDataBuffer dataBuffer = DefaultDataBufferFactory.sharedInstance.wrap(ByteBuffer.wrap(bytes));
188-
Flux<DataBuffer> body = Flux.just(dataBuffer);
189-
mockTextPlainResponse(body);
176+
DataBuffer dataBuffer = DefaultDataBufferFactory.sharedInstance.wrap(bytes);
177+
mockTextPlainResponse(Flux.just(dataBuffer));
190178

191-
List<HttpMessageReader<?>> messageReaders = Collections
192-
.singletonList(new DecoderHttpMessageReader<>(StringDecoder.allMimeTypes()));
193-
given(mockExchangeStrategies.messageReaders()).willReturn(messageReaders);
179+
given(mockExchangeStrategies.messageReaders()).willReturn(
180+
Collections.singletonList(new DecoderHttpMessageReader<>(StringDecoder.allMimeTypes())));
194181

195-
Flux<String> resultFlux =
196-
defaultClientResponse.bodyToFlux(new ParameterizedTypeReference<String>() {
197-
});
182+
Flux<String> resultFlux = defaultClientResponse.bodyToFlux(STRING_TYPE);
198183
Mono<List<String>> result = resultFlux.collectList();
199184
assertThat(result.block()).isEqualTo(Collections.singletonList("foo"));
200185
}
@@ -203,13 +188,11 @@ void bodyToFluxTypeReference() {
203188
@SuppressWarnings("deprecation")
204189
void toEntity() {
205190
byte[] bytes = "foo".getBytes(StandardCharsets.UTF_8);
206-
DefaultDataBuffer dataBuffer = DefaultDataBufferFactory.sharedInstance.wrap(ByteBuffer.wrap(bytes));
207-
Flux<DataBuffer> body = Flux.just(dataBuffer);
208-
mockTextPlainResponse(body);
191+
DataBuffer dataBuffer = DefaultDataBufferFactory.sharedInstance.wrap(bytes);
192+
mockTextPlainResponse(Flux.just(dataBuffer));
209193

210-
List<HttpMessageReader<?>> messageReaders = Collections
211-
.singletonList(new DecoderHttpMessageReader<>(StringDecoder.allMimeTypes()));
212-
given(mockExchangeStrategies.messageReaders()).willReturn(messageReaders);
194+
given(mockExchangeStrategies.messageReaders()).willReturn(
195+
Collections.singletonList(new DecoderHttpMessageReader<>(StringDecoder.allMimeTypes())));
213196

214197
ResponseEntity<String> result = defaultClientResponse.toEntity(String.class).block();
215198
assertThat(result.getBody()).isEqualTo("foo");
@@ -220,19 +203,17 @@ void toEntity() {
220203

221204
@Test
222205
@SuppressWarnings("deprecation")
223-
void toEntityWithUnknownStatusCode() throws Exception {
206+
void toEntityWithUnknownStatusCode() {
224207
byte[] bytes = "foo".getBytes(StandardCharsets.UTF_8);
225-
DefaultDataBuffer dataBuffer = DefaultDataBufferFactory.sharedInstance.wrap(ByteBuffer.wrap(bytes));
226-
Flux<DataBuffer> body = Flux.just(dataBuffer);
208+
DataBuffer dataBuffer = DefaultDataBufferFactory.sharedInstance.wrap(bytes);
227209

228210
httpHeaders.setContentType(MediaType.TEXT_PLAIN);
229211
given(mockResponse.getHeaders()).willReturn(httpHeaders);
230212
given(mockResponse.getStatusCode()).willReturn(HttpStatusCode.valueOf(999));
231-
given(mockResponse.getBody()).willReturn(body);
213+
given(mockResponse.getBody()).willReturn(Flux.just(dataBuffer));
232214

233-
List<HttpMessageReader<?>> messageReaders = Collections
234-
.singletonList(new DecoderHttpMessageReader<>(StringDecoder.allMimeTypes()));
235-
given(mockExchangeStrategies.messageReaders()).willReturn(messageReaders);
215+
given(mockExchangeStrategies.messageReaders()).willReturn(
216+
Collections.singletonList(new DecoderHttpMessageReader<>(StringDecoder.allMimeTypes())));
236217

237218
ResponseEntity<String> result = defaultClientResponse.toEntity(String.class).block();
238219
assertThat(result.getBody()).isEqualTo("foo");
@@ -245,17 +226,13 @@ void toEntityWithUnknownStatusCode() throws Exception {
245226
@SuppressWarnings("deprecation")
246227
void toEntityTypeReference() {
247228
byte[] bytes = "foo".getBytes(StandardCharsets.UTF_8);
248-
DefaultDataBuffer dataBuffer = DefaultDataBufferFactory.sharedInstance.wrap(ByteBuffer.wrap(bytes));
249-
Flux<DataBuffer> body = Flux.just(dataBuffer);
250-
mockTextPlainResponse(body);
229+
DataBuffer dataBuffer = DefaultDataBufferFactory.sharedInstance.wrap(bytes);
230+
mockTextPlainResponse(Flux.just(dataBuffer));
251231

252-
List<HttpMessageReader<?>> messageReaders = Collections
253-
.singletonList(new DecoderHttpMessageReader<>(StringDecoder.allMimeTypes()));
254-
given(mockExchangeStrategies.messageReaders()).willReturn(messageReaders);
232+
given(mockExchangeStrategies.messageReaders()).willReturn(
233+
Collections.singletonList(new DecoderHttpMessageReader<>(StringDecoder.allMimeTypes())));
255234

256-
ResponseEntity<String> result = defaultClientResponse.toEntity(
257-
new ParameterizedTypeReference<String>() {
258-
}).block();
235+
ResponseEntity<String> result = defaultClientResponse.toEntity(STRING_TYPE).block();
259236
assertThat(result.getBody()).isEqualTo("foo");
260237
assertThat(result.getStatusCode()).isEqualTo(HttpStatus.OK);
261238
assertThat(result.getStatusCodeValue()).isEqualTo(HttpStatus.OK.value());
@@ -266,13 +243,11 @@ void toEntityTypeReference() {
266243
@SuppressWarnings("deprecation")
267244
void toEntityList() {
268245
byte[] bytes = "foo".getBytes(StandardCharsets.UTF_8);
269-
DefaultDataBuffer dataBuffer = DefaultDataBufferFactory.sharedInstance.wrap(ByteBuffer.wrap(bytes));
270-
Flux<DataBuffer> body = Flux.just(dataBuffer);
271-
mockTextPlainResponse(body);
246+
DataBuffer dataBuffer = DefaultDataBufferFactory.sharedInstance.wrap(bytes);
247+
mockTextPlainResponse(Flux.just(dataBuffer));
272248

273-
List<HttpMessageReader<?>> messageReaders = Collections
274-
.singletonList(new DecoderHttpMessageReader<>(StringDecoder.allMimeTypes()));
275-
given(mockExchangeStrategies.messageReaders()).willReturn(messageReaders);
249+
given(mockExchangeStrategies.messageReaders()).willReturn(
250+
Collections.singletonList(new DecoderHttpMessageReader<>(StringDecoder.allMimeTypes())));
276251

277252
ResponseEntity<List<String>> result = defaultClientResponse.toEntityList(String.class).block();
278253
assertThat(result.getBody()).isEqualTo(Collections.singletonList("foo"));
@@ -285,17 +260,15 @@ void toEntityList() {
285260
@SuppressWarnings("deprecation")
286261
void toEntityListWithUnknownStatusCode() {
287262
byte[] bytes = "foo".getBytes(StandardCharsets.UTF_8);
288-
DefaultDataBuffer dataBuffer = DefaultDataBufferFactory.sharedInstance.wrap(ByteBuffer.wrap(bytes));
289-
Flux<DataBuffer> body = Flux.just(dataBuffer);
263+
DataBuffer dataBuffer = DefaultDataBufferFactory.sharedInstance.wrap(bytes);
290264

291265
httpHeaders.setContentType(MediaType.TEXT_PLAIN);
292266
given(mockResponse.getHeaders()).willReturn(httpHeaders);
293267
given(mockResponse.getStatusCode()).willReturn(HttpStatusCode.valueOf(999));
294-
given(mockResponse.getBody()).willReturn(body);
268+
given(mockResponse.getBody()).willReturn(Flux.just(dataBuffer));
295269

296-
List<HttpMessageReader<?>> messageReaders = Collections
297-
.singletonList(new DecoderHttpMessageReader<>(StringDecoder.allMimeTypes()));
298-
given(mockExchangeStrategies.messageReaders()).willReturn(messageReaders);
270+
given(mockExchangeStrategies.messageReaders()).willReturn(
271+
Collections.singletonList(new DecoderHttpMessageReader<>(StringDecoder.allMimeTypes())));
299272

300273
ResponseEntity<List<String>> result = defaultClientResponse.toEntityList(String.class).block();
301274
assertThat(result.getBody()).isEqualTo(Collections.singletonList("foo"));
@@ -308,36 +281,31 @@ void toEntityListWithUnknownStatusCode() {
308281
@SuppressWarnings("deprecation")
309282
void toEntityListTypeReference() {
310283
byte[] bytes = "foo".getBytes(StandardCharsets.UTF_8);
311-
DefaultDataBuffer dataBuffer = DefaultDataBufferFactory.sharedInstance.wrap(ByteBuffer.wrap(bytes));
312-
Flux<DataBuffer> body = Flux.just(dataBuffer);
284+
DataBuffer dataBuffer = DefaultDataBufferFactory.sharedInstance.wrap(bytes);
313285

314-
mockTextPlainResponse(body);
286+
mockTextPlainResponse(Flux.just(dataBuffer));
315287

316-
List<HttpMessageReader<?>> messageReaders = Collections
317-
.singletonList(new DecoderHttpMessageReader<>(StringDecoder.allMimeTypes()));
318-
given(mockExchangeStrategies.messageReaders()).willReturn(messageReaders);
288+
given(mockExchangeStrategies.messageReaders()).willReturn(
289+
Collections.singletonList(new DecoderHttpMessageReader<>(StringDecoder.allMimeTypes())));
319290

320-
ResponseEntity<List<String>> result = defaultClientResponse.toEntityList(
321-
new ParameterizedTypeReference<String>() {}).block();
291+
ResponseEntity<List<String>> result = defaultClientResponse.toEntityList(STRING_TYPE).block();
322292
assertThat(result.getBody()).isEqualTo(Collections.singletonList("foo"));
323293
assertThat(result.getStatusCode()).isEqualTo(HttpStatus.OK);
324294
assertThat(result.getStatusCodeValue()).isEqualTo(HttpStatus.OK.value());
325295
assertThat(result.getHeaders().getContentType()).isEqualTo(MediaType.TEXT_PLAIN);
326296
}
327297

328298
@Test
329-
@SuppressWarnings("deprecation")
330299
void createException() {
331300
byte[] bytes = "foo".getBytes(StandardCharsets.UTF_8);
332-
DefaultDataBuffer dataBuffer = DefaultDataBufferFactory.sharedInstance.wrap(ByteBuffer.wrap(bytes));
333-
Flux<DataBuffer> body = Flux.just(dataBuffer);
301+
DataBuffer dataBuffer = DefaultDataBufferFactory.sharedInstance.wrap(bytes);
302+
334303
httpHeaders.setContentType(MediaType.TEXT_PLAIN);
335304
given(mockResponse.getStatusCode()).willReturn(HttpStatus.NOT_FOUND);
336-
given(mockResponse.getBody()).willReturn(body);
305+
given(mockResponse.getBody()).willReturn(Flux.just(dataBuffer));
337306

338-
List<HttpMessageReader<?>> messageReaders = Collections.singletonList(
339-
new DecoderHttpMessageReader<>(new ByteArrayDecoder()));
340-
given(mockExchangeStrategies.messageReaders()).willReturn(messageReaders);
307+
given(mockExchangeStrategies.messageReaders()).willReturn(
308+
Collections.singletonList(new DecoderHttpMessageReader<>(new ByteArrayDecoder())));
341309

342310
Mono<WebClientResponseException> resultMono = defaultClientResponse.createException();
343311
WebClientResponseException exception = resultMono.block();
@@ -383,18 +351,16 @@ void createExceptionAndDecodeWithoutContent() {
383351
}
384352

385353
@Test
386-
@SuppressWarnings("deprecation")
387354
void createError() {
388355
byte[] bytes = "foo".getBytes(StandardCharsets.UTF_8);
389-
DefaultDataBuffer dataBuffer = DefaultDataBufferFactory.sharedInstance.wrap(ByteBuffer.wrap(bytes));
390-
Flux<DataBuffer> body = Flux.just(dataBuffer);
356+
DataBuffer dataBuffer = DefaultDataBufferFactory.sharedInstance.wrap(bytes);
357+
391358
httpHeaders.setContentType(MediaType.TEXT_PLAIN);
392359
given(mockResponse.getStatusCode()).willReturn(HttpStatus.NOT_FOUND);
393-
given(mockResponse.getBody()).willReturn(body);
360+
given(mockResponse.getBody()).willReturn(Flux.just(dataBuffer));
394361

395-
List<HttpMessageReader<?>> messageReaders = Collections.singletonList(
396-
new DecoderHttpMessageReader<>(new ByteArrayDecoder()));
397-
given(mockExchangeStrategies.messageReaders()).willReturn(messageReaders);
362+
given(mockExchangeStrategies.messageReaders()).willReturn(
363+
Collections.singletonList(new DecoderHttpMessageReader<>(new ByteArrayDecoder())));
398364

399365
Mono<String> resultMono = defaultClientResponse.createError();
400366
StepVerifier.create(resultMono)
@@ -412,7 +378,6 @@ void createError() {
412378
}
413379

414380

415-
@SuppressWarnings("deprecation")
416381
private void mockTextPlainResponse(Flux<DataBuffer> body) {
417382
httpHeaders.setContentType(MediaType.TEXT_PLAIN);
418383
given(mockResponse.getStatusCode()).willReturn(HttpStatus.OK);

0 commit comments

Comments
 (0)