Skip to content

Commit bed3689

Browse files
committed
Polishing
1 parent 3d85ec2 commit bed3689

File tree

2 files changed

+27
-68
lines changed

2 files changed

+27
-68
lines changed

spring-web/src/test/java/org/springframework/web/method/annotation/RequestParamMethodArgumentResolverTests.java

Lines changed: 21 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import java.util.Optional;
2323

2424
import jakarta.servlet.http.Part;
25-
import org.assertj.core.api.InstanceOfAssertFactories;
2625
import org.junit.jupiter.api.BeforeEach;
2726
import org.junit.jupiter.api.Test;
2827

@@ -54,6 +53,10 @@
5453
import static org.assertj.core.api.Assertions.assertThat;
5554
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
5655
import static org.assertj.core.api.Assertions.assertThatThrownBy;
56+
import static org.assertj.core.api.InstanceOfAssertFactories.LIST;
57+
import static org.assertj.core.api.InstanceOfAssertFactories.array;
58+
import static org.assertj.core.api.InstanceOfAssertFactories.optional;
59+
import static org.assertj.core.api.InstanceOfAssertFactories.type;
5760
import static org.mockito.BDDMockito.given;
5861
import static org.mockito.Mockito.mock;
5962
import static org.springframework.web.testfixture.method.MvcAnnotationPredicates.requestParam;
@@ -84,6 +87,7 @@ void setup() {
8487

8588
// Expose request to the current thread (for SpEL expressions)
8689
RequestContextHolder.setRequestAttributes(webRequest);
90+
context.close();
8791
}
8892

8993
@Test
@@ -169,9 +173,7 @@ void resolveString() throws Exception {
169173

170174
MethodParameter param = this.testMethod.annot(requestParam().notRequired("bar")).arg(String.class);
171175
Object result = resolver.resolveArgument(param, null, webRequest, null);
172-
boolean condition = result instanceof String;
173-
assertThat(condition).isTrue();
174-
assertThat(result).as("Invalid result").isEqualTo(expected);
176+
assertThat(result).isEqualTo(expected);
175177
}
176178

177179
@Test
@@ -181,9 +183,7 @@ void resolveStringArray() throws Exception {
181183

182184
MethodParameter param = this.testMethod.annotPresent(RequestParam.class).arg(String[].class);
183185
Object result = resolver.resolveArgument(param, null, webRequest, null);
184-
boolean condition = result instanceof String[];
185-
assertThat(condition).isTrue();
186-
assertThat((String[]) result).as("Invalid result").isEqualTo(expected);
186+
assertThat(result).asInstanceOf(array(String[].class)).containsExactly(expected);
187187
}
188188

189189
@Test // gh-32577
@@ -194,9 +194,7 @@ void resolveStringArrayWithEmptyArraySuffix() throws Exception {
194194

195195
MethodParameter param = this.testMethod.annotPresent(RequestParam.class).arg(String[].class);
196196
Object result = resolver.resolveArgument(param, null, webRequest, null);
197-
boolean condition = result instanceof String[];
198-
assertThat(condition).isTrue();
199-
assertThat((String[]) result).isEqualTo(expected);
197+
assertThat(result).asInstanceOf(array(String[].class)).containsExactly(expected);
200198
}
201199

202200
@Test
@@ -208,9 +206,7 @@ void resolveMultipartFile() throws Exception {
208206

209207
MethodParameter param = this.testMethod.annotPresent(RequestParam.class).arg(MultipartFile.class);
210208
Object result = resolver.resolveArgument(param, null, webRequest, null);
211-
boolean condition = result instanceof MultipartFile;
212-
assertThat(condition).isTrue();
213-
assertThat(result).as("Invalid result").isEqualTo(expected);
209+
assertThat(result).asInstanceOf(type(MultipartFile.class)).isEqualTo(expected);
214210
}
215211

216212
@Test
@@ -226,9 +222,7 @@ void resolveMultipartFileList() throws Exception {
226222
MethodParameter param = this.testMethod.annotPresent(RequestParam.class).arg(List.class, MultipartFile.class);
227223
Object result = resolver.resolveArgument(param, null, webRequest, null);
228224

229-
boolean condition = result instanceof List;
230-
assertThat(condition).isTrue();
231-
assertThat(result).isEqualTo(Arrays.asList(expected1, expected2));
225+
assertThat(result).asInstanceOf(LIST).containsExactly(expected1, expected2);
232226
}
233227

234228
@Test
@@ -255,12 +249,7 @@ void resolveMultipartFileArray() throws Exception {
255249
MethodParameter param = this.testMethod.annotPresent(RequestParam.class).arg(MultipartFile[].class);
256250
Object result = resolver.resolveArgument(param, null, webRequest, null);
257251

258-
boolean condition = result instanceof MultipartFile[];
259-
assertThat(condition).isTrue();
260-
MultipartFile[] parts = (MultipartFile[]) result;
261-
assertThat(parts).hasSize(2);
262-
assertThat(expected1).isEqualTo(parts[0]);
263-
assertThat(expected2).isEqualTo(parts[1]);
252+
assertThat(result).asInstanceOf(array(MultipartFile[].class)).containsExactly(expected1, expected2);
264253
}
265254

266255
@Test
@@ -286,9 +275,7 @@ void resolvePart() throws Exception {
286275
MethodParameter param = this.testMethod.annotPresent(RequestParam.class).arg(Part.class);
287276
Object result = resolver.resolveArgument(param, null, webRequest, null);
288277

289-
boolean condition = result instanceof Part;
290-
assertThat(condition).isTrue();
291-
assertThat(result).as("Invalid result").isEqualTo(expected);
278+
assertThat(result).asInstanceOf(type(Part.class)).isEqualTo(expected);
292279
}
293280

294281
@Test
@@ -306,9 +293,7 @@ void resolvePartList() throws Exception {
306293
MethodParameter param = this.testMethod.annotPresent(RequestParam.class).arg(List.class, Part.class);
307294
Object result = resolver.resolveArgument(param, null, webRequest, null);
308295

309-
boolean condition = result instanceof List;
310-
assertThat(condition).isTrue();
311-
assertThat(result).isEqualTo(Arrays.asList(expected1, expected2));
296+
assertThat(result).asInstanceOf(LIST).containsExactly(expected1, expected2);
312297
}
313298

314299
@Test
@@ -339,12 +324,7 @@ void resolvePartArray() throws Exception {
339324
MethodParameter param = this.testMethod.annotPresent(RequestParam.class).arg(Part[].class);
340325
Object result = resolver.resolveArgument(param, null, webRequest, null);
341326

342-
boolean condition = result instanceof Part[];
343-
assertThat(condition).isTrue();
344-
Part[] parts = (Part[]) result;
345-
assertThat(parts).hasSize(2);
346-
assertThat(expected1).isEqualTo(parts[0]);
347-
assertThat(expected2).isEqualTo(parts[1]);
327+
assertThat(result).asInstanceOf(array(Part[].class)).containsExactly(expected1, expected2);
348328
}
349329

350330
@Test
@@ -369,9 +349,7 @@ void resolveMultipartFileNotAnnot() throws Exception {
369349

370350
MethodParameter param = this.testMethod.annotNotPresent().arg(MultipartFile.class);
371351
Object result = resolver.resolveArgument(param, null, webRequest, null);
372-
boolean condition = result instanceof MultipartFile;
373-
assertThat(condition).isTrue();
374-
assertThat(result).as("Invalid result").isEqualTo(expected);
352+
assertThat(result).asInstanceOf(type(MultipartFile.class)).isEqualTo(expected);
375353
}
376354

377355
@Test
@@ -387,9 +365,7 @@ void resolveMultipartFileListNotannot() throws Exception {
387365
.annotNotPresent(RequestParam.class).arg(List.class, MultipartFile.class);
388366

389367
Object result = resolver.resolveArgument(param, null, webRequest, null);
390-
boolean condition = result instanceof List;
391-
assertThat(condition).isTrue();
392-
assertThat(result).isEqualTo(Arrays.asList(expected1, expected2));
368+
assertThat(result).asInstanceOf(LIST).containsExactly(expected1, expected2);
393369
}
394370

395371
@Test
@@ -411,8 +387,7 @@ public void isMultipartRequestHttpPut() throws Exception {
411387
.annotNotPresent(RequestParam.class).arg(List.class, MultipartFile.class);
412388

413389
Object actual = resolver.resolveArgument(param, null, webRequest, null);
414-
assertThat(actual).isInstanceOf(List.class).asInstanceOf(InstanceOfAssertFactories.LIST)
415-
.containsExactly(expected);
390+
assertThat(actual).asInstanceOf(LIST).containsExactly(expected);
416391
}
417392

418393
@Test
@@ -443,18 +418,14 @@ void resolvePartNotAnnot() throws Exception {
443418

444419
MethodParameter param = this.testMethod.annotNotPresent(RequestParam.class).arg(Part.class);
445420
Object result = resolver.resolveArgument(param, null, webRequest, null);
446-
boolean condition = result instanceof Part;
447-
assertThat(condition).isTrue();
448-
assertThat(result).as("Invalid result").isEqualTo(expected);
421+
assertThat(result).asInstanceOf(type(Part.class)).isEqualTo(expected);
449422
}
450423

451424
@Test
452425
void resolveDefaultValue() throws Exception {
453426
MethodParameter param = this.testMethod.annot(requestParam().notRequired("bar")).arg(String.class);
454427
Object result = resolver.resolveArgument(param, null, webRequest, null);
455-
boolean condition = result instanceof String;
456-
assertThat(condition).isTrue();
457-
assertThat(result).as("Invalid result").isEqualTo("bar");
428+
assertThat(result).isEqualTo("bar");
458429
}
459430

460431
@Test
@@ -529,8 +500,6 @@ void resolveSimpleTypeParam() throws Exception {
529500
MethodParameter param = this.testMethod.annotNotPresent(RequestParam.class).arg(String.class);
530501
Object result = resolver.resolveArgument(param, null, webRequest, null);
531502

532-
boolean condition = result instanceof String;
533-
assertThat(condition).isTrue();
534503
assertThat(result).isEqualTo("plainValue");
535504
}
536505

@@ -678,9 +647,7 @@ void resolveOptionalMultipartFile() throws Exception {
678647
MethodParameter param = this.testMethod.annotPresent(RequestParam.class).arg(Optional.class, MultipartFile.class);
679648
Object result = resolver.resolveArgument(param, null, webRequest, binderFactory);
680649

681-
boolean condition = result instanceof Optional;
682-
assertThat(condition).isTrue();
683-
assertThat(((Optional<?>) result).get()).as("Invalid result").isEqualTo(expected);
650+
assertThat(result).asInstanceOf(optional(MultipartFile.class)).contains(expected);
684651
}
685652

686653
@Test
@@ -724,8 +691,7 @@ void resolveNameFromSystemPropertyThroughPlaceholder() throws Exception {
724691
try {
725692
MethodParameter param = this.testMethod.annot(requestParam().name("${systemProperty}")).arg(Integer.class);
726693
Object result = resolver.resolveArgument(param, null, webRequest, binderFactory);
727-
boolean condition = result instanceof Integer;
728-
assertThat(condition).isTrue();
694+
assertThat(result).isInstanceOf(Integer.class);
729695
}
730696
finally {
731697
System.clearProperty("systemProperty");

spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestParamMethodArgumentResolverTests.java

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package org.springframework.web.reactive.result.method.annotation;
1818

19+
1920
import java.time.Duration;
2021
import java.util.Map;
2122
import java.util.Optional;
@@ -39,6 +40,8 @@
3940

4041
import static org.assertj.core.api.Assertions.assertThat;
4142
import static org.assertj.core.api.Assertions.assertThatIllegalStateException;
43+
import static org.assertj.core.api.InstanceOfAssertFactories.array;
44+
import static org.assertj.core.api.InstanceOfAssertFactories.optional;
4245
import static org.springframework.core.ResolvableType.forClassWithGenerics;
4346
import static org.springframework.web.testfixture.method.MvcAnnotationPredicates.requestParam;
4447

@@ -58,7 +61,6 @@ class RequestParamMethodArgumentResolverTests {
5861

5962
@BeforeEach
6063
void setup() throws Exception {
61-
6264
ReactiveAdapterRegistry adapterRegistry = ReactiveAdapterRegistry.getSharedInstance();
6365
this.resolver = new RequestParamMethodArgumentResolver(null, adapterRegistry, true);
6466

@@ -70,7 +72,6 @@ void setup() throws Exception {
7072

7173
@Test
7274
void supportsParameter() {
73-
7475
MethodParameter param = this.testMethod.annot(requestParam().notRequired("bar")).arg(String.class);
7576
assertThat(this.resolver.supportsParameter(param)).isTrue();
7677

@@ -91,7 +92,6 @@ void supportsParameter() {
9192

9293
param = this.testMethod.annot(requestParam().notRequired()).arg(String.class);
9394
assertThat(this.resolver.supportsParameter(param)).isTrue();
94-
9595
}
9696

9797
@Test
@@ -125,19 +125,15 @@ void resolveStringArray() {
125125
MethodParameter param = this.testMethod.annotPresent(RequestParam.class).arg(String[].class);
126126
MockServerHttpRequest request = MockServerHttpRequest.get("/path?name=foo&name=bar").build();
127127
Object result = resolve(param, MockServerWebExchange.from(request));
128-
boolean condition = result instanceof String[];
129-
assertThat(condition).isTrue();
130-
assertThat((String[]) result).isEqualTo(new String[] {"foo", "bar"});
128+
assertThat(result).asInstanceOf(array(String[].class)).containsExactly("foo", "bar");
131129
}
132130

133131
@Test // gh-32577
134132
void resolveStringArrayWithEmptyArraySuffix() {
135133
MethodParameter param = this.testMethod.annotPresent(RequestParam.class).arg(String[].class);
136134
MockServerHttpRequest request = MockServerHttpRequest.get("/path?name[]=foo&name[]=bar").build();
137135
Object result = resolve(param, MockServerWebExchange.from(request));
138-
boolean condition = result instanceof String[];
139-
assertThat(condition).isTrue();
140-
assertThat((String[]) result).isEqualTo(new String[] {"foo", "bar"});
136+
assertThat(result).asInstanceOf(array(String[].class)).containsExactly("foo", "bar");
141137
}
142138

143139
@Test
@@ -214,10 +210,7 @@ void resolveOptionalParamValue() {
214210
exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/path?name=123"));
215211
result = resolve(param, exchange);
216212

217-
assertThat(result.getClass()).isEqualTo(Optional.class);
218-
Optional<?> value = (Optional<?>) result;
219-
assertThat(value).isPresent();
220-
assertThat(value.get()).isEqualTo(123);
213+
assertThat(result).asInstanceOf(optional(Integer.class)).contains(123);
221214
}
222215

223216

0 commit comments

Comments
 (0)