1
1
/*
2
- * Copyright 2002-2015 the original author or authors.
2
+ * Copyright 2002-2016 the original author or authors.
3
3
*
4
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
5
* you may not use this file except in compliance with the License.
26
26
import javax .validation .Valid ;
27
27
import javax .validation .constraints .NotNull ;
28
28
29
- import org .hamcrest .Matchers ;
30
29
import org .junit .Before ;
31
30
import org .junit .Test ;
32
31
@@ -157,14 +156,12 @@ public void supportsParameter() {
157
156
@ Test
158
157
public void resolveMultipartFile () throws Exception {
159
158
Object actual = resolver .resolveArgument (paramMultipartFile , null , webRequest , null );
160
- assertNotNull (actual );
161
159
assertSame (multipartFile1 , actual );
162
160
}
163
161
164
162
@ Test
165
163
public void resolveMultipartFileList () throws Exception {
166
164
Object actual = resolver .resolveArgument (paramMultipartFileList , null , webRequest , null );
167
- assertNotNull (actual );
168
165
assertTrue (actual instanceof List );
169
166
assertEquals (Arrays .asList (multipartFile1 , multipartFile2 ), actual );
170
167
}
@@ -175,6 +172,7 @@ public void resolveMultipartFileArray() throws Exception {
175
172
assertNotNull (actual );
176
173
assertTrue (actual instanceof MultipartFile []);
177
174
MultipartFile [] parts = (MultipartFile []) actual ;
175
+ assertEquals (2 , parts .length );
178
176
assertEquals (parts [0 ], multipartFile1 );
179
177
assertEquals (parts [1 ], multipartFile2 );
180
178
}
@@ -202,7 +200,6 @@ public void resolvePartArgument() throws Exception {
202
200
webRequest = new ServletWebRequest (request );
203
201
204
202
Object result = resolver .resolveArgument (paramPart , null , webRequest , null );
205
-
206
203
assertTrue (result instanceof Part );
207
204
assertEquals ("Invalid result" , expected , result );
208
205
}
@@ -219,7 +216,6 @@ public void resolvePartListArgument() throws Exception {
219
216
webRequest = new ServletWebRequest (request );
220
217
221
218
Object result = resolver .resolveArgument (paramPartList , null , webRequest , null );
222
-
223
219
assertTrue (result instanceof List );
224
220
assertEquals (Arrays .asList (part1 , part2 ), result );
225
221
}
@@ -236,10 +232,9 @@ public void resolvePartArrayArgument() throws Exception {
236
232
webRequest = new ServletWebRequest (request );
237
233
238
234
Object result = resolver .resolveArgument (paramPartArray , null , webRequest , null );
239
-
240
235
assertTrue (result instanceof Part []);
241
236
Part [] parts = (Part []) result ;
242
- assertThat ( parts , Matchers . arrayWithSize ( 2 ) );
237
+ assertEquals ( 2 , parts . length );
243
238
assertEquals (parts [0 ], part1 );
244
239
assertEquals (parts [1 ], part2 );
245
240
}
@@ -302,8 +297,8 @@ public void isMultipartRequest() throws Exception {
302
297
@ Test // SPR-9079
303
298
public void isMultipartRequestPut () throws Exception {
304
299
this .multipartRequest .setMethod ("PUT" );
305
- Object actual = resolver .resolveArgument (paramMultipartFile , null , webRequest , null );
306
- assertSame (multipartFile1 , actual );
300
+ Object actualValue = resolver .resolveArgument (paramMultipartFile , null , webRequest , null );
301
+ assertSame (multipartFile1 , actualValue );
307
302
}
308
303
309
304
@ Test
@@ -313,21 +308,25 @@ public void resolveOptionalMultipartFileArgument() throws Exception {
313
308
request .addFile (expected );
314
309
webRequest = new ServletWebRequest (request );
315
310
316
- Object result = resolver .resolveArgument (optionalMultipartFile , null , webRequest , null );
311
+ Object actualValue = resolver .resolveArgument (optionalMultipartFile , null , webRequest , null );
312
+ assertTrue (actualValue instanceof Optional );
313
+ assertEquals ("Invalid result" , expected , ((Optional ) actualValue ).get ());
317
314
318
- assertTrue (result instanceof Optional );
319
- assertEquals ("Invalid result" , expected , ((Optional ) result ).get ());
315
+ actualValue = resolver .resolveArgument (optionalMultipartFile , null , webRequest , null );
316
+ assertTrue (actualValue instanceof Optional );
317
+ assertEquals ("Invalid result" , expected , ((Optional ) actualValue ).get ());
320
318
}
321
319
322
320
@ Test
323
321
public void resolveOptionalMultipartFileArgumentNotPresent () throws Exception {
324
322
MockMultipartHttpServletRequest request = new MockMultipartHttpServletRequest ();
325
323
webRequest = new ServletWebRequest (request );
326
324
327
- Object result = resolver .resolveArgument (optionalMultipartFile , null , webRequest , null );
325
+ Object actualValue = resolver .resolveArgument (optionalMultipartFile , null , webRequest , null );
326
+ assertEquals ("Invalid argument value" , Optional .empty (), actualValue );
328
327
329
- assertTrue ( result instanceof Optional );
330
- assertFalse ("Invalid result " , (( Optional ) result ). isPresent () );
328
+ actualValue = resolver . resolveArgument ( optionalMultipartFile , null , webRequest , null );
329
+ assertEquals ("Invalid argument value " , Optional . empty (), actualValue );
331
330
}
332
331
333
332
@ Test
@@ -339,10 +338,13 @@ public void resolveOptionalPartArgument() throws Exception {
339
338
request .addPart (expected );
340
339
webRequest = new ServletWebRequest (request );
341
340
342
- Object result = resolver .resolveArgument (optionalPart , null , webRequest , null );
341
+ Object actualValue = resolver .resolveArgument (optionalPart , null , webRequest , null );
342
+ assertTrue (actualValue instanceof Optional );
343
+ assertEquals ("Invalid result" , expected , ((Optional ) actualValue ).get ());
343
344
344
- assertTrue (result instanceof Optional );
345
- assertEquals ("Invalid result" , expected , ((Optional ) result ).get ());
345
+ actualValue = resolver .resolveArgument (optionalPart , null , webRequest , null );
346
+ assertTrue (actualValue instanceof Optional );
347
+ assertEquals ("Invalid result" , expected , ((Optional ) actualValue ).get ());
346
348
}
347
349
348
350
@ Test
@@ -352,22 +354,26 @@ public void resolveOptionalPartArgumentNotPresent() throws Exception {
352
354
request .setContentType ("multipart/form-data" );
353
355
webRequest = new ServletWebRequest (request );
354
356
355
- Object result = resolver .resolveArgument (optionalPart , null , webRequest , null );
357
+ Object actualValue = resolver .resolveArgument (optionalPart , null , webRequest , null );
358
+ assertEquals ("Invalid argument value" , Optional .empty (), actualValue );
356
359
357
- assertTrue ( result instanceof Optional );
358
- assertFalse ("Invalid result " , (( Optional ) result ). isPresent () );
360
+ actualValue = resolver . resolveArgument ( optionalPart , null , webRequest , null );
361
+ assertEquals ("Invalid argument value " , Optional . empty (), actualValue );
359
362
}
360
363
361
364
@ Test
362
365
public void resolveOptionalRequestPart () throws Exception {
363
366
SimpleBean simpleBean = new SimpleBean ("foo" );
364
-
365
367
given (messageConverter .canRead (SimpleBean .class , MediaType .TEXT_PLAIN )).willReturn (true );
366
368
given (messageConverter .read (eq (SimpleBean .class ), isA (HttpInputMessage .class ))).willReturn (simpleBean );
367
369
368
370
ModelAndViewContainer mavContainer = new ModelAndViewContainer ();
371
+
369
372
Object actualValue = resolver .resolveArgument (optionalRequestPart , mavContainer , webRequest , new ValidatingBinderFactory ());
373
+ assertEquals ("Invalid argument value" , Optional .of (simpleBean ), actualValue );
374
+ assertFalse ("The requestHandled flag shouldn't change" , mavContainer .isRequestHandled ());
370
375
376
+ actualValue = resolver .resolveArgument (optionalRequestPart , mavContainer , webRequest , new ValidatingBinderFactory ());
371
377
assertEquals ("Invalid argument value" , Optional .of (simpleBean ), actualValue );
372
378
assertFalse ("The requestHandled flag shouldn't change" , mavContainer .isRequestHandled ());
373
379
}
@@ -378,8 +384,12 @@ public void resolveOptionalRequestPartNotPresent() throws Exception {
378
384
given (messageConverter .read (eq (SimpleBean .class ), isA (RequestPartServletServerHttpRequest .class ))).willReturn (null );
379
385
380
386
ModelAndViewContainer mavContainer = new ModelAndViewContainer ();
387
+
381
388
Object actualValue = resolver .resolveArgument (optionalRequestPart , mavContainer , webRequest , new ValidatingBinderFactory ());
389
+ assertEquals ("Invalid argument value" , Optional .empty (), actualValue );
390
+ assertFalse ("The requestHandled flag shouldn't change" , mavContainer .isRequestHandled ());
382
391
392
+ actualValue = resolver .resolveArgument (optionalRequestPart , mavContainer , webRequest , new ValidatingBinderFactory ());
383
393
assertEquals ("Invalid argument value" , Optional .empty (), actualValue );
384
394
assertFalse ("The requestHandled flag shouldn't change" , mavContainer .isRequestHandled ());
385
395
}
@@ -390,8 +400,8 @@ private void testResolveArgument(SimpleBean argValue, MethodParameter parameter)
390
400
given (messageConverter .read (eq (SimpleBean .class ), isA (HttpInputMessage .class ))).willReturn (argValue );
391
401
392
402
ModelAndViewContainer mavContainer = new ModelAndViewContainer ();
393
- Object actualValue = resolver .resolveArgument (parameter , mavContainer , webRequest , new ValidatingBinderFactory ());
394
403
404
+ Object actualValue = resolver .resolveArgument (parameter , mavContainer , webRequest , new ValidatingBinderFactory ());
395
405
assertEquals ("Invalid argument value" , argValue , actualValue );
396
406
assertFalse ("The requestHandled flag shouldn't change" , mavContainer .isRequestHandled ());
397
407
}
@@ -425,22 +435,24 @@ public WebDataBinder createBinder(NativeWebRequest webRequest, Object target, St
425
435
}
426
436
}
427
437
438
+
428
439
@ SuppressWarnings ("unused" )
429
- public void handle (@ RequestPart SimpleBean requestPart ,
430
- @ RequestPart (value ="requestPart" , required =false ) SimpleBean namedRequestPart ,
431
- @ Valid @ RequestPart ("requestPart" ) SimpleBean validRequestPart ,
432
- @ RequestPart ("requestPart" ) MultipartFile multipartFile ,
433
- @ RequestPart ("requestPart" ) List <MultipartFile > multipartFileList ,
434
- @ RequestPart ("requestPart" ) MultipartFile [] multipartFileArray ,
435
- int i ,
436
- MultipartFile multipartFileNotAnnot ,
437
- Part part ,
438
- @ RequestPart ("part" ) List <Part > partList ,
439
- @ RequestPart ("part" ) Part [] partArray ,
440
- @ RequestParam MultipartFile requestParamAnnot ,
441
- Optional <MultipartFile > optionalMultipartFile ,
442
- Optional <Part > optionalPart ,
443
- @ RequestPart ("requestPart" ) Optional <SimpleBean > optionalRequestPart ) {
440
+ public void handle (
441
+ @ RequestPart SimpleBean requestPart ,
442
+ @ RequestPart (value ="requestPart" , required =false ) SimpleBean namedRequestPart ,
443
+ @ Valid @ RequestPart ("requestPart" ) SimpleBean validRequestPart ,
444
+ @ RequestPart ("requestPart" ) MultipartFile multipartFile ,
445
+ @ RequestPart ("requestPart" ) List <MultipartFile > multipartFileList ,
446
+ @ RequestPart ("requestPart" ) MultipartFile [] multipartFileArray ,
447
+ int i ,
448
+ MultipartFile multipartFileNotAnnot ,
449
+ Part part ,
450
+ @ RequestPart ("requestPart" ) List <Part > partList ,
451
+ @ RequestPart ("requestPart" ) Part [] partArray ,
452
+ @ RequestParam MultipartFile requestParamAnnot ,
453
+ Optional <MultipartFile > optionalMultipartFile ,
454
+ Optional <Part > optionalPart ,
455
+ @ RequestPart ("requestPart" ) Optional <SimpleBean > optionalRequestPart ) {
444
456
}
445
457
446
458
}
0 commit comments