Browse Source

Polish SwitchUserFilterTests

Ensure that the appropriate HTTP Method is specified in tests

Issue gh-16417
Josh Cummings 5 months ago
parent
commit
1eec51ab6c

+ 6 - 12
web/src/test/java/org/springframework/security/web/authentication/switchuser/SwitchUserFilterTests.java

@@ -118,8 +118,7 @@ public class SwitchUserFilterTests {
 	public void requiresExitUserMatchesCorrectly() {
 	public void requiresExitUserMatchesCorrectly() {
 		SwitchUserFilter filter = new SwitchUserFilter();
 		SwitchUserFilter filter = new SwitchUserFilter();
 		filter.setExitUserUrl("/j_spring_security_my_exit_user");
 		filter.setExitUserUrl("/j_spring_security_my_exit_user");
-		MockHttpServletRequest request = new MockHttpServletRequest();
-		request.setRequestURI("/j_spring_security_my_exit_user");
+		MockHttpServletRequest request = new MockHttpServletRequest("POST", "/j_spring_security_my_exit_user");
 		assertThat(filter.requiresExitUser(request)).isTrue();
 		assertThat(filter.requiresExitUser(request)).isTrue();
 	}
 	}
 
 
@@ -158,8 +157,7 @@ public class SwitchUserFilterTests {
 	public void requiresSwitchMatchesCorrectly() {
 	public void requiresSwitchMatchesCorrectly() {
 		SwitchUserFilter filter = new SwitchUserFilter();
 		SwitchUserFilter filter = new SwitchUserFilter();
 		filter.setSwitchUserUrl("/j_spring_security_my_switch_user");
 		filter.setSwitchUserUrl("/j_spring_security_my_switch_user");
-		MockHttpServletRequest request = new MockHttpServletRequest();
-		request.setRequestURI("/j_spring_security_my_switch_user");
+		MockHttpServletRequest request = new MockHttpServletRequest("POST", "/j_spring_security_my_switch_user");
 		assertThat(filter.requiresSwitchUser(request)).isTrue();
 		assertThat(filter.requiresSwitchUser(request)).isTrue();
 	}
 	}
 
 
@@ -230,8 +228,7 @@ public class SwitchUserFilterTests {
 
 
 	@Test
 	@Test
 	public void switchToLockedAccountCausesRedirectToSwitchFailureUrl() throws Exception {
 	public void switchToLockedAccountCausesRedirectToSwitchFailureUrl() throws Exception {
-		MockHttpServletRequest request = new MockHttpServletRequest();
-		request.setRequestURI("/login/impersonate");
+		MockHttpServletRequest request = new MockHttpServletRequest("POST", "/login/impersonate");
 		request.addParameter(SwitchUserFilter.SPRING_SECURITY_SWITCH_USERNAME_KEY, "mcgarrett");
 		request.addParameter(SwitchUserFilter.SPRING_SECURITY_SWITCH_USERNAME_KEY, "mcgarrett");
 		MockHttpServletResponse response = new MockHttpServletResponse();
 		MockHttpServletResponse response = new MockHttpServletResponse();
 		SwitchUserFilter filter = new SwitchUserFilter();
 		SwitchUserFilter filter = new SwitchUserFilter();
@@ -385,8 +382,7 @@ public class SwitchUserFilterTests {
 				"hawaii50");
 				"hawaii50");
 		SecurityContextHolder.getContext().setAuthentication(auth);
 		SecurityContextHolder.getContext().setAuthentication(auth);
 		// http request
 		// http request
-		MockHttpServletRequest request = new MockHttpServletRequest();
-		request.setRequestURI("/webapp/login/impersonate");
+		MockHttpServletRequest request = new MockHttpServletRequest("POST", "/webapp/login/impersonate");
 		request.setContextPath("/webapp");
 		request.setContextPath("/webapp");
 		request.addParameter(SwitchUserFilter.SPRING_SECURITY_SWITCH_USERNAME_KEY, "jacklord");
 		request.addParameter(SwitchUserFilter.SPRING_SECURITY_SWITCH_USERNAME_KEY, "jacklord");
 		// http response
 		// http response
@@ -519,11 +515,10 @@ public class SwitchUserFilterTests {
 	@Test
 	@Test
 	void doFilterWhenSwitchUserThenSaveSecurityContext() throws ServletException, IOException {
 	void doFilterWhenSwitchUserThenSaveSecurityContext() throws ServletException, IOException {
 		SecurityContextRepository securityContextRepository = mock(SecurityContextRepository.class);
 		SecurityContextRepository securityContextRepository = mock(SecurityContextRepository.class);
-		MockHttpServletRequest request = new MockHttpServletRequest();
+		MockHttpServletRequest request = new MockHttpServletRequest("POST", "/login/impersonate");
 		MockHttpServletResponse response = new MockHttpServletResponse();
 		MockHttpServletResponse response = new MockHttpServletResponse();
 		MockFilterChain filterChain = new MockFilterChain();
 		MockFilterChain filterChain = new MockFilterChain();
 		request.setParameter(SwitchUserFilter.SPRING_SECURITY_SWITCH_USERNAME_KEY, "jacklord");
 		request.setParameter(SwitchUserFilter.SPRING_SECURITY_SWITCH_USERNAME_KEY, "jacklord");
-		request.setRequestURI("/login/impersonate");
 		SwitchUserFilter filter = new SwitchUserFilter();
 		SwitchUserFilter filter = new SwitchUserFilter();
 		filter.setSecurityContextRepository(securityContextRepository);
 		filter.setSecurityContextRepository(securityContextRepository);
 		filter.setUserDetailsService(new MockUserDetailsService());
 		filter.setUserDetailsService(new MockUserDetailsService());
@@ -546,11 +541,10 @@ public class SwitchUserFilterTests {
 				"hawaii50", adminAuths);
 				"hawaii50", adminAuths);
 		SecurityContextHolder.getContext().setAuthentication(admin);
 		SecurityContextHolder.getContext().setAuthentication(admin);
 		SecurityContextRepository securityContextRepository = mock(SecurityContextRepository.class);
 		SecurityContextRepository securityContextRepository = mock(SecurityContextRepository.class);
-		MockHttpServletRequest request = new MockHttpServletRequest();
+		MockHttpServletRequest request = new MockHttpServletRequest("POST", "/logout/impersonate");
 		MockHttpServletResponse response = new MockHttpServletResponse();
 		MockHttpServletResponse response = new MockHttpServletResponse();
 		MockFilterChain filterChain = new MockFilterChain();
 		MockFilterChain filterChain = new MockFilterChain();
 		request.setParameter(SwitchUserFilter.SPRING_SECURITY_SWITCH_USERNAME_KEY, "jacklord");
 		request.setParameter(SwitchUserFilter.SPRING_SECURITY_SWITCH_USERNAME_KEY, "jacklord");
-		request.setRequestURI("/logout/impersonate");
 		SwitchUserFilter filter = new SwitchUserFilter();
 		SwitchUserFilter filter = new SwitchUserFilter();
 		filter.setSecurityContextRepository(securityContextRepository);
 		filter.setSecurityContextRepository(securityContextRepository);
 		filter.setUserDetailsService(new MockUserDetailsService());
 		filter.setUserDetailsService(new MockUserDetailsService());