44
44
import java .util .HashMap ;
45
45
import java .util .List ;
46
46
import java .util .Map ;
47
+ import java .util .Set ;
48
+ import java .util .stream .Collectors ;
47
49
48
50
import static java .util .Collections .emptyMap ;
49
51
import static java .util .Collections .singletonList ;
@@ -155,32 +157,61 @@ public void testSystemIndexMatching() {
155
157
);
156
158
157
159
assertThat (
158
- SystemIndexRegistry .matchesSystemIndexPattern (".system-index1" , ".system-index2" ),
159
- equalTo (List .of (SystemIndexPlugin1 .SYSTEM_INDEX_1 , SystemIndexPlugin2 .SYSTEM_INDEX_2 ))
160
+ SystemIndexRegistry .matchesSystemIndexPattern (Set . of ( ".system-index1" , ".system-index2" ) ),
161
+ equalTo (Set .of (SystemIndexPlugin1 .SYSTEM_INDEX_1 , SystemIndexPlugin2 .SYSTEM_INDEX_2 ))
160
162
);
161
- assertThat (SystemIndexRegistry .matchesSystemIndexPattern (".system-index1" ), equalTo (List .of (SystemIndexPlugin1 .SYSTEM_INDEX_1 )));
162
- assertThat (SystemIndexRegistry .matchesSystemIndexPattern (".system-index2" ), equalTo (List .of (SystemIndexPlugin2 .SYSTEM_INDEX_2 )));
163
- assertThat (SystemIndexRegistry .matchesSystemIndexPattern (".system-index-pattern1" ), equalTo (List .of (".system-index-pattern1" )));
164
163
assertThat (
165
- SystemIndexRegistry .matchesSystemIndexPattern (".system-index-pattern-sub*" ),
166
- equalTo (List .of (".system-index-pattern-sub*" ))
164
+ SystemIndexRegistry .matchesSystemIndexPattern (Set . of ( ".system-index1" ) ),
165
+ equalTo (Set .of (SystemIndexPlugin1 . SYSTEM_INDEX_1 ))
167
166
);
168
167
assertThat (
169
- SystemIndexRegistry .matchesSystemIndexPattern (".system-index-pattern1" , " .system-index-pattern2" ),
170
- equalTo (List .of (".system-index-pattern1" , ".system-index-pattern2" ))
168
+ SystemIndexRegistry .matchesSystemIndexPattern (Set . of ( " .system-index2" ) ),
169
+ equalTo (Set .of (SystemIndexPlugin2 . SYSTEM_INDEX_2 ))
171
170
);
172
171
assertThat (
173
- SystemIndexRegistry .matchesSystemIndexPattern (".system-index1" , " .system-index-pattern1" ),
174
- equalTo (List .of (".system-index1" , ".system-index-pattern1" ))
172
+ SystemIndexRegistry .matchesSystemIndexPattern (Set . of ( " .system-index-pattern1") ),
173
+ equalTo (Set .of (".system-index-pattern1" ))
175
174
);
176
175
assertThat (
177
- SystemIndexRegistry .matchesSystemIndexPattern (".system-index1" , ".system-index-pattern1" , ".not-system" ),
178
- equalTo (List .of (".system-index1" , ".system-index-pattern1" ))
176
+ SystemIndexRegistry .matchesSystemIndexPattern (Set .of (".system-index-pattern-sub*" )),
177
+ equalTo (Set .of (".system-index-pattern-sub*" ))
178
+ );
179
+ assertThat (
180
+ SystemIndexRegistry .matchesSystemIndexPattern (Set .of (".system-index-pattern1" , ".system-index-pattern2" )),
181
+ equalTo (Set .of (".system-index-pattern1" , ".system-index-pattern2" ))
182
+ );
183
+ assertThat (
184
+ SystemIndexRegistry .matchesSystemIndexPattern (Set .of (".system-index1" , ".system-index-pattern1" )),
185
+ equalTo (Set .of (".system-index1" , ".system-index-pattern1" ))
186
+ );
187
+ assertThat (
188
+ SystemIndexRegistry .matchesSystemIndexPattern (Set .of (".system-index1" , ".system-index-pattern1" , ".not-system" )),
189
+ equalTo (Set .of (".system-index1" , ".system-index-pattern1" ))
190
+ );
191
+ assertThat (SystemIndexRegistry .matchesSystemIndexPattern (Set .of (".not-system" )), equalTo (Collections .emptySet ()));
192
+ }
193
+
194
+ public void testRegisteredSystemIndexGetAllDescriptors () {
195
+ SystemIndexPlugin plugin1 = new SystemIndexPlugin1 ();
196
+ SystemIndexPlugin plugin2 = new SystemIndexPlugin2 ();
197
+ SystemIndices pluginSystemIndices = new SystemIndices (
198
+ Map .of (
199
+ SystemIndexPlugin1 .class .getCanonicalName (),
200
+ plugin1 .getSystemIndexDescriptors (Settings .EMPTY ),
201
+ SystemIndexPlugin2 .class .getCanonicalName (),
202
+ plugin2 .getSystemIndexDescriptors (Settings .EMPTY )
203
+ )
204
+ );
205
+ assertEquals (
206
+ SystemIndexRegistry .getAllDescriptors ()
207
+ .stream ()
208
+ .map (SystemIndexDescriptor ::getIndexPattern )
209
+ .collect (Collectors .toUnmodifiableList ()),
210
+ List .of (SystemIndexPlugin1 .SYSTEM_INDEX_1 , SystemIndexPlugin2 .SYSTEM_INDEX_2 , TASK_INDEX + "*" )
179
211
);
180
- assertThat (SystemIndexRegistry .matchesSystemIndexPattern (".not-system" ), equalTo (Collections .emptyList ()));
181
212
}
182
213
183
- public void testRegisteredSystemIndexExpansion () {
214
+ public void testRegisteredSystemIndexMatching () {
184
215
SystemIndexPlugin plugin1 = new SystemIndexPlugin1 ();
185
216
SystemIndexPlugin plugin2 = new SystemIndexPlugin2 ();
186
217
SystemIndices pluginSystemIndices = new SystemIndices (
@@ -191,12 +222,43 @@ public void testRegisteredSystemIndexExpansion() {
191
222
plugin2 .getSystemIndexDescriptors (Settings .EMPTY )
192
223
)
193
224
);
194
- List <String > systemIndices = SystemIndexRegistry .matchesSystemIndexPattern (
195
- SystemIndexPlugin1 .SYSTEM_INDEX_1 ,
196
- SystemIndexPlugin2 .SYSTEM_INDEX_2
225
+ Set <String > systemIndices = SystemIndexRegistry .matchesSystemIndexPattern (
226
+ Set .of (SystemIndexPlugin1 .SYSTEM_INDEX_1 , SystemIndexPlugin2 .SYSTEM_INDEX_2 )
197
227
);
198
228
assertEquals (2 , systemIndices .size ());
199
- assertTrue (systemIndices .containsAll (List .of (SystemIndexPlugin1 .SYSTEM_INDEX_1 , SystemIndexPlugin2 .SYSTEM_INDEX_2 )));
229
+ assertTrue (systemIndices .containsAll (Set .of (SystemIndexPlugin1 .SYSTEM_INDEX_1 , SystemIndexPlugin2 .SYSTEM_INDEX_2 )));
230
+ }
231
+
232
+ public void testRegisteredSystemIndexMatchingForPlugin () {
233
+ SystemIndexPlugin plugin1 = new SystemIndexPlugin1 ();
234
+ SystemIndexPlugin plugin2 = new SystemIndexPlugin2 ();
235
+ SystemIndices pluginSystemIndices = new SystemIndices (
236
+ Map .of (
237
+ SystemIndexPlugin1 .class .getCanonicalName (),
238
+ plugin1 .getSystemIndexDescriptors (Settings .EMPTY ),
239
+ SystemIndexPlugin2 .class .getCanonicalName (),
240
+ plugin2 .getSystemIndexDescriptors (Settings .EMPTY )
241
+ )
242
+ );
243
+ Set <String > systemIndicesForPlugin1 = SystemIndexRegistry .matchesPluginSystemIndexPattern (
244
+ SystemIndexPlugin1 .class .getCanonicalName (),
245
+ Set .of (SystemIndexPlugin1 .SYSTEM_INDEX_1 , SystemIndexPlugin2 .SYSTEM_INDEX_2 , "other-index" )
246
+ );
247
+ assertEquals (1 , systemIndicesForPlugin1 .size ());
248
+ assertTrue (systemIndicesForPlugin1 .contains (SystemIndexPlugin1 .SYSTEM_INDEX_1 ));
249
+
250
+ Set <String > systemIndicesForPlugin2 = SystemIndexRegistry .matchesPluginSystemIndexPattern (
251
+ SystemIndexPlugin2 .class .getCanonicalName (),
252
+ Set .of (SystemIndexPlugin1 .SYSTEM_INDEX_1 , SystemIndexPlugin2 .SYSTEM_INDEX_2 , "other-index" )
253
+ );
254
+ assertEquals (1 , systemIndicesForPlugin2 .size ());
255
+ assertTrue (systemIndicesForPlugin2 .contains (SystemIndexPlugin2 .SYSTEM_INDEX_2 ));
256
+
257
+ Set <String > noMatchingSystemIndices = SystemIndexRegistry .matchesPluginSystemIndexPattern (
258
+ SystemIndexPlugin2 .class .getCanonicalName (),
259
+ Set .of ("other-index" )
260
+ );
261
+ assertEquals (0 , noMatchingSystemIndices .size ());
200
262
}
201
263
202
264
static final class SystemIndexPlugin1 extends Plugin implements SystemIndexPlugin {
0 commit comments