List of usage examples for org.springframework.mock.web MockHttpServletRequest setRequestURI
public void setRequestURI(@Nullable String requestURI)
From source file:com.tasktop.c2c.server.common.service.tests.ajp.AjpProxyWebTest.java
@Test public void testProxyHandlesCookies() throws Exception { final String ajpBaseUri = String.format("ajp://localhost:%s", container.getAjpPort()); Payload payload = new Payload(HttpServletResponse.SC_OK, "some content\none two three\n\nfour"); payload.getResponseHeaders().put("foo", "bar"); payload.getSessionVariables().put("s1", "v1"); TestServlet.setResponsePayload(payload); MockHttpServletRequest request = new MockHttpServletRequest(); request.setMethod("GET"); request.setRequestURI("/test"); request.setQueryString("a=b"); request.setParameter("a", new String[] { "b" }); request.addHeader("c", "d ef"); MockHttpServletResponse response = new MockHttpServletResponse(); proxy.proxyRequest(ajpBaseUri + "/foo", request, response); Request firstRequest = null;//from w ww.j ava 2 s. com for (int i = 0; i < 100; i++) { firstRequest = TestServlet.getLastRequest(); // If our request is not yet there, then pause and retry shortly - proxying is an async process, and this // request was sometimes coming back as null which was causing test failures on the first assert below. if (firstRequest == null) { Thread.sleep(10); } else { // Got our request, so break now. break; } } Assert.assertTrue(firstRequest.isNewSession()); Assert.assertEquals("v1", firstRequest.getSessionAttributes().get("s1")); List<org.apache.commons.httpclient.Cookie> cookies = new ArrayList<org.apache.commons.httpclient.Cookie>(); for (String headerName : response.getHeaderNames()) { if (headerName.equalsIgnoreCase("set-cookie") || headerName.equalsIgnoreCase("set-cookie2")) { cookies.addAll(Arrays.asList(new RFC2965Spec().parse("localhost", container.getPort(), "/", false, response.getHeader(headerName).toString()))); } } Assert.assertEquals(1, cookies.size()); Cookie cookie = cookies.get(0); Assert.assertEquals("almp.JSESSIONID", cookie.getName()); MockHttpServletRequest request2 = new MockHttpServletRequest(); request2.setMethod("GET"); request2.setRequestURI("/test"); request2.addHeader("Cookie", cookie.toExternalForm()); MockHttpServletResponse response2 = new MockHttpServletResponse(); payload = new Payload(HttpServletResponse.SC_OK, "test"); TestServlet.setResponsePayload(payload); proxy.proxyRequest(ajpBaseUri + "/foo", request2, response2); Request secondRequest = TestServlet.getLastRequest(); Assert.assertFalse(secondRequest.isNewSession()); Assert.assertEquals(firstRequest.getSessionId(), secondRequest.getSessionId()); Assert.assertEquals("v1", secondRequest.getSessionAttributes().get("s1")); }
From source file:org.eclipse.virgo.apps.repository.web.RepositoryControllerTests.java
@Test public void getIndexForUnknownRepository() throws Exception { MockHttpServletRequest request = new MockHttpServletRequest(); MockHttpServletResponse response = new MockHttpServletResponse(); request.setRequestURI("http://localhost:8080/org.eclipse.virgo.server.repository/my-repo"); request.setMethod("GET"); expect(this.repositoryManager.getIndex("my-repo")).andReturn(null); replay(this.repositoryManager); repositoryController.getIndex(request, response); verify(this.repositoryManager); assertEquals(response.getStatus(), HttpServletResponse.SC_NOT_FOUND); }
From source file:org.eclipse.virgo.apps.repository.web.RepositoryControllerTests.java
@Test public void getUnknownArtefact() throws Exception { MockHttpServletRequest request = new MockHttpServletRequest(); MockHttpServletResponse response = new MockHttpServletResponse(); request.setRequestURI( "http://localhost:8080/org.eclipse.virgo.server.repository/my-repo/bundle/com.foo/1.0.0"); request.setMethod("GET"); expect(this.repositoryManager.getArtifact("my-repo", "bundle", "com.foo", "1.0.0")).andReturn(null); replay(this.repositoryManager); repositoryController.getArtifact(request, response); verify(this.repositoryManager); assertEquals(response.getStatus(), HttpServletResponse.SC_NOT_FOUND); }
From source file:com.github.jrialland.ajpclient.servlet.TestServletProxy.java
@Test public void doTestGet() throws Exception { final MockHttpServletRequest request = new MockHttpServletRequest(); request.setMethod("GET"); request.setRequestURI("/dizzy.mp4"); final MockHttpServletResponse response = new MockHttpServletResponse(); AjpServletProxy.forHost("localhost", getPort()).forward(request, response, 10, TimeUnit.SECONDS, true); if (response.getStatus() != 200) { System.out.println(response.getContentAsString()); Assert.fail(response.getErrorMessage()); }/*from ww w. ja v a2s .c o m*/ }
From source file:org.eclipse.virgo.apps.repository.web.RepositoryControllerTests.java
@Test public void getArtefact() throws Exception { MockHttpServletRequest request = new MockHttpServletRequest(); MockHttpServletResponse response = new MockHttpServletResponse(); request.setRequestURI( "http://localhost:8080/org.eclipse.virgo.server.repository/my-repo/bundle/com.foo/1.0.0"); request.setMethod("GET"); byte[] artefactBytes = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8 }; expect(this.repositoryManager.getArtifact("my-repo", "bundle", "com.foo", "1.0.0")) .andReturn(new ByteArrayInputStream(artefactBytes)); replay(this.repositoryManager); repositoryController.getArtifact(request, response); verify(this.repositoryManager); assertEquals("application/octet-stream", response.getContentType()); assertArrayEquals(artefactBytes, response.getContentAsByteArray()); }
From source file:org.eclipse.virgo.apps.repository.web.RepositoryControllerTests.java
@Test public void getIndex() throws Exception { MockHttpServletRequest request = new MockHttpServletRequest(); MockHttpServletResponse response = new MockHttpServletResponse(); request.setRequestURI("http://localhost:8080/org.eclipse.virgo.server.repository/my-repo"); request.setMethod("GET"); byte[] indexBytes = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8 }; RepositoryIndex repositoryIndex = createMock(RepositoryIndex.class); expect(repositoryIndex.getInputStream()).andReturn(new ByteArrayInputStream(indexBytes)).anyTimes(); expect(repositoryIndex.getETag()).andReturn("123456789").anyTimes(); expect(repositoryIndex.getLength()).andReturn(indexBytes.length).anyTimes(); expect(this.repositoryManager.getIndex("my-repo")).andReturn(repositoryIndex); replay(this.repositoryManager, repositoryIndex); repositoryController.getIndex(request, response); verify(this.repositoryManager, repositoryIndex); assertEquals("application/org.eclipse.virgo.repository.Index", response.getContentType()); assertArrayEquals(indexBytes, response.getContentAsByteArray()); }
From source file:com.github.jrialland.ajpclient.servlet.TestServletProxy.java
/** * Test that is fails with a request bigger that 8k *//* ww w . j av a2 s. c o m*/ @Test public void testTooBigRequest() throws Exception { final MockHttpServletRequest request = new MockHttpServletRequest(); request.setMethod("GET"); request.setRequestURI("/dizzy.mp4"); // generate a request with an enormous 'Cookie' header String cookie = ""; final int i = 0; while (cookie.length() < Constants.MAX_MESSAGE_SIZE) { cookie = cookie + "COOKIE" + i + "=foo;"; } request.addHeader("Cookie", cookie); final MockHttpServletResponse response = new MockHttpServletResponse(); AjpServletProxy.forHost("localhost", getPort()).forward(request, response); Assert.assertEquals(HttpServletResponse.SC_BAD_REQUEST, response.getStatus()); }
From source file:com.github.jrialland.ajpclient.servlet.TestServletProxy.java
@Test public void testMultiple() throws Exception { final int nTasks = 10; for (int i = 0; i < nTasks; i++) { final MockHttpServletRequest request = new MockHttpServletRequest(); request.setMethod("GET"); request.setRequestURI("/long_request"); request.setMethod("POST"); request.addHeader("Content-Type", "application/x-www-form-urlencoded"); request.setContent("duration=1000".getBytes()); final MockHttpServletResponse response = new MockHttpServletResponse(); AjpServletProxy.forHost("localhost", getPort()).forward(request, response); Assert.assertEquals(HttpServletResponse.SC_OK, response.getStatus()); }/*w w w .j a v a2 s.c o m*/ }
From source file:org.wallride.job.UpdatePostViewsItemWriter.java
@Override public void write(List<? extends List> items) throws Exception { WebApplicationContext context = WebApplicationContextUtils.getWebApplicationContext(servletContext, "org.springframework.web.servlet.FrameworkServlet.CONTEXT.guestServlet"); if (context == null) { throw new ServiceException("GuestServlet is not ready yet"); }// w w w. j a va 2 s . com final RequestMappingHandlerMapping mapping = context.getBean(RequestMappingHandlerMapping.class); for (List item : items) { UriComponents uriComponents = UriComponentsBuilder.fromUriString((String) item.get(0)).build(); logger.info("Processing [{}]", uriComponents.toString()); MockHttpServletRequest request = new MockHttpServletRequest(servletContext); request.setMethod("GET"); request.setRequestURI(uriComponents.getPath()); request.setQueryString(uriComponents.getQuery()); MockHttpServletResponse response = new MockHttpServletResponse(); BlogLanguageRewriteRule rewriteRule = new BlogLanguageRewriteRule(blogService); BlogLanguageRewriteMatch rewriteMatch = (BlogLanguageRewriteMatch) rewriteRule.matches(request, response); try { rewriteMatch.execute(request, response); } catch (ServletException e) { throw new ServiceException(e); } catch (IOException e) { throw new ServiceException(e); } request.setRequestURI(rewriteMatch.getMatchingUrl()); HandlerExecutionChain handler; try { handler = mapping.getHandler(request); } catch (Exception e) { throw new ServiceException(e); } if (!(handler.getHandler() instanceof HandlerMethod)) { continue; } HandlerMethod method = (HandlerMethod) handler.getHandler(); if (!method.getBeanType().equals(ArticleDescribeController.class) && !method.getBeanType().equals(PageDescribeController.class)) { continue; } // Last path mean code of post String code = uriComponents.getPathSegments().get(uriComponents.getPathSegments().size() - 1); Post post = postRepository.findOneByCodeAndLanguage(code, rewriteMatch.getBlogLanguage().getLanguage()); if (post == null) { logger.debug("Post not found [{}]", code); continue; } logger.info("Update the PageView. Post ID [{}]: {} -> {}", post.getId(), post.getViews(), item.get(1)); post.setViews(Long.parseLong((String) item.get(1))); postRepository.saveAndFlush(post); } }
From source file:org.cloudfoundry.identity.uaa.security.web.UaaRequestMatcherTests.java
private MockHttpServletRequest request(String path, String accept, String... parameters) { MockHttpServletRequest request = new MockHttpServletRequest(); request.setContextPath("/ctx"); request.setRequestURI("/ctx" + path); if (accept != null) { request.addHeader("Accept", accept); }// w ww. j a va 2s . c om for (int i = 0; i < parameters.length; i += 2) { String key = parameters[i]; String value = parameters[i + 1]; request.addParameter(key, value); } return request; }