|
@@ -44,7 +44,7 @@ public abstract class AbstractFilteringTestCase extends ESTestCase {
|
|
|
protected abstract void testFilter(Builder expected, Builder actual, Set<String> includes, Set<String> excludes) throws IOException;
|
|
|
|
|
|
/** Sample test case **/
|
|
|
- private static final Builder SAMPLE = builder -> builder.startObject()
|
|
|
+ protected static final Builder SAMPLE = builder -> builder.startObject()
|
|
|
.field("title", "My awesome book")
|
|
|
.field("pages", 456)
|
|
|
.field("price", 27.99)
|
|
@@ -484,70 +484,70 @@ public abstract class AbstractFilteringTestCase extends ESTestCase {
|
|
|
testFilter(expected, SAMPLE, singleton("authors.*name"), emptySet());
|
|
|
}
|
|
|
|
|
|
- public void testSimpleArrayOfObjectsExclusive() throws Exception {
|
|
|
- final Builder expected = builder -> builder.startObject()
|
|
|
- .field("title", "My awesome book")
|
|
|
- .field("pages", 456)
|
|
|
- .field("price", 27.99)
|
|
|
- .field("timestamp", 1428582942867L)
|
|
|
- .nullField("default")
|
|
|
- .startArray("tags")
|
|
|
- .value("elasticsearch")
|
|
|
- .value("java")
|
|
|
- .endArray()
|
|
|
- .startObject("properties")
|
|
|
- .field("weight", 0.8d)
|
|
|
- .startObject("language")
|
|
|
- .startObject("en")
|
|
|
- .field("lang", "English")
|
|
|
- .field("available", true)
|
|
|
- .startArray("distributors")
|
|
|
- .startObject()
|
|
|
- .field("name", "The Book Shop")
|
|
|
- .startArray("addresses")
|
|
|
- .startObject()
|
|
|
- .field("name", "address #1")
|
|
|
- .field("street", "Hampton St")
|
|
|
- .field("city", "London")
|
|
|
- .endObject()
|
|
|
- .startObject()
|
|
|
- .field("name", "address #2")
|
|
|
- .field("street", "Queen St")
|
|
|
- .field("city", "Stornoway")
|
|
|
- .endObject()
|
|
|
- .endArray()
|
|
|
- .endObject()
|
|
|
- .startObject()
|
|
|
- .field("name", "Sussex Books House")
|
|
|
- .endObject()
|
|
|
- .endArray()
|
|
|
+ protected static final Builder SIMPLE_ARRAY_OF_OBJECTS_EXCLUSIVE = builder -> builder.startObject()
|
|
|
+ .field("title", "My awesome book")
|
|
|
+ .field("pages", 456)
|
|
|
+ .field("price", 27.99)
|
|
|
+ .field("timestamp", 1428582942867L)
|
|
|
+ .nullField("default")
|
|
|
+ .startArray("tags")
|
|
|
+ .value("elasticsearch")
|
|
|
+ .value("java")
|
|
|
+ .endArray()
|
|
|
+ .startObject("properties")
|
|
|
+ .field("weight", 0.8d)
|
|
|
+ .startObject("language")
|
|
|
+ .startObject("en")
|
|
|
+ .field("lang", "English")
|
|
|
+ .field("available", true)
|
|
|
+ .startArray("distributors")
|
|
|
+ .startObject()
|
|
|
+ .field("name", "The Book Shop")
|
|
|
+ .startArray("addresses")
|
|
|
+ .startObject()
|
|
|
+ .field("name", "address #1")
|
|
|
+ .field("street", "Hampton St")
|
|
|
+ .field("city", "London")
|
|
|
.endObject()
|
|
|
- .startObject("fr")
|
|
|
- .field("lang", "French")
|
|
|
- .field("available", false)
|
|
|
- .startArray("distributors")
|
|
|
- .startObject()
|
|
|
- .field("name", "La Maison du Livre")
|
|
|
- .startArray("addresses")
|
|
|
- .startObject()
|
|
|
- .field("name", "address #1")
|
|
|
- .field("street", "Rue Mouffetard")
|
|
|
- .field("city", "Paris")
|
|
|
- .endObject()
|
|
|
- .endArray()
|
|
|
- .endObject()
|
|
|
- .startObject()
|
|
|
- .field("name", "Thetra")
|
|
|
- .endObject()
|
|
|
- .endArray()
|
|
|
+ .startObject()
|
|
|
+ .field("name", "address #2")
|
|
|
+ .field("street", "Queen St")
|
|
|
+ .field("city", "Stornoway")
|
|
|
.endObject()
|
|
|
- .endObject()
|
|
|
+ .endArray()
|
|
|
.endObject()
|
|
|
- .endObject();
|
|
|
+ .startObject()
|
|
|
+ .field("name", "Sussex Books House")
|
|
|
+ .endObject()
|
|
|
+ .endArray()
|
|
|
+ .endObject()
|
|
|
+ .startObject("fr")
|
|
|
+ .field("lang", "French")
|
|
|
+ .field("available", false)
|
|
|
+ .startArray("distributors")
|
|
|
+ .startObject()
|
|
|
+ .field("name", "La Maison du Livre")
|
|
|
+ .startArray("addresses")
|
|
|
+ .startObject()
|
|
|
+ .field("name", "address #1")
|
|
|
+ .field("street", "Rue Mouffetard")
|
|
|
+ .field("city", "Paris")
|
|
|
+ .endObject()
|
|
|
+ .endArray()
|
|
|
+ .endObject()
|
|
|
+ .startObject()
|
|
|
+ .field("name", "Thetra")
|
|
|
+ .endObject()
|
|
|
+ .endArray()
|
|
|
+ .endObject()
|
|
|
+ .endObject()
|
|
|
+ .endObject()
|
|
|
+ .endObject();
|
|
|
|
|
|
- testFilter(expected, SAMPLE, emptySet(), singleton("authors"));
|
|
|
- testFilter(expected, SAMPLE, emptySet(), singleton("authors.*"));
|
|
|
- testFilter(expected, SAMPLE, emptySet(), singleton("authors.*name"));
|
|
|
+ public void testSimpleArrayOfObjectsExclusive() throws Exception {
|
|
|
+ testFilter(SIMPLE_ARRAY_OF_OBJECTS_EXCLUSIVE, SAMPLE, emptySet(), singleton("authors"));
|
|
|
+ testFilter(SIMPLE_ARRAY_OF_OBJECTS_EXCLUSIVE, SAMPLE, emptySet(), singleton("authors.*"));
|
|
|
+ testFilter(SIMPLE_ARRAY_OF_OBJECTS_EXCLUSIVE, SAMPLE, emptySet(), singleton("authors.*name"));
|
|
|
}
|
|
|
|
|
|
public void testSimpleArrayOfObjectsPropertyInclusive() throws Exception {
|