mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-26 06:46:10 +00:00
Adapt x-pack after the parent/child modularisation (elastic/x-pack-elasticsearch#1407)
This is the x-pack side of elastic/elasticsearch#24634 The hasChild, hasParent queries and the children agg are now in a module. Original commit: elastic/x-pack-elasticsearch@e9b1296fc3
This commit is contained in:
parent
4f073cd4bd
commit
de1d98b135
@ -51,7 +51,7 @@ Closure setAwsCreds = {
|
||||
def matcher = javaVersion =~ /1\.8\.0(?:_(\d+))?/
|
||||
boolean matches = matcher.matches()
|
||||
assert matches
|
||||
|
||||
|
||||
final int update
|
||||
if (matcher.group(1) == null) {
|
||||
update = 0
|
||||
@ -240,6 +240,7 @@ dependencies {
|
||||
testCompile 'org.slf4j:slf4j-log4j12:1.6.2'
|
||||
testCompile 'org.slf4j:slf4j-api:1.6.2'
|
||||
testCompile project(path: ':modules:reindex', configuration: 'runtime')
|
||||
testCompile project(path: ':modules:parent-join', configuration: 'runtime')
|
||||
}
|
||||
|
||||
// make LicenseSigner available for testing signed licenses
|
||||
|
@ -46,8 +46,6 @@ import org.elasticsearch.index.query.BoolQueryBuilder;
|
||||
import org.elasticsearch.index.query.BoostingQueryBuilder;
|
||||
import org.elasticsearch.index.query.ConstantScoreQueryBuilder;
|
||||
import org.elasticsearch.index.query.GeoShapeQueryBuilder;
|
||||
import org.elasticsearch.index.query.HasChildQueryBuilder;
|
||||
import org.elasticsearch.index.query.HasParentQueryBuilder;
|
||||
import org.elasticsearch.index.query.ParsedQuery;
|
||||
import org.elasticsearch.index.query.QueryBuilder;
|
||||
import org.elasticsearch.index.query.QueryRewriteContext;
|
||||
@ -319,9 +317,9 @@ public class SecurityIndexSearcherWrapper extends IndexSearcherWrapper {
|
||||
// another module. So we don't allow the entire percolate query. I don't think users would ever use
|
||||
// a percolate query as role query, so this restriction shouldn't prohibit anyone from using dls.
|
||||
throw new IllegalArgumentException("percolate query isn't support as part of a role query");
|
||||
} else if (queryBuilder instanceof HasChildQueryBuilder) {
|
||||
} else if (queryBuilder.getName().equals("has_child")) {
|
||||
throw new IllegalArgumentException("has_child query isn't support as part of a role query");
|
||||
} else if (queryBuilder instanceof HasParentQueryBuilder) {
|
||||
} else if (queryBuilder.getName().equals("has_parent")) {
|
||||
throw new IllegalArgumentException("has_parent query isn't support as part of a role query");
|
||||
} else if (queryBuilder instanceof BoolQueryBuilder) {
|
||||
BoolQueryBuilder boolQueryBuilder = (BoolQueryBuilder) queryBuilder;
|
||||
|
@ -26,23 +26,29 @@ import org.elasticsearch.index.query.QueryBuilders;
|
||||
import org.elasticsearch.indices.IndicesRequestCache;
|
||||
import org.elasticsearch.rest.RestStatus;
|
||||
import org.elasticsearch.search.aggregations.AggregationBuilders;
|
||||
import org.elasticsearch.search.aggregations.bucket.children.Children;
|
||||
import org.elasticsearch.join.aggregations.JoinAggregationBuilders;
|
||||
import org.elasticsearch.join.aggregations.Children;
|
||||
import org.elasticsearch.search.aggregations.bucket.global.Global;
|
||||
import org.elasticsearch.search.aggregations.bucket.terms.Terms;
|
||||
import org.elasticsearch.search.sort.SortBuilders;
|
||||
import org.elasticsearch.search.sort.SortMode;
|
||||
import org.elasticsearch.search.sort.SortOrder;
|
||||
import org.elasticsearch.test.SecurityIntegTestCase;
|
||||
import org.elasticsearch.xpack.XPackPlugin;
|
||||
import org.elasticsearch.xpack.XPackSettings;
|
||||
import org.elasticsearch.xpack.security.authc.support.Hasher;
|
||||
import org.elasticsearch.plugins.Plugin;
|
||||
import org.elasticsearch.join.ParentJoinPlugin;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.Collection;
|
||||
|
||||
import static org.elasticsearch.action.support.WriteRequest.RefreshPolicy.IMMEDIATE;
|
||||
import static org.elasticsearch.index.query.QueryBuilders.hasChildQuery;
|
||||
import static org.elasticsearch.index.query.QueryBuilders.hasParentQuery;
|
||||
import static org.elasticsearch.index.query.QueryBuilders.matchAllQuery;
|
||||
import static org.elasticsearch.index.query.QueryBuilders.termQuery;
|
||||
import static org.elasticsearch.join.query.JoinQueryBuilders.hasChildQuery;
|
||||
import static org.elasticsearch.join.query.JoinQueryBuilders.hasParentQuery;
|
||||
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertAcked;
|
||||
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertHitCount;
|
||||
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertNoFailures;
|
||||
@ -58,6 +64,16 @@ public class DocumentLevelSecurityTests extends SecurityIntegTestCase {
|
||||
protected static final SecureString USERS_PASSWD = new SecureString("change_me".toCharArray());
|
||||
protected static final String USERS_PASSWD_HASHED = new String(Hasher.BCRYPT.hash(USERS_PASSWD));
|
||||
|
||||
@Override
|
||||
protected Collection<Class<? extends Plugin>> nodePlugins() {
|
||||
return Arrays.asList(XPackPlugin.class, ParentJoinPlugin.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Collection<Class<? extends Plugin>> transportClientPlugins() {
|
||||
return nodePlugins();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String configUsers() {
|
||||
return super.configUsers() +
|
||||
@ -577,7 +593,7 @@ public class DocumentLevelSecurityTests extends SecurityIntegTestCase {
|
||||
|
||||
SearchResponse response = client().prepareSearch("test")
|
||||
.setTypes("type1")
|
||||
.addAggregation(AggregationBuilders.children("children", "type2")
|
||||
.addAggregation(JoinAggregationBuilders.children("children", "type2")
|
||||
.subAggregation(AggregationBuilders.terms("field3").field("field3")))
|
||||
.get();
|
||||
assertHitCount(response, 1);
|
||||
@ -592,7 +608,7 @@ public class DocumentLevelSecurityTests extends SecurityIntegTestCase {
|
||||
response = client().filterWithHeader(Collections.singletonMap(BASIC_AUTH_HEADER, basicAuthHeaderValue("user1", USERS_PASSWD)))
|
||||
.prepareSearch("test")
|
||||
.setTypes("type1")
|
||||
.addAggregation(AggregationBuilders.children("children", "type2")
|
||||
.addAggregation(JoinAggregationBuilders.children("children", "type2")
|
||||
.subAggregation(AggregationBuilders.terms("field3").field("field3")))
|
||||
.get();
|
||||
assertHitCount(response, 1);
|
||||
@ -606,7 +622,7 @@ public class DocumentLevelSecurityTests extends SecurityIntegTestCase {
|
||||
response = client().filterWithHeader(Collections.singletonMap(BASIC_AUTH_HEADER, basicAuthHeaderValue("user3", USERS_PASSWD)))
|
||||
.prepareSearch("test")
|
||||
.setTypes("type1")
|
||||
.addAggregation(AggregationBuilders.children("children", "type2")
|
||||
.addAggregation(JoinAggregationBuilders.children("children", "type2")
|
||||
.subAggregation(AggregationBuilders.terms("field3").field("field3")))
|
||||
.get();
|
||||
assertHitCount(response, 1);
|
||||
|
@ -30,19 +30,24 @@ import org.elasticsearch.rest.RestStatus;
|
||||
import org.elasticsearch.search.aggregations.AggregationBuilders;
|
||||
import org.elasticsearch.search.aggregations.bucket.terms.Terms;
|
||||
import org.elasticsearch.search.sort.SortOrder;
|
||||
import org.elasticsearch.xpack.XPackPlugin;
|
||||
import org.elasticsearch.xpack.XPackSettings;
|
||||
import org.elasticsearch.xpack.security.authc.support.Hasher;
|
||||
import org.elasticsearch.test.ESIntegTestCase;
|
||||
import org.elasticsearch.test.SecurityIntegTestCase;
|
||||
import org.elasticsearch.plugins.Plugin;
|
||||
import org.elasticsearch.join.ParentJoinPlugin;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.Collection;
|
||||
|
||||
import static org.elasticsearch.action.support.WriteRequest.RefreshPolicy.IMMEDIATE;
|
||||
import static org.elasticsearch.index.query.QueryBuilders.constantScoreQuery;
|
||||
import static org.elasticsearch.index.query.QueryBuilders.existsQuery;
|
||||
import static org.elasticsearch.index.query.QueryBuilders.hasChildQuery;
|
||||
import static org.elasticsearch.index.query.QueryBuilders.matchQuery;
|
||||
import static org.elasticsearch.index.query.QueryBuilders.termQuery;
|
||||
import static org.elasticsearch.join.query.JoinQueryBuilders.hasChildQuery;
|
||||
import static org.elasticsearch.xpack.security.authc.support.UsernamePasswordToken.BASIC_AUTH_HEADER;
|
||||
import static org.elasticsearch.xpack.security.authc.support.UsernamePasswordToken.basicAuthHeaderValue;
|
||||
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertAcked;
|
||||
@ -60,6 +65,16 @@ public class FieldLevelSecurityTests extends SecurityIntegTestCase {
|
||||
protected static final SecureString USERS_PASSWD = new SecureString("change_me".toCharArray());
|
||||
protected static final String USERS_PASSWD_HASHED = new String(Hasher.BCRYPT.hash(new SecureString("change_me".toCharArray())));
|
||||
|
||||
@Override
|
||||
protected Collection<Class<? extends Plugin>> nodePlugins() {
|
||||
return Arrays.asList(XPackPlugin.class, ParentJoinPlugin.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Collection<Class<? extends Plugin>> transportClientPlugins() {
|
||||
return nodePlugins();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String configUsers() {
|
||||
return super.configUsers() +
|
||||
|
@ -56,8 +56,8 @@ import org.elasticsearch.index.query.BoolQueryBuilder;
|
||||
import org.elasticsearch.index.query.BoostingQueryBuilder;
|
||||
import org.elasticsearch.index.query.ConstantScoreQueryBuilder;
|
||||
import org.elasticsearch.index.query.GeoShapeQueryBuilder;
|
||||
import org.elasticsearch.index.query.HasChildQueryBuilder;
|
||||
import org.elasticsearch.index.query.HasParentQueryBuilder;
|
||||
import org.elasticsearch.join.query.HasChildQueryBuilder;
|
||||
import org.elasticsearch.join.query.HasParentQueryBuilder;
|
||||
import org.elasticsearch.index.query.MatchAllQueryBuilder;
|
||||
import org.elasticsearch.index.query.QueryBuilder;
|
||||
import org.elasticsearch.index.query.QueryRewriteContext;
|
||||
@ -214,7 +214,7 @@ public class SecurityIndexSearcherWrapperUnitTests extends ESTestCase {
|
||||
Set<String> expected = new HashSet<>(META_FIELDS_WITHOUT_ALL);
|
||||
expected.add("foo.bar");
|
||||
assertResolved(new FieldPermissions(fieldPermissionDef(new String[] {"foo.bar"}, null)), expected, "foo", "foo.baz", "bar.foo");
|
||||
|
||||
|
||||
expected = new HashSet<>(META_FIELDS_WITHOUT_ALL);
|
||||
expected.add("foo.bar");
|
||||
assertResolved(new FieldPermissions(fieldPermissionDef(new String[] {"foo.*"}, null)), expected, "foo", "bar");
|
||||
|
Loading…
x
Reference in New Issue
Block a user