/** * Create a {@link MockHttpServletRequestBuilder} for a POST request. * @param uri the URL * @since 4.0.3 */ public static MockHttpServletRequestBuilder post(URI uri) { return new MockHttpServletRequestBuilder(HttpMethod.POST, uri); }
/** * Create a {@link MockHttpServletRequestBuilder} for a DELETE request. * @param urlTemplate a URL template; the resulting URL will be encoded * @param uriVars zero or more URI variables */ public static MockHttpServletRequestBuilder delete(String urlTemplate, Object... uriVars) { return new MockHttpServletRequestBuilder(HttpMethod.DELETE, urlTemplate, uriVars); }
/** * Create a {@link MockHttpServletRequestBuilder} for a request with the given HTTP method. * @param method the HTTP method (GET, POST, etc) * @param urlTemplate a URL template; the resulting URL will be encoded * @param uriVars zero or more URI variables */ public static MockHttpServletRequestBuilder request(HttpMethod method, String urlTemplate, Object... uriVars) { return new MockHttpServletRequestBuilder(method, urlTemplate, uriVars); }
/** * Create a {@link MockHttpServletRequestBuilder} for a POST request. * @param urlTemplate a URL template; the resulting URL will be encoded * @param uriVars zero or more URI variables */ public static MockHttpServletRequestBuilder post(String urlTemplate, Object... uriVars) { return new MockHttpServletRequestBuilder(HttpMethod.POST, urlTemplate, uriVars); }
/** * Create a {@link MockHttpServletRequestBuilder} for a PUT request. * @param urlTemplate a URL template; the resulting URL will be encoded * @param uriVars zero or more URI variables */ public static MockHttpServletRequestBuilder put(String urlTemplate, Object... uriVars) { return new MockHttpServletRequestBuilder(HttpMethod.PUT, urlTemplate, uriVars); }
/** * Create a {@link MockHttpServletRequestBuilder} for a PATCH request. * @param urlTemplate a URL template; the resulting URL will be encoded * @param uriVars zero or more URI variables */ public static MockHttpServletRequestBuilder patch(String urlTemplate, Object... uriVars) { return new MockHttpServletRequestBuilder(HttpMethod.PATCH, urlTemplate, uriVars); }
/** * Create a {@link MockHttpServletRequestBuilder} for a PATCH request. * @param uri the URL * @since 4.0.3 */ public static MockHttpServletRequestBuilder patch(URI uri) { return new MockHttpServletRequestBuilder(HttpMethod.PATCH, uri); }
/** * Create a {@link MockHttpServletRequestBuilder} for a DELETE request. * @param uri the URL * @since 4.0.3 */ public static MockHttpServletRequestBuilder delete(URI uri) { return new MockHttpServletRequestBuilder(HttpMethod.DELETE, uri); }
/** * Create a {@link MockHttpServletRequestBuilder} for an OPTIONS request. * @param uri the URL * @since 4.0.3 */ public static MockHttpServletRequestBuilder options(URI uri) { return new MockHttpServletRequestBuilder(HttpMethod.OPTIONS, uri); }
/** * Create a {@link MockHttpServletRequestBuilder} for a HEAD request. * @param urlTemplate a URL template; the resulting URL will be encoded * @param uriVars zero or more URI variables * @since 4.1 */ public static MockHttpServletRequestBuilder head(String urlTemplate, Object... uriVars) { return new MockHttpServletRequestBuilder(HttpMethod.HEAD, urlTemplate, uriVars); }
/** * Create a {@link MockHttpServletRequestBuilder} for a PUT request. * @param uri the URL * @since 4.0.3 */ public static MockHttpServletRequestBuilder put(URI uri) { return new MockHttpServletRequestBuilder(HttpMethod.PUT, uri); }
@Test // SPR-13801 public void requestParameterFromMultiValueMap() throws Exception { MultiValueMap<String, String> params = new LinkedMultiValueMap<>(); params.add("foo", "bar"); params.add("foo", "baz"); this.builder = new MockHttpServletRequestBuilder(HttpMethod.POST, "/foo"); this.builder.params(params); MockHttpServletRequest request = this.builder.buildRequest(this.servletContext); assertArrayEquals(new String[] {"bar", "baz"}, request.getParameterMap().get("foo")); }
@Test // SPR-13435 public void requestUriWithDoubleSlashes() throws URISyntaxException { this.builder = new MockHttpServletRequestBuilder(HttpMethod.GET, new URI("/test//currentlyValid/0")); MockHttpServletRequest request = this.builder.buildRequest(this.servletContext); assertEquals("/test//currentlyValid/0", request.getRequestURI()); }
@Test public void requestUriWithEncoding() { this.builder = new MockHttpServletRequestBuilder(HttpMethod.GET, "/foo bar"); MockHttpServletRequest request = this.builder.buildRequest(this.servletContext); assertEquals("/foo%20bar", request.getRequestURI()); }
@Test // SPR-11043 public void requestParameterFromQueryNull() { this.builder = new MockHttpServletRequestBuilder(HttpMethod.GET, "/?foo"); MockHttpServletRequest request = this.builder.buildRequest(this.servletContext); Map<String, String[]> parameterMap = request.getParameterMap(); assertArrayEquals(new String[] {null}, parameterMap.get("foo")); assertEquals("foo", request.getQueryString()); }
@Test // SPR-13719 public void arbitraryMethod() { String httpMethod = "REPort"; URI url = UriComponentsBuilder.fromPath("/foo/{bar}").buildAndExpand(42).toUri(); this.builder = new MockHttpServletRequestBuilder(httpMethod, url); MockHttpServletRequest request = this.builder.buildRequest(this.servletContext); assertEquals(httpMethod, request.getMethod()); assertEquals("/foo/42", request.getPathInfo()); }
@Test public void test() { MockHttpServletRequestBuilder parent = new MockHttpServletRequestBuilder(HttpMethod.GET, "/"); parent.characterEncoding("UTF-8"); Object result = new MockMultipartHttpServletRequestBuilder("/fileUpload").merge(parent); assertNotNull(result); assertEquals(MockMultipartHttpServletRequestBuilder.class, result.getClass()); MockMultipartHttpServletRequestBuilder builder = (MockMultipartHttpServletRequestBuilder) result; MockHttpServletRequest request = builder.buildRequest(new MockServletContext()); assertEquals("UTF-8", request.getCharacterEncoding()); }
@Test public void contextPathServletPathEmpty() { this.builder = new MockHttpServletRequestBuilder(HttpMethod.GET, "/travel/hotels/42"); this.builder.contextPath("/travel"); MockHttpServletRequest request = this.builder.buildRequest(this.servletContext); assertEquals("/travel", request.getContextPath()); assertEquals("", request.getServletPath()); assertEquals("/hotels/42", request.getPathInfo()); }
@Test public void contextPathServletPath() { this.builder = new MockHttpServletRequestBuilder(HttpMethod.GET, "/travel/main/hotels/42"); this.builder.contextPath("/travel"); this.builder.servletPath("/main"); MockHttpServletRequest request = this.builder.buildRequest(this.servletContext); assertEquals("/travel", request.getContextPath()); assertEquals("/main", request.getServletPath()); assertEquals("/hotels/42", request.getPathInfo()); }
@Test public void contextPathServletPathInfoEmpty() { this.builder = new MockHttpServletRequestBuilder(HttpMethod.GET, "/travel/hotels/42"); this.builder.contextPath("/travel"); this.builder.servletPath("/hotels/42"); MockHttpServletRequest request = this.builder.buildRequest(this.servletContext); assertEquals("/travel", request.getContextPath()); assertEquals("/hotels/42", request.getServletPath()); assertNull(request.getPathInfo()); }