From d48b8697bd21b07424855b557ff70c87f89488f4 Mon Sep 17 00:00:00 2001 From: Steve Riesenberg Date: Wed, 13 Sep 2023 15:23:58 -0500 Subject: [PATCH] Fix mockito usage Issue gh-13810 --- ...ConfigTests-mock-csrf-token-repository.xml | 4 +-- .../CsrfConfigTests-mock-request-matcher.xml | 4 +-- ...ecurityWebApplicationInitializerTests.java | 26 ++++++++++--------- 3 files changed, 18 insertions(+), 16 deletions(-) diff --git a/config/src/test/resources/org/springframework/security/config/http/CsrfConfigTests-mock-csrf-token-repository.xml b/config/src/test/resources/org/springframework/security/config/http/CsrfConfigTests-mock-csrf-token-repository.xml index 572f6248b2..e8ce3ecef0 100644 --- a/config/src/test/resources/org/springframework/security/config/http/CsrfConfigTests-mock-csrf-token-repository.xml +++ b/config/src/test/resources/org/springframework/security/config/http/CsrfConfigTests-mock-csrf-token-repository.xml @@ -21,8 +21,8 @@ http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd"> - - + + diff --git a/config/src/test/resources/org/springframework/security/config/http/CsrfConfigTests-mock-request-matcher.xml b/config/src/test/resources/org/springframework/security/config/http/CsrfConfigTests-mock-request-matcher.xml index 6e2d96b0ae..28ac9677bb 100644 --- a/config/src/test/resources/org/springframework/security/config/http/CsrfConfigTests-mock-request-matcher.xml +++ b/config/src/test/resources/org/springframework/security/config/http/CsrfConfigTests-mock-request-matcher.xml @@ -21,7 +21,7 @@ http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd"> - - + + diff --git a/web/src/test/java/org/springframework/security/web/context/AbstractSecurityWebApplicationInitializerTests.java b/web/src/test/java/org/springframework/security/web/context/AbstractSecurityWebApplicationInitializerTests.java index 46fa7a69d6..5c134f6b86 100644 --- a/web/src/test/java/org/springframework/security/web/context/AbstractSecurityWebApplicationInitializerTests.java +++ b/web/src/test/java/org/springframework/security/web/context/AbstractSecurityWebApplicationInitializerTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2022 the original author or authors. + * Copyright 2002-2023 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,7 +19,6 @@ package org.springframework.security.web.context; import java.util.Collections; import java.util.EnumSet; import java.util.EventListener; -import java.util.HashSet; import java.util.Set; import jakarta.servlet.DispatcherType; @@ -316,14 +315,15 @@ public class AbstractSecurityWebApplicationInitializerTests { ServletContext context = mock(ServletContext.class); FilterRegistration.Dynamic registration = mock(FilterRegistration.Dynamic.class); ArgumentCaptor proxyCaptor = ArgumentCaptor.forClass(DelegatingFilterProxy.class); - given(context.addFilter(eq("springSecurityFilterChain"), proxyCaptor.capture())).willReturn(registration); - ArgumentCaptor> modesCaptor = ArgumentCaptor - .forClass(new HashSet() { - }.getClass()); - willDoNothing().given(context).setSessionTrackingModes(modesCaptor.capture()); + given(context.addFilter(eq("springSecurityFilterChain"), any(DelegatingFilterProxy.class))) + .willReturn(registration); + @SuppressWarnings("unchecked") + ArgumentCaptor> modesCaptor = ArgumentCaptor.forClass(Set.class); new AbstractSecurityWebApplicationInitializer() { }.onStartup(context); + verify(context).addFilter(eq("springSecurityFilterChain"), proxyCaptor.capture()); assertProxyDefaults(proxyCaptor.getValue()); + verify(context).setSessionTrackingModes(modesCaptor.capture()); Set modes = modesCaptor.getValue(); assertThat(modes).hasSize(1); assertThat(modes).containsExactly(SessionTrackingMode.COOKIE); @@ -334,18 +334,20 @@ public class AbstractSecurityWebApplicationInitializerTests { ServletContext context = mock(ServletContext.class); FilterRegistration.Dynamic registration = mock(FilterRegistration.Dynamic.class); ArgumentCaptor proxyCaptor = ArgumentCaptor.forClass(DelegatingFilterProxy.class); - given(context.addFilter(eq("springSecurityFilterChain"), proxyCaptor.capture())).willReturn(registration); - ArgumentCaptor> modesCaptor = ArgumentCaptor - .forClass(new HashSet() { - }.getClass()); - willDoNothing().given(context).setSessionTrackingModes(modesCaptor.capture()); + given(context.addFilter(eq("springSecurityFilterChain"), any(DelegatingFilterProxy.class))) + .willReturn(registration); + @SuppressWarnings("unchecked") + ArgumentCaptor> modesCaptor = ArgumentCaptor.forClass(Set.class); + willDoNothing().given(context).setSessionTrackingModes(any()); new AbstractSecurityWebApplicationInitializer() { @Override public Set getSessionTrackingModes() { return Collections.singleton(SessionTrackingMode.SSL); } }.onStartup(context); + verify(context).addFilter(eq("springSecurityFilterChain"), proxyCaptor.capture()); assertProxyDefaults(proxyCaptor.getValue()); + verify(context).setSessionTrackingModes(modesCaptor.capture()); Set modes = modesCaptor.getValue(); assertThat(modes).hasSize(1); assertThat(modes).containsExactly(SessionTrackingMode.SSL);