24
24
import org .elasticsearch .action .index .IndexRequest ;
25
25
import org .elasticsearch .client .RequestOptions ;
26
26
import org .elasticsearch .client .RestClient ;
27
+ import org .elasticsearch .client .RestClientBuilder ;
27
28
import org .elasticsearch .client .RestHighLevelClient ;
28
29
import org .junit .Test ;
29
30
@@ -49,8 +50,11 @@ public class RestClientAutoConfigurationTests {
49
50
50
51
@ Test
51
52
public void configureShouldCreateBothRestClientVariants () {
52
- this .contextRunner .run ((context ) -> assertThat (context ).hasSingleBean (RestClient .class )
53
- .hasSingleBean (RestHighLevelClient .class ));
53
+ this .contextRunner .run ((context ) -> {
54
+ assertThat (context ).hasSingleBean (RestClient .class ).hasSingleBean (RestHighLevelClient .class );
55
+ RestHighLevelClient restHighLevelClient = context .getBean (RestHighLevelClient .class );
56
+ assertThat (restHighLevelClient .getLowLevelClient ()).isNotSameAs (context .getBean (RestClient .class ));
57
+ });
54
58
}
55
59
56
60
@ Test
@@ -59,6 +63,27 @@ public void configureWhenCustomClientShouldBackOff() {
59
63
.run ((context ) -> assertThat (context ).hasSingleBean (RestClient .class ).hasBean ("customRestClient" ));
60
64
}
61
65
66
+ @ Test
67
+ public void configureWhenCustomRestHighLevelClientShouldBackOff () {
68
+ this .contextRunner .withUserConfiguration (CustomRestHighLevelClientConfiguration .class ).run ((context ) -> {
69
+ assertThat (context ).hasSingleBean (RestClient .class ).hasSingleBean (RestHighLevelClient .class );
70
+ RestHighLevelClient restHighLevelClient = context .getBean (RestHighLevelClient .class );
71
+ assertThat (restHighLevelClient .getLowLevelClient ()).isSameAs (context .getBean (RestClient .class ));
72
+ });
73
+ }
74
+
75
+ @ Test
76
+ public void configureWhenDefaultRestClientShouldCreateWhenNoUniqueRestHighLevelClient () {
77
+ this .contextRunner .withUserConfiguration (TwoCustomRestHighLevelClientConfiguration .class ).run ((context ) -> {
78
+ assertThat (context ).hasSingleBean (RestClient .class );
79
+ Map <String , RestHighLevelClient > restHighLevelClients = context .getBeansOfType (RestHighLevelClient .class );
80
+ assertThat (restHighLevelClients ).isNotEmpty ();
81
+ for (RestHighLevelClient restHighLevelClient : restHighLevelClients .values ()) {
82
+ assertThat (restHighLevelClient .getLowLevelClient ()).isNotSameAs (context .getBean (RestClient .class ));
83
+ }
84
+ });
85
+ }
86
+
62
87
@ Test
63
88
public void configureWhenBuilderCustomizerShouldApply () {
64
89
this .contextRunner .withUserConfiguration (BuilderCustomizerConfiguration .class ).run ((context ) -> {
@@ -106,4 +131,29 @@ public RestClientBuilderCustomizer myCustomizer() {
106
131
107
132
}
108
133
134
+ @ Configuration
135
+ static class CustomRestHighLevelClientConfiguration {
136
+
137
+ @ Bean
138
+ RestHighLevelClient customRestHighLevelClient (RestClientBuilder builder ) {
139
+ return new RestHighLevelClient (builder );
140
+ }
141
+
142
+ }
143
+
144
+ @ Configuration
145
+ static class TwoCustomRestHighLevelClientConfiguration {
146
+
147
+ @ Bean
148
+ RestHighLevelClient customRestHighLevelClient (RestClientBuilder builder ) {
149
+ return new RestHighLevelClient (builder );
150
+ }
151
+
152
+ @ Bean
153
+ RestHighLevelClient customRestHighLevelClient1 (RestClientBuilder builder ) {
154
+ return new RestHighLevelClient (builder );
155
+ }
156
+
157
+ }
158
+
109
159
}
0 commit comments