|
16 | 16 |
|
17 | 17 | package org.springframework.security.web.authentication.switchuser;
|
18 | 18 |
|
19 |
| -import static org.assertj.core.api.Assertions.*; |
20 |
| -import static org.mockito.Mockito.*; |
| 19 | +import java.util.ArrayList; |
| 20 | +import java.util.List; |
| 21 | +import javax.servlet.FilterChain; |
21 | 22 |
|
22 |
| -import org.junit.*; |
| 23 | +import org.junit.After; |
| 24 | +import org.junit.Before; |
| 25 | +import org.junit.Rule; |
| 26 | +import org.junit.Test; |
23 | 27 | import org.junit.rules.ExpectedException;
|
| 28 | + |
24 | 29 | import org.springframework.mock.web.MockHttpServletRequest;
|
25 | 30 | import org.springframework.mock.web.MockHttpServletResponse;
|
26 | 31 | import org.springframework.security.authentication.AccountExpiredException;
|
|
42 | 47 | import org.springframework.security.web.authentication.SimpleUrlAuthenticationSuccessHandler;
|
43 | 48 | import org.springframework.security.web.util.matcher.AnyRequestMatcher;
|
44 | 49 |
|
45 |
| -import javax.servlet.FilterChain; |
46 |
| -import java.util.*; |
| 50 | +import static org.assertj.core.api.Assertions.assertThat; |
| 51 | +import static org.mockito.Mockito.mock; |
| 52 | +import static org.mockito.Mockito.never; |
| 53 | +import static org.mockito.Mockito.verify; |
47 | 54 |
|
48 | 55 | /**
|
49 | 56 | * Tests
|
@@ -75,6 +82,7 @@ private MockHttpServletRequest createMockSwitchRequest() {
|
75 | 82 | request.setScheme("http");
|
76 | 83 | request.setServerName("localhost");
|
77 | 84 | request.setRequestURI("/login/impersonate");
|
| 85 | + request.setMethod("POST"); |
78 | 86 |
|
79 | 87 | return request;
|
80 | 88 | }
|
@@ -125,6 +133,20 @@ public void requiresExitUserWhenEndsWithThenDoesNotMatch() {
|
125 | 133 | assertThat(filter.requiresExitUser(request)).isFalse();
|
126 | 134 | }
|
127 | 135 |
|
| 136 | + @Test |
| 137 | + // gh-4183 |
| 138 | + public void requiresExitUserWhenGetThenDoesNotMatch() { |
| 139 | + SwitchUserFilter filter = new SwitchUserFilter(); |
| 140 | + |
| 141 | + MockHttpServletRequest request = new MockHttpServletRequest(); |
| 142 | + request.setScheme("http"); |
| 143 | + request.setServerName("localhost"); |
| 144 | + request.setRequestURI("/login/impersonate"); |
| 145 | + request.setMethod("GET"); |
| 146 | + |
| 147 | + assertThat(filter.requiresExitUser(request)).isFalse(); |
| 148 | + } |
| 149 | + |
128 | 150 | @Test
|
129 | 151 | public void requiresExitUserWhenMatcherThenWorks() {
|
130 | 152 | SwitchUserFilter filter = new SwitchUserFilter();
|
@@ -159,6 +181,20 @@ public void requiresSwitchUserWhenEndsWithThenDoesNotMatch() {
|
159 | 181 | assertThat(filter.requiresSwitchUser(request)).isFalse();
|
160 | 182 | }
|
161 | 183 |
|
| 184 | + @Test |
| 185 | + // gh-4183 |
| 186 | + public void requiresSwitchUserWhenGetThenDoesNotMatch() { |
| 187 | + SwitchUserFilter filter = new SwitchUserFilter(); |
| 188 | + |
| 189 | + MockHttpServletRequest request = new MockHttpServletRequest(); |
| 190 | + request.setScheme("http"); |
| 191 | + request.setServerName("localhost"); |
| 192 | + request.setRequestURI("/login/impersonate"); |
| 193 | + request.setMethod("GET"); |
| 194 | + |
| 195 | + assertThat(filter.requiresSwitchUser(request)).isFalse(); |
| 196 | + } |
| 197 | + |
162 | 198 | @Test
|
163 | 199 | public void requiresSwitchUserWhenMatcherThenWorks() {
|
164 | 200 | SwitchUserFilter filter = new SwitchUserFilter();
|
|
0 commit comments