7
7
*/
8
8
package org .elasticsearch .cluster .remote .test ;
9
9
10
- import org .elasticsearch .action .index .IndexRequest ;
11
- import org .elasticsearch .action .search .SearchRequest ;
12
- import org .elasticsearch .action .support .WriteRequest ;
13
- import org .elasticsearch .client .RequestOptions ;
10
+ import org .elasticsearch .client .Request ;
14
11
import org .elasticsearch .client .RestClient ;
15
12
import org .elasticsearch .common .settings .Settings ;
16
- import org .elasticsearch .xcontent . XContentFactory ;
13
+ import org .elasticsearch .test . rest . ObjectPath ;
17
14
import org .junit .After ;
18
15
import org .junit .Before ;
19
16
@@ -28,44 +25,53 @@ public class RemoteClustersIT extends AbstractMultiClusterRemoteTestCase {
28
25
29
26
@ Before
30
27
public void setupIndices () throws IOException {
31
- RestClient cluster1Client = cluster1Client ().getLowLevelClient ();
32
- assertTrue (createIndex (cluster1Client , "test1" , Settings .builder ().put ("index.number_of_replicas" , 0 ).build ()).isAcknowledged ());
33
- cluster1Client ().index (
34
- new IndexRequest ("test1" ).id ("id1" )
35
- .setRefreshPolicy (WriteRequest .RefreshPolicy .IMMEDIATE )
36
- .source (XContentFactory .jsonBuilder ().startObject ().field ("foo" , "bar" ).endObject ()),
37
- RequestOptions .DEFAULT
38
- );
39
-
40
- RestClient cluster2Client = cluster2Client ().getLowLevelClient ();
41
- assertTrue (createIndex (cluster2Client , "test2" , Settings .builder ().put ("index.number_of_replicas" , 0 ).build ()).isAcknowledged ());
42
- cluster2Client ().index (
43
- new IndexRequest ("test2" ).id ("id1" ).source (XContentFactory .jsonBuilder ().startObject ().field ("foo" , "bar" ).endObject ()),
44
- RequestOptions .DEFAULT
45
- );
46
- cluster2Client ().index (
47
- new IndexRequest ("test2" ).id ("id2" )
48
- .setRefreshPolicy (WriteRequest .RefreshPolicy .IMMEDIATE )
49
- .source (XContentFactory .jsonBuilder ().startObject ().field ("foo" , "bar" ).endObject ()),
50
- RequestOptions .DEFAULT
51
- );
52
- assertEquals (1L , cluster1Client ().search (new SearchRequest ("test1" ), RequestOptions .DEFAULT ).getHits ().getTotalHits ().value );
53
- assertEquals (2L , cluster2Client ().search (new SearchRequest ("test2" ), RequestOptions .DEFAULT ).getHits ().getTotalHits ().value );
28
+ assertTrue (createIndex (cluster1Client (), "test1" , Settings .builder ().put ("index.number_of_replicas" , 0 ).build ()).isAcknowledged ());
29
+ {
30
+ Request createDoc = new Request ("POST" , "/test1/_doc/id1?refresh=true" );
31
+ createDoc .setJsonEntity ("""
32
+ { "foo": "bar" }
33
+ """ );
34
+ assertOK (cluster1Client ().performRequest (createDoc ));
35
+ }
36
+ {
37
+ Request searchRequest = new Request ("POST" , "/test1/_search" );
38
+ ObjectPath doc = ObjectPath .createFromResponse (cluster1Client ().performRequest (searchRequest ));
39
+ assertEquals (1 , (int ) doc .evaluate ("hits.total.value" ));
40
+ }
41
+
42
+ assertTrue (createIndex (cluster2Client (), "test2" , Settings .builder ().put ("index.number_of_replicas" , 0 ).build ()).isAcknowledged ());
43
+ {
44
+ Request createDoc = new Request ("POST" , "/test2/_doc/id1?refresh=true" );
45
+ createDoc .setJsonEntity ("""
46
+ { "foo": "bar" }
47
+ """ );
48
+ assertOK (cluster2Client ().performRequest (createDoc ));
49
+ }
50
+ {
51
+ Request createDoc = new Request ("POST" , "/test2/_doc/id2?refresh=true" );
52
+ createDoc .setJsonEntity ("""
53
+ { "foo": "bar" }
54
+ """ );
55
+ assertOK (cluster2Client ().performRequest (createDoc ));
56
+ }
57
+ {
58
+ Request searchRequest = new Request ("POST" , "/test2/_search" );
59
+ ObjectPath doc = ObjectPath .createFromResponse (cluster2Client ().performRequest (searchRequest ));
60
+ assertEquals (2 , (int ) doc .evaluate ("hits.total.value" ));
61
+ }
54
62
}
55
63
56
64
@ After
57
65
public void clearIndices () throws IOException {
58
- RestClient cluster1Client = cluster1Client ().getLowLevelClient ();
59
- assertTrue (deleteIndex (cluster1Client , "*" ).isAcknowledged ());
60
- RestClient cluster2Client = cluster2Client ().getLowLevelClient ();
61
- assertTrue (deleteIndex (cluster2Client , "*" ).isAcknowledged ());
66
+ assertTrue (deleteIndex (cluster1Client (), "*" ).isAcknowledged ());
67
+ assertTrue (deleteIndex (cluster2Client (), "*" ).isAcknowledged ());
62
68
}
63
69
64
70
@ After
65
71
public void clearRemoteClusterSettings () throws IOException {
66
72
Settings setting = Settings .builder ().putNull ("cluster.remote.*" ).build ();
67
- updateClusterSettings (cluster1Client (). getLowLevelClient () , setting );
68
- updateClusterSettings (cluster2Client (). getLowLevelClient () , setting );
73
+ updateClusterSettings (cluster1Client (), setting );
74
+ updateClusterSettings (cluster2Client (), setting );
69
75
}
70
76
71
77
public void testProxyModeConnectionWorks () throws IOException {
@@ -76,14 +82,15 @@ public void testProxyModeConnectionWorks() throws IOException {
76
82
.put ("cluster.remote.cluster2.proxy_address" , cluster2RemoteClusterSeed )
77
83
.build ();
78
84
79
- updateClusterSettings (cluster1Client (). getLowLevelClient () , settings );
85
+ updateClusterSettings (cluster1Client (), settings );
80
86
81
- assertTrue (isConnected (cluster1Client (). getLowLevelClient () ));
87
+ assertTrue (isConnected (cluster1Client ()));
82
88
83
- assertEquals (
84
- 2L ,
85
- cluster1Client ().search (new SearchRequest ("cluster2:test2" ), RequestOptions .DEFAULT ).getHits ().getTotalHits ().value
86
- );
89
+ {
90
+ Request searchRequest = new Request ("POST" , "/cluster2:test2/_search" );
91
+ ObjectPath doc = ObjectPath .createFromResponse (cluster1Client ().performRequest (searchRequest ));
92
+ assertEquals (2 , (int ) doc .evaluate ("hits.total.value" ));
93
+ }
87
94
}
88
95
89
96
public void testSniffModeConnectionFails () throws IOException {
@@ -93,9 +100,9 @@ public void testSniffModeConnectionFails() throws IOException {
93
100
.put ("cluster.remote.cluster2alt.mode" , "sniff" )
94
101
.put ("cluster.remote.cluster2alt.seeds" , cluster2RemoteClusterSeed )
95
102
.build ();
96
- updateClusterSettings (cluster1Client (). getLowLevelClient () , settings );
103
+ updateClusterSettings (cluster1Client (), settings );
97
104
98
- assertFalse (isConnected (cluster1Client (). getLowLevelClient () ));
105
+ assertFalse (isConnected (cluster1Client ()));
99
106
}
100
107
101
108
public void testHAProxyModeConnectionWorks () throws IOException {
@@ -105,14 +112,15 @@ public void testHAProxyModeConnectionWorks() throws IOException {
105
112
.put ("cluster.remote.haproxynosn.mode" , "proxy" )
106
113
.put ("cluster.remote.haproxynosn.proxy_address" , proxyAddress )
107
114
.build ();
108
- updateClusterSettings (cluster1Client (). getLowLevelClient () , settings );
115
+ updateClusterSettings (cluster1Client (), settings );
109
116
110
- assertTrue (isConnected (cluster1Client (). getLowLevelClient () ));
117
+ assertTrue (isConnected (cluster1Client ()));
111
118
112
- assertEquals (
113
- 2L ,
114
- cluster1Client ().search (new SearchRequest ("haproxynosn:test2" ), RequestOptions .DEFAULT ).getHits ().getTotalHits ().value
115
- );
119
+ {
120
+ Request searchRequest = new Request ("POST" , "/haproxynosn:test2/_search" );
121
+ ObjectPath doc = ObjectPath .createFromResponse (cluster1Client ().performRequest (searchRequest ));
122
+ assertEquals (2 , (int ) doc .evaluate ("hits.total.value" ));
123
+ }
116
124
}
117
125
118
126
public void testHAProxyModeConnectionWithSNIToCluster1Works () throws IOException {
@@ -123,14 +131,15 @@ public void testHAProxyModeConnectionWithSNIToCluster1Works() throws IOException
123
131
.put ("cluster.remote.haproxysni1.proxy_address" , "haproxy:9600" )
124
132
.put ("cluster.remote.haproxysni1.server_name" , "application1.example.com" )
125
133
.build ();
126
- updateClusterSettings (cluster2Client (). getLowLevelClient () , settings );
134
+ updateClusterSettings (cluster2Client (), settings );
127
135
128
- assertTrue (isConnected (cluster2Client (). getLowLevelClient () ));
136
+ assertTrue (isConnected (cluster2Client ()));
129
137
130
- assertEquals (
131
- 1L ,
132
- cluster2Client ().search (new SearchRequest ("haproxysni1:test1" ), RequestOptions .DEFAULT ).getHits ().getTotalHits ().value
133
- );
138
+ {
139
+ Request searchRequest = new Request ("POST" , "/haproxysni1:test1/_search" );
140
+ ObjectPath doc = ObjectPath .createFromResponse (cluster2Client ().performRequest (searchRequest ));
141
+ assertEquals (1 , (int ) doc .evaluate ("hits.total.value" ));
142
+ }
134
143
}
135
144
136
145
public void testHAProxyModeConnectionWithSNIToCluster2Works () throws IOException {
@@ -141,14 +150,15 @@ public void testHAProxyModeConnectionWithSNIToCluster2Works() throws IOException
141
150
.put ("cluster.remote.haproxysni2.proxy_address" , "haproxy:9600" )
142
151
.put ("cluster.remote.haproxysni2.server_name" , "application2.example.com" )
143
152
.build ();
144
- updateClusterSettings (cluster1Client (). getLowLevelClient () , settings );
153
+ updateClusterSettings (cluster1Client (), settings );
145
154
146
- assertTrue (isConnected (cluster1Client (). getLowLevelClient () ));
155
+ assertTrue (isConnected (cluster1Client ()));
147
156
148
- assertEquals (
149
- 2L ,
150
- cluster1Client ().search (new SearchRequest ("haproxysni2:test2" ), RequestOptions .DEFAULT ).getHits ().getTotalHits ().value
151
- );
157
+ {
158
+ Request searchRequest = new Request ("POST" , "/haproxysni2:test2/_search" );
159
+ ObjectPath doc = ObjectPath .createFromResponse (cluster1Client ().performRequest (searchRequest ));
160
+ assertEquals (2 , (int ) doc .evaluate ("hits.total.value" ));
161
+ }
152
162
}
153
163
154
164
@ SuppressWarnings ("unchecked" )
0 commit comments