Search in sources :

Example 6 with MockServletConfig

use of com.github.bordertech.wcomponents.util.mock.servlet.MockServletConfig in project wcomponents by BorderTech.

the class WServlet_Test method testServiceNormalRequest.

@Test
public void testServiceNormalRequest() throws ServletException, IOException {
    MockServletConfig config = new MockServletConfig();
    config.setInitParameter(WServlet.WServletHelper.ONGOING_URL_SUFFIX, "foo");
    MockContainer content = new MockContainer();
    content.add(new WText(LABEL_TEXT));
    content.setLocked(true);
    MyWServlet servlet = new MyWServlet(content);
    servlet.init(config);
    MockHttpSession session1 = new MockHttpSession();
    MockHttpSession session2 = new MockHttpSession();
    sendRequest(session1, servlet);
    sendRequest(session2, servlet);
    sendRequest(session1, servlet);
    // check handle request / paint counts for each session
    UIContext uic = getContextForSession(servlet, session1);
    setActiveContext(uic);
    Assert.assertEquals("Incorrect handle request count for session1", 2, content.getHandleRequestCount());
    Assert.assertEquals("Incorrect paint count for session1", 2, content.getPaintCount());
    uic = getContextForSession(servlet, session2);
    setActiveContext(uic);
    Assert.assertEquals("Incorrect handle request count for session2", 1, content.getHandleRequestCount());
    Assert.assertEquals("Incorrect paint count for session2", 1, content.getPaintCount());
}
Also used : MockContainer(com.github.bordertech.wcomponents.MockContainer) WText(com.github.bordertech.wcomponents.WText) UIContext(com.github.bordertech.wcomponents.UIContext) MockServletConfig(com.github.bordertech.wcomponents.util.mock.servlet.MockServletConfig) MockHttpSession(com.github.bordertech.wcomponents.util.mock.servlet.MockHttpSession) Test(org.junit.Test)

Example 7 with MockServletConfig

use of com.github.bordertech.wcomponents.util.mock.servlet.MockServletConfig in project wcomponents by BorderTech.

the class WServlet_Test method testHttpMethodTypes.

@Test
public void testHttpMethodTypes() throws ServletException, IOException {
    MyWServlet servlet = new MyWServlet(new WText("test"));
    servlet.init(new MockServletConfig());
    MockHttpServletRequest request = new MockHttpServletRequest();
    request.setRequestURI("http://localhost/foo");
    MockHttpServletResponse response = new MockHttpServletResponse();
    request.setMethod("GET");
    servlet.service(request, response);
    Assert.assertEquals("Incorrect status code", 200, response.getStatus());
    Assert.assertTrue("Should have written content", response.getOutput().length > 0);
    response = new MockHttpServletResponse();
    request.setMethod("POST");
    servlet.service(request, response);
    Assert.assertEquals("Incorrect status code", 200, response.getStatus());
    Assert.assertTrue("Should have written content", response.getOutput().length > 0);
    response = new MockHttpServletResponse();
    request.setMethod("HEAD");
    servlet.service(request, response);
    Assert.assertEquals("Incorrect status code", 200, response.getStatus());
    Assert.assertNull("Should not have written any content for HEAD request", response.getOutput());
    response = new MockHttpServletResponse();
    request.setMethod("DELETE");
    servlet.service(request, response);
    Assert.assertEquals("Incorrect status code", 501, response.getStatus());
    Assert.assertNull("Should not have written any content for HEAD request", response.getOutput());
}
Also used : WText(com.github.bordertech.wcomponents.WText) MockHttpServletRequest(com.github.bordertech.wcomponents.util.mock.servlet.MockHttpServletRequest) MockServletConfig(com.github.bordertech.wcomponents.util.mock.servlet.MockServletConfig) MockHttpServletResponse(com.github.bordertech.wcomponents.util.mock.servlet.MockHttpServletResponse) Test(org.junit.Test)

Example 8 with MockServletConfig

use of com.github.bordertech.wcomponents.util.mock.servlet.MockServletConfig in project wcomponents by BorderTech.

the class WServlet_Test method testSubSessionsEnabledNoSSID.

@Test
public void testSubSessionsEnabledNoSSID() throws ServletException, IOException {
    Config.getInstance().setProperty(ConfigurationProperties.SERVLET_ENABLE_SUBSESSIONS, "true");
    MyWServlet servlet = new MyWServlet(new WText("test"));
    servlet.init(new MockServletConfig());
    MockHttpSession session = new MockHttpSession();
    servlet.service(new MockHttpServletRequest(session), new MockHttpServletResponse());
    Assert.assertEquals("Incorrect invocation count", 1, servlet.lastInvocationCount);
    // No SSID should trigger a new subsession
    servlet.service(new MockHttpServletRequest(session), new MockHttpServletResponse());
    Assert.assertEquals("Incorrect invocation count", 1, servlet.lastInvocationCount);
}
Also used : WText(com.github.bordertech.wcomponents.WText) MockHttpServletRequest(com.github.bordertech.wcomponents.util.mock.servlet.MockHttpServletRequest) MockServletConfig(com.github.bordertech.wcomponents.util.mock.servlet.MockServletConfig) MockHttpSession(com.github.bordertech.wcomponents.util.mock.servlet.MockHttpSession) MockHttpServletResponse(com.github.bordertech.wcomponents.util.mock.servlet.MockHttpServletResponse) Test(org.junit.Test)

Example 9 with MockServletConfig

use of com.github.bordertech.wcomponents.util.mock.servlet.MockServletConfig in project wcomponents by BorderTech.

the class ThemeServlet_Test method setUp.

@Before
public void setUp() throws ServletException {
    themeServlet = new ThemeServlet();
    themeServlet.init(new MockServletConfig());
}
Also used : MockServletConfig(com.github.bordertech.wcomponents.util.mock.servlet.MockServletConfig) Before(org.junit.Before)

Example 10 with MockServletConfig

use of com.github.bordertech.wcomponents.util.mock.servlet.MockServletConfig in project wcomponents by BorderTech.

the class WServletPerformance_Test method testOtherServletAppCorrectness.

/**
 * Basic sanity-test to ensure that the other app is performing all the processing that it should.
 *
 * @throws Exception an exception
 */
@Test
public void testOtherServletAppCorrectness() throws Exception {
    SimpleServlet servlet = new SimpleServlet();
    servlet.init(new MockServletConfig());
    MockHttpSession session = new MockHttpSession();
    sendOtherServletRequest(servlet, session, 0);
    sendOtherServletRequest(servlet, session, 1);
    SimpleFormBean bean = servlet.getFormBean(new MockHttpServletRequest(session));
    Assert.assertEquals("Incorrect property1 value", "p1_1", bean.getProperty1());
    Assert.assertEquals("Incorrect property2 value", "p2_1", bean.getProperty2());
}
Also used : MockHttpServletRequest(com.github.bordertech.wcomponents.util.mock.servlet.MockHttpServletRequest) MockServletConfig(com.github.bordertech.wcomponents.util.mock.servlet.MockServletConfig) MockHttpSession(com.github.bordertech.wcomponents.util.mock.servlet.MockHttpSession) Test(org.junit.Test)

Aggregations

MockServletConfig (com.github.bordertech.wcomponents.util.mock.servlet.MockServletConfig)12 MockHttpServletRequest (com.github.bordertech.wcomponents.util.mock.servlet.MockHttpServletRequest)9 MockHttpSession (com.github.bordertech.wcomponents.util.mock.servlet.MockHttpSession)9 Test (org.junit.Test)9 MockHttpServletResponse (com.github.bordertech.wcomponents.util.mock.servlet.MockHttpServletResponse)8 WText (com.github.bordertech.wcomponents.WText)6 UIContext (com.github.bordertech.wcomponents.UIContext)2 WServletHelper (com.github.bordertech.wcomponents.servlet.WServlet.WServletHelper)2 ServletException (javax.servlet.ServletException)2 MockContainer (com.github.bordertech.wcomponents.MockContainer)1 Before (org.junit.Before)1