FilterSecurityInterceptor applies to every request by default
Closes gh-11466
This commit is contained in:
@@ -50,6 +50,7 @@ import static org.mockito.BDDMockito.given;
|
||||
import static org.mockito.BDDMockito.willThrow;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.never;
|
||||
import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.verifyZeroInteractions;
|
||||
|
||||
@@ -174,6 +175,17 @@ public class FilterSecurityInterceptorTests {
|
||||
assertThat(request.getAttributeNames().hasMoreElements()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void doFilterWhenObserveOncePerRequestFalseAndInvokedTwiceThenObserveTwice() throws Throwable {
|
||||
Authentication token = new TestingAuthenticationToken("Test", "Password", "NOT_USED");
|
||||
SecurityContextHolder.getContext().setAuthentication(token);
|
||||
FilterInvocation fi = createinvocation();
|
||||
given(this.ods.getAttributes(fi)).willReturn(SecurityConfig.createList("MOCK_OK"));
|
||||
this.interceptor.invoke(fi);
|
||||
this.interceptor.invoke(fi);
|
||||
verify(this.adm, times(2)).decide(any(), any(), any());
|
||||
}
|
||||
|
||||
private FilterInvocation createinvocation() {
|
||||
MockHttpServletResponse response = new MockHttpServletResponse();
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
|
||||
Reference in New Issue
Block a user