Skip to content

Commit 08f28e6

Browse files
committed
Replace SearchContext with QueryShardContext in query builder tests (elastic#46978)
This commit replaces the SearchContext used in AbstractQueryTestCase with a QueryShardContext in order to reduce the visibility of search contexts. Relates elastic#46523
1 parent a610503 commit 08f28e6

File tree

58 files changed

+123
-211
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+123
-211
lines changed

modules/mapper-extras/src/test/java/org/elasticsearch/index/query/RankFeatureQueryBuilderTests.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
import org.elasticsearch.index.mapper.MapperService;
3030
import org.elasticsearch.index.query.RankFeatureQueryBuilder.ScoreFunction;
3131
import org.elasticsearch.plugins.Plugin;
32-
import org.elasticsearch.search.internal.SearchContext;
3332
import org.elasticsearch.test.AbstractQueryTestCase;
3433

3534
import java.io.IOException;
@@ -91,7 +90,7 @@ protected RankFeatureQueryBuilder doCreateTestQueryBuilder() {
9190
}
9291

9392
@Override
94-
protected void doAssertLuceneQuery(RankFeatureQueryBuilder queryBuilder, Query query, SearchContext context) throws IOException {
93+
protected void doAssertLuceneQuery(RankFeatureQueryBuilder queryBuilder, Query query, QueryShardContext context) throws IOException {
9594
Class<?> expectedClass = FeatureField.newSaturationQuery("", "", 1, 1).getClass();
9695
assertThat(query, either(instanceOf(MatchNoDocsQuery.class)).or(instanceOf(expectedClass)));
9796
}

modules/parent-join/src/test/java/org/elasticsearch/join/query/HasChildQueryBuilderTests.java

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,6 @@
5252
import org.elasticsearch.index.similarity.SimilarityService;
5353
import org.elasticsearch.join.ParentJoinPlugin;
5454
import org.elasticsearch.plugins.Plugin;
55-
import org.elasticsearch.search.fetch.subphase.InnerHitsContext;
56-
import org.elasticsearch.search.internal.SearchContext;
5755
import org.elasticsearch.search.sort.FieldSortBuilder;
5856
import org.elasticsearch.search.sort.SortOrder;
5957
import org.elasticsearch.test.AbstractQueryTestCase;
@@ -171,7 +169,7 @@ public void testDeprecationOfZeroMinChildren() {
171169
}
172170

173171
@Override
174-
protected void doAssertLuceneQuery(HasChildQueryBuilder queryBuilder, Query query, SearchContext searchContext) throws IOException {
172+
protected void doAssertLuceneQuery(HasChildQueryBuilder queryBuilder, Query query, QueryShardContext context) throws IOException {
175173
assertThat(query, instanceOf(HasChildQueryBuilder.LateParsingQuery.class));
176174
HasChildQueryBuilder.LateParsingQuery lpq = (HasChildQueryBuilder.LateParsingQuery) query;
177175
assertEquals(queryBuilder.minChildren(), lpq.getMinChildren());
@@ -180,19 +178,12 @@ protected void doAssertLuceneQuery(HasChildQueryBuilder queryBuilder, Query quer
180178
if (queryBuilder.innerHit() != null) {
181179
// have to rewrite again because the provided queryBuilder hasn't been rewritten (directly returned from
182180
// doCreateTestQueryBuilder)
183-
queryBuilder = (HasChildQueryBuilder) queryBuilder.rewrite(searchContext.getQueryShardContext());
181+
queryBuilder = (HasChildQueryBuilder) queryBuilder.rewrite(context);
184182
Map<String, InnerHitContextBuilder> innerHitBuilders = new HashMap<>();
185183
InnerHitContextBuilder.extractInnerHits(queryBuilder, innerHitBuilders);
186-
final InnerHitsContext innerHitsContext = new InnerHitsContext();
187-
for (InnerHitContextBuilder builder : innerHitBuilders.values()) {
188-
builder.build(searchContext, innerHitsContext);
189-
}
190-
assertEquals(1, innerHitsContext.getInnerHits().size());
191-
assertTrue(innerHitsContext.getInnerHits().containsKey(queryBuilder.innerHit().getName()));
192-
InnerHitsContext.InnerHitSubContext innerHits = innerHitsContext.getInnerHits().get(queryBuilder.innerHit().getName());
193-
assertEquals(innerHits.size(), queryBuilder.innerHit().getSize());
194-
assertEquals(innerHits.sort().sort.getSort().length, 1);
195-
assertEquals(innerHits.sort().sort.getSort()[0].getField(), STRING_FIELD_NAME_2);
184+
assertTrue(innerHitBuilders.containsKey(queryBuilder.innerHit().getName()));
185+
InnerHitContextBuilder innerHits = innerHitBuilders.get(queryBuilder.innerHit().getName());
186+
assertEquals(innerHits.innerHitBuilder(), queryBuilder.innerHit());
196187
}
197188
}
198189

modules/parent-join/src/test/java/org/elasticsearch/join/query/HasParentQueryBuilderTests.java

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,6 @@
4040
import org.elasticsearch.index.query.WrapperQueryBuilder;
4141
import org.elasticsearch.join.ParentJoinPlugin;
4242
import org.elasticsearch.plugins.Plugin;
43-
import org.elasticsearch.search.fetch.subphase.InnerHitsContext;
44-
import org.elasticsearch.search.internal.SearchContext;
4543
import org.elasticsearch.search.sort.FieldSortBuilder;
4644
import org.elasticsearch.search.sort.SortOrder;
4745
import org.elasticsearch.test.AbstractQueryTestCase;
@@ -138,28 +136,21 @@ protected HasParentQueryBuilder doCreateTestQueryBuilder() {
138136
}
139137

140138
@Override
141-
protected void doAssertLuceneQuery(HasParentQueryBuilder queryBuilder, Query query, SearchContext searchContext) throws IOException {
139+
protected void doAssertLuceneQuery(HasParentQueryBuilder queryBuilder, Query query, QueryShardContext context) throws IOException {
142140
assertThat(query, instanceOf(HasChildQueryBuilder.LateParsingQuery.class));
143141
HasChildQueryBuilder.LateParsingQuery lpq = (HasChildQueryBuilder.LateParsingQuery) query;
144142
assertEquals(queryBuilder.score() ? ScoreMode.Max : ScoreMode.None, lpq.getScoreMode());
145143

146144
if (queryBuilder.innerHit() != null) {
147145
// have to rewrite again because the provided queryBuilder hasn't been rewritten (directly returned from
148146
// doCreateTestQueryBuilder)
149-
queryBuilder = (HasParentQueryBuilder) queryBuilder.rewrite(searchContext.getQueryShardContext());
147+
queryBuilder = (HasParentQueryBuilder) queryBuilder.rewrite(context);
150148

151149
Map<String, InnerHitContextBuilder> innerHitBuilders = new HashMap<>();
152150
InnerHitContextBuilder.extractInnerHits(queryBuilder, innerHitBuilders);
153-
final InnerHitsContext innerHitsContext = new InnerHitsContext();
154-
for (InnerHitContextBuilder builder : innerHitBuilders.values()) {
155-
builder.build(searchContext, innerHitsContext);
156-
}
157-
assertEquals(1, innerHitsContext.getInnerHits().size());
158-
assertTrue(innerHitsContext.getInnerHits().containsKey(queryBuilder.innerHit().getName()));
159-
InnerHitsContext.InnerHitSubContext innerHits = innerHitsContext.getInnerHits().get(queryBuilder.innerHit().getName());
160-
assertEquals(innerHits.size(), queryBuilder.innerHit().getSize());
161-
assertEquals(innerHits.sort().sort.getSort().length, 1);
162-
assertEquals(innerHits.sort().sort.getSort()[0].getField(), STRING_FIELD_NAME_2);
151+
assertTrue(innerHitBuilders.containsKey(queryBuilder.innerHit().getName()));
152+
InnerHitContextBuilder innerHits = innerHitBuilders.get(queryBuilder.innerHit().getName());
153+
assertEquals(innerHits.innerHitBuilder(), queryBuilder.innerHit());
163154
}
164155
}
165156

modules/parent-join/src/test/java/org/elasticsearch/join/query/ParentIdQueryBuilderTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@
3232
import org.elasticsearch.common.settings.Settings;
3333
import org.elasticsearch.common.xcontent.XContentBuilder;
3434
import org.elasticsearch.index.mapper.MapperService;
35+
import org.elasticsearch.index.query.QueryShardContext;
3536
import org.elasticsearch.index.query.QueryShardException;
3637
import org.elasticsearch.join.ParentJoinPlugin;
3738
import org.elasticsearch.plugins.Plugin;
38-
import org.elasticsearch.search.internal.SearchContext;
3939
import org.elasticsearch.test.AbstractQueryTestCase;
4040
import org.hamcrest.Matchers;
4141

@@ -111,7 +111,7 @@ protected ParentIdQueryBuilder doCreateTestQueryBuilder() {
111111
}
112112

113113
@Override
114-
protected void doAssertLuceneQuery(ParentIdQueryBuilder queryBuilder, Query query, SearchContext context) throws IOException {
114+
protected void doAssertLuceneQuery(ParentIdQueryBuilder queryBuilder, Query query, QueryShardContext context) throws IOException {
115115
assertThat(query, Matchers.instanceOf(BooleanQuery.class));
116116
BooleanQuery booleanQuery = (BooleanQuery) query;
117117
assertThat(booleanQuery.clauses().size(), Matchers.equalTo(2));

modules/percolator/src/test/java/org/elasticsearch/percolator/PercolateQueryBuilderTests.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
import org.elasticsearch.index.query.Rewriteable;
4141
import org.elasticsearch.ingest.RandomDocumentPicks;
4242
import org.elasticsearch.plugins.Plugin;
43-
import org.elasticsearch.search.internal.SearchContext;
4443
import org.elasticsearch.test.AbstractQueryTestCase;
4544
import org.hamcrest.Matchers;
4645

@@ -165,7 +164,7 @@ protected GetResponse executeGet(GetRequest getRequest) {
165164
}
166165

167166
@Override
168-
protected void doAssertLuceneQuery(PercolateQueryBuilder queryBuilder, Query query, SearchContext context) throws IOException {
167+
protected void doAssertLuceneQuery(PercolateQueryBuilder queryBuilder, Query query, QueryShardContext context) throws IOException {
169168
assertThat(query, Matchers.instanceOf(PercolateQuery.class));
170169
PercolateQuery percolateQuery = (PercolateQuery) query;
171170
assertNull(queryBuilder.getDocumentType());

server/src/main/java/org/elasticsearch/index/query/InnerHitContextBuilder.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,10 @@ public final void validate(QueryShardContext queryShardContext) {
6060
doValidate(queryShardContext);
6161
}
6262

63+
public InnerHitBuilder innerHitBuilder() {
64+
return innerHitBuilder;
65+
}
66+
6367
protected abstract void doValidate(QueryShardContext queryShardContext);
6468

6569
public abstract void build(SearchContext parentSearchContext, InnerHitsContext innerHitsContext) throws IOException;

server/src/test/java/org/elasticsearch/index/mapper/RangeFieldQueryStringQueryBuilderTests.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@
3535
import org.elasticsearch.common.time.DateMathParser;
3636
import org.elasticsearch.index.query.QueryShardContext;
3737
import org.elasticsearch.index.query.QueryStringQueryBuilder;
38-
import org.elasticsearch.search.internal.SearchContext;
3938
import org.elasticsearch.test.AbstractQueryTestCase;
4039

4140
import java.io.IOException;
@@ -130,7 +129,7 @@ protected QueryStringQueryBuilder doCreateTestQueryBuilder() {
130129
}
131130

132131
@Override
133-
protected void doAssertLuceneQuery(QueryStringQueryBuilder queryBuilder, Query query, SearchContext context) throws IOException {
132+
protected void doAssertLuceneQuery(QueryStringQueryBuilder queryBuilder, Query query, QueryShardContext context) throws IOException {
134133
assertThat(query, either(instanceOf(PointRangeQuery.class)).or(instanceOf(IndexOrDocValuesQuery.class)));
135134
}
136135
}

server/src/test/java/org/elasticsearch/index/query/BoolQueryBuilderTests.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
import org.elasticsearch.common.xcontent.XContentFactory;
2929
import org.elasticsearch.common.xcontent.XContentParser;
3030
import org.elasticsearch.common.xcontent.XContentType;
31-
import org.elasticsearch.search.internal.SearchContext;
3231
import org.elasticsearch.test.AbstractQueryTestCase;
3332
import org.hamcrest.Matchers;
3433

@@ -74,11 +73,10 @@ protected BoolQueryBuilder doCreateTestQueryBuilder() {
7473
}
7574

7675
@Override
77-
protected void doAssertLuceneQuery(BoolQueryBuilder queryBuilder, Query query, SearchContext searchContext) throws IOException {
76+
protected void doAssertLuceneQuery(BoolQueryBuilder queryBuilder, Query query, QueryShardContext context) throws IOException {
7877
if (!queryBuilder.hasClauses()) {
7978
assertThat(query, instanceOf(MatchAllDocsQuery.class));
8079
} else {
81-
QueryShardContext context = searchContext.getQueryShardContext();
8280
List<BooleanClause> clauses = new ArrayList<>();
8381
clauses.addAll(getBooleanClauses(queryBuilder.must(), BooleanClause.Occur.MUST, context));
8482
clauses.addAll(getBooleanClauses(queryBuilder.mustNot(), BooleanClause.Occur.MUST_NOT, context));

server/src/test/java/org/elasticsearch/index/query/BoostingQueryBuilderTests.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121

2222
import org.apache.lucene.queries.function.FunctionScoreQuery;
2323
import org.apache.lucene.search.Query;
24-
import org.elasticsearch.search.internal.SearchContext;
2524
import org.elasticsearch.test.AbstractQueryTestCase;
2625

2726
import java.io.IOException;
@@ -40,9 +39,9 @@ protected BoostingQueryBuilder doCreateTestQueryBuilder() {
4039
}
4140

4241
@Override
43-
protected void doAssertLuceneQuery(BoostingQueryBuilder queryBuilder, Query query, SearchContext context) throws IOException {
44-
Query positive = queryBuilder.positiveQuery().toQuery(context.getQueryShardContext());
45-
Query negative = queryBuilder.negativeQuery().toQuery(context.getQueryShardContext());
42+
protected void doAssertLuceneQuery(BoostingQueryBuilder queryBuilder, Query query, QueryShardContext context) throws IOException {
43+
Query positive = queryBuilder.positiveQuery().toQuery(context);
44+
Query negative = queryBuilder.negativeQuery().toQuery(context);
4645
if (positive == null || negative == null) {
4746
assertThat(query, nullValue());
4847
} else {

server/src/test/java/org/elasticsearch/index/query/CommonTermsQueryBuilderTests.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
import org.apache.lucene.queries.ExtendedCommonTermsQuery;
2424
import org.apache.lucene.search.Query;
2525
import org.elasticsearch.common.ParsingException;
26-
import org.elasticsearch.search.internal.SearchContext;
2726
import org.elasticsearch.test.AbstractQueryTestCase;
2827

2928
import java.io.IOException;
@@ -96,7 +95,7 @@ protected Map<String, CommonTermsQueryBuilder> getAlternateVersions() {
9695
}
9796

9897
@Override
99-
protected void doAssertLuceneQuery(CommonTermsQueryBuilder queryBuilder, Query query, SearchContext context) throws IOException {
98+
protected void doAssertLuceneQuery(CommonTermsQueryBuilder queryBuilder, Query query, QueryShardContext context) throws IOException {
10099
assertThat(query, instanceOf(ExtendedCommonTermsQuery.class));
101100
ExtendedCommonTermsQuery extendedCommonTermsQuery = (ExtendedCommonTermsQuery) query;
102101

server/src/test/java/org/elasticsearch/index/query/ConstantScoreQueryBuilderTests.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import org.apache.lucene.search.ConstantScoreQuery;
2323
import org.apache.lucene.search.Query;
2424
import org.elasticsearch.common.ParsingException;
25-
import org.elasticsearch.search.internal.SearchContext;
2625
import org.elasticsearch.test.AbstractQueryTestCase;
2726

2827
import java.io.IOException;
@@ -41,8 +40,8 @@ protected ConstantScoreQueryBuilder doCreateTestQueryBuilder() {
4140
}
4241

4342
@Override
44-
protected void doAssertLuceneQuery(ConstantScoreQueryBuilder queryBuilder, Query query, SearchContext context) throws IOException {
45-
Query innerQuery = queryBuilder.innerQuery().toQuery(context.getQueryShardContext());
43+
protected void doAssertLuceneQuery(ConstantScoreQueryBuilder queryBuilder, Query query, QueryShardContext context) throws IOException {
44+
Query innerQuery = queryBuilder.innerQuery().toQuery(context);
4645
if (innerQuery == null) {
4746
assertThat(query, nullValue());
4847
} else {

server/src/test/java/org/elasticsearch/index/query/DisMaxQueryBuilderTests.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
import org.apache.lucene.search.DisjunctionMaxQuery;
2525
import org.apache.lucene.search.PrefixQuery;
2626
import org.apache.lucene.search.Query;
27-
import org.elasticsearch.search.internal.SearchContext;
2827
import org.elasticsearch.test.AbstractQueryTestCase;
2928

3029
import java.io.IOException;
@@ -56,8 +55,8 @@ protected DisMaxQueryBuilder doCreateTestQueryBuilder() {
5655
}
5756

5857
@Override
59-
protected void doAssertLuceneQuery(DisMaxQueryBuilder queryBuilder, Query query, SearchContext context) throws IOException {
60-
Collection<Query> queries = AbstractQueryBuilder.toQueries(queryBuilder.innerQueries(), context.getQueryShardContext());
58+
protected void doAssertLuceneQuery(DisMaxQueryBuilder queryBuilder, Query query, QueryShardContext context) throws IOException {
59+
Collection<Query> queries = AbstractQueryBuilder.toQueries(queryBuilder.innerQueries(), context);
6160
assertThat(query, instanceOf(DisjunctionMaxQuery.class));
6261
DisjunctionMaxQuery disjunctionMaxQuery = (DisjunctionMaxQuery) query;
6362
assertThat(disjunctionMaxQuery.getTieBreakerMultiplier(), equalTo(queryBuilder.tieBreaker()));

server/src/test/java/org/elasticsearch/index/query/DistanceFeatureQueryBuilderTests.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
import org.elasticsearch.common.unit.TimeValue;
3030
import org.elasticsearch.index.mapper.DateFieldMapper;
3131
import org.elasticsearch.index.mapper.MapperService;
32-
import org.elasticsearch.search.internal.SearchContext;
3332
import org.elasticsearch.test.AbstractQueryTestCase;
3433
import org.joda.time.DateTime;
3534
import org.elasticsearch.index.query.DistanceFeatureQueryBuilder.Origin;
@@ -74,7 +73,9 @@ protected DistanceFeatureQueryBuilder doCreateTestQueryBuilder() {
7473
}
7574

7675
@Override
77-
protected void doAssertLuceneQuery(DistanceFeatureQueryBuilder queryBuilder, Query query, SearchContext context) throws IOException {
76+
protected void doAssertLuceneQuery(DistanceFeatureQueryBuilder queryBuilder,
77+
Query query,
78+
QueryShardContext context) throws IOException {
7879
String fieldName = expectedFieldName(queryBuilder.fieldName());
7980
Object origin = queryBuilder.origin().origin();
8081
String pivot = queryBuilder.pivot();
@@ -85,9 +86,9 @@ protected void doAssertLuceneQuery(DistanceFeatureQueryBuilder queryBuilder, Que
8586
double pivotDouble = DistanceUnit.DEFAULT.parse(pivot, DistanceUnit.DEFAULT);
8687
expectedQuery = LatLonPoint.newDistanceFeatureQuery(fieldName, boost, originGeoPoint.lat(), originGeoPoint.lon(), pivotDouble);
8788
} else { // if (fieldName.equals(DATE_FIELD_NAME))
88-
MapperService mapperService = context.getQueryShardContext().getMapperService();
89+
MapperService mapperService = context.getMapperService();
8990
DateFieldType fieldType = (DateFieldType) mapperService.fullName(fieldName);
90-
long originLong = fieldType.parseToLong(origin, true, null, null, context.getQueryShardContext());
91+
long originLong = fieldType.parseToLong(origin, true, null, null, context);
9192
TimeValue pivotVal = TimeValue.parseTimeValue(pivot, DistanceFeatureQueryBuilder.class.getSimpleName() + ".pivot");
9293
long pivotLong;
9394
if (fieldType.resolution() == DateFieldMapper.Resolution.MILLISECONDS) {

0 commit comments

Comments
 (0)