queryParam and replaceParam with List

See gh-23114
This commit is contained in:
Dmytro Nosan
2019-06-12 15:49:19 +03:00
committed by Rossen Stoyanchev
parent 0d3e5db3ff
commit ea10ee5265
4 changed files with 118 additions and 5 deletions

View File

@@ -643,7 +643,7 @@ public class UriComponentsBuilderTests {
}
@Test
public void queryParams() {
public void queryParam() {
UriComponentsBuilder builder = UriComponentsBuilder.newInstance();
UriComponents result = builder.queryParam("baz", "qux", 42).build();
@@ -654,6 +654,18 @@ public class UriComponentsBuilderTests {
assertThat(result.getQueryParams()).isEqualTo(expectedQueryParams);
}
@Test
public void queryParams() {
UriComponentsBuilder builder = UriComponentsBuilder.newInstance();
UriComponents result = builder.queryParams("baz", Arrays.asList("qux", 42)).build();
assertThat(result.getQuery()).isEqualTo("baz=qux&baz=42");
MultiValueMap<String, String> expectedQueryParams = new LinkedMultiValueMap<>(2);
expectedQueryParams.add("baz", "qux");
expectedQueryParams.add("baz", "42");
assertThat(result.getQueryParams()).isEqualTo(expectedQueryParams);
}
@Test
public void emptyQueryParam() {
UriComponentsBuilder builder = UriComponentsBuilder.newInstance();
@@ -665,6 +677,18 @@ public class UriComponentsBuilderTests {
assertThat(result.getQueryParams()).isEqualTo(expectedQueryParams);
}
@Test
public void emptyQueryParams() {
UriComponentsBuilder builder = UriComponentsBuilder.newInstance();
UriComponents result = builder.queryParams("baz", Collections.emptyList()).queryParams("foo", null).build();
assertThat(result.getQuery()).isEqualTo("baz&foo");
MultiValueMap<String, String> expectedQueryParams = new LinkedMultiValueMap<>(2);
expectedQueryParams.add("baz", null);
expectedQueryParams.add("foo", null);
assertThat(result.getQueryParams()).isEqualTo(expectedQueryParams);
}
@Test
public void replaceQueryParam() {
UriComponentsBuilder builder = UriComponentsBuilder.newInstance().queryParam("baz", "qux", 42);
@@ -680,6 +704,21 @@ public class UriComponentsBuilderTests {
assertThat(result.getQuery()).as("Query param should have been deleted").isNull();
}
@Test
public void replaceQueryParams() {
UriComponentsBuilder builder = UriComponentsBuilder.newInstance().queryParams("baz", Arrays.asList("qux", 42));
builder.replaceQueryParams("baz", Arrays.asList("xuq", 24));
UriComponents result = builder.build();
assertThat(result.getQuery()).isEqualTo("baz=xuq&baz=24");
builder = UriComponentsBuilder.newInstance().queryParams("baz", Arrays.asList("qux", 42));
builder.replaceQueryParams("baz", Collections.emptyList());
result = builder.build();
assertThat(result.getQuery()).as("Query param should have been deleted").isNull();
}
@Test
public void buildAndExpandHierarchical() {
UriComponents result = UriComponentsBuilder.fromPath("/{foo}").buildAndExpand("fooValue");