16
16
package org .springframework .data .elasticsearch .client .reactive ;
17
17
18
18
import static org .assertj .core .api .Assertions .*;
19
- import static org .mockito .ArgumentMatchers .* ;
19
+ import static org .mockito .ArgumentMatchers .any ;
20
20
import static org .mockito .Mockito .*;
21
21
import static org .springframework .data .elasticsearch .client .reactive .ReactiveMockClientTestsUtils .MockWebClientProvider .Receive .*;
22
22
23
23
import reactor .test .StepVerifier ;
24
24
25
+ import java .net .URI ;
25
26
import java .util .Collections ;
26
- import java .util .Map ;
27
27
28
28
import org .elasticsearch .ElasticsearchStatusException ;
29
29
import org .elasticsearch .action .DocWriteResponse .Result ;
33
33
import org .elasticsearch .action .index .IndexRequest ;
34
34
import org .elasticsearch .action .search .SearchRequest ;
35
35
import org .elasticsearch .action .update .UpdateRequest ;
36
+ import org .elasticsearch .common .unit .TimeValue ;
36
37
import org .elasticsearch .common .xcontent .XContentType ;
38
+ import org .elasticsearch .index .VersionType ;
37
39
import org .junit .Before ;
38
40
import org .junit .Test ;
39
41
import org .reactivestreams .Publisher ;
@@ -61,6 +63,29 @@ public void setUp() {
61
63
client = new DefaultReactiveElasticsearchClient (hostProvider );
62
64
}
63
65
66
+ @ Test // DATAES-512
67
+ public void sendRequestShouldCarryOnRequestParameters () {
68
+
69
+ hostProvider .when (HOST ).receiveDeleteOk ();
70
+
71
+ DeleteRequest request = new DeleteRequest ("index" , "type" , "id" );
72
+ request .version (1000 );
73
+ request .versionType (VersionType .EXTERNAL );
74
+ request .timeout (TimeValue .timeValueMinutes (10 ));
75
+
76
+ client .delete (request ) //
77
+ .then () //
78
+ .as (StepVerifier ::create ) //
79
+ .verifyComplete ();
80
+
81
+ URI uri = hostProvider .when (HOST ).captureUri ();
82
+
83
+ assertThat (uri .getQuery ()) //
84
+ .contains ("version=1000" ) //
85
+ .contains ("version_type=external" ) //
86
+ .contains ("timeout=10m" );
87
+ }
88
+
64
89
// --> PING
65
90
66
91
@ Test
@@ -74,9 +99,8 @@ public void pingShouldHitMainEndpoint() {
74
99
.as (StepVerifier ::create ) //
75
100
.verifyComplete ();
76
101
77
- hostProvider .when (HOST ).exchange (requestBodyUriSpec -> {
78
- verify (requestBodyUriSpec ).uri (eq ("/" ), any (Map .class ));
79
- });
102
+ URI uri = hostProvider .when (HOST ).captureUri ();
103
+ assertThat (uri .getRawPath ()).isEqualTo ("/" );
80
104
}
81
105
82
106
@ Test // DATAES-488
@@ -116,9 +140,8 @@ public void infoShouldHitMainEndpoint() {
116
140
.as (StepVerifier ::create ) //
117
141
.verifyComplete ();
118
142
119
- hostProvider .when (HOST ).exchange (requestBodyUriSpec -> {
120
- verify (requestBodyUriSpec ).uri (eq ("/" ), any (Map .class ));
121
- });
143
+ URI uri = hostProvider .when (HOST ).captureUri ();
144
+ assertThat (uri .getRawPath ()).isEqualTo ("/" );
122
145
}
123
146
124
147
@ Test // DATAES-488
@@ -151,9 +174,8 @@ public void getShouldHitGetEndpoint() {
151
174
.verifyComplete ();
152
175
153
176
verify (hostProvider .client (HOST )).method (HttpMethod .GET );
154
- hostProvider .when (HOST ).exchange (requestBodyUriSpec -> {
155
- verify (requestBodyUriSpec ).uri (eq ("/twitter/_all/1" ), any (Map .class ));
156
- });
177
+ URI uri = hostProvider .when (HOST ).captureUri ();
178
+ assertThat (uri .getRawPath ()).isEqualTo ("/twitter/_all/1" );
157
179
}
158
180
159
181
@ Test // DATAES-488
@@ -204,10 +226,11 @@ public void multiGetShouldHitMGetEndpoint() {
204
226
verify (hostProvider .client (HOST )).method (HttpMethod .POST );
205
227
206
228
hostProvider .when (HOST ).exchange (requestBodyUriSpec -> {
207
-
208
- verify (requestBodyUriSpec ).uri (eq ("/_mget" ), any (Map .class ));
209
229
verify (requestBodyUriSpec ).body (any (Publisher .class ), any (Class .class ));
210
230
});
231
+
232
+ URI uri = hostProvider .when (HOST ).captureUri ();
233
+ assertThat (uri .getRawPath ()).isEqualTo ("/_mget" );
211
234
}
212
235
213
236
@ Test // DATAES-488
@@ -287,9 +310,8 @@ public void existsShouldHitGetEndpoint() {
287
310
288
311
verify (hostProvider .client (HOST )).method (HttpMethod .HEAD );
289
312
290
- hostProvider .when (HOST ).exchange (requestBodyUriSpec -> {
291
- verify (requestBodyUriSpec ).uri (eq ("/twitter/_all/1" ), any (Map .class ));
292
- });
313
+ URI uri = hostProvider .when (HOST ).captureUri ();
314
+ assertThat (uri .getRawPath ()).isEqualTo ("/twitter/_all/1" );
293
315
}
294
316
295
317
@ Test // DATAES-488
@@ -329,10 +351,11 @@ public void indexNewShouldHitCreateEndpoint() {
329
351
330
352
verify (hostProvider .client (HOST )).method (HttpMethod .PUT );
331
353
hostProvider .when (HOST ).exchange (requestBodyUriSpec -> {
332
-
333
- verify (requestBodyUriSpec ).uri (eq ("/twitter/10/_create" ), any (Map .class ));
334
354
verify (requestBodyUriSpec ).contentType (MediaType .APPLICATION_JSON );
335
355
});
356
+
357
+ URI uri = hostProvider .when (HOST ).captureUri ();
358
+ assertThat (uri .getRawPath ()).isEqualTo ("/twitter/10/_create" );
336
359
}
337
360
338
361
@ Test // DATAES-488
@@ -347,10 +370,11 @@ public void indexExistingShouldHitEndpointCorrectly() {
347
370
348
371
verify (hostProvider .client (HOST )).method (HttpMethod .PUT );
349
372
hostProvider .when (HOST ).exchange (requestBodyUriSpec -> {
350
-
351
- verify (requestBodyUriSpec ).uri (eq ("/twitter/10" ), any (Map .class ));
352
373
verify (requestBodyUriSpec ).contentType (MediaType .APPLICATION_JSON );
353
374
});
375
+
376
+ URI uri = hostProvider .when (HOST ).captureUri ();
377
+ assertThat (uri .getRawPath ()).isEqualTo ("/twitter/10" );
354
378
}
355
379
356
380
@ Test // DATAES-488
@@ -401,10 +425,11 @@ public void updateShouldHitEndpointCorrectly() {
401
425
402
426
verify (hostProvider .client (HOST )).method (HttpMethod .POST );
403
427
hostProvider .when (HOST ).exchange (requestBodyUriSpec -> {
404
-
405
- verify (requestBodyUriSpec ).uri (eq ("/twitter/doc/1/_update" ), any (Map .class ));
406
428
verify (requestBodyUriSpec ).contentType (MediaType .APPLICATION_JSON );
407
429
});
430
+
431
+ URI uri = hostProvider .when (HOST ).captureUri ();
432
+ assertThat (uri .getRawPath ()).isEqualTo ("/twitter/doc/1/_update" );
408
433
}
409
434
410
435
@ Test // DATAES-488
@@ -450,9 +475,8 @@ public void deleteShouldHitEndpointCorrectly() {
450
475
.verifyComplete ();
451
476
452
477
verify (hostProvider .client (HOST )).method (HttpMethod .DELETE );
453
- hostProvider .when (HOST ).exchange (requestBodyUriSpec -> {
454
- verify (requestBodyUriSpec ).uri (eq ("/twitter/doc/1" ), any (Map .class ));
455
- });
478
+ URI uri = hostProvider .when (HOST ).captureUri ();
479
+ assertThat (uri .getRawPath ()).isEqualTo ("/twitter/doc/1" );
456
480
}
457
481
458
482
@ Test // DATAES-488
@@ -484,9 +508,8 @@ public void searchShouldHitSearchEndpoint() {
484
508
client .search (new SearchRequest ("twitter" )).as (StepVerifier ::create ).verifyComplete ();
485
509
486
510
verify (hostProvider .client (HOST )).method (HttpMethod .POST );
487
- hostProvider .when (HOST ).exchange (requestBodyUriSpec -> {
488
- verify (requestBodyUriSpec ).uri (eq ("/twitter/_search" ), any (Map .class ));
489
- });
511
+ URI uri = hostProvider .when (HOST ).captureUri ();
512
+ assertThat (uri .getRawPath ()).isEqualTo ("/twitter/_search" );
490
513
}
491
514
492
515
@ Test // DATAES-488
0 commit comments