|
@@ -25,49 +25,58 @@ public class ExpandedIdsMatcherTests extends ESTestCase {
|
|
|
requiredMatches.filterMatchedIds(Collections.singletonList("foo"));
|
|
|
assertFalse(requiredMatches.hasUnmatchedIds());
|
|
|
assertThat(requiredMatches.unmatchedIds(), empty());
|
|
|
+ assertFalse(requiredMatches.isOnlyExact());
|
|
|
|
|
|
requiredMatches = new ExpandedIdsMatcher(ExpandedIdsMatcher.tokenizeExpression(""), false);
|
|
|
assertThat(requiredMatches.unmatchedIds(), hasSize(1));
|
|
|
requiredMatches.filterMatchedIds(Collections.singletonList("foo"));
|
|
|
assertThat(requiredMatches.unmatchedIds(), empty());
|
|
|
+ assertFalse(requiredMatches.isOnlyExact());
|
|
|
|
|
|
requiredMatches = new ExpandedIdsMatcher(ExpandedIdsMatcher.tokenizeExpression(null), false);
|
|
|
assertThat(requiredMatches.unmatchedIds(), hasSize(1));
|
|
|
requiredMatches.filterMatchedIds(Collections.singletonList("foo"));
|
|
|
assertThat(requiredMatches.unmatchedIds(), empty());
|
|
|
+ assertFalse(requiredMatches.isOnlyExact());
|
|
|
|
|
|
requiredMatches = new ExpandedIdsMatcher(ExpandedIdsMatcher.tokenizeExpression(null), false);
|
|
|
assertThat(requiredMatches.unmatchedIds(), hasSize(1));
|
|
|
requiredMatches.filterMatchedIds(Collections.emptyList());
|
|
|
assertThat(requiredMatches.unmatchedIds(), hasSize(1));
|
|
|
assertThat(requiredMatches.unmatchedIds().get(0), equalTo("*"));
|
|
|
+ assertFalse(requiredMatches.isOnlyExact());
|
|
|
|
|
|
requiredMatches = new ExpandedIdsMatcher(ExpandedIdsMatcher.tokenizeExpression("_all"), false);
|
|
|
assertThat(requiredMatches.unmatchedIds(), hasSize(1));
|
|
|
requiredMatches.filterMatchedIds(Collections.singletonList("foo"));
|
|
|
assertThat(requiredMatches.unmatchedIds(), empty());
|
|
|
+ assertFalse(requiredMatches.isOnlyExact());
|
|
|
|
|
|
requiredMatches = new ExpandedIdsMatcher(new String[] {"foo*"}, false);
|
|
|
assertThat(requiredMatches.unmatchedIds(), hasSize(1));
|
|
|
requiredMatches.filterMatchedIds(Arrays.asList("foo1","foo2"));
|
|
|
assertThat(requiredMatches.unmatchedIds(), empty());
|
|
|
+ assertFalse(requiredMatches.isOnlyExact());
|
|
|
|
|
|
requiredMatches = new ExpandedIdsMatcher(new String[] {"foo*","bar"}, false);
|
|
|
assertThat(requiredMatches.unmatchedIds(), hasSize(2));
|
|
|
requiredMatches.filterMatchedIds(Arrays.asList("foo1","foo2"));
|
|
|
assertThat(requiredMatches.unmatchedIds(), hasSize(1));
|
|
|
assertEquals("bar", requiredMatches.unmatchedIds().get(0));
|
|
|
+ assertFalse(requiredMatches.isOnlyExact());
|
|
|
|
|
|
requiredMatches = new ExpandedIdsMatcher(new String[] {"foo*","bar"}, false);
|
|
|
assertThat(requiredMatches.unmatchedIds(), hasSize(2));
|
|
|
requiredMatches.filterMatchedIds(Arrays.asList("foo1","bar"));
|
|
|
assertFalse(requiredMatches.hasUnmatchedIds());
|
|
|
+ assertFalse(requiredMatches.isOnlyExact());
|
|
|
|
|
|
requiredMatches = new ExpandedIdsMatcher(new String[] {"foo*","bar"}, false);
|
|
|
assertThat(requiredMatches.unmatchedIds(), hasSize(2));
|
|
|
requiredMatches.filterMatchedIds(Collections.singletonList("bar"));
|
|
|
assertThat(requiredMatches.unmatchedIds(), hasSize(1));
|
|
|
assertEquals("foo*", requiredMatches.unmatchedIds().get(0));
|
|
|
+ assertFalse(requiredMatches.isOnlyExact());
|
|
|
|
|
|
requiredMatches = new ExpandedIdsMatcher(ExpandedIdsMatcher.tokenizeExpression("foo,bar,baz,wild*"), false);
|
|
|
assertThat(requiredMatches.unmatchedIds(), hasSize(4));
|
|
@@ -75,6 +84,14 @@ public class ExpandedIdsMatcherTests extends ESTestCase {
|
|
|
assertThat(requiredMatches.unmatchedIds(), hasSize(2));
|
|
|
assertThat(requiredMatches.unmatchedIds().get(0), is(oneOf("bar", "wild*")));
|
|
|
assertThat(requiredMatches.unmatchedIds().get(1), is(oneOf("bar", "wild*")));
|
|
|
+ assertFalse(requiredMatches.isOnlyExact());
|
|
|
+
|
|
|
+ requiredMatches = new ExpandedIdsMatcher(new String[] {"foo","bar"}, false);
|
|
|
+ assertThat(requiredMatches.unmatchedIds(), hasSize(2));
|
|
|
+ requiredMatches.filterMatchedIds(Collections.singletonList("bar"));
|
|
|
+ assertThat(requiredMatches.unmatchedIds(), hasSize(1));
|
|
|
+ assertEquals("foo", requiredMatches.unmatchedIds().get(0));
|
|
|
+ assertTrue(requiredMatches.isOnlyExact());
|
|
|
}
|
|
|
|
|
|
public void testMatchingResourceIds_allowNoMatch() {
|
|
@@ -84,6 +101,7 @@ public class ExpandedIdsMatcherTests extends ESTestCase {
|
|
|
requiredMatches.filterMatchedIds(Collections.emptyList());
|
|
|
assertThat(requiredMatches.unmatchedIds(), empty());
|
|
|
assertFalse(requiredMatches.hasUnmatchedIds());
|
|
|
+ assertFalse(requiredMatches.isOnlyExact());
|
|
|
|
|
|
requiredMatches = new ExpandedIdsMatcher(new String[] {"foo*","bar"}, true);
|
|
|
assertThat(requiredMatches.unmatchedIds(), hasSize(1));
|
|
@@ -91,11 +109,20 @@ public class ExpandedIdsMatcherTests extends ESTestCase {
|
|
|
requiredMatches.filterMatchedIds(Collections.singletonList("bar"));
|
|
|
assertThat(requiredMatches.unmatchedIds(), empty());
|
|
|
assertFalse(requiredMatches.hasUnmatchedIds());
|
|
|
+ assertFalse(requiredMatches.isOnlyExact());
|
|
|
|
|
|
requiredMatches = new ExpandedIdsMatcher(new String[] {"foo*","bar"}, true);
|
|
|
assertThat(requiredMatches.unmatchedIds(), hasSize(1));
|
|
|
requiredMatches.filterMatchedIds(Collections.emptyList());
|
|
|
assertThat(requiredMatches.unmatchedIds(), hasSize(1));
|
|
|
assertEquals("bar", requiredMatches.unmatchedIds().get(0));
|
|
|
+ assertFalse(requiredMatches.isOnlyExact());
|
|
|
+
|
|
|
+ requiredMatches = new ExpandedIdsMatcher(new String[] {"foo","bar"}, true);
|
|
|
+ assertThat(requiredMatches.unmatchedIds(), hasSize(2));
|
|
|
+ requiredMatches.filterMatchedIds(Collections.singletonList("bar"));
|
|
|
+ assertThat(requiredMatches.unmatchedIds(), hasSize(1));
|
|
|
+ assertEquals("foo", requiredMatches.unmatchedIds().get(0));
|
|
|
+ assertTrue(requiredMatches.isOnlyExact());
|
|
|
}
|
|
|
}
|