@Override public ServletRequest getRequest() { return EvoServletState.getRequest(); }
@EvoSuiteInclude @Constraints(atMostOnce = true, after = "initServlet") public static AsyncContext getAsyncContext() throws IllegalStateException{ checkInit(); if(getRequest().isAsyncStarted()){ return getRequest().getAsyncContext(); } else { return getRequest().startAsync(); } }
@Test public void testAsyn() throws ServletException, IOException { HttpServlet servlet = new AnnotatedServlet_for_testAsyn(); EvoServletState.initServlet(servlet); boolean supported = EvoServletState.getRequest().isAsyncSupported(); Assert.assertTrue(supported); servlet.service(EvoServletState.getRequest(), EvoServletState.getResponse()); String body = EvoServletState.getResponse().getBody(); Assert.assertEquals("foo", body); }
@Test public void testNoAsyn() throws ServletException { HttpServlet servlet = new HttpServlet() { @Override public void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { } }; EvoServletState.initServlet(servlet); boolean supported = EvoServletState.getRequest().isAsyncSupported(); Assert.assertFalse(supported); }
EvoHttpServletRequest req = EvoServletState.getRequest(); req.asPOST(); servlet.service(req, EvoServletState.getResponse()); EvoServletState.reset(); EvoServletState.initServlet(servlet); req = EvoServletState.getRequest(); req.asGET(); servlet.service(req, EvoServletState.getResponse()); EvoServletState.reset(); EvoServletState.initServlet(servlet); req = EvoServletState.getRequest(); req.asPUT(); servlet.service(req, EvoServletState.getResponse());
@Test public void testParts() throws ServletException, IOException{ HttpServlet servlet = new HttpServlet() { @Override public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { Collection<Part> parts = req.getParts(); String s = ""; for(Part p : parts){ Scanner in = new Scanner(p.getInputStream()); s += in.nextLine(); in.close(); } PrintWriter out = resp.getWriter(); out.print(s); out.close(); } }; String msg0 = "foo"; String msg1 = "bar"; EvoServletState.initServlet(servlet); EvoHttpServletRequest req = EvoServletState.getRequest(); req.asPOST(); req.asMultipartFormData(); req.addPart(new EvoPart("first", msg0)); req.addPart(new EvoPart("second", msg1)); servlet.service(req, EvoServletState.getResponse()); Assert.assertTrue(TestDataJavaEE.getInstance().getViewOfParts().size() == 0); Assert.assertTrue(EvoServletState.getResponse().getBody().equals(msg0+msg1)); }
EvoHttpServletRequest req = EvoServletState.getRequest(); req.asPOST(); req.asTextXml(); req = EvoServletState.getRequest(); req.asPOST(); req.asMultipartFormData();