1
1
/*
2
- * Copyright 2002-2020 the original author or authors.
2
+ * Copyright 2002-2022 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.
29
29
import jakarta .servlet .http .HttpServletRequest ;
30
30
import jakarta .servlet .http .HttpServletRequestWrapper ;
31
31
import jakarta .servlet .http .HttpServletResponse ;
32
+ import org .assertj .core .api .InstanceOfAssertFactories ;
32
33
import org .junit .jupiter .api .BeforeEach ;
33
34
import org .junit .jupiter .api .Test ;
34
35
@@ -169,7 +170,7 @@ public void parameterizableViewController() throws Exception {
169
170
request .addUserRole ("role1" );
170
171
MockHttpServletResponse response = new MockHttpServletResponse ();
171
172
complexDispatcherServlet .service (request , response );
172
- assertThat ("myform.jsp" . equals ( response .getForwardedUrl ())) .as ("forwarded to form " ).isTrue ( );
173
+ assertThat (response .getForwardedUrl ()).as ("forwarded URL " ).isEqualTo ( "myform.jsp" );
173
174
}
174
175
175
176
@ Test
@@ -197,7 +198,7 @@ public void unknownRequest() throws Exception {
197
198
MockHttpServletRequest request = new MockHttpServletRequest (getServletContext (), "GET" , "/unknown.do" );
198
199
MockHttpServletResponse response = new MockHttpServletResponse ();
199
200
complexDispatcherServlet .service (request , response );
200
- assertThat (response .getForwardedUrl ()).as ("forwarded to failed " ).isEqualTo ("failed0.jsp" );
201
+ assertThat (response .getForwardedUrl ()).as ("forwarded URL " ).isEqualTo ("failed0.jsp" );
201
202
assertThat (request .getAttribute ("exception" ).getClass ().equals (ServletException .class )).as ("Exception exposed" ).isTrue ();
202
203
}
203
204
@@ -262,10 +263,10 @@ public void multipartResolutionFailed() throws Exception {
262
263
request .setAttribute ("fail" , Boolean .TRUE );
263
264
MockHttpServletResponse response = new MockHttpServletResponse ();
264
265
complexDispatcherServlet .service (request , response );
265
- assertThat ("failed0.jsp" . equals ( response .getForwardedUrl ())) .as ("forwarded to failed " ).isTrue ( );
266
+ assertThat (response .getForwardedUrl ()).as ("forwarded URL " ).isEqualTo ( "failed0.jsp" );
266
267
assertThat (response .getStatus ()).isEqualTo (200 );
267
- assertThat (request .getAttribute (
268
- SimpleMappingExceptionResolver . DEFAULT_EXCEPTION_ATTRIBUTE ) instanceof MaxUploadSizeExceededException ). as ( "correct exception" ). isTrue ( );
268
+ assertThat (request .getAttribute (SimpleMappingExceptionResolver . DEFAULT_EXCEPTION_ATTRIBUTE ))
269
+ . isInstanceOf ( MaxUploadSizeExceededException . class );
269
270
}
270
271
271
272
@ Test
@@ -294,7 +295,7 @@ public void modelAndViewDefiningException() throws Exception {
294
295
MockHttpServletResponse response = new MockHttpServletResponse ();
295
296
complexDispatcherServlet .service (request , response );
296
297
assertThat (response .getStatus ()).isEqualTo (200 );
297
- assertThat ("failed1.jsp" . equals ( response .getForwardedUrl ())) .as ("forwarded to failed " ).isTrue ( );
298
+ assertThat (response .getForwardedUrl ()).as ("forwarded URL " ).isEqualTo ( "failed1.jsp" );
298
299
}
299
300
300
301
@ Test
@@ -306,7 +307,7 @@ public void simpleMappingExceptionResolverWithSpecificHandler1() throws Exceptio
306
307
MockHttpServletResponse response = new MockHttpServletResponse ();
307
308
complexDispatcherServlet .service (request , response );
308
309
assertThat (response .getStatus ()).isEqualTo (200 );
309
- assertThat (response .getForwardedUrl ()).as ("forwarded to failed " ).isEqualTo ("failed2.jsp" );
310
+ assertThat (response .getForwardedUrl ()).as ("forwarded URL " ).isEqualTo ("failed2.jsp" );
310
311
assertThat (request .getAttribute ("exception" ) instanceof IllegalAccessException ).as ("Exception exposed" ).isTrue ();
311
312
}
312
313
@@ -319,7 +320,7 @@ public void simpleMappingExceptionResolverWithSpecificHandler2() throws Exceptio
319
320
MockHttpServletResponse response = new MockHttpServletResponse ();
320
321
complexDispatcherServlet .service (request , response );
321
322
assertThat (response .getStatus ()).isEqualTo (200 );
322
- assertThat (response .getForwardedUrl ()).as ("forwarded to failed " ).isEqualTo ("failed3.jsp" );
323
+ assertThat (response .getForwardedUrl ()).as ("forwarded URL " ).isEqualTo ("failed3.jsp" );
323
324
assertThat (request .getAttribute ("exception" ) instanceof ServletException ).as ("Exception exposed" ).isTrue ();
324
325
}
325
326
@@ -332,7 +333,7 @@ public void simpleMappingExceptionResolverWithAllHandlers1() throws Exception {
332
333
MockHttpServletResponse response = new MockHttpServletResponse ();
333
334
complexDispatcherServlet .service (request , response );
334
335
assertThat (response .getStatus ()).isEqualTo (500 );
335
- assertThat (response .getForwardedUrl ()).as ("forwarded to failed " ).isEqualTo ("failed1.jsp" );
336
+ assertThat (response .getForwardedUrl ()).as ("forwarded URL " ).isEqualTo ("failed1.jsp" );
336
337
assertThat (request .getAttribute ("exception" ) instanceof IllegalAccessException ).as ("Exception exposed" ).isTrue ();
337
338
}
338
339
@@ -345,7 +346,7 @@ public void simpleMappingExceptionResolverWithAllHandlers2() throws Exception {
345
346
MockHttpServletResponse response = new MockHttpServletResponse ();
346
347
complexDispatcherServlet .service (request , response );
347
348
assertThat (response .getStatus ()).isEqualTo (500 );
348
- assertThat (response .getForwardedUrl ()).as ("forwarded to failed " ).isEqualTo ("failed1.jsp" );
349
+ assertThat (response .getForwardedUrl ()).as ("forwarded URL " ).isEqualTo ("failed1.jsp" );
349
350
assertThat (request .getAttribute ("exception" ) instanceof ServletException ).as ("Exception exposed" ).isTrue ();
350
351
}
351
352
@@ -358,7 +359,7 @@ public void simpleMappingExceptionResolverWithDefaultErrorView() throws Exceptio
358
359
MockHttpServletResponse response = new MockHttpServletResponse ();
359
360
complexDispatcherServlet .service (request , response );
360
361
assertThat (response .getStatus ()).isEqualTo (200 );
361
- assertThat (response .getForwardedUrl ()).as ("forwarded to failed " ).isEqualTo ("failed0.jsp" );
362
+ assertThat (response .getForwardedUrl ()).as ("forwarded URL " ).isEqualTo ("failed0.jsp" );
362
363
assertThat (request .getAttribute ("exception" ).getClass ().equals (RuntimeException .class )).as ("Exception exposed" ).isTrue ();
363
364
}
364
365
@@ -371,7 +372,7 @@ public void localeChangeInterceptor1() throws Exception {
371
372
MockHttpServletResponse response = new MockHttpServletResponse ();
372
373
complexDispatcherServlet .service (request , response );
373
374
assertThat (response .getStatus ()).isEqualTo (200 );
374
- assertThat (response .getForwardedUrl ()).as ("forwarded to failed " ).isEqualTo ("failed0.jsp" );
375
+ assertThat (response .getForwardedUrl ()).as ("forwarded URL " ).isEqualTo ("failed0.jsp" );
375
376
assertThat (request .getAttribute ("exception" ).getClass ().equals (ServletException .class )).as ("Exception exposed" ).isTrue ();
376
377
}
377
378
@@ -396,7 +397,7 @@ public void themeChangeInterceptor1() throws Exception {
396
397
MockHttpServletResponse response = new MockHttpServletResponse ();
397
398
complexDispatcherServlet .service (request , response );
398
399
assertThat (response .getStatus ()).isEqualTo (200 );
399
- assertThat (response .getForwardedUrl ()).as ("forwarded to failed " ).isEqualTo ("failed0.jsp" );
400
+ assertThat (response .getForwardedUrl ()).as ("forwarded URL " ).isEqualTo ("failed0.jsp" );
400
401
assertThat (request .getAttribute ("exception" ).getClass ().equals (ServletException .class )).as ("Exception exposed" ).isTrue ();
401
402
}
402
403
@@ -518,7 +519,10 @@ public void detectAllHandlerAdapters() throws ServletException, IOException {
518
519
519
520
request = new MockHttpServletRequest (getServletContext (), "GET" , "/form.do" );
520
521
response = new MockHttpServletResponse ();
522
+ request .addParameter ("fail" , "yes" );
521
523
complexDispatcherServlet .service (request , response );
524
+ assertThat (response .getForwardedUrl ()).as ("forwarded URL" ).isEqualTo ("failed1.jsp" );
525
+ assertThat (request .getAttribute ("exception" )).isNull ();
522
526
}
523
527
524
528
@ Test
@@ -535,12 +539,15 @@ public void notDetectAllHandlerAdapters() throws ServletException, IOException {
535
539
complexDispatcherServlet .service (request , response );
536
540
assertThat (response .getContentAsString ()).isEqualTo ("body" );
537
541
538
- // SimpleControllerHandlerAdapter not detected
542
+ // MyHandlerAdapter not detected
539
543
request = new MockHttpServletRequest (getServletContext (), "GET" , "/form.do" );
540
544
response = new MockHttpServletResponse ();
545
+ request .addParameter ("fail" , "yes" );
541
546
complexDispatcherServlet .service (request , response );
542
- assertThat (response .getForwardedUrl ()).as ("forwarded to failed" ).isEqualTo ("failed0.jsp" );
543
- assertThat (request .getAttribute ("exception" ).getClass ().equals (ServletException .class )).as ("Exception exposed" ).isTrue ();
547
+ assertThat (response .getForwardedUrl ()).as ("forwarded URL" ).isEqualTo ("failed0.jsp" );
548
+ assertThat (request .getAttribute ("exception" ))
549
+ .asInstanceOf (InstanceOfAssertFactories .type (ServletException .class ))
550
+ .extracting (Throwable ::getMessage ).asString ().startsWith ("No adapter for handler" );
544
551
}
545
552
546
553
@ Test
0 commit comments