@@ -126,7 +126,13 @@ public void testRolloverAliasActions() {
126
126
String sourceIndex = randomAlphaOfLength (10 );
127
127
String targetIndex = randomAlphaOfLength (10 );
128
128
129
- List <AliasAction > actions = MetadataRolloverService .rolloverAliasToNewIndex (sourceIndex , targetIndex , false , null , sourceAlias );
129
+ List <AliasAction > actions = MetadataRolloverService .rolloverAliasToNewIndex (
130
+ sourceIndex ,
131
+ targetIndex ,
132
+ false ,
133
+ createDefaultAliasMetadata (sourceAlias , null ),
134
+ sourceAlias
135
+ );
130
136
assertThat (actions , hasSize (2 ));
131
137
boolean foundAdd = false ;
132
138
boolean foundRemove = false ;
@@ -149,7 +155,13 @@ public void testRolloverAliasActionsWithExplicitWriteIndex() {
149
155
String sourceAlias = randomAlphaOfLength (10 );
150
156
String sourceIndex = randomAlphaOfLength (10 );
151
157
String targetIndex = randomAlphaOfLength (10 );
152
- List <AliasAction > actions = MetadataRolloverService .rolloverAliasToNewIndex (sourceIndex , targetIndex , true , null , sourceAlias );
158
+ List <AliasAction > actions = MetadataRolloverService .rolloverAliasToNewIndex (
159
+ sourceIndex ,
160
+ targetIndex ,
161
+ true ,
162
+ createDefaultAliasMetadata (sourceAlias , null ),
163
+ sourceAlias
164
+ );
153
165
154
166
assertThat (actions , hasSize (2 ));
155
167
boolean foundAddWrite = false ;
@@ -172,11 +184,64 @@ public void testRolloverAliasActionsWithExplicitWriteIndex() {
172
184
assertTrue (foundRemoveWrite );
173
185
}
174
186
187
+ public void testRolloverAliasActionsWithFilterAndExplicitWriteIndex () {
188
+ String sourceAlias = randomAlphaOfLength (10 );
189
+ String sourceIndex = randomAlphaOfLength (10 );
190
+ String targetIndex = randomAlphaOfLength (10 );
191
+ String indexRouting = randomAlphaOfLength (10 );
192
+ String sourceRouting = randomAlphaOfLength (10 );
193
+ AliasMetadata aliasMetadata = createAliasMetadata (
194
+ sourceAlias ,
195
+ Collections .singletonMap (randomAlphaOfLength (2 ), randomAlphaOfLength (2 )),
196
+ indexRouting ,
197
+ sourceRouting ,
198
+ true
199
+ );
200
+
201
+ List <AliasAction > actions = MetadataRolloverService .rolloverAliasToNewIndex (
202
+ sourceIndex ,
203
+ targetIndex ,
204
+ true ,
205
+ aliasMetadata ,
206
+ sourceAlias
207
+ );
208
+
209
+ assertThat (actions , hasSize (2 ));
210
+ boolean foundAddWrite = false ;
211
+ boolean foundRemoveWrite = false ;
212
+ for (AliasAction action : actions ) {
213
+ AliasAction .Add addAction = (AliasAction .Add ) action ;
214
+ if (action .getIndex ().equals (targetIndex )) {
215
+ assertEquals (sourceAlias , addAction .getAlias ());
216
+ assertEquals (aliasMetadata .filter ().string (), addAction .getFilter ());
217
+ assertEquals (indexRouting , addAction .getIndexRouting ());
218
+ assertEquals (sourceRouting , addAction .getSearchRouting ());
219
+
220
+ assertTrue (addAction .writeIndex ());
221
+ foundAddWrite = true ;
222
+ } else if (action .getIndex ().equals (sourceIndex )) {
223
+ assertEquals (sourceAlias , addAction .getAlias ());
224
+ assertFalse (addAction .writeIndex ());
225
+ foundRemoveWrite = true ;
226
+ } else {
227
+ throw new AssertionError ("Unknown index [" + action .getIndex () + "]" );
228
+ }
229
+ }
230
+ assertTrue (foundAddWrite );
231
+ assertTrue (foundRemoveWrite );
232
+ }
233
+
175
234
public void testRolloverAliasActionsWithHiddenAliasAndExplicitWriteIndex () {
176
235
String sourceAlias = randomAlphaOfLength (10 );
177
236
String sourceIndex = randomAlphaOfLength (10 );
178
237
String targetIndex = randomAlphaOfLength (10 );
179
- List <AliasAction > actions = MetadataRolloverService .rolloverAliasToNewIndex (sourceIndex , targetIndex , true , true , sourceAlias );
238
+ List <AliasAction > actions = MetadataRolloverService .rolloverAliasToNewIndex (
239
+ sourceIndex ,
240
+ targetIndex ,
241
+ true ,
242
+ createDefaultAliasMetadata (sourceAlias , true ),
243
+ sourceAlias
244
+ );
180
245
181
246
assertThat (actions , hasSize (2 ));
182
247
boolean foundAddWrite = false ;
@@ -202,11 +267,66 @@ public void testRolloverAliasActionsWithHiddenAliasAndExplicitWriteIndex() {
202
267
assertTrue (foundRemoveWrite );
203
268
}
204
269
270
+ public void testRolloverAliasActionsWithFilterAndHiddenAliasAndImplicitWriteIndex () {
271
+ String sourceAlias = randomAlphaOfLength (10 );
272
+ String sourceIndex = randomAlphaOfLength (10 );
273
+ String targetIndex = randomAlphaOfLength (10 );
274
+ String indexRouting = randomAlphaOfLength (10 );
275
+ String sourceRouting = randomAlphaOfLength (10 );
276
+ AliasMetadata aliasMetadata = createAliasMetadata (
277
+ sourceAlias ,
278
+ Collections .singletonMap (randomAlphaOfLength (2 ), randomAlphaOfLength (2 )),
279
+ indexRouting ,
280
+ sourceRouting ,
281
+ true
282
+ );
283
+
284
+ List <AliasAction > actions = MetadataRolloverService .rolloverAliasToNewIndex (
285
+ sourceIndex ,
286
+ targetIndex ,
287
+ false ,
288
+ aliasMetadata ,
289
+ sourceAlias
290
+ );
291
+
292
+ assertThat (actions , hasSize (2 ));
293
+ boolean foundAddWrite = false ;
294
+ boolean foundRemoveWrite = false ;
295
+ for (AliasAction action : actions ) {
296
+ if (action .getIndex ().equals (targetIndex )) {
297
+ assertThat (action , instanceOf (AliasAction .Add .class ));
298
+ AliasAction .Add addAction = (AliasAction .Add ) action ;
299
+ assertEquals (sourceAlias , addAction .getAlias ());
300
+ assertThat (addAction .writeIndex (), nullValue ());
301
+ assertTrue (addAction .isHidden ());
302
+ assertEquals (aliasMetadata .filter ().string (), addAction .getFilter ());
303
+ assertEquals (indexRouting , addAction .getIndexRouting ());
304
+ assertEquals (sourceRouting , addAction .getSearchRouting ());
305
+ foundAddWrite = true ;
306
+ } else if (action .getIndex ().equals (sourceIndex )) {
307
+ assertThat (action , instanceOf (AliasAction .Remove .class ));
308
+ AliasAction .Remove removeAction = (AliasAction .Remove ) action ;
309
+ assertEquals (sourceAlias , removeAction .getAlias ());
310
+ foundRemoveWrite = true ;
311
+ } else {
312
+ throw new AssertionError ("Unknown index [" + action .getIndex () + "]" );
313
+ }
314
+ }
315
+ assertTrue (foundAddWrite );
316
+ assertTrue (foundRemoveWrite );
317
+ }
318
+
205
319
public void testRolloverAliasActionsWithHiddenAliasAndImplicitWriteIndex () {
206
320
String sourceAlias = randomAlphaOfLength (10 );
207
321
String sourceIndex = randomAlphaOfLength (10 );
208
322
String targetIndex = randomAlphaOfLength (10 );
209
- List <AliasAction > actions = MetadataRolloverService .rolloverAliasToNewIndex (sourceIndex , targetIndex , false , true , sourceAlias );
323
+ List <AliasAction > actions = MetadataRolloverService .rolloverAliasToNewIndex (
324
+ sourceIndex ,
325
+ targetIndex ,
326
+ false ,
327
+ createDefaultAliasMetadata (sourceAlias , true ),
328
+ sourceAlias
329
+ );
210
330
211
331
assertThat (actions , hasSize (2 ));
212
332
boolean foundAddWrite = false ;
@@ -1010,4 +1130,23 @@ private static IndexMetadata createMetadata(String indexName) {
1010
1130
.settings (settings )
1011
1131
.build ();
1012
1132
}
1133
+
1134
+ private static AliasMetadata createDefaultAliasMetadata (String alias , Boolean isHidden ) {
1135
+ return AliasMetadata .builder (alias ).isHidden (isHidden ).build ();
1136
+ }
1137
+
1138
+ private static AliasMetadata createAliasMetadata (
1139
+ String alias ,
1140
+ Map filter ,
1141
+ String indexRouting ,
1142
+ String searchRouting ,
1143
+ Boolean isHidden
1144
+ ) {
1145
+ return AliasMetadata .builder (alias )
1146
+ .isHidden (isHidden )
1147
+ .filter (filter )
1148
+ .indexRouting (indexRouting )
1149
+ .searchRouting (searchRouting )
1150
+ .build ();
1151
+ }
1013
1152
}
0 commit comments