@@ -62,7 +62,6 @@ public void setup() {
62
62
63
63
@ Test
64
64
public void basic () {
65
-
66
65
this .builder .build ().get ().uri ("/path" ).exchange ();
67
66
68
67
ClientRequest request = verifyAndGetRequest ();
@@ -73,7 +72,6 @@ public void basic() {
73
72
74
73
@ Test
75
74
public void uriBuilder () {
76
-
77
75
this .builder .build ().get ()
78
76
.uri (builder -> builder .path ("/path" ).queryParam ("q" , "12" ).build ())
79
77
.exchange ();
@@ -85,7 +83,6 @@ public void uriBuilder() {
85
83
86
84
@ Test
87
85
public void uriBuilderWithPathOverride () {
88
-
89
86
this .builder .build ().get ()
90
87
.uri (builder -> builder .replacePath ("/path" ).build ())
91
88
.exchange ();
@@ -97,7 +94,6 @@ public void uriBuilderWithPathOverride() {
97
94
98
95
@ Test
99
96
public void requestHeaderAndCookie () {
100
-
101
97
this .builder .build ().get ().uri ("/path" ).accept (MediaType .APPLICATION_JSON )
102
98
.cookies (cookies -> cookies .add ("id" , "123" )) // SPR-16178
103
99
.exchange ();
@@ -110,7 +106,6 @@ public void requestHeaderAndCookie() {
110
106
111
107
@ Test
112
108
public void defaultHeaderAndCookie () {
113
-
114
109
WebClient client = this .builder
115
110
.defaultHeader ("Accept" , "application/json" ).defaultCookie ("id" , "123" )
116
111
.build ();
@@ -125,7 +120,6 @@ public void defaultHeaderAndCookie() {
125
120
126
121
@ Test
127
122
public void defaultHeaderAndCookieOverrides () {
128
-
129
123
WebClient client = this .builder
130
124
.defaultHeader ("Accept" , "application/json" )
131
125
.defaultCookie ("id" , "123" )
@@ -141,7 +135,6 @@ public void defaultHeaderAndCookieOverrides() {
141
135
142
136
@ Test
143
137
public void defaultRequest () {
144
-
145
138
ThreadLocal <String > context = new NamedThreadLocal <>("foo" );
146
139
147
140
Map <String , Object > actual = new HashMap <>();
@@ -176,7 +169,6 @@ public void bodyObjectPublisher() {
176
169
177
170
@ Test
178
171
public void mutateDoesCopy () {
179
-
180
172
// First, build the clients
181
173
182
174
WebClient .Builder builder = WebClient .builder ()
@@ -216,8 +208,7 @@ public void mutateDoesCopy() {
216
208
}
217
209
218
210
@ Test
219
- public void attributes () {
220
-
211
+ public void withStringAttribute () {
221
212
Map <String , Object > actual = new HashMap <>();
222
213
ExchangeFilterFunction filter = (request , next ) -> {
223
214
actual .putAll (request .attributes ());
@@ -230,11 +221,32 @@ public void attributes() {
230
221
.exchange ();
231
222
232
223
assertEquals ("bar" , actual .get ("foo" ));
224
+
225
+ ClientRequest request = verifyAndGetRequest ();
226
+ assertEquals ("bar" , request .attribute ("foo" ).get ());
233
227
}
234
228
235
229
@ Test
236
- public void apply () {
230
+ public void withNullAttribute () {
231
+ Map <String , Object > actual = new HashMap <>();
232
+ ExchangeFilterFunction filter = (request , next ) -> {
233
+ actual .putAll (request .attributes ());
234
+ return next .exchange (request );
235
+ };
236
+
237
+ this .builder .filter (filter ).build ()
238
+ .get ().uri ("/path" )
239
+ .attribute ("foo" , null )
240
+ .exchange ();
237
241
242
+ assertNull (actual .get ("foo" ));
243
+
244
+ ClientRequest request = verifyAndGetRequest ();
245
+ assertFalse (request .attribute ("foo" ).isPresent ());
246
+ }
247
+
248
+ @ Test
249
+ public void apply () {
238
250
WebClient client = this .builder
239
251
.apply (builder -> builder
240
252
.defaultHeader ("Accept" , "application/json" )
0 commit comments