1
0
mirror of synced 2026-08-04 09:17:02 +00:00

Fix WebTestUtils when no matching HttpSecurity found

Previously a NullPointerException would be thrown if no HttpSecurity
matched on the request passed in. This was because findFilters would
return null rather than an empty List.

This commit returns null if findFilters gets a null result.

Fixes gh-3343
This commit is contained in:
Rob Winch
2016-03-09 15:20:10 -06:00
parent dd8ba8c07e
commit 618b8a2d83
2 changed files with 27 additions and 1 deletions
@@ -114,7 +114,7 @@ public abstract class WebTestUtils {
}
@SuppressWarnings("unchecked")
private static <T extends Filter> T findFilter(HttpServletRequest request,
static <T extends Filter> T findFilter(HttpServletRequest request,
Class<T> filterClass) {
WebApplicationContext webApplicationContext = WebApplicationContextUtils
.getWebApplicationContext(request.getServletContext());
@@ -131,6 +131,9 @@ public abstract class WebTestUtils {
}
List<Filter> filters = (List<Filter>) ReflectionTestUtils.invokeMethod(
springSecurityFilterChain, "getFilters", request);
if(filters == null) {
return null;
}
for (Filter filter : filters) {
if (filterClass.isAssignableFrom(filter.getClass())) {
return (T) filter;