亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? testoscachefilter.java

?? oscache-2.4.1-full
?? JAVA
字號:
/*
 * Copyright (c) 2002-2003 by OpenSymphony
 * All rights reserved.
 */
package com.opensymphony.oscache.web;

import com.meterware.httpunit.WebConversation;
import com.meterware.httpunit.WebResponse;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Tests the caching filter distributed with the package.
 *
 * $Id: TestOscacheFilter.java 435 2007-04-01 10:47:02Z larst $
 * @version        $Revision: 435 $
 * @author <a href="&#109;a&#105;&#108;&#116;&#111;:chris&#64;swebtec.&#99;&#111;&#109;">Chris Miller</a>
 */
public final class TestOscacheFilter extends TestCase {
    // The instance of a webconversation to invoke pages
    WebConversation wc = null;
    private final String BASE_PAGE = "filter/filterTest.jsp";

    // Constants definition
    private final String BASE_URL_SYSTEM_PRP = "test.web.baseURL";
    private final String PARAM_1 = "abc=123";
    private final String PARAM_2 = "xyz=321";
    private final String SESSION_ID = "jsessionid=12345678";
    // Constants definition to access OscacheServlet
    private final String SERVLET_URL = "cacheServlet/?";
    private final String FORCE_REFRESH = "forceRefresh=true&";


    /**
     * Constructor required by JUnit
     * <p>
     * @param str Test name
     */
    public TestOscacheFilter(String str) {
        super(str);
    }

    /**
     * Returns the test suite for the test class
     * <p>
     * @return   Test suite for the class
     */
    public static Test suite() {
        return new TestSuite(TestOscacheFilter.class);
    }

    /**
     * Setup method called before each testXXXX of the class
     */
    public void setUp() {
        // Create a web conversation to invoke our filter
        if (wc == null) {
            wc = new WebConversation();
        }
        compileJSP(constructURL(BASE_PAGE));
    }

    /**
     * Test the OSCache filter
     */
    public void testOscacheFilter() {
        String baseUrl = constructURL(BASE_PAGE);

        // Flush the cache to avoid getting refreshed content from previous tests
        flushCache();

        // Call the page for the second time
        String stringResponse = invokeURL(baseUrl, 200);

        // Connect again, we should have the same content
        String newResponse = invokeURL(baseUrl, 0);
        assertTrue("new response " + newResponse + " should be the same to " + stringResponse, stringResponse.equals(newResponse));

        // Try again with a session ID this time. The session ID should get filtered
        // out of the cache key so the content should be the same
        newResponse = invokeURL(baseUrl + "?" + SESSION_ID, 200);
        assertTrue("new response by a session id request " + newResponse + " should be the same to " + stringResponse, stringResponse.equals(newResponse));

        // Connect again with extra params, the content should be different
        newResponse = invokeURL(baseUrl + "?" + PARAM_1 + "&" + PARAM_2, 500);
        assertFalse("new response " + newResponse + " expected it to be different to last one.", stringResponse.equals(newResponse));

        stringResponse = newResponse;

        // Connect again with the parameters in a different order. We should still
        // get the same content.
        newResponse = invokeURL(baseUrl + "?" + PARAM_2 + "&" + PARAM_1, 0);
        assertTrue("order of parameters shouldn't change the response", stringResponse.equals(newResponse));

        // Connect again with the same parameters, but throw the session ID into
        // the mix again. The content should remain the same.
        newResponse = invokeURL(baseUrl + "?" + SESSION_ID + "&" + PARAM_1 + "&" + PARAM_2, 0);
        assertTrue("a session id shouldn't change the response either", stringResponse.equals(newResponse));
    }

    /**
     * Test the OSCache filter with fast requests
     */
    public void testOSCacheFilterFast() {
        String baseUrl = constructURL(BASE_PAGE);

        for (int i = 0; i < 10; i++) {
            // Flush the cache to avoid getting refreshed content from previous tests
            flushCache();
            // build the url
            String url = baseUrl + "?i=" + i;
            String response = invokeURL(url, 100);
            for (int j = 0; j < 5; j++) {
                String newResponse = invokeURL(url, 100);
                assertTrue("Fast: new response (i="+i+",j="+j+") " + newResponse + " should be the same to " + response, response.equals(newResponse));
            }
        }
    }

    /**
     * Test the cache module using a filter and basic load
     */
    public void testOscacheFilterBasicForLoad() {
        String baseUrl = constructURL(BASE_PAGE);

        for (int i = 0; i < 5; i++) {
            String stringResponse = invokeURL(baseUrl, 0);

            // Check we received something slightly sane
            assertTrue(stringResponse.indexOf("Current Time") > 0);
        }
    }

    /**
     * Compile a JSP page by invoking it. We compile the page first to avoid
     * the compilation delay when testing since the time is a crucial factor
     *
     * @param URL The JSP url to invoke
     */
    private void compileJSP(String URL) {
        try {
            // Invoke the URL
            wc.getResponse(URL);
        } catch (Exception ex) {
            ex.printStackTrace();
            fail("Exception raised!!");
        }
    }

    /** 
     * Flushes the cache to avoid recieving content from previous tests
     */
    private void flushCache() {
        String flushUrl = constructURL(SERVLET_URL + FORCE_REFRESH);
        
        String stringResponse = invokeURL(flushUrl, 0);
        
        assertTrue("Flushing the cache failed!", stringResponse.indexOf("This is some cache content") > 0);
        
        // avoid that flush time is equal to last update time of a new entry
        try {
            Thread.sleep(5);
        } catch (InterruptedException ignore) {
        }
    }

    /**
     *  Reads the base url from the test.web.baseURL system property and
     *  append the given URL.
     *  <p>
     *  @param Url  Url to append to the base.
     *  @return Complete URL
     */
    private String constructURL(String url) {
        String base = System.getProperty(BASE_URL_SYSTEM_PRP);
        String constructedUrl = null;

        if (base != null) {
            if (!base.endsWith("/")) {
                base = base + "/";
            }

            constructedUrl = base + url;
        } else {
            fail("System property test.web.baseURL needs to be set to the proper server to use.");
        }

        return constructedUrl;
    }

    /**
     * Utility method to request a URL and then sleep some time before returning
     * <p>
     * @param url         The URL of the page to invoke
     * @param sleepTime   The time to sleep before returning
     * @return The text value of the reponse (HTML code)
     */
    private String invokeURL(String url, int sleepTime) {
        try {
            // Invoke the JSP and wait the specified sleepTime
            WebResponse resp = wc.getResponse(url);
            Thread.sleep(sleepTime);

            return resp.getText();
        } catch (Exception ex) {
            ex.printStackTrace();
            fail("Exception raised!!");

            return null;
        }
    }
    
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲视频一二三| 国产精品一二一区| 韩国av一区二区| 99这里都是精品| 日韩精品资源二区在线| 亚洲欧美日韩中文播放 | 久久久精品蜜桃| 亚洲综合免费观看高清完整版在线| 日韩电影一二三区| 91丨porny丨国产入口| 91精品国产91久久久久久最新毛片 | 91网站在线观看视频| 日韩一区二区三区电影在线观看| 国产精品久久久久影院色老大| 九九久久精品视频| 欧美精品乱码久久久久久| 成人欧美一区二区三区视频网页| 精品一区二区三区香蕉蜜桃| 欧美日韩亚洲另类| 亚洲丝袜精品丝袜在线| 大陆成人av片| 久久久久青草大香线综合精品| 性欧美大战久久久久久久久| 91小视频在线观看| 中文字幕日韩欧美一区二区三区| 国产ts人妖一区二区| 欧美mv日韩mv国产网站| 免费精品99久久国产综合精品| 欧美日韩专区在线| 亚洲丰满少妇videoshd| 欧美网站大全在线观看| 亚洲人成人一区二区在线观看 | 国产在线精品视频| 69av一区二区三区| 肉肉av福利一精品导航| 欧美色视频在线| 亚洲成人午夜电影| 欧美日韩国产另类一区| 午夜精品免费在线| 欧美色图激情小说| 蜜桃视频一区二区三区| 日韩欧美资源站| 国产自产v一区二区三区c| 久久午夜老司机| 国产精品 日产精品 欧美精品| 中文成人综合网| 91丨九色丨尤物| 亚洲午夜激情网页| 91精品国产91热久久久做人人 | 久久久亚洲精品一区二区三区 | 欧美肥妇毛茸茸| 日本成人超碰在线观看| 欧美成人伊人久久综合网| 国产综合久久久久久鬼色| 久久精品视频在线免费观看| 成人黄色小视频在线观看| 亚洲视频一区在线观看| 欧美又粗又大又爽| 丝袜国产日韩另类美女| 精品国产乱码久久久久久久久| 成人在线一区二区三区| 亚洲色图在线播放| 欧美日本在线视频| 国产一区二区三区在线观看精品 | 欧美午夜电影在线播放| 日韩av不卡一区二区| 久久久精品免费观看| 91一区二区在线| 青椒成人免费视频| 国产精品的网站| 这里只有精品视频在线观看| 国产精品一区二区久久精品爱涩| 一区二区三区丝袜| 日韩精品一区二区三区视频| av在线不卡免费看| 免费久久精品视频| 亚洲精品中文在线| 久久久亚洲综合| 69堂成人精品免费视频| 91在线观看视频| 国产成人一区二区精品非洲| 亚洲一区二区免费视频| xnxx国产精品| 欧美男女性生活在线直播观看| 粉嫩在线一区二区三区视频| 五月综合激情网| 中文字幕综合网| 久久久久青草大香线综合精品| 欧美三级在线看| 91亚洲国产成人精品一区二区三 | 日韩极品在线观看| 亚洲欧美偷拍三级| 国产精品拍天天在线| 日韩一区二区在线播放| 欧美综合视频在线观看| av在线不卡免费看| 国产精品羞羞答答xxdd| 蜜臀av一级做a爰片久久| 亚洲中国最大av网站| 国产欧美日韩在线看| 2023国产精品视频| 日韩一区二区影院| 欧美亚洲动漫精品| 91麻豆精品在线观看| 成人午夜av电影| 国产一区二区视频在线| 狠狠狠色丁香婷婷综合激情| 麻豆视频观看网址久久| 天天亚洲美女在线视频| 亚洲一区国产视频| 夜色激情一区二区| 亚洲精品日韩综合观看成人91| 国产欧美日韩在线| 国产精品麻豆网站| 亚洲欧洲色图综合| 中文字幕永久在线不卡| 国产精品亲子伦对白| 国产精品情趣视频| 亚洲欧美另类图片小说| 亚洲欧美一区二区三区久本道91 | 日本精品视频一区二区三区| av一区二区三区黑人| 99精品热视频| 在线视频国产一区| 欧美巨大另类极品videosbest | 久久精品无码一区二区三区| 久久久精品tv| 国产精品午夜在线观看| 亚洲婷婷综合色高清在线| 亚洲欧美中日韩| 亚洲综合久久久久| 日韩经典中文字幕一区| 美女一区二区久久| 国产xxx精品视频大全| 99re成人精品视频| 欧美午夜在线观看| 欧美videos中文字幕| 日本一区免费视频| 一区二区免费在线| 麻豆一区二区在线| 成人网页在线观看| 欧美三区免费完整视频在线观看| 91精品国产综合久久久久久| 精品国产一区二区亚洲人成毛片| 久久久久久久av麻豆果冻| 亚洲欧美另类图片小说| 日本成人在线不卡视频| www.亚洲人| 欧美丰满一区二区免费视频| 国产欧美一区二区精品秋霞影院| 一区二区三区中文字幕精品精品 | 日韩中文字幕区一区有砖一区 | 久久综合久久鬼色中文字| 亚洲免费看黄网站| 日本在线播放一区二区三区| 风间由美中文字幕在线看视频国产欧美| 色综合天天天天做夜夜夜夜做| 91精品国产综合久久蜜臀| 中文字幕av免费专区久久| 天涯成人国产亚洲精品一区av| 国产精品资源站在线| 在线观看日韩电影| 国产亚洲综合在线| 午夜精品久久久久久久99樱桃| 久久99精品网久久| 欧洲av一区二区嗯嗯嗯啊| 久久精品欧美一区二区三区不卡| 亚洲一级二级三级在线免费观看| 久草在线在线精品观看| 91麻豆6部合集magnet| 精品国产露脸精彩对白| 夜夜亚洲天天久久| 不卡视频一二三四| 精品国产区一区| 午夜a成v人精品| 91丨porny丨户外露出| 国产亚洲一区二区三区在线观看| 亚洲精品乱码久久久久久久久| 国产美女视频一区| 日韩欧美国产麻豆| 日日夜夜免费精品| 色婷婷综合久久久中文字幕| 久久久亚洲综合| 激情图区综合网| 欧美一卡二卡三卡| 亚洲高清三级视频| 色视频一区二区| **性色生活片久久毛片| 国产一区欧美日韩| 国产精品996| 日本久久精品电影| 国产欧美日韩中文久久| 国产一区亚洲一区| 精品国产免费视频| 日本不卡123| 日韩一区二区三区在线| 99re视频精品| 亚洲乱码国产乱码精品精的特点| 成人综合在线观看| 日本一区二区三区高清不卡|