|
|
@@ -16,6 +16,7 @@ import org.elasticsearch.cluster.metadata.IndexNameExpressionResolver.Context;
|
|
|
import org.elasticsearch.cluster.metadata.IndexNameExpressionResolver.DateMathExpressionResolver;
|
|
|
import org.elasticsearch.indices.SystemIndices.SystemIndexAccessLevel;
|
|
|
import org.elasticsearch.test.ESTestCase;
|
|
|
+import org.hamcrest.Matchers;
|
|
|
|
|
|
import java.time.Instant;
|
|
|
import java.time.ZoneId;
|
|
|
@@ -70,6 +71,27 @@ public class DateMathExpressionResolverTests extends ESTestCase {
|
|
|
assertThat(result.get(2), equalTo("logstash-" + formatDate("uuuu.MM.dd", dateFromMillis(context.getStartTime()))));
|
|
|
}
|
|
|
|
|
|
+ public void testExpressionWithWildcardAndExclusions() {
|
|
|
+ List<String> indexExpressions = Arrays.asList(
|
|
|
+ "<-before-inner-{now}>",
|
|
|
+ "-<before-outer-{now}>",
|
|
|
+ "<wild*card-{now}*>",
|
|
|
+ "<-after-inner-{now}>",
|
|
|
+ "-<after-outer-{now}>"
|
|
|
+ );
|
|
|
+ List<String> result = DateMathExpressionResolver.resolve(context, indexExpressions);
|
|
|
+ assertThat(
|
|
|
+ result,
|
|
|
+ Matchers.contains(
|
|
|
+ equalTo("-before-inner-" + formatDate("uuuu.MM.dd", dateFromMillis(context.getStartTime()))),
|
|
|
+ equalTo("-<before-outer-{now}>"), // doesn't evaluate because it doesn't start with "<" and it is not an exclusion
|
|
|
+ equalTo("wild*card-" + formatDate("uuuu.MM.dd", dateFromMillis(context.getStartTime())) + "*"),
|
|
|
+ equalTo("-after-inner-" + formatDate("uuuu.MM.dd", dateFromMillis(context.getStartTime()))),
|
|
|
+ equalTo("-after-outer-" + formatDate("uuuu.MM.dd", dateFromMillis(context.getStartTime())))
|
|
|
+ )
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
public void testEmpty() throws Exception {
|
|
|
List<String> result = DateMathExpressionResolver.resolve(context, Collections.<String>emptyList());
|
|
|
assertThat(result.size(), equalTo(0));
|