Package com.alibaba.druid.support.http

Examples of com.alibaba.druid.support.http.WebStatFilter


        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"));
    }
View Full Code Here


        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());
View Full Code Here

        MockServletContext servletContext = new MockServletContext();

        MockFilterConfig filterConfig = new MockFilterConfig(servletContext);
        filterConfig.addInitParameter(WebStatFilter.PARAM_NAME_SESSION_STAT_ENABLE, "false");

        WebStatFilter filter = new WebStatFilter();

        Assert.assertNull(filter.getWebAppStat());

        filter.init(filterConfig);
       
        WebAppStat 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"));
    }
View Full Code Here

TOP

Related Classes of com.alibaba.druid.support.http.WebStatFilter

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.