⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 conditiontest.java

📁 UrlRewriteFilter 是一个不错的URL转换工具
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
        assertNull("condition must not match", condition.getConditionMatch(request));

        request.setPathInfo("africa");
        assertNotNull("condition must match", condition.getConditionMatch(request));
    }

    public void testPathTranslated() throws UnsupportedEncodingException {
        MockRequest request = new MockRequest();
        Condition condition = new Condition();
        condition.setType("path-translated");
        condition.setValue("/!@&");
        condition.initialise();
        assertNull("condition must not match", condition.getConditionMatch(request));

        request.setPathTranslated("/!@&");
        assertNotNull("condition must match", condition.getConditionMatch(request));
    }

    public void testProtocol() throws UnsupportedEncodingException {
        MockRequest request = new MockRequest();
        Condition condition = new Condition();
        condition.setType("protocol");
        condition.setValue("HTTP/1\\.[1-2]");
        condition.initialise();
        request.setProtocol("HTTP/2.0");
        assertNull("condition must not match", condition.getConditionMatch(request));

        request.setProtocol("HTTP/1.2");
        assertNotNull("condition must match", condition.getConditionMatch(request));
    }

    public void testQueryString() throws UnsupportedEncodingException {
        MockRequest request = new MockRequest();
        Condition condition = new Condition();
        condition.setType("query-string");
        condition.setValue(".*&param=[0-9]+.*");
        condition.initialise();
        assertNull("condition must not match", condition.getConditionMatch(request));

        request.setQueryString("?aaa=dsdsd&param=2333&asdsa=sdds");
        assertNotNull("condition must match", condition.getConditionMatch(request));
    }

    public void testRemoteAddr() throws UnsupportedEncodingException {
        MockRequest request = new MockRequest();
        Condition condition = new Condition();
        condition.setType("remote-addr");
        condition.setValue("192.168.[0-9]+.[0-9]+");
        condition.initialise();
        assertNull("condition must not match", condition.getConditionMatch(request));

        request.setRemoteAddr("192.168.184.23");
        assertNotNull("condition must match", condition.getConditionMatch(request));
    }

    public void testRemoteHost() throws UnsupportedEncodingException {
        MockRequest request = new MockRequest();
        Condition condition = new Condition();
        condition.setType("remote-host");
        condition.setValue("\\w+\\.tuckey.org");
        condition.initialise();
        assertNull("condition must not match", condition.getConditionMatch(request));

        request.setRemoteHost("toaster.tuckey.org");
        assertNotNull("condition must match", condition.getConditionMatch(request));
    }

    public void testRemoteUser() throws UnsupportedEncodingException {
        MockRequest request = new MockRequest();
        Condition condition = new Condition();
        condition.setType("remote-user");
        condition.setValue("p.\\w+");
        condition.initialise();
        assertNull("condition must not match", condition.getConditionMatch(request));

        request.setRemoteUser("p.smith");
        assertNotNull("condition must match", condition.getConditionMatch(request));
    }

    public void testRequestedSessionId() throws UnsupportedEncodingException {
        MockRequest request = new MockRequest();
        Condition condition = new Condition();
        condition.setType("requested-session-id");
        condition.setValue("\\w+\\.sec[0-6]+");
        condition.initialise();
        assertNull("condition must not match", condition.getConditionMatch(request));

        request.setRequestedSessionId("sdfjsdfhkjhk897fd.sec03");
        assertNotNull("condition must match", condition.getConditionMatch(request));
    }

    public void testRequestUri() throws UnsupportedEncodingException {
        MockRequest request = new MockRequest();
        Condition condition = new Condition();
        condition.setType("request-uri");
        condition.setValue("\\d");
        condition.initialise();
        assertNull("condition must not match", condition.getConditionMatch(request));

        request.setRequestURI("2");
        assertNotNull("condition must match", condition.getConditionMatch(request));
    }

    public void testRequestUrl() throws UnsupportedEncodingException {
        MockRequest request = new MockRequest();
        Condition condition = new Condition();
        condition.setType("request-url");
        condition.setValue("\\d");
        condition.initialise();
        assertNull("condition must not match", condition.getConditionMatch(request));

        request.setRequestURL("2");
        assertNotNull("condition must match", condition.getConditionMatch(request));
    }

    public void testSessionAttribute() throws UnsupportedEncodingException {
        MockRequest request = new MockRequest();
        Condition condition = new Condition();
        condition.setType("session-attribute");
        condition.setValue("someval");
        condition.initialise();
        assertNull("condition must not match", condition.getConditionMatch(request));

        Condition condition2 = new Condition();
        condition2.setType("session-attribute");
        condition2.setName("someatt");
        condition2.setValue("someval");
        condition2.initialise();
        assertNull("condition must not match", condition2.getConditionMatch(request));

        request.getSession(true).setAttribute("someatt", "someval");

        Condition condition3 = new Condition();
        condition3.setType("session-attribute");
        condition3.setName("someatt");
        condition3.setValue("someval");
        condition3.initialise();
        assertNotNull("condition must match", condition3.getConditionMatch(request));
    }

    public void testSessionIsNew() throws UnsupportedEncodingException {
        MockRequest request = new MockRequest();
        Condition condition = new Condition();
        condition.setType("session-isnew");
        condition.setValue("yes");
        condition.setOperator("notequal");
        condition.initialise();
        assertNotNull("condition must match", condition.getConditionMatch(request));

        request.setSessionNew(true);
        assertNull("condition must not match", condition.getConditionMatch(request));
    }

    public void testServerName() throws UnsupportedEncodingException {
        MockRequest request = new MockRequest();
        Condition condition = new Condition();
        condition.setType("server-name");
        condition.setValue("dev.*");
        condition.initialise();
        assertNull("condition must not match", condition.getConditionMatch(request));

        request.setServerName("dev.googil.com");
        assertNotNull("condition must match", condition.getConditionMatch(request));
    }

    public void testScheme() throws UnsupportedEncodingException {
        MockRequest request = new MockRequest();
        Condition condition = new Condition();
        condition.setType("scheme");
        condition.setValue("http");
        condition.initialise();
        assertNull("condition must not match", condition.getConditionMatch(request));

        request.setScheme("http");
        assertNotNull("condition must match", condition.getConditionMatch(request));
    }


    public void testConditionHeader() {
        MockRequest request = new MockRequest();
        Condition condition = new Condition();
        condition.setName("some header");
        condition.setValue("tester");
        condition.initialise();
        assertNull("condition must not match", condition.getConditionMatch(request));

        request.setHeader("some header", "tester");
        assertNotNull("condition must match", condition.getConditionMatch(request));

        Condition condition2 = new Condition();
        condition2.setName("  ");
        condition2.setValue("tester");
        assertFalse("condition must not initialise", condition2.initialise());
        assertNull("condition must not match", condition2.getConditionMatch(request));

        Condition condition3 = new Condition();
        condition3.setName("bonus");
        assertTrue("condition must initialise and check for exists", condition3.initialise());
        assertNull("condition must not match", condition3.getConditionMatch(request));
        request.setHeader("bonus", "tester");
        assertNotNull("condition must match", condition3.getConditionMatch(request));

        Condition condition4 = new Condition();
        condition4.setName("portashed");
        condition4.setOperator("notequal");

        assertTrue("condition must initialise and check for exists", condition4.initialise());
        assertNotNull("condition must match", condition4.getConditionMatch(request));
        request.setHeader("portashed", "tester");
        assertNull("condition must not match", condition4.getConditionMatch(request));

    }

    public void testConditionMethod() {
        MockRequest request = new MockRequest();
        request.setMethod("HEAD");
        Condition condition = new Condition();
        condition.setType("method");
        condition.setValue("H[A-Z]AD");
        condition.initialise();
        assertNotNull("condition must match", condition.getConditionMatch(request));
    }


    public void testConditionIsUserInRole() {
        MockRequest request = new MockRequest();
        request.addRole("devil");
        Condition condition = new Condition();
        condition.setType("user-in-role");
        condition.setName("devil");
        condition.initialise();
        assertNotNull("user should be in this role", condition.getConditionMatch(request));

        Condition condition2 = new Condition();
        condition2.setType("user-in-role");
        condition2.setName("angel");
        condition2.initialise();
        assertNull("bad user in role must not match", condition2.getConditionMatch(request));

        Condition condition3 = new Condition();
        condition3.setType("user-in-role");
        condition3.setValue("devil");
        condition3.initialise();
        assertNotNull("value instead of name should match", condition3.getConditionMatch(request));

        Condition condition4 = new Condition();
        condition4.setType("user-in-role");
        condition4.setValue("admin");
        condition4.setOperator("notequal");
        condition4.initialise();
        assertNotNull("value instead of name should match", condition4.getConditionMatch(request));
    }

    public void testConditionPort() {
        MockRequest request = new MockRequest();
        request.setServerPort(9001);
        Condition condition = new Condition();
        condition.setType("port");
        condition.setValue("9001");
        condition.initialise();
        assertNotNull("condition must match", condition.getConditionMatch(request));

        Condition condition2 = new Condition();
        condition2.setType("port");
        condition2.setValue(" 9001");
        condition2.initialise();
        assertNotNull("condition must match", condition2.getConditionMatch(request));
        // check re-init
        condition2.initialise();
        assertNotNull("condition must match", condition2.getConditionMatch(request));

        Condition condition3 = new Condition();
        condition3.setType("port");
        condition3.setValue("aaa");
        condition3.initialise();
        assertNull("condition must not match", condition3.getConditionMatch(request));
    }


}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -