import java.util.HashMap; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import junit.framework.TestCase; import org.apache.struts2.ServletActionContext; import org.apache.struts2.StrutsStatics; import org.junit.Before; import org.junit.Test; import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.MockHttpServletResponse; import org.springframework.mock.web.MockServletContext; import com.opensymphony.xwork2.ActionContext; /** * Unit test for ServletActionContext. Based loosly on Jason's ActionContextTest. * My first attempt at unit testing. Please hack away as needed. * */ @SuppressWarnings("unchecked") public class ServletActionContextTest extends TestCase implements StrutsStatics { ActionContext actionContext; ServletActionContext servletActionContext; private HttpServletRequest request; private HttpServletResponse response; private MockServletContext servletContext; @Before public void setUp() { Map extraContext = new HashMap(); request = new MockHttpServletRequest(); response = new MockHttpServletResponse(); servletContext = new MockServletContext(); extraContext.put(HTTP_REQUEST, request); extraContext.put(HTTP_RESPONSE, response); extraContext.put(SERVLET_CONTEXT, servletContext); actionContext = new ActionContext(extraContext); ServletActionContext.setContext(actionContext); } @Test public void testContextParams() { assertEquals(ServletActionContext.getRequest(), request); assertEquals(ServletActionContext.getResponse(), response); assertEquals(ServletActionContext.getServletContext(), servletContext); } @Test public void testGetContext() { ActionContext threadContext = ServletActionContext.getContext(); assertEquals(actionContext, threadContext); } }