|
|
|
@ -62,7 +62,6 @@ public class DefaultWebClientTests {
@@ -62,7 +62,6 @@ public class DefaultWebClientTests {
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
public void basic() { |
|
|
|
|
|
|
|
|
|
this.builder.build().get().uri("/path").exchange(); |
|
|
|
|
|
|
|
|
|
ClientRequest request = verifyAndGetRequest(); |
|
|
|
@ -73,7 +72,6 @@ public class DefaultWebClientTests {
@@ -73,7 +72,6 @@ public class DefaultWebClientTests {
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
public void uriBuilder() { |
|
|
|
|
|
|
|
|
|
this.builder.build().get() |
|
|
|
|
.uri(builder -> builder.path("/path").queryParam("q", "12").build()) |
|
|
|
|
.exchange(); |
|
|
|
@ -85,7 +83,6 @@ public class DefaultWebClientTests {
@@ -85,7 +83,6 @@ public class DefaultWebClientTests {
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
public void uriBuilderWithPathOverride() { |
|
|
|
|
|
|
|
|
|
this.builder.build().get() |
|
|
|
|
.uri(builder -> builder.replacePath("/path").build()) |
|
|
|
|
.exchange(); |
|
|
|
@ -97,7 +94,6 @@ public class DefaultWebClientTests {
@@ -97,7 +94,6 @@ public class DefaultWebClientTests {
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
public void requestHeaderAndCookie() { |
|
|
|
|
|
|
|
|
|
this.builder.build().get().uri("/path").accept(MediaType.APPLICATION_JSON) |
|
|
|
|
.cookies(cookies -> cookies.add("id", "123")) // SPR-16178
|
|
|
|
|
.exchange(); |
|
|
|
@ -110,7 +106,6 @@ public class DefaultWebClientTests {
@@ -110,7 +106,6 @@ public class DefaultWebClientTests {
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
public void defaultHeaderAndCookie() { |
|
|
|
|
|
|
|
|
|
WebClient client = this.builder |
|
|
|
|
.defaultHeader("Accept", "application/json").defaultCookie("id", "123") |
|
|
|
|
.build(); |
|
|
|
@ -125,7 +120,6 @@ public class DefaultWebClientTests {
@@ -125,7 +120,6 @@ public class DefaultWebClientTests {
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
public void defaultHeaderAndCookieOverrides() { |
|
|
|
|
|
|
|
|
|
WebClient client = this.builder |
|
|
|
|
.defaultHeader("Accept", "application/json") |
|
|
|
|
.defaultCookie("id", "123") |
|
|
|
@ -141,7 +135,6 @@ public class DefaultWebClientTests {
@@ -141,7 +135,6 @@ public class DefaultWebClientTests {
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
public void defaultRequest() { |
|
|
|
|
|
|
|
|
|
ThreadLocal<String> context = new NamedThreadLocal<>("foo"); |
|
|
|
|
|
|
|
|
|
Map<String, Object> actual = new HashMap<>(); |
|
|
|
@ -176,7 +169,6 @@ public class DefaultWebClientTests {
@@ -176,7 +169,6 @@ public class DefaultWebClientTests {
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
public void mutateDoesCopy() { |
|
|
|
|
|
|
|
|
|
// First, build the clients
|
|
|
|
|
|
|
|
|
|
WebClient.Builder builder = WebClient.builder() |
|
|
|
@ -216,8 +208,7 @@ public class DefaultWebClientTests {
@@ -216,8 +208,7 @@ public class DefaultWebClientTests {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
public void attributes() { |
|
|
|
|
|
|
|
|
|
public void withStringAttribute() { |
|
|
|
|
Map<String, Object> actual = new HashMap<>(); |
|
|
|
|
ExchangeFilterFunction filter = (request, next) -> { |
|
|
|
|
actual.putAll(request.attributes()); |
|
|
|
@ -230,11 +221,32 @@ public class DefaultWebClientTests {
@@ -230,11 +221,32 @@ public class DefaultWebClientTests {
|
|
|
|
|
.exchange(); |
|
|
|
|
|
|
|
|
|
assertEquals("bar", actual.get("foo")); |
|
|
|
|
|
|
|
|
|
ClientRequest request = verifyAndGetRequest(); |
|
|
|
|
assertEquals("bar", request.attribute("foo").get()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
public void apply() { |
|
|
|
|
public void withNullAttribute() { |
|
|
|
|
Map<String, Object> actual = new HashMap<>(); |
|
|
|
|
ExchangeFilterFunction filter = (request, next) -> { |
|
|
|
|
actual.putAll(request.attributes()); |
|
|
|
|
return next.exchange(request); |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
this.builder.filter(filter).build() |
|
|
|
|
.get().uri("/path") |
|
|
|
|
.attribute("foo", null) |
|
|
|
|
.exchange(); |
|
|
|
|
|
|
|
|
|
assertNull(actual.get("foo")); |
|
|
|
|
|
|
|
|
|
ClientRequest request = verifyAndGetRequest(); |
|
|
|
|
assertFalse(request.attribute("foo").isPresent()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
public void apply() { |
|
|
|
|
WebClient client = this.builder |
|
|
|
|
.apply(builder -> builder |
|
|
|
|
.defaultHeader("Accept", "application/json") |
|
|
|
|