use of org.springframework.mock.web.MockFilterChain in project spring-security by spring-projects.
the class SessionManagementFilterTests method newSessionShouldNotBeCreatedIfSessionExistsAndUserIsNotAuthenticated.
@Test
public void newSessionShouldNotBeCreatedIfSessionExistsAndUserIsNotAuthenticated() throws Exception {
SecurityContextRepository repo = mock(SecurityContextRepository.class);
SessionManagementFilter filter = new SessionManagementFilter(repo);
HttpServletRequest request = new MockHttpServletRequest();
String sessionId = request.getSession().getId();
filter.doFilter(request, new MockHttpServletResponse(), new MockFilterChain());
assertThat(request.getSession().getId()).isEqualTo(sessionId);
}
use of org.springframework.mock.web.MockFilterChain in project spring-security by spring-projects.
the class SessionManagementFilterTests method strategyIsInvokedIfUserIsNewlyAuthenticated.
@Test
public void strategyIsInvokedIfUserIsNewlyAuthenticated() throws Exception {
SecurityContextRepository repo = mock(SecurityContextRepository.class);
// repo will return false to containsContext()
SessionAuthenticationStrategy strategy = mock(SessionAuthenticationStrategy.class);
SessionManagementFilter filter = new SessionManagementFilter(repo, strategy);
HttpServletRequest request = new MockHttpServletRequest();
authenticateUser();
filter.doFilter(request, new MockHttpServletResponse(), new MockFilterChain());
verify(strategy).onAuthentication(any(Authentication.class), any(HttpServletRequest.class), any(HttpServletResponse.class));
// Check that it is only applied once to the request
filter.doFilter(request, new MockHttpServletResponse(), new MockFilterChain());
verifyNoMoreInteractions(strategy);
}
use of org.springframework.mock.web.MockFilterChain in project spring-security by spring-projects.
the class SessionManagementFilterTests method customAuthenticationTrustResolver.
@Test
public void customAuthenticationTrustResolver() throws Exception {
AuthenticationTrustResolver trustResolver = mock(AuthenticationTrustResolver.class);
SecurityContextRepository repo = mock(SecurityContextRepository.class);
SessionManagementFilter filter = new SessionManagementFilter(repo);
filter.setTrustResolver(trustResolver);
HttpServletRequest request = new MockHttpServletRequest();
authenticateUser();
filter.doFilter(request, new MockHttpServletResponse(), new MockFilterChain());
verify(trustResolver).isAnonymous(any(Authentication.class));
}
use of org.springframework.mock.web.MockFilterChain in project spring-boot by spring-projects.
the class ServletWebServerApplicationContextTests method delegatingFilterProxyRegistrationBeansSkipsTargetBeanNames.
@Test
public void delegatingFilterProxyRegistrationBeansSkipsTargetBeanNames() throws Exception {
addWebServerFactoryBean();
DelegatingFilterProxyRegistrationBean initializer = new DelegatingFilterProxyRegistrationBean("filterBean");
this.context.registerBeanDefinition("initializerBean", beanDefinition(initializer));
BeanDefinition filterBeanDefinition = beanDefinition(new IllegalStateException("Create FilterBean Failure"));
filterBeanDefinition.setLazyInit(true);
this.context.registerBeanDefinition("filterBean", filterBeanDefinition);
this.context.refresh();
ServletContext servletContext = getWebServerFactory().getServletContext();
verify(servletContext, atMost(1)).addFilter(anyString(), this.filterCaptor.capture());
// Up to this point the filterBean should not have been created, calling
// the delegate proxy will trigger creation and an exception
this.thrown.expect(BeanCreationException.class);
this.thrown.expectMessage("Create FilterBean Failure");
this.filterCaptor.getValue().init(new MockFilterConfig());
this.filterCaptor.getValue().doFilter(new MockHttpServletRequest(), new MockHttpServletResponse(), new MockFilterChain());
}
use of org.springframework.mock.web.MockFilterChain in project druid by alibaba.
the class DruidStatServiceTest method test_statService_getResetAll.
public void test_statService_getResetAll() throws Exception {
// data source mock
String sql = "select 1";
Connection conn = dataSource.getConnection();
PreparedStatement stmt = conn.prepareStatement(sql);
ResultSet rs = stmt.executeQuery();
rs.next();
rs.close();
stmt.close();
conn.close();
String resultSQL = DruidStatService.getInstance().service("/sql.json");
Map<String, Object> resultSQLMap = (Map<String, Object>) JSONUtils.parse(resultSQL);
List<Map<String, Object>> sqlList = (List<Map<String, Object>>) resultSQLMap.get("Content");
assertThat(sqlList.size(), equalTo(1));
Map<String, Object> sqlStat = sqlList.get(0);
assertThat((Integer) sqlStat.get("RunningCount"), equalTo(0));
// http request mock
String uri = "/";
MockServletContext servletContext = new MockServletContext();
MockFilterConfig filterConfig = new MockFilterConfig(servletContext);
WebStatFilter filter = new WebStatFilter();
filter.init(filterConfig);
// first request test
MockHttpServletRequest request = new MockHttpServletRequest("GET", uri);
MockHttpSession session = new MockHttpSession();
request.setSession(session);
String sessionId = session.getId();
MockHttpServletResponse response = new MockHttpServletResponse();
MockFilterChain chain = new MockFilterChain();
filter.doFilter(request, response, chain);
String resultWebSession = DruidStatService.getInstance().service("/websession.json");
Map<String, Object> resultWebSessionMap = (Map<String, Object>) JSONUtils.parse(resultWebSession);
List<Map<String, Object>> contentWebSessionList = (List<Map<String, Object>>) resultWebSessionMap.get("Content");
assertThat(contentWebSessionList.size(), equalTo(1));
Map<String, Object> contentWebSessionMap = contentWebSessionList.get(0);
assertThat((String) contentWebSessionMap.get("SESSIONID"), equalTo(sessionId));
// spring mock
ApplicationContext context = new ClassPathXmlApplicationContext("classpath:com/alibaba/druid/stat/spring-config-stat.xml");
UserService userService = (UserService) context.getBean("userService");
userService.save();
String resultSpring = DruidStatService.getInstance().service("/spring.json");
Map<String, Object> resultSpringMap = (Map<String, Object>) JSONUtils.parse(resultSpring);
List<Map<String, Object>> contentSpringList = (List<Map<String, Object>>) resultSpringMap.get("Content");
assertThat(contentSpringList.size(), equalTo(1));
Map<String, Object> contentMap = contentSpringList.get(0);
assertThat((String) contentMap.get("Class"), is(not(nullValue())));
assertThat((Integer) contentMap.get("ExecuteCount"), equalTo(1));
// reset all test
String result = DruidStatService.getInstance().service("/reset-all.json");
Map<String, Object> resultMap = (Map<String, Object>) JSONUtils.parse(result);
assertThat(resultMap.get("content"), is(nullValue()));
// assert sql
resultSQL = DruidStatService.getInstance().service("/sql.json");
resultSQLMap = (Map<String, Object>) JSONUtils.parse(resultSQL);
sqlList = (List<Map<String, Object>>) resultSQLMap.get("Content");
assertThat(sqlList, is(nullValue()));
// assert web session
resultWebSession = DruidStatService.getInstance().service("/websession.json");
resultWebSessionMap = (Map<String, Object>) JSONUtils.parse(resultWebSession);
contentWebSessionList = (List<Map<String, Object>>) resultWebSessionMap.get("Content");
assertThat(contentWebSessionList, is(nullValue()));
// assert spring
resultSpring = DruidStatService.getInstance().service("/spring.json");
resultSpringMap = (Map<String, Object>) JSONUtils.parse(resultSpring);
contentSpringList = (List<Map<String, Object>>) resultSpringMap.get("Content");
assertThat(contentSpringList, is(nullValue()));
}
Aggregations