/* ================================================================== * Created [2009-4-27 下午11:32:55] by Jon.King * ================================================================== * TSS * ================================================================== * mailTo:jinpujun@hotmail.com * Copyright (c) Jon.King, 2009-2012 * ================================================================== */ package com.jinhe.tss.core.sso.context; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import junit.framework.TestCase; import org.easymock.EasyMock; import org.easymock.IMocksControl; public class RequestContextTest extends TestCase { private IMocksControl mocksControl; private HttpServletRequest request; private RequestContext context; protected void setUp() throws Exception { mocksControl = EasyMock.createControl(); request = mocksControl.createMock(HttpServletRequest.class); context = new RequestContext(request); super.setUp(); } protected void tearDown() throws Exception { // mocksControl.verify(); context = null; } public void testGetClientIpFromHeader() { EasyMock.expect(request.getHeader(RequestContext.USER_CLIENT_IP)).andReturn("127.0.0.1").times(0, 3); mocksControl.replay(); assertEquals("127.0.0.1", context.getClientIp()); } public void testCanAnonymous4Header() { EasyMock.expect(request.getHeader(RequestContext.ANONYMOUS_REQUEST)).andReturn("true").atLeastOnce(); EasyMock.expect(request.getCharacterEncoding()).andReturn("GBK").atLeastOnce(); mocksControl.replay(); assertTrue(context.canAnonymous()); } public void testCanAnonymous4Parameter() { EasyMock.expect(request.getHeader(RequestContext.ANONYMOUS_REQUEST)).andReturn("").atLeastOnce(); EasyMock.expect(request.getParameter(RequestContext.ANONYMOUS_REQUEST)).andReturn("true").atLeastOnce(); EasyMock.expect(request.getCharacterEncoding()).andReturn("GBK").atLeastOnce(); mocksControl.replay(); assertTrue(context.canAnonymous()); } public void testGetUserToken4Cookie() { EasyMock.expect(request.getHeader(RequestContext.USER_TOKEN)).andReturn(null).atLeastOnce(); EasyMock.expect(request.getParameter(RequestContext.USER_TOKEN)).andReturn("").atLeastOnce(); String token = "1234567890"; Cookie[] cookies = new Cookie[2]; cookies[0] = new Cookie("test", "test"); cookies[1] = new Cookie(RequestContext.USER_TOKEN, token); EasyMock.expect(request.getCookies()).andReturn(cookies).atLeastOnce(); mocksControl.replay(); assertEquals(token, context.getUserToken()); } }