throttledsubmissionbyipaddresshandlerinterceptoradaptertests.java

来自「CAS在Tomcat中实现单点登录项目,单点登录(Single Sign On 」· Java 代码 · 共 87 行

JAVA
87
字号
/* * Copyright 2007 The JA-SIG Collaborative. All rights reserved. See license * distributed with this file and available online at * http://www.ja-sig.org/products/cas/overview/license/ */package org.jasig.cas.web.support;import java.math.BigInteger;import org.jasig.cas.web.support.ThrottledSubmissionByIpAddressHandlerInterceptorAdapter;import org.springframework.mock.web.MockHttpServletRequest;import org.springframework.mock.web.MockHttpServletResponse;import org.springframework.web.servlet.ModelAndView;import junit.framework.TestCase;public class ThrottledSubmissionByIpAddressHandlerInterceptorAdapterTests extends    TestCase {    private ThrottledSubmissionByIpAddressHandlerInterceptorAdapter adapter;        private static final int CONST_FAILURE_THRESHHOLD = 3;        private static final int CONST_FAILURE_TIMEOUT = 2;    protected void setUp() throws Exception {        this.adapter = new ThrottledSubmissionByIpAddressHandlerInterceptorAdapter();        this.adapter.setFailureThreshhold(BigInteger.valueOf(CONST_FAILURE_THRESHHOLD));        this.adapter.setFailureTimeout(CONST_FAILURE_TIMEOUT);        this.adapter.afterPropertiesSet();    }        public void testOneFailure() throws Exception {        final MockHttpServletRequest request = new MockHttpServletRequest();        final ModelAndView modelAndView = new ModelAndView("casLoginView");        request.setMethod("POST");        request.setRemoteAddr("111.111.111.111");        this.adapter.postHandle(request, new MockHttpServletResponse(), new Object(), modelAndView);                assertEquals("casLoginView", modelAndView.getViewName());    }        public void testSuccess() throws Exception {        final MockHttpServletRequest request = new MockHttpServletRequest();        final ModelAndView modelAndView = new ModelAndView("redirect");        request.setMethod("GET");        request.setRemoteAddr("111.111.111.111");                this.adapter.postHandle(request, new MockHttpServletResponse(), new Object(), modelAndView);                assertEquals("redirect", modelAndView.getViewName());    }        public void testEnoughFailuresToChangeView() throws Exception {        final MockHttpServletRequest request = new MockHttpServletRequest();        final ModelAndView modelAndView = new ModelAndView("casLoginView");        request.setMethod("POST");        request.setRemoteAddr("111.111.111.111");       for (int i = 0; i < CONST_FAILURE_THRESHHOLD+1; i++) {           this.adapter.postHandle(request, new MockHttpServletResponse(), new Object(), modelAndView);       }               assertEquals("casFailureAuthenticationThreshhold", modelAndView.getViewName());    }        public void testFailuresThenSuccess() throws Exception {        final MockHttpServletRequest request = new MockHttpServletRequest();        final ModelAndView modelAndView = new ModelAndView("casLoginView");        request.setMethod("POST");        request.setRemoteAddr("111.111.111.111");       for (int i = 0; i < CONST_FAILURE_THRESHHOLD+1; i++) {           this.adapter.postHandle(request, new MockHttpServletResponse(), new Object(), modelAndView);       }               assertEquals("casFailureAuthenticationThreshhold", modelAndView.getViewName());              Thread.sleep((CONST_FAILURE_TIMEOUT +2) * 1000);            modelAndView.setViewName("casLoginView");              this.adapter.postHandle(request, new MockHttpServletResponse(), new Object(), modelAndView);       assertEquals("casLoginView", modelAndView.getViewName());    }    }

⌨️ 快捷键说明

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