queryParam options for MockMVC requeusts
See gh-23296
This commit is contained in:
committed by
Rossen Stoyanchev
parent
a26d37b407
commit
879b2df052
@@ -21,6 +21,7 @@ import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.security.Principal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
@@ -234,6 +235,47 @@ public class MockHttpServletRequestBuilderTests {
|
||||
assertThat(request.getParameter("foo[1]")).isEqualTo("baz");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void requestParameterToQuery() {
|
||||
this.builder = new MockHttpServletRequestBuilder(HttpMethod.GET, "/");
|
||||
this.builder.queryParam("foo", "bar");
|
||||
this.builder.queryParam("foo", "baz");
|
||||
|
||||
MockHttpServletRequest request = this.builder.buildRequest(this.servletContext);
|
||||
|
||||
assertThat(request.getParameterMap().get("foo")).isEqualTo(new String[] {"bar", "baz"});
|
||||
assertThat(request.getQueryString()).isEqualTo("foo=bar&foo=baz");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void requestParameterMapToQuery() {
|
||||
this.builder = new MockHttpServletRequestBuilder(HttpMethod.GET, "/");
|
||||
MultiValueMap<String, String> queryParams = new LinkedMultiValueMap<>();
|
||||
List<String> values = new ArrayList<>();
|
||||
values.add("bar");
|
||||
values.add("baz");
|
||||
queryParams.put("foo", values);
|
||||
this.builder.queryParams(queryParams);
|
||||
|
||||
MockHttpServletRequest request = this.builder.buildRequest(this.servletContext);
|
||||
|
||||
assertThat(request.getParameterMap().get("foo")).isEqualTo(new String[] {"bar", "baz"});
|
||||
assertThat(request.getQueryString()).isEqualTo("foo=bar&foo=baz");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void requestParameterToQueryList() {
|
||||
this.builder = new MockHttpServletRequestBuilder(HttpMethod.GET, "/");
|
||||
this.builder.queryParam("foo[0]", "bar");
|
||||
this.builder.queryParam("foo[1]", "baz");
|
||||
|
||||
MockHttpServletRequest request = this.builder.buildRequest(this.servletContext);
|
||||
|
||||
assertThat(request.getQueryString()).isEqualTo("foo%5B0%5D=bar&foo%5B1%5D=baz");
|
||||
assertThat(request.getParameter("foo[0]")).isEqualTo("bar");
|
||||
assertThat(request.getParameter("foo[1]")).isEqualTo("baz");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void requestParameterFromQueryWithEncoding() {
|
||||
this.builder = new MockHttpServletRequestBuilder(HttpMethod.GET, "/?foo={value}", "bar=baz");
|
||||
|
||||
Reference in New Issue
Block a user