Skip to content

Commit 92df4ab

Browse files
committed
moar tests
1 parent 2a65b5c commit 92df4ab

File tree

2 files changed

+108
-0
lines changed

2 files changed

+108
-0
lines changed

server/src/main/java/org/elasticsearch/action/admin/indices/resolve/ResolveIndexAction.java

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -294,6 +294,19 @@ public int hashCode() {
294294
result = 31 * result + Arrays.hashCode(attributes);
295295
return result;
296296
}
297+
298+
@Override
299+
public String toString() {
300+
return String.format(
301+
Locale.ROOT,
302+
"ResolvedIndex{name=%s, aliases=%s, attributes=%s, dataStream=%s, mode=%s}",
303+
getName(),
304+
Arrays.toString(aliases),
305+
Arrays.toString(attributes),
306+
dataStream,
307+
mode
308+
);
309+
}
297310
}
298311

299312
public static class ResolvedAlias extends ResolvedIndexAbstraction implements Writeable, ToXContentObject {
@@ -351,6 +364,11 @@ public int hashCode() {
351364
result = 31 * result + Arrays.hashCode(indices);
352365
return result;
353366
}
367+
368+
@Override
369+
public String toString() {
370+
return String.format(Locale.ROOT, "ResolvedAlias{name=%s, indices=%s}", getName(), Arrays.toString(indices));
371+
}
354372
}
355373

356374
public static class ResolvedDataStream extends ResolvedIndexAbstraction implements Writeable, ToXContentObject {
@@ -418,6 +436,17 @@ public int hashCode() {
418436
result = 31 * result + Arrays.hashCode(backingIndices);
419437
return result;
420438
}
439+
440+
@Override
441+
public String toString() {
442+
return String.format(
443+
Locale.ROOT,
444+
"ResolvedDataStream{name=%s, backingIndices=%s, timestampField=%s}",
445+
getName(),
446+
Arrays.toString(backingIndices),
447+
timestampField
448+
);
449+
}
421450
}
422451

423452
public static class Response extends ActionResponse implements ToXContentObject {

server/src/test/java/org/elasticsearch/action/admin/indices/resolve/ResolveIndexTests.java

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
import java.time.Instant;
4747
import java.util.ArrayList;
4848
import java.util.Arrays;
49+
import java.util.EnumSet;
4950
import java.util.HashMap;
5051
import java.util.HashSet;
5152
import java.util.List;
@@ -170,6 +171,84 @@ public void testResolveStarWithAllOptions() {
170171
validateDataStreams(dataStreams, "logs-mysql-prod", "logs-mysql-test");
171172
}
172173

174+
public void testResolveModesFilter() {
175+
String[] names = randomFrom(new String[] { "*" }, new String[] { "_all" });
176+
List<ResolvedIndex> indices = new ArrayList<>();
177+
List<ResolvedAlias> aliases = new ArrayList<>();
178+
List<ResolvedDataStream> dataStreams = new ArrayList<>();
179+
180+
// One type
181+
TransportAction.resolveIndices(
182+
names,
183+
IndicesOptions.STRICT_EXPAND_OPEN_CLOSED_HIDDEN,
184+
projectState,
185+
resolver,
186+
indices,
187+
aliases,
188+
dataStreams,
189+
EnumSet.of(IndexMode.TIME_SERIES)
190+
);
191+
validateIndices(indices, "logs-pgsql-prod-20200102");
192+
assertThat(aliases.size(), equalTo(2));
193+
var alias1 = aliases.get(0);
194+
assertThat(alias1.getName(), equalTo("logs-pgsql-prod"));
195+
assertThat(alias1.getIndices(), arrayContaining("logs-pgsql-prod-20200102"));
196+
var alias2 = aliases.get(1);
197+
assertThat(alias2.getName(), equalTo("one-off-alias"));
198+
assertThat(alias2.getIndices(), arrayContaining("logs-pgsql-prod-20200102"));
199+
assertThat(dataStreams.size(), equalTo(0));
200+
201+
indices = new ArrayList<>();
202+
aliases = new ArrayList<>();
203+
dataStreams = new ArrayList<>();
204+
// Everything
205+
TransportAction.resolveIndices(
206+
names,
207+
IndicesOptions.STRICT_EXPAND_OPEN_CLOSED_HIDDEN,
208+
projectState,
209+
resolver,
210+
indices,
211+
aliases,
212+
dataStreams,
213+
EnumSet.of(IndexMode.TIME_SERIES, IndexMode.STANDARD)
214+
);
215+
validateIndices(
216+
indices,
217+
".ds-logs-mysql-prod-" + dateString + "-000001",
218+
".ds-logs-mysql-prod-" + dateString + "-000002",
219+
".ds-logs-mysql-prod-" + dateString + "-000003",
220+
".ds-logs-mysql-prod-" + dateString + "-000004",
221+
".ds-logs-mysql-test-" + dateString + "-000001",
222+
".ds-logs-mysql-test-" + dateString + "-000002",
223+
".test-system-index",
224+
"logs-pgsql-prod-20200101",
225+
"logs-pgsql-prod-20200102",
226+
"logs-pgsql-prod-20200103",
227+
"logs-pgsql-test-20200101",
228+
"logs-pgsql-test-20200102",
229+
"logs-pgsql-test-20200103"
230+
);
231+
validateAliases(aliases, "logs-pgsql-prod", "logs-pgsql-test", "one-off-alias");
232+
validateDataStreams(dataStreams, "logs-mysql-prod", "logs-mysql-test");
233+
// Not matched
234+
indices = new ArrayList<>();
235+
aliases = new ArrayList<>();
236+
dataStreams = new ArrayList<>();
237+
TransportAction.resolveIndices(
238+
names,
239+
IndicesOptions.STRICT_EXPAND_OPEN_CLOSED_HIDDEN,
240+
projectState,
241+
resolver,
242+
indices,
243+
aliases,
244+
dataStreams,
245+
EnumSet.of(IndexMode.LOOKUP)
246+
);
247+
assertThat(indices.size(), equalTo(0));
248+
assertThat(aliases.size(), equalTo(0));
249+
assertThat(dataStreams.size(), equalTo(0));
250+
}
251+
173252
public void testResolveWithPattern() {
174253
String[] names = new String[] { "logs-pgsql*" };
175254
IndicesOptions indicesOptions = Request.DEFAULT_INDICES_OPTIONS;

0 commit comments

Comments
 (0)