use of org.springframework.mock.web.MockServletContext in project druid by alibaba.
the class WebStatFilterTest2 method test_lru.
public void test_lru() throws Exception {
MockServletContext servletContext = new MockServletContext();
MockFilterConfig filterConfig = new MockFilterConfig(servletContext);
filterConfig.addInitParameter(WebStatFilter.PARAM_NAME_SESSION_STAT_MAX_COUNT, "3");
WebStatFilter filter = new WebStatFilter();
filter.init(filterConfig);
WebAppStat appStat = filter.getWebAppStat();
Assert.assertEquals(3, filter.getSessionStatMaxCount());
Assert.assertEquals(0, appStat.getSessionStatDataList().size());
final MockHttpSession session_0 = new MockHttpSession(servletContext);
final MockHttpSession session_1 = new MockHttpSession(servletContext);
final MockHttpSession session_2 = new MockHttpSession(servletContext);
final MockHttpSession session_3 = new MockHttpSession(servletContext);
final MockHttpSession session_4 = new MockHttpSession(servletContext);
// 第一个session请求2次
{
Assert.assertNull(appStat.getSessionStat(session_0.getId()));
MockHttpServletRequest request = new MockHttpServletRequest();
MockHttpServletResponse response = new MockHttpServletResponse();
MockFilterChain chain = new MockFilterChain() {
public void doFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response) {
((MockHttpServletRequest) request).setSession(session_0);
}
;
};
filter.doFilter(request, response, chain);
Assert.assertEquals(1, appStat.getSessionStatDataList().size());
Assert.assertEquals(1, appStat.getSessionStat(session_0.getId()).getRequestCount());
Assert.assertTrue(appStat.getSessionStat(session_0.getId()).getLastAccessTimeMillis() > 0);
}
{
MockHttpServletRequest request = new MockHttpServletRequest();
MockHttpServletResponse response = new MockHttpServletResponse();
MockFilterChain chain = new MockFilterChain() {
public void doFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response) {
((MockHttpServletRequest) request).setSession(session_0);
}
;
};
filter.doFilter(request, response, chain);
Assert.assertEquals(1, appStat.getSessionStatDataList().size());
Assert.assertEquals(2, appStat.getSessionStat(session_0.getId()).getRequestCount());
}
// 第2个sesion请求1次
{
MockHttpServletRequest request = new MockHttpServletRequest();
MockHttpServletResponse response = new MockHttpServletResponse();
MockFilterChain chain = new MockFilterChain() {
public void doFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response) {
((MockHttpServletRequest) request).setSession(session_1);
}
;
};
filter.doFilter(request, response, chain);
Assert.assertEquals(2, appStat.getSessionStatDataList().size());
Assert.assertEquals(2, appStat.getSessionStat(session_0.getId()).getRequestCount());
Assert.assertEquals(1, appStat.getSessionStat(session_1.getId()).getRequestCount());
}
// 第3个sesion请求1次
{
MockHttpServletRequest request = new MockHttpServletRequest();
MockHttpServletResponse response = new MockHttpServletResponse();
MockFilterChain chain = new MockFilterChain() {
public void doFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response) {
((MockHttpServletRequest) request).setSession(session_2);
}
;
};
filter.doFilter(request, response, chain);
Assert.assertEquals(3, appStat.getSessionStatDataList().size());
Assert.assertEquals(2, appStat.getSessionStat(session_0.getId()).getRequestCount());
Assert.assertEquals(1, appStat.getSessionStat(session_1.getId()).getRequestCount());
Assert.assertEquals(1, appStat.getSessionStat(session_2.getId()).getRequestCount());
}
// 第4个sesion请求1次
{
MockHttpServletRequest request = new MockHttpServletRequest();
MockHttpServletResponse response = new MockHttpServletResponse();
MockFilterChain chain = new MockFilterChain() {
public void doFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response) {
((MockHttpServletRequest) request).setSession(session_3);
}
;
};
filter.doFilter(request, response, chain);
Assert.assertEquals(3, appStat.getSessionStatDataList().size());
Assert.assertNull(appStat.getSessionStat(session_0.getId()));
Assert.assertEquals(1, appStat.getSessionStat(session_1.getId()).getRequestCount());
Assert.assertEquals(1, appStat.getSessionStat(session_2.getId()).getRequestCount());
Assert.assertEquals(1, appStat.getSessionStat(session_3.getId()).getRequestCount());
}
// 第5个sesion请求1次
{
MockHttpServletRequest request = new MockHttpServletRequest();
MockHttpServletResponse response = new MockHttpServletResponse();
MockFilterChain chain = new MockFilterChain() {
public void doFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response) {
((MockHttpServletRequest) request).setSession(session_4);
}
;
};
filter.doFilter(request, response, chain);
Assert.assertEquals(3, appStat.getSessionStatDataList().size());
Assert.assertNull(appStat.getSessionStat(session_0.getId()));
Assert.assertNull(appStat.getSessionStat(session_1.getId()));
Assert.assertEquals(1, appStat.getSessionStat(session_2.getId()).getRequestCount());
Assert.assertEquals(1, appStat.getSessionStat(session_3.getId()).getRequestCount());
Assert.assertEquals(1, appStat.getSessionStat(session_4.getId()).getRequestCount());
}
}
use of org.springframework.mock.web.MockServletContext in project druid by alibaba.
the class WebStatFilterTest3_WebURIStatNull method test_sessionStatDisable.
public void test_sessionStatDisable() throws Exception {
MockServletContext servletContext = new MockServletContext();
MockFilterConfig filterConfig = new MockFilterConfig(servletContext);
filterConfig.addInitParameter(WebStatFilter.PARAM_NAME_SESSION_STAT_ENABLE, "false");
WebStatFilter filter = new WebStatFilter();
WebAppStat appStat = new WebAppStat() {
public WebURIStat getURIStat(String uri, boolean create) {
return null;
}
};
filter.setWebAppStat(appStat);
filter.setProfileEnable(true);
Assert.assertNotNull(filter.getWebAppStat());
filter.init(filterConfig);
Assert.assertSame(appStat, filter.getWebAppStat());
Assert.assertFalse(filter.isSessionStatEnable());
Assert.assertTrue(WebAppStatManager.getInstance().getWebAppStatSet().contains(appStat));
Assert.assertTrue(StatFilterContext.getInstance().getListeners().contains(filter.getStatFilterContextListener()));
MockHttpServletRequest request = new MockHttpServletRequest();
MockHttpServletResponse response = new MockHttpServletResponse();
MockFilterChain chain = new MockFilterChain();
Assert.assertNull(filter.getSessionStat(request));
filter.doFilter(request, response, chain);
Assert.assertEquals(0, appStat.getSessionStatDataList().size());
filter.destroy();
Assert.assertFalse(WebAppStatManager.getInstance().getWebAppStatSet().contains(appStat));
Assert.assertFalse(StatFilterContext.getInstance().getListeners().contains(filter.getStatFilterContextListener()));
Map<String, Object> statData = appStat.getStatData();
Assert.assertEquals(1L, statData.get("RequestCount"));
}
use of org.springframework.mock.web.MockServletContext in project druid by alibaba.
the class DruidWebUtilsTest method test_getContextPath_2_5.
public void test_getContextPath_2_5() throws Exception {
//
new DruidWebUtils();
MockServletContext context = new MockServletContext() {
public int getMajorVersion() {
return 2;
}
public int getMinorVersion() {
return 4;
}
public String getContextPath() {
throw new NoSuchMethodError();
}
};
Assert.assertNull(DruidWebUtils.getContextPath(context));
}
use of org.springframework.mock.web.MockServletContext in project logging-log4j2 by apache.
the class WebLookupTest method testLookup2.
@Test
public void testLookup2() throws Exception {
ContextAnchor.THREAD_CONTEXT.remove();
final ServletContext servletContext = new MockServletContext();
servletContext.setAttribute("TestAttr", "AttrValue");
servletContext.setInitParameter("myapp.logdir", "target");
servletContext.setAttribute("Name1", "Ben");
servletContext.setInitParameter("Name2", "Jerry");
servletContext.setInitParameter("log4jConfiguration", "WEB-INF/classes/log4j-webvar.xml");
final Log4jWebLifeCycle initializer = WebLoggerContextUtils.getWebLifeCycle(servletContext);
initializer.start();
initializer.setLoggerContext();
final LoggerContext ctx = ContextAnchor.THREAD_CONTEXT.get();
assertNotNull("No LoggerContext", ctx);
assertNotNull("No ServletContext", ctx.getExternalContext());
final Configuration config = ctx.getConfiguration();
assertNotNull("No Configuration", config);
final Map<String, Appender> appenders = config.getAppenders();
for (final Map.Entry<String, Appender> entry : appenders.entrySet()) {
if (entry.getKey().equals("file")) {
final FileAppender fa = (FileAppender) entry.getValue();
assertEquals("target/myapp.log", fa.getFileName());
}
}
initializer.stop();
ContextAnchor.THREAD_CONTEXT.remove();
}
use of org.springframework.mock.web.MockServletContext in project spring-boot by spring-projects.
the class WebServicesAutoConfigurationTests method load.
private void load(Class<?> config, String... environment) {
AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
context.setServletContext(new MockServletContext());
EnvironmentTestUtils.addEnvironment(context, environment);
context.register(config);
context.refresh();
this.context = context;
}
Aggregations