mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-03-09 14:34:43 +00:00
Cleanup QueryTest framework and be more strict
This commit contains: * renaming BaseQueryTestCase to AbstractQueryTestCase * uses always STRICT parsing when parsing from builders XContent * ensures that SearchContext is only but always available during toQuery but never during parse phase * adds a way to override the default ParseFieldMatcher to allow queries to set deprecated API by default
This commit is contained in:
parent
484fcd49e5
commit
9f722a6674
@ -30,7 +30,7 @@ import java.io.IOException;
|
||||
*/
|
||||
public class NotQueryParser extends BaseQueryParser<NotQueryBuilder> {
|
||||
|
||||
private static final ParseField QUERY_FIELD = new ParseField("filter", "query");
|
||||
private static final ParseField QUERY_FIELD = new ParseField("query", "filter");
|
||||
|
||||
@Inject
|
||||
public NotQueryParser() {
|
||||
|
@ -89,7 +89,7 @@ import static org.hamcrest.Matchers.not;
|
||||
import static org.hamcrest.Matchers.notNullValue;
|
||||
import static org.hamcrest.Matchers.nullValue;
|
||||
|
||||
public abstract class BaseQueryTestCase<QB extends AbstractQueryBuilder<QB>> extends ESTestCase { // TODO rename this AbstractQueryTestCase
|
||||
public abstract class AbstractQueryTestCase<QB extends AbstractQueryBuilder<QB>> extends ESTestCase {
|
||||
|
||||
private static final GeohashGenerator geohashGenerator = new GeohashGenerator();
|
||||
protected static final String STRING_FIELD_NAME = "mapped_string";
|
||||
@ -126,6 +126,8 @@ public abstract class BaseQueryTestCase<QB extends AbstractQueryBuilder<QB>> ext
|
||||
|
||||
private static NamedWriteableRegistry namedWriteableRegistry;
|
||||
|
||||
private static String[] randomTypes;
|
||||
|
||||
/**
|
||||
* Setup for the whole base test class.
|
||||
* @throws IOException
|
||||
@ -135,7 +137,7 @@ public abstract class BaseQueryTestCase<QB extends AbstractQueryBuilder<QB>> ext
|
||||
// we have to prefer CURRENT since with the range of versions we support it's rather unlikely to get the current actually.
|
||||
Version version = randomBoolean() ? Version.CURRENT : VersionUtils.randomVersionBetween(random(), Version.V_2_0_0_beta1, Version.CURRENT);
|
||||
Settings settings = Settings.settingsBuilder()
|
||||
.put("name", BaseQueryTestCase.class.toString())
|
||||
.put("name", AbstractQueryTestCase.class.toString())
|
||||
.put("path.home", createTempDir())
|
||||
.build();
|
||||
Settings indexSettings = Settings.settingsBuilder()
|
||||
@ -203,19 +205,13 @@ public abstract class BaseQueryTestCase<QB extends AbstractQueryBuilder<QB>> ext
|
||||
queryParserService = null;
|
||||
currentTypes = null;
|
||||
namedWriteableRegistry = null;
|
||||
randomTypes = null;
|
||||
}
|
||||
|
||||
@Before
|
||||
public void beforeTest() {
|
||||
//set some random types to be queried as part the search request, before each test
|
||||
String[] types = getRandomTypes();
|
||||
//some query (e.g. range query) have a different behaviour depending on whether the current search context is set or not
|
||||
//which is why we randomly set the search context, which will internally also do QueryParseContext.setTypes(types)
|
||||
if (randomBoolean()) {
|
||||
QueryShardContext.setTypes(types);
|
||||
} else {
|
||||
setSearchContext(types); // TODO should this be set after we parsed and before we build the query? it makes more sense?
|
||||
}
|
||||
randomTypes = getRandomTypes();
|
||||
}
|
||||
|
||||
protected void setSearchContext(String[] types) {
|
||||
@ -258,7 +254,7 @@ public abstract class BaseQueryTestCase<QB extends AbstractQueryBuilder<QB>> ext
|
||||
QB testQuery = createTestQueryBuilder();
|
||||
assertParsedQuery(testQuery.toString(), testQuery);
|
||||
for (Map.Entry<String, QB> alternateVersion : getAlternateVersions().entrySet()) {
|
||||
assertParsedQuery(alternateVersion.getKey(), alternateVersion.getValue());
|
||||
assertParsedQuery(alternateVersion.getKey(), alternateVersion.getValue(), ParseFieldMatcher.EMPTY);
|
||||
}
|
||||
}
|
||||
|
||||
@ -274,21 +270,38 @@ public abstract class BaseQueryTestCase<QB extends AbstractQueryBuilder<QB>> ext
|
||||
* Parses the query provided as string argument and compares it with the expected result provided as argument as a {@link QueryBuilder}
|
||||
*/
|
||||
protected void assertParsedQuery(String queryAsString, QueryBuilder<?> expectedQuery) throws IOException {
|
||||
QueryBuilder<?> newQuery = parseQuery(queryAsString);
|
||||
assertParsedQuery(queryAsString, expectedQuery, getDefaultParseFieldMatcher());
|
||||
}
|
||||
|
||||
protected void assertParsedQuery(String queryAsString, QueryBuilder<?> expectedQuery, ParseFieldMatcher matcher) throws IOException {
|
||||
QueryBuilder<?> newQuery = parseQuery(queryAsString, matcher);
|
||||
assertNotSame(newQuery, expectedQuery);
|
||||
assertEquals(expectedQuery, newQuery);
|
||||
assertEquals(expectedQuery.hashCode(), newQuery.hashCode());
|
||||
}
|
||||
|
||||
protected QueryBuilder<?> parseQuery(String queryAsString) throws IOException {
|
||||
return parseQuery(queryAsString, getDefaultParseFieldMatcher());
|
||||
}
|
||||
|
||||
protected QueryBuilder<?> parseQuery(String queryAsString, ParseFieldMatcher matcher) throws IOException {
|
||||
XContentParser parser = XContentFactory.xContent(queryAsString).createParser(queryAsString);
|
||||
QueryParseContext context = createParseContext();
|
||||
context.reset(parser);
|
||||
// TODO this should set context.parseFieldMatcher(ParseFieldMatcher.STRICT);
|
||||
// all our builders should only create non-deprecated XContent.
|
||||
context.parseFieldMatcher(matcher);
|
||||
return context.parseInnerQueryBuilder();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the default {@link ParseFieldMatcher} used for parsing non-alternative XContent representations.
|
||||
* The default is {@link ParseFieldMatcher#STRICT}.
|
||||
* Note: Queries returned from {@link #getAlternateVersions()} are always parsed with {@link ParseFieldMatcher#EMPTY} as they might
|
||||
* not be backwards compatible.
|
||||
*/
|
||||
protected ParseFieldMatcher getDefaultParseFieldMatcher() {
|
||||
return ParseFieldMatcher.STRICT;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test creates the {@link Query} from the {@link QueryBuilder} under test and delegates the
|
||||
* assertions being made on the result to the implementing subclass.
|
||||
@ -299,22 +312,30 @@ public abstract class BaseQueryTestCase<QB extends AbstractQueryBuilder<QB>> ext
|
||||
context.setAllowUnmappedFields(true);
|
||||
|
||||
QB firstQuery = createTestQueryBuilder();
|
||||
setSearchContext(randomTypes); // only set search context for toQuery to be more realistic
|
||||
Query firstLuceneQuery = firstQuery.toQuery(context);
|
||||
assertLuceneQuery(firstQuery, firstLuceneQuery, context);
|
||||
SearchContext.removeCurrent(); // remove after assertLuceneQuery since the assertLuceneQuery impl might access the context as well
|
||||
|
||||
|
||||
QB secondQuery = copyQuery(firstQuery);
|
||||
//query _name never should affect the result of toQuery, we randomly set it to make sure
|
||||
if (randomBoolean()) {
|
||||
secondQuery.queryName(secondQuery.queryName() == null ? randomAsciiOfLengthBetween(1, 30) : secondQuery.queryName() + randomAsciiOfLengthBetween(1, 10));
|
||||
}
|
||||
setSearchContext(randomTypes); // only set search context for toQuery to be more realistic
|
||||
Query secondLuceneQuery = secondQuery.toQuery(context);
|
||||
assertLuceneQuery(secondQuery, secondLuceneQuery, context);
|
||||
SearchContext.removeCurrent(); // remove after assertLuceneQuery since the assertLuceneQuery impl might access the context as well
|
||||
|
||||
assertThat("two equivalent query builders lead to different lucene queries", secondLuceneQuery, equalTo(firstLuceneQuery));
|
||||
|
||||
//if the initial lucene query is null, changing its boost won't have any effect, we shouldn't test that
|
||||
if (firstLuceneQuery != null && supportsBoostAndQueryName()) {
|
||||
secondQuery.boost(firstQuery.boost() + 1f + randomFloat());
|
||||
setSearchContext(randomTypes); // only set search context for toQuery to be more realistic
|
||||
Query thirdLuceneQuery = secondQuery.toQuery(context);
|
||||
SearchContext.removeCurrent();
|
||||
assertThat("modifying the boost doesn't affect the corresponding lucene query", firstLuceneQuery, not(equalTo(thirdLuceneQuery)));
|
||||
}
|
||||
}
|
||||
@ -451,9 +472,9 @@ public abstract class BaseQueryTestCase<QB extends AbstractQueryBuilder<QB>> ext
|
||||
}
|
||||
|
||||
/**
|
||||
* create a random value for either {@link BaseQueryTestCase#BOOLEAN_FIELD_NAME}, {@link BaseQueryTestCase#INT_FIELD_NAME},
|
||||
* {@link BaseQueryTestCase#DOUBLE_FIELD_NAME}, {@link BaseQueryTestCase#STRING_FIELD_NAME} or
|
||||
* {@link BaseQueryTestCase#DATE_FIELD_NAME}, or a String value by default
|
||||
* create a random value for either {@link AbstractQueryTestCase#BOOLEAN_FIELD_NAME}, {@link AbstractQueryTestCase#INT_FIELD_NAME},
|
||||
* {@link AbstractQueryTestCase#DOUBLE_FIELD_NAME}, {@link AbstractQueryTestCase#STRING_FIELD_NAME} or
|
||||
* {@link AbstractQueryTestCase#DATE_FIELD_NAME}, or a String value by default
|
||||
*/
|
||||
protected static Object getRandomValueForFieldName(String fieldName) {
|
||||
Object value;
|
@ -26,7 +26,7 @@ import java.util.Map;
|
||||
|
||||
import static org.hamcrest.Matchers.is;
|
||||
|
||||
public abstract class BaseTermQueryTestCase<QB extends BaseTermQueryBuilder<QB>> extends BaseQueryTestCase<QB> {
|
||||
public abstract class AbstractTermQueryTestCase<QB extends BaseTermQueryBuilder<QB>> extends AbstractQueryTestCase<QB> {
|
||||
|
||||
@Override
|
||||
protected final QB doCreateTestQueryBuilder() {
|
@ -30,7 +30,7 @@ import java.util.*;
|
||||
import static org.hamcrest.CoreMatchers.*;
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public class AndQueryBuilderTests extends BaseQueryTestCase<AndQueryBuilder> {
|
||||
public class AndQueryBuilderTests extends AbstractQueryTestCase<AndQueryBuilder> {
|
||||
|
||||
/**
|
||||
* @return a AndQueryBuilder with random limit between 0 and 20
|
||||
|
@ -31,7 +31,7 @@ import java.util.*;
|
||||
import static org.hamcrest.CoreMatchers.equalTo;
|
||||
import static org.hamcrest.CoreMatchers.instanceOf;
|
||||
|
||||
public class BoolQueryBuilderTests extends BaseQueryTestCase<BoolQueryBuilder> {
|
||||
public class BoolQueryBuilderTests extends AbstractQueryTestCase<BoolQueryBuilder> {
|
||||
|
||||
@Override
|
||||
protected BoolQueryBuilder doCreateTestQueryBuilder() {
|
||||
|
@ -28,7 +28,7 @@ import java.io.IOException;
|
||||
import static org.hamcrest.CoreMatchers.instanceOf;
|
||||
import static org.hamcrest.CoreMatchers.nullValue;
|
||||
|
||||
public class BoostingQueryBuilderTests extends BaseQueryTestCase<BoostingQueryBuilder> {
|
||||
public class BoostingQueryBuilderTests extends AbstractQueryTestCase<BoostingQueryBuilder> {
|
||||
|
||||
@Override
|
||||
protected BoostingQueryBuilder doCreateTestQueryBuilder() {
|
||||
|
@ -29,7 +29,7 @@ import static org.hamcrest.Matchers.equalTo;
|
||||
import static org.hamcrest.Matchers.instanceOf;
|
||||
import static org.hamcrest.Matchers.is;
|
||||
|
||||
public class CommonTermsQueryBuilderTests extends BaseQueryTestCase<CommonTermsQueryBuilder> {
|
||||
public class CommonTermsQueryBuilderTests extends AbstractQueryTestCase<CommonTermsQueryBuilder> {
|
||||
|
||||
@Override
|
||||
protected CommonTermsQueryBuilder doCreateTestQueryBuilder() {
|
||||
|
@ -27,7 +27,7 @@ import java.io.IOException;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.*;
|
||||
|
||||
public class ConstantScoreQueryBuilderTests extends BaseQueryTestCase<ConstantScoreQueryBuilder> {
|
||||
public class ConstantScoreQueryBuilderTests extends AbstractQueryTestCase<ConstantScoreQueryBuilder> {
|
||||
|
||||
/**
|
||||
* @return a {@link ConstantScoreQueryBuilder} with random boost between 0.1f and 2.0f
|
||||
|
@ -31,7 +31,7 @@ import java.util.Map;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.*;
|
||||
|
||||
public class DisMaxQueryBuilderTests extends BaseQueryTestCase<DisMaxQueryBuilder> {
|
||||
public class DisMaxQueryBuilderTests extends AbstractQueryTestCase<DisMaxQueryBuilder> {
|
||||
|
||||
/**
|
||||
* @return a {@link DisMaxQueryBuilder} with random inner queries
|
||||
|
@ -32,7 +32,7 @@ import java.util.Collection;
|
||||
import static org.hamcrest.CoreMatchers.equalTo;
|
||||
import static org.hamcrest.CoreMatchers.instanceOf;
|
||||
|
||||
public class ExistsQueryBuilderTests extends BaseQueryTestCase<ExistsQueryBuilder> {
|
||||
public class ExistsQueryBuilderTests extends AbstractQueryTestCase<ExistsQueryBuilder> {
|
||||
|
||||
@Override
|
||||
protected ExistsQueryBuilder doCreateTestQueryBuilder() {
|
||||
|
@ -28,7 +28,7 @@ import java.io.IOException;
|
||||
import static org.hamcrest.CoreMatchers.*;
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public class FQueryFilterBuilderTests extends BaseQueryTestCase<FQueryFilterBuilder> {
|
||||
public class FQueryFilterBuilderTests extends AbstractQueryTestCase<FQueryFilterBuilder> {
|
||||
|
||||
/**
|
||||
* @return a FQueryFilterBuilder with random inner query
|
||||
|
@ -29,7 +29,7 @@ import java.io.IOException;
|
||||
import static org.hamcrest.CoreMatchers.equalTo;
|
||||
import static org.hamcrest.CoreMatchers.instanceOf;
|
||||
|
||||
public class FieldMaskingSpanQueryBuilderTests extends BaseQueryTestCase<FieldMaskingSpanQueryBuilder> {
|
||||
public class FieldMaskingSpanQueryBuilderTests extends AbstractQueryTestCase<FieldMaskingSpanQueryBuilder> {
|
||||
|
||||
@Override
|
||||
protected FieldMaskingSpanQueryBuilder doCreateTestQueryBuilder() {
|
||||
|
@ -31,7 +31,7 @@ import static org.hamcrest.CoreMatchers.instanceOf;
|
||||
import static org.hamcrest.CoreMatchers.nullValue;
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public class FilteredQueryBuilderTests extends BaseQueryTestCase<FilteredQueryBuilder> {
|
||||
public class FilteredQueryBuilderTests extends AbstractQueryTestCase<FilteredQueryBuilder> {
|
||||
|
||||
@Override
|
||||
protected FilteredQueryBuilder doCreateTestQueryBuilder() {
|
||||
|
@ -32,7 +32,7 @@ import java.io.IOException;
|
||||
import static org.hamcrest.Matchers.instanceOf;
|
||||
import static org.hamcrest.Matchers.is;
|
||||
|
||||
public class FuzzyQueryBuilderTests extends BaseQueryTestCase<FuzzyQueryBuilder> {
|
||||
public class FuzzyQueryBuilderTests extends AbstractQueryTestCase<FuzzyQueryBuilder> {
|
||||
|
||||
@Override
|
||||
protected FuzzyQueryBuilder doCreateTestQueryBuilder() {
|
||||
|
@ -34,7 +34,7 @@ import static org.hamcrest.Matchers.equalTo;
|
||||
import static org.hamcrest.Matchers.instanceOf;
|
||||
import static org.hamcrest.Matchers.notNullValue;
|
||||
|
||||
public class GeoDistanceRangeQueryTests extends BaseQueryTestCase<GeoDistanceRangeQueryBuilder> {
|
||||
public class GeoDistanceRangeQueryTests extends AbstractQueryTestCase<GeoDistanceRangeQueryBuilder> {
|
||||
|
||||
@Override
|
||||
protected GeoDistanceRangeQueryBuilder doCreateTestQueryBuilder() {
|
||||
|
@ -34,7 +34,7 @@ import static org.hamcrest.Matchers.equalTo;
|
||||
import static org.hamcrest.Matchers.instanceOf;
|
||||
import static org.hamcrest.Matchers.notNullValue;
|
||||
|
||||
public class GeohashCellQueryBuilderTests extends BaseQueryTestCase<GeohashCellQuery.Builder> {
|
||||
public class GeohashCellQueryBuilderTests extends AbstractQueryTestCase<Builder> {
|
||||
|
||||
@Override
|
||||
protected Builder doCreateTestQueryBuilder() {
|
||||
|
@ -40,7 +40,7 @@ import java.io.IOException;
|
||||
import static org.elasticsearch.test.StreamsUtils.copyToStringFromClasspath;
|
||||
import static org.hamcrest.CoreMatchers.instanceOf;
|
||||
|
||||
public class HasChildQueryBuilderTests extends BaseQueryTestCase<HasChildQueryBuilder> {
|
||||
public class HasChildQueryBuilderTests extends AbstractQueryTestCase<HasChildQueryBuilder> {
|
||||
protected static final String PARENT_TYPE = "parent";
|
||||
protected static final String CHILD_TYPE = "child";
|
||||
|
||||
@ -108,7 +108,7 @@ public class HasChildQueryBuilderTests extends BaseQueryTestCase<HasChildQueryBu
|
||||
return new HasChildQueryBuilder(CHILD_TYPE,
|
||||
RandomQueryBuilder.createQuery(random()), max, min,
|
||||
RandomPicks.randomFrom(random(), ScoreType.values()),
|
||||
SearchContext.current() == null ? null : new QueryInnerHits("inner_hits_name", innerHit));
|
||||
randomBoolean() ? null : new QueryInnerHits("inner_hits_name", innerHit));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -40,7 +40,7 @@ import java.util.Arrays;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.instanceOf;
|
||||
|
||||
public class HasParentQueryBuilderTests extends BaseQueryTestCase<HasParentQueryBuilder> {
|
||||
public class HasParentQueryBuilderTests extends AbstractQueryTestCase<HasParentQueryBuilder> {
|
||||
protected static final String PARENT_TYPE = "parent";
|
||||
protected static final String CHILD_TYPE = "child";
|
||||
|
||||
@ -105,7 +105,7 @@ public class HasParentQueryBuilderTests extends BaseQueryTestCase<HasParentQuery
|
||||
InnerHitsBuilder.InnerHit innerHit = new InnerHitsBuilder.InnerHit().setSize(100).addSort(STRING_FIELD_NAME, SortOrder.ASC);
|
||||
return new HasParentQueryBuilder(PARENT_TYPE,
|
||||
RandomQueryBuilder.createQuery(random()),randomBoolean(),
|
||||
SearchContext.current() == null ? null : new QueryInnerHits("inner_hits_name", innerHit));
|
||||
randomBoolean() ? null : new QueryInnerHits("inner_hits_name", innerHit));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -33,7 +33,7 @@ import java.util.Map;
|
||||
import static org.hamcrest.CoreMatchers.equalTo;
|
||||
import static org.hamcrest.CoreMatchers.instanceOf;
|
||||
|
||||
public class IdsQueryBuilderTests extends BaseQueryTestCase<IdsQueryBuilder> {
|
||||
public class IdsQueryBuilderTests extends AbstractQueryTestCase<IdsQueryBuilder> {
|
||||
|
||||
/**
|
||||
* check that parser throws exception on missing values field
|
||||
|
@ -24,7 +24,7 @@ import org.junit.Test;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
public class IndicesQueryBuilderTests extends BaseQueryTestCase<IndicesQueryBuilder> {
|
||||
public class IndicesQueryBuilderTests extends AbstractQueryTestCase<IndicesQueryBuilder> {
|
||||
|
||||
@Override
|
||||
protected IndicesQueryBuilder doCreateTestQueryBuilder() {
|
||||
|
@ -26,7 +26,7 @@ import java.io.IOException;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.instanceOf;
|
||||
|
||||
public class LimitQueryBuilderTests extends BaseQueryTestCase<LimitQueryBuilder> {
|
||||
public class LimitQueryBuilderTests extends AbstractQueryTestCase<LimitQueryBuilder> {
|
||||
|
||||
/**
|
||||
* @return a LimitQueryBuilder with random limit between 0 and 20
|
||||
|
@ -26,7 +26,7 @@ import java.io.IOException;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.instanceOf;
|
||||
|
||||
public class MatchAllQueryBuilderTests extends BaseQueryTestCase<MatchAllQueryBuilder> {
|
||||
public class MatchAllQueryBuilderTests extends AbstractQueryTestCase<MatchAllQueryBuilder> {
|
||||
|
||||
@Override
|
||||
protected MatchAllQueryBuilder doCreateTestQueryBuilder() {
|
||||
|
@ -27,7 +27,7 @@ import java.io.IOException;
|
||||
import static org.hamcrest.CoreMatchers.equalTo;
|
||||
import static org.hamcrest.CoreMatchers.instanceOf;
|
||||
|
||||
public class MatchNoneQueryBuilderTests extends BaseQueryTestCase {
|
||||
public class MatchNoneQueryBuilderTests extends AbstractQueryTestCase {
|
||||
|
||||
@Override
|
||||
protected boolean supportsBoostAndQueryName() {
|
||||
|
@ -26,7 +26,7 @@ import java.io.IOException;
|
||||
|
||||
import static org.hamcrest.Matchers.is;
|
||||
|
||||
public class MissingQueryBuilderTests extends BaseQueryTestCase<MissingQueryBuilder> {
|
||||
public class MissingQueryBuilderTests extends AbstractQueryTestCase<MissingQueryBuilder> {
|
||||
|
||||
@Override
|
||||
protected MissingQueryBuilder doCreateTestQueryBuilder() {
|
||||
|
@ -31,7 +31,7 @@ import java.util.Map;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.*;
|
||||
|
||||
public class NotQueryBuilderTests extends BaseQueryTestCase<NotQueryBuilder> {
|
||||
public class NotQueryBuilderTests extends AbstractQueryTestCase<NotQueryBuilder> {
|
||||
|
||||
/**
|
||||
* @return a NotQueryBuilder with random limit between 0 and 20
|
||||
|
@ -30,7 +30,7 @@ import java.util.*;
|
||||
import static org.hamcrest.CoreMatchers.*;
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public class OrQueryBuilderTests extends BaseQueryTestCase<OrQueryBuilder> {
|
||||
public class OrQueryBuilderTests extends AbstractQueryTestCase<OrQueryBuilder> {
|
||||
|
||||
/**
|
||||
* @return an OrQueryBuilder with random limit between 0 and 20
|
||||
|
@ -29,7 +29,7 @@ import static org.hamcrest.Matchers.equalTo;
|
||||
import static org.hamcrest.Matchers.instanceOf;
|
||||
import static org.hamcrest.Matchers.is;
|
||||
|
||||
public class PrefixQueryBuilderTests extends BaseQueryTestCase<PrefixQueryBuilder> {
|
||||
public class PrefixQueryBuilderTests extends AbstractQueryTestCase<PrefixQueryBuilder> {
|
||||
|
||||
@Override
|
||||
protected PrefixQueryBuilder doCreateTestQueryBuilder() {
|
||||
|
@ -28,7 +28,7 @@ import java.io.IOException;
|
||||
import static org.hamcrest.CoreMatchers.*;
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public class QueryFilterBuilderTests extends BaseQueryTestCase<QueryFilterBuilder> {
|
||||
public class QueryFilterBuilderTests extends AbstractQueryTestCase<QueryFilterBuilder> {
|
||||
|
||||
@Override
|
||||
protected QueryFilterBuilder doCreateTestQueryBuilder() {
|
||||
|
@ -62,7 +62,7 @@ public class RandomQueryBuilder {
|
||||
// for now, only use String Rangequeries for MultiTerm test, numeric and date makes little sense
|
||||
// see issue #12123 for discussion
|
||||
// Prefix / Fuzzy / RegEx / Wildcard can go here later once refactored and they have random query generators
|
||||
RangeQueryBuilder query = new RangeQueryBuilder(BaseQueryTestCase.STRING_FIELD_NAME);
|
||||
RangeQueryBuilder query = new RangeQueryBuilder(AbstractQueryTestCase.STRING_FIELD_NAME);
|
||||
query.from("a" + RandomStrings.randomAsciiOfLengthBetween(r, 1, 10));
|
||||
query.to("z" + RandomStrings.randomAsciiOfLengthBetween(r, 1, 10));
|
||||
return query;
|
||||
|
@ -31,7 +31,7 @@ import java.io.IOException;
|
||||
import static org.hamcrest.Matchers.instanceOf;
|
||||
import static org.hamcrest.Matchers.is;
|
||||
|
||||
public class RangeQueryBuilderTests extends BaseQueryTestCase<RangeQueryBuilder> {
|
||||
public class RangeQueryBuilderTests extends AbstractQueryTestCase<RangeQueryBuilder> {
|
||||
|
||||
@Override
|
||||
protected RangeQueryBuilder doCreateTestQueryBuilder() {
|
||||
|
@ -30,7 +30,7 @@ import java.util.List;
|
||||
import static org.hamcrest.Matchers.instanceOf;
|
||||
import static org.hamcrest.Matchers.is;
|
||||
|
||||
public class RegexpQueryBuilderTests extends BaseQueryTestCase<RegexpQueryBuilder> {
|
||||
public class RegexpQueryBuilderTests extends AbstractQueryTestCase<RegexpQueryBuilder> {
|
||||
|
||||
@Override
|
||||
protected RegexpQueryBuilder doCreateTestQueryBuilder() {
|
||||
|
@ -31,7 +31,7 @@ import java.util.Map;
|
||||
import static org.hamcrest.Matchers.instanceOf;
|
||||
import static org.hamcrest.Matchers.is;
|
||||
|
||||
public class ScriptQueryBuilderTests extends BaseQueryTestCase<ScriptQueryBuilder> {
|
||||
public class ScriptQueryBuilderTests extends AbstractQueryTestCase<ScriptQueryBuilder> {
|
||||
|
||||
@Override
|
||||
protected ScriptQueryBuilder doCreateTestQueryBuilder() {
|
||||
|
@ -32,7 +32,7 @@ import java.util.*;
|
||||
|
||||
import static org.hamcrest.Matchers.*;
|
||||
|
||||
public class SimpleQueryStringBuilderTests extends BaseQueryTestCase<SimpleQueryStringBuilder> {
|
||||
public class SimpleQueryStringBuilderTests extends AbstractQueryTestCase<SimpleQueryStringBuilder> {
|
||||
|
||||
@Override
|
||||
protected SimpleQueryStringBuilder doCreateTestQueryBuilder() {
|
||||
|
@ -28,7 +28,7 @@ import java.io.IOException;
|
||||
import static org.hamcrest.CoreMatchers.equalTo;
|
||||
import static org.hamcrest.CoreMatchers.instanceOf;
|
||||
|
||||
public class SpanContainingQueryBuilderTests extends BaseQueryTestCase<SpanContainingQueryBuilder> {
|
||||
public class SpanContainingQueryBuilderTests extends AbstractQueryTestCase<SpanContainingQueryBuilder> {
|
||||
|
||||
@Override
|
||||
protected SpanContainingQueryBuilder doCreateTestQueryBuilder() {
|
||||
|
@ -30,7 +30,7 @@ import java.io.IOException;
|
||||
import static org.elasticsearch.index.query.QueryBuilders.spanTermQuery;
|
||||
import static org.hamcrest.CoreMatchers.instanceOf;
|
||||
|
||||
public class SpanFirstQueryBuilderTests extends BaseQueryTestCase<SpanFirstQueryBuilder> {
|
||||
public class SpanFirstQueryBuilderTests extends AbstractQueryTestCase<SpanFirstQueryBuilder> {
|
||||
|
||||
@Override
|
||||
protected SpanFirstQueryBuilder doCreateTestQueryBuilder() {
|
||||
|
@ -29,7 +29,7 @@ import java.io.IOException;
|
||||
import static org.hamcrest.CoreMatchers.equalTo;
|
||||
import static org.hamcrest.CoreMatchers.instanceOf;
|
||||
|
||||
public class SpanMultiTermQueryBuilderTests extends BaseQueryTestCase<SpanMultiTermQueryBuilder> {
|
||||
public class SpanMultiTermQueryBuilderTests extends AbstractQueryTestCase<SpanMultiTermQueryBuilder> {
|
||||
|
||||
@Override
|
||||
protected SpanMultiTermQueryBuilder doCreateTestQueryBuilder() {
|
||||
|
@ -30,7 +30,7 @@ import java.util.Iterator;
|
||||
import static org.hamcrest.CoreMatchers.equalTo;
|
||||
import static org.hamcrest.CoreMatchers.instanceOf;
|
||||
|
||||
public class SpanNearQueryBuilderTests extends BaseQueryTestCase<SpanNearQueryBuilder> {
|
||||
public class SpanNearQueryBuilderTests extends AbstractQueryTestCase<SpanNearQueryBuilder> {
|
||||
|
||||
@Override
|
||||
protected SpanNearQueryBuilder doCreateTestQueryBuilder() {
|
||||
|
@ -31,7 +31,7 @@ import static org.elasticsearch.index.query.QueryBuilders.spanNearQuery;
|
||||
import static org.elasticsearch.index.query.QueryBuilders.spanTermQuery;
|
||||
import static org.hamcrest.Matchers.*;
|
||||
|
||||
public class SpanNotQueryBuilderTests extends BaseQueryTestCase<SpanNotQueryBuilder> {
|
||||
public class SpanNotQueryBuilderTests extends AbstractQueryTestCase<SpanNotQueryBuilder> {
|
||||
|
||||
@Override
|
||||
protected SpanNotQueryBuilder doCreateTestQueryBuilder() {
|
||||
|
@ -30,7 +30,7 @@ import java.util.Iterator;
|
||||
import static org.hamcrest.CoreMatchers.equalTo;
|
||||
import static org.hamcrest.CoreMatchers.instanceOf;
|
||||
|
||||
public class SpanOrQueryBuilderTests extends BaseQueryTestCase<SpanOrQueryBuilder> {
|
||||
public class SpanOrQueryBuilderTests extends AbstractQueryTestCase<SpanOrQueryBuilder> {
|
||||
|
||||
@Override
|
||||
protected SpanOrQueryBuilder doCreateTestQueryBuilder() {
|
||||
|
@ -30,7 +30,7 @@ import java.io.IOException;
|
||||
import static org.hamcrest.CoreMatchers.equalTo;
|
||||
import static org.hamcrest.CoreMatchers.instanceOf;
|
||||
|
||||
public class SpanTermQueryBuilderTests extends BaseTermQueryTestCase<SpanTermQueryBuilder> {
|
||||
public class SpanTermQueryBuilderTests extends AbstractTermQueryTestCase<SpanTermQueryBuilder> {
|
||||
|
||||
@Override
|
||||
protected SpanTermQueryBuilder createQueryBuilder(String fieldName, Object value) {
|
||||
|
@ -28,7 +28,7 @@ import java.io.IOException;
|
||||
import static org.hamcrest.CoreMatchers.equalTo;
|
||||
import static org.hamcrest.CoreMatchers.instanceOf;
|
||||
|
||||
public class SpanWithinQueryBuilderTests extends BaseQueryTestCase<SpanWithinQueryBuilder> {
|
||||
public class SpanWithinQueryBuilderTests extends AbstractQueryTestCase<SpanWithinQueryBuilder> {
|
||||
|
||||
@Override
|
||||
protected SpanWithinQueryBuilder doCreateTestQueryBuilder() {
|
||||
|
@ -33,7 +33,7 @@ import java.util.Map;
|
||||
|
||||
import static org.hamcrest.Matchers.is;
|
||||
|
||||
public class TemplateQueryBuilderTests extends BaseQueryTestCase<TemplateQueryBuilder> {
|
||||
public class TemplateQueryBuilderTests extends AbstractQueryTestCase<TemplateQueryBuilder> {
|
||||
|
||||
/**
|
||||
* The query type all template tests will be based on.
|
||||
|
@ -30,7 +30,7 @@ import java.io.IOException;
|
||||
import static org.hamcrest.CoreMatchers.equalTo;
|
||||
import static org.hamcrest.CoreMatchers.instanceOf;
|
||||
|
||||
public class TermQueryBuilderTests extends BaseTermQueryTestCase<TermQueryBuilder> {
|
||||
public class TermQueryBuilderTests extends AbstractTermQueryTestCase<TermQueryBuilder> {
|
||||
|
||||
/**
|
||||
* @return a TermQuery with random field name and value, optional random boost and queryname
|
||||
|
@ -24,6 +24,7 @@ import org.apache.lucene.search.BooleanClause;
|
||||
import org.apache.lucene.search.BooleanQuery;
|
||||
import org.apache.lucene.search.Query;
|
||||
import org.apache.lucene.search.TermQuery;
|
||||
import org.elasticsearch.common.ParseFieldMatcher;
|
||||
import org.elasticsearch.common.settings.Settings;
|
||||
import org.elasticsearch.index.search.termslookup.TermsLookupFetchService;
|
||||
import org.elasticsearch.indices.cache.query.terms.TermsLookup;
|
||||
@ -38,7 +39,7 @@ import java.util.List;
|
||||
|
||||
import static org.hamcrest.Matchers.*;
|
||||
|
||||
public class TermsQueryBuilderTests extends BaseQueryTestCase<TermsQueryBuilder> {
|
||||
public class TermsQueryBuilderTests extends AbstractQueryTestCase<TermsQueryBuilder> {
|
||||
|
||||
private MockTermsLookupFetchService termsLookupFetchService;
|
||||
|
||||
@ -48,6 +49,11 @@ public class TermsQueryBuilderTests extends BaseQueryTestCase<TermsQueryBuilder>
|
||||
queryParserService().setTermsLookupFetchService(termsLookupFetchService);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ParseFieldMatcher getDefaultParseFieldMatcher() {
|
||||
return ParseFieldMatcher.EMPTY;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TermsQueryBuilder doCreateTestQueryBuilder() {
|
||||
TermsQueryBuilder query;
|
||||
|
@ -29,7 +29,7 @@ import java.io.IOException;
|
||||
|
||||
import static org.hamcrest.Matchers.*;
|
||||
|
||||
public class TypeQueryBuilderTests extends BaseQueryTestCase<TypeQueryBuilder> {
|
||||
public class TypeQueryBuilderTests extends AbstractQueryTestCase<TypeQueryBuilder> {
|
||||
|
||||
@Override
|
||||
protected TypeQueryBuilder doCreateTestQueryBuilder() {
|
||||
|
@ -28,7 +28,7 @@ import java.io.IOException;
|
||||
import static org.hamcrest.Matchers.instanceOf;
|
||||
import static org.hamcrest.Matchers.is;
|
||||
|
||||
public class WildcardQueryBuilderTests extends BaseQueryTestCase<WildcardQueryBuilder> {
|
||||
public class WildcardQueryBuilderTests extends AbstractQueryTestCase<WildcardQueryBuilder> {
|
||||
|
||||
@Override
|
||||
protected WildcardQueryBuilder doCreateTestQueryBuilder() {
|
||||
|
@ -29,7 +29,7 @@ import java.io.IOException;
|
||||
import static org.hamcrest.Matchers.equalTo;
|
||||
import static org.hamcrest.Matchers.is;
|
||||
|
||||
public class WrapperQueryBuilderTests extends BaseQueryTestCase<WrapperQueryBuilder> {
|
||||
public class WrapperQueryBuilderTests extends AbstractQueryTestCase<WrapperQueryBuilder> {
|
||||
|
||||
@Override
|
||||
protected boolean supportsBoostAndQueryName() {
|
||||
|
Loading…
x
Reference in New Issue
Block a user