Package org.elasticsearch.index.mapper
Class MapperTestCase
java.lang.Object
org.junit.Assert
org.apache.lucene.tests.util.LuceneTestCase
org.elasticsearch.test.ESTestCase
org.elasticsearch.index.mapper.FieldTypeTestCase
org.elasticsearch.index.mapper.MapperServiceTestCase
org.elasticsearch.index.mapper.MapperTestCase
- Direct Known Subclasses:
NumberFieldMapperTests
Base class for testing
Mappers.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn example of a malformed value.protected classclassstatic final recordstatic final recordstatic interfaceNested classes/interfaces inherited from class org.elasticsearch.index.mapper.MapperServiceTestCase
MapperServiceTestCase.TestMapperServiceBuilderNested classes/interfaces inherited from class org.elasticsearch.test.ESTestCase
ESTestCase.DeprecationWarning, ESTestCase.EntitledTestPackages, ESTestCase.GeohashGenerator, ESTestCase.TestAnalysis, ESTestCase.WithEntitlementsOnTestCode, ESTestCase.WithoutEntitlementsNested classes/interfaces inherited from class org.apache.lucene.tests.util.LuceneTestCase
org.apache.lucene.tests.util.LuceneTestCase.AwaitsFix, org.apache.lucene.tests.util.LuceneTestCase.BadApple, org.apache.lucene.tests.util.LuceneTestCase.Monster, org.apache.lucene.tests.util.LuceneTestCase.Nightly, org.apache.lucene.tests.util.LuceneTestCase.SuppressCodecs, org.apache.lucene.tests.util.LuceneTestCase.SuppressFileSystems, org.apache.lucene.tests.util.LuceneTestCase.SuppressFsync, org.apache.lucene.tests.util.LuceneTestCase.SuppressReproduceLine, org.apache.lucene.tests.util.LuceneTestCase.SuppressSysoutChecks, org.apache.lucene.tests.util.LuceneTestCase.SuppressTempFileChecks, org.apache.lucene.tests.util.LuceneTestCase.ThrowingConsumer<T>, org.apache.lucene.tests.util.LuceneTestCase.ThrowingRunnable, org.apache.lucene.tests.util.LuceneTestCase.Weekly -
Field Summary
FieldsFields inherited from class org.elasticsearch.index.mapper.MapperServiceTestCase
INCLUDE_DEFAULTS, SETTINGSFields inherited from class org.elasticsearch.index.mapper.FieldTypeTestCase
MOCK_CONTEXT, MOCK_CONTEXT_DISALLOW_EXPENSIVEFields inherited from class org.elasticsearch.test.ESTestCase
checkIndexFailures, DEFAULT_TEST_WORKER_ID, failureAndSuccessEvents, FIPS_SYSPROP, JAVA_TIMEZONE_IDS, JAVA_ZONE_IDS, logger, MIN_PRIVATE_PORT, SAFE_AWAIT_TIMEOUT, TEST_ENTITLEMENTS, TEST_REQUEST_TIMEOUT, TEST_WORKER_SYS_PROPERTY, TEST_WORKER_VM_ID, UNSIGNED_LONG_MAXFields inherited from class org.apache.lucene.tests.util.LuceneTestCase
assertsAreEnabled, classRules, DEFAULT_LINE_DOCS_FILE, INFOSTREAM, JENKINS_LARGE_LINE_DOCS_FILE, LEAVE_TEMPORARY, MAYBE_CACHE_POLICY, RANDOM_MULTIPLIER, ruleChain, suiteFailureMarker, SYSPROP_AWAITSFIX, SYSPROP_BADAPPLES, SYSPROP_FAILFAST, SYSPROP_MAXFAILURES, SYSPROP_MONSTER, SYSPROP_NIGHTLY, SYSPROP_WEEKLY, TEST_ASSERTS_ENABLED, TEST_AWAITSFIX, TEST_BADAPPLES, TEST_CODEC, TEST_DIRECTORY, TEST_DOCVALUESFORMAT, TEST_LINE_DOCS_FILE, TEST_MONSTER, TEST_NIGHTLY, TEST_POSTINGSFORMAT, TEST_THROTTLING, TEST_WEEKLY, VERBOSE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanprotected booleanprotected voidprotected <T> voidassertDimension(boolean isDimension, Function<T, Boolean> checker) protected voidassertExistsQuery(MappedFieldType fieldType, org.apache.lucene.search.Query query, LuceneDocument fields) protected voidassertExistsQuery(MapperService mapperService) protected voidassertFetch(MapperService mapperService, String field, Object value, String format) Assert that fetching a value usingMappedFieldType.valueFetcher(org.elasticsearch.index.query.SearchExecutionContext, java.lang.String)produces the same value as fetching using doc values.protected voidassertFetchMany(MapperService mapperService, String field, Object value, String format, int count) Assert that fetching many values usingMappedFieldType.valueFetcher(org.elasticsearch.index.query.SearchExecutionContext, java.lang.String)produces the same values as fetching using doc values.protected static voidassertHasNorms(LuceneDocument doc, String field) protected <T> voidassertMetricType(String metricType, Function<T, Enum<TimeSeriesParams.MetricType>> checker) protected static voidassertNoDocValuesField(LuceneDocument doc, String field) protected static voidprotected final voidprotected final voidprotected static voidassertScriptDocValues(MapperService mapperService, Object sourceValue, org.hamcrest.Matcher<List<?>> dvMatcher) protected voidassertSearchable(MappedFieldType fieldType) protected IndexVersionprotected final <T> TcompileScript(Script script, ScriptContext<T> context) This is the injection point for tests that require mock scripts.protected booleanA few field types (e.g.protected final MapperTestCase.ExampleMalformedValueexampleMalformedValue(String value) Build anMapperTestCase.ExampleMalformedValuethat parses a string.protected final MapperTestCase.ExampleMalformedValueexampleMalformedValue(org.elasticsearch.core.CheckedConsumer<org.elasticsearch.xcontent.XContentBuilder, IOException> value) Build anMapperTestCase.ExampleMalformedValuefor arbitrary xcontent.protected List<MapperTestCase.ExampleMalformedValue> Some example of malformed values and matches for exceptions that parsing them should create.protected final List<?> fetchFromDocValues(MapperService mapperService, MappedFieldType ft, DocValueFormat format, Object sourceValue) Use a ValueFetcher to extract values from doc values.protected abstract ObjectCreate a random_sourcevalue for this field.protected String[]protected String[]protected String[]getParseMinimalWarnings(IndexVersion indexVersion) protected ObjectReturns a sample object for the field or exception if the field does not support parsing objectsprotected abstract ObjectReturns a sample value for the field, to be used in a documentprotected ObjectReturns a sample value for the field, to be used when querying the field.protected abstract MapperTestCase.IngestScriptSupportprotected voidmetaMapping(org.elasticsearch.xcontent.XContentBuilder b) protected Stringprotected abstract voidminimalMapping(org.elasticsearch.xcontent.XContentBuilder b) protected voidminimalMapping(org.elasticsearch.xcontent.XContentBuilder b, IndexVersion indexVersion) Provides a way for subclasses to define minimal mappings for previous index versionsprotected voidminimalStoreMapping(org.elasticsearch.xcontent.XContentBuilder b) protected voidrandomFetchTestFieldConfig(org.elasticsearch.xcontent.XContentBuilder b) Field configuration fortestFetch()andtestFetchMany().protected StringA random format to use when tripping intestFetch()andtestFetchMany().protected final MapperServiceprotected Stringprotected voidTest that dimension parameter is not updateableprotected abstract voidprotected booleanprotected booleanOverride to disable testingcopy_toin fields that don't support it.protected booleanprotected abstract booleanDoes this field mapper supportignore_malformed?protected booleanOverride to disable testingmetain fields that don't support it.protected booleanprotected booleanprotected abstract MapperTestCase.SyntheticSourceSupportsyntheticSourceSupport(boolean ignoreMalformed) protected MapperTestCase.SyntheticSourceSupportsyntheticSourceSupport(boolean ignoreMalformed, boolean columnReader) protected MapperTestCase.SyntheticSourceSupportsyntheticSourceSupportForKeepTests(boolean ignoreMalformed, Mapper.SourceKeepMode keepMode) voidfinal voidvoidvoidfinal voidfinal voidfinal voidThis test verifies that the exists query created is the appropriate one, and aligns with the data structures being created for a document with a value for the field.final voidAsserts that fetching a single value from doc values and from the nativeMappedFieldType.valueFetcher(org.elasticsearch.index.query.SearchExecutionContext, java.lang.String)produce the same results.final voidAsserts that fetching many values from doc values and from the nativeMappedFieldType.valueFetcher(org.elasticsearch.index.query.SearchExecutionContext, java.lang.String)produce the same results.final voidfinal voidfinal voidfinal voidChecks that field data from this field produces the same values for query-time scripts and for index-time scriptsfinal voidChecks that loading stored fields for this field produces the same set of values for query time scripts and index time scriptsfinal voidtestMeta()final voidfinal voidfinal voidfinal voidfinal voidvoidfinal voidfinal voidfinal voidvoidfinal voidfinal voidfinal voidvoidvoidvoidfinal voidfinal voidfinal voidvoidvoidprotected voidwriteField(org.elasticsearch.xcontent.XContentBuilder builder) Writes the field and a sample value for it to the providedXContentBuilder.Methods inherited from class org.elasticsearch.index.mapper.MapperServiceTestCase
createDocumentMapper, createDocumentMapper, createDocumentMapper, createDocumentMapper, createIndexAnalyzers, createIndexAnalyzers, createIndexSettings, createLogsModeDocumentMapper, createMapperService, createMapperService, createMapperService, createMapperService, createMapperService, createMapperService, createMapperService, createMapperService, createMapperService, createSearchExecutionContext, createSearchExecutionContext, createSearchExecutionContext, createSytheticSourceMapperService, createTestMapperMetrics, createTimeSeriesModeDocumentMapper, dynamicMapping, fieldDataLookup, fieldDataLookup, fieldMapping, getIndexSettings, getIndexSettingsBuilder, getPlugins, getVersion, indexWriterForSyntheticSource, mapping, mappingNoSubobjects, mappingWithSubobjects, merge, merge, merge, merge, randomIndexOptions, runtimeFieldMapping, runtimeMapping, source, source, source, source, syntheticSource, syntheticSource, syntheticSource, syntheticSource, topMapping, validateRoundTripReader, withAggregationContext, withAggregationContext, withAggregationContext, withAggregationContext, withLuceneIndex, withMapping, wrapInMockESDirectoryReaderMethods inherited from class org.elasticsearch.index.mapper.FieldTypeTestCase
fetchSourceValue, fetchSourceValue, fetchSourceValues, fetchStoredValue, getFieldInfoWithName, getMappedFieldType, randomMockContext, testFieldHasValue, testFieldHasValueWithEmptyFieldInfosMethods inherited from class org.elasticsearch.test.ESTestCase
after, afterIfFailed, afterIfSuccessful, allBreakersMemoryReleased, asInstanceOf, assertArrayEquals, assertBusy, assertBusy, assertCriticalWarnings, assertEquals, assertLeakDetected, assertSettingDeprecationsAndWarnings, assertThat, assertThat, assertWarnings, assertWarnings, before, between, buildEnvSettings, buildNewFakeTransportAddress, captureLoggingLevel, checkStaticState, compatibleMediaType, copyInstance, copyNamedWriteable, copyNamedWriteable, copyWriteable, copyWriteable, createDefaultIndexAnalyzers, createParser, createParser, createParser, createParser, createParser, createParser, createParserWithCompatibilityFor, createTestAnalysis, createTestAnalysis, createTestAnalysis, createThreadPool, enableBigArraysReleasedCheck, enableWarningsCheck, ensureAllContextsReleased, ensureAllSearchContextsReleased, ensureCheckIndexPassed, ensureNoWarnings, ensureSupportedLocale, expectThrows, expectThrows, expectThrows, fail, fail, filteredWarnings, flushThreadPoolExecutor, frequently, generateRandomStringArray, generateRandomStringArray, getDataPath, getPortRange, getResourceDataPath, getSuiteFailureMarker, getTestTransportPlugin, getTestTransportType, getWorkerBasePort, indexSettings, indexSettings, inFipsJvm, initTestSeed, isTurkishLocale, iterations, maybeSet, mockScript, newEnvironment, newEnvironment, newLimitedBreaker, newNodeEnvironment, newNodeEnvironment, parserConfig, randomAlphanumericOfLength, randomAlphaOfLength, randomAlphaOfLengthBetween, randomAlphaOfLengthOrNull, randomArray, randomArray, randomBigInteger, randomBoolean, randomByte, randomByteArrayOfLength, randomByteBetween, randomBytesBetween, randomByteSizeValue, randomBytesReference, randomCompatibleMediaType, randomDateFormatterPattern, randomDouble, randomDoubleBetween, randomDoubles, randomDoubles, randomExecutor, randomFloat, randomFloatBetween, randomFloatOrNull, randomFrom, randomFrom, randomFrom, randomFrom, randomFrom, randomFrom, randomGeohash, randomIdentifier, randomInstantBetween, randomInt, randomInt, randomIntBetween, randomIntOrNull, randomInts, randomInts, randomIp, randomList, randomList, randomLong, randomLongBetween, randomLongOrNull, randomLongs, randomLongs, randomMap, randomMillisUpToYear9999, randomNegativeInt, randomNonEmptySubsetOf, randomNonNegativeByte, randomNonNegativeInt, randomNonNegativeIntOrNull, randomNonNegativeLong, randomNonNegativeLongOrNull, randomOptionalBoolean, randomPositiveTimeValue, randomRealisticUnicodeOfCodepointLength, randomRealisticUnicodeOfCodepointLengthBetween, randomRealisticUnicodeOfLength, randomRealisticUnicodeOfLengthBetween, randomSecretKey, randomSecureStringOfLength, randomSet, randomShort, randomSubsetOf, randomSubsetOf, randomSubsetOf, randomTimeValue, randomTimeValue, randomTimeValue, randomTimeZone, randomUnicodeOfCodepointLength, randomUnicodeOfCodepointLengthBetween, randomUnicodeOfLength, randomUnicodeOfLengthBetween, randomUnique, randomUnsignedLongBetween, randomUUID, randomValueOtherThan, randomValueOtherThanMany, randomVendorType, randomZone, removeHeaderWarningAppender, resetCheckIndexStatus, resetPortCounter, restoreContentType, restoreFileSystem, restoreLoggingLevel, runInParallel, safeAcquire, safeAcquire, safeAwait, safeAwait, safeAwait, safeAwait, safeAwait, safeAwait, safeAwaitAndUnwrapFailure, safeAwaitFailure, safeAwaitFailure, safeAwaitFailure, safeAwaitFailure, safeExecute, safeGet, safeGet, safeSleep, safeSleep, scaledRandomIntBetween, secureRandom, secureRandom, secureRandomFips, secureRandomFips, secureRandomNonFips, secureRandomNonFips, setContentType, setFileSystem, setHeaderWarningAppender, settings, shuffledList, shuffleMap, shuffleXContent, shuffleXContent, skipTestWaitingForLuceneFix, spinForAtLeastNMilliseconds, spinForAtLeastOneMillisecond, startInParallel, terminate, terminate, tmpPaths, toShuffledXContent, waitUntil, waitUntil, writableRegistry, xContentRegistryMethods inherited from class org.apache.lucene.tests.util.LuceneTestCase
addVirusChecker, assertDeletedDocsEquals, assertDocsAndPositionsEnumEquals, assertDocsEnumEquals, assertDocsSkippingEquals, assertDocValuesEquals, assertDocValuesEquals, assertDoubleUlpEquals, assertFieldInfosEquals, assertFloatUlpEquals, assertNormsEquals, assertPointsEquals, assertPositionsSkippingEquals, assertReaderEquals, assertReaderStatisticsEquals, assertStoredFieldEquals, assertStoredFieldsEquals, assertTermsEnumEquals, assertTermsEquals, assertTermsEquals, assertTermsStatisticsEquals, assertTermStatsEquals, assertTermVectorsEquals, asSet, assumeFalse, assumeNoException, assumeTrue, assumeWorkingMMapOnWindows, atLeast, atLeast, callStackContains, callStackContains, callStackContainsAnyOf, closeAfterSuite, closeAfterTest, collate, createTempDir, createTempDir, createTempFile, createTempFile, dumpArray, dumpIterator, ensureSaneIWCOnNightly, expectThrows, expectThrows, expectThrows, expectThrowsAnyOf, expectThrowsAnyOf, getDataInputStream, getJvmForkArguments, getOnlyLeafReader, getTestClass, getTestName, hasWorkingMMapOnWindows, isTestThread, localeForLanguageTag, maybeChangeLiveIndexWriterConfig, maybeWrapReader, newAlcoholicMergePolicy, newAlcoholicMergePolicy, newBytesRef, newBytesRef, newBytesRef, newBytesRef, newBytesRef, newBytesRef, newDirectory, newDirectory, newDirectory, newDirectory, newDirectory, newField, newField, newFSDirectory, newFSDirectory, newIndexWriterConfig, newIndexWriterConfig, newIndexWriterConfig, newIOContext, newIOContext, newLogMergePolicy, newLogMergePolicy, newLogMergePolicy, newLogMergePolicy, newLogMergePolicy, newMaybeVirusCheckingDirectory, newMaybeVirusCheckingFSDirectory, newMergePolicy, newMergePolicy, newMergePolicy, newMockDirectory, newMockDirectory, newMockDirectory, newMockFSDirectory, newMockFSDirectory, newSearcher, newSearcher, newSearcher, newSearcher, newSnapshotIndexWriterConfig, newStringField, newStringField, newStringField, newStringField, newTextField, newTextField, newTieredMergePolicy, newTieredMergePolicy, overrideDefaultQueryCache, overrideTestDefaultQueryCache, random, randomLocale, randomTimeZone, randomVectorFormat, rarely, rarely, replaceMaxFailureRule, resetDefaultQueryCache, restoreCPUCoreCount, restoreIndexWriterMaxDocs, runWithRestrictedPermissions, setIndexWriterMaxDocs, setUp, setupCPUCoreCount, setUpExecutorService, shutdownExecutorService, slowFileExists, tearDown, usually, usually, wrapReaderMethods inherited from class org.junit.Assert
assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertThrows, assertThrows, assertTrue, assertTrue, fail, fail
-
Field Details
-
DEPRECATED_BOOST_INDEX_VERSION
-
-
Constructor Details
-
MapperTestCase
public MapperTestCase()
-
-
Method Details
-
minimalMapping
protected abstract void minimalMapping(org.elasticsearch.xcontent.XContentBuilder b) throws IOException - Throws:
IOException
-
minimalMapping
protected void minimalMapping(org.elasticsearch.xcontent.XContentBuilder b, IndexVersion indexVersion) throws IOException Provides a way for subclasses to define minimal mappings for previous index versions- Parameters:
b- content builder to use for building the minimal mappingindexVersion- index version the mapping should be created for- Throws:
IOException
-
writeField
Writes the field and a sample value for it to the providedXContentBuilder. To be overridden in case the field should not be written at all in documents, like in the case of runtime fields.- Throws:
IOException
-
getSampleValueForDocument
Returns a sample value for the field, to be used in a document -
getSampleObjectForDocument
Returns a sample object for the field or exception if the field does not support parsing objects -
getSampleValueForQuery
Returns a sample value for the field, to be used when querying the field. Normally this is the same format as what is indexed as part of a document, and returned bygetSampleValueForDocument(), but there are cases where fields are queried differently frow how they are indexed e.g. token_count or runtime fields -
testExistsQueryMinimalMapping
This test verifies that the exists query created is the appropriate one, and aligns with the data structures being created for a document with a value for the field. This can only be verified for the minimal mapping. Field types that allow configurable doc_values or norms should write their own tests that creates the different mappings combinations and invokeassertExistsQuery(MapperService)to verify the behaviour.- Throws:
IOException
-
testAggregatableConsistency
- Throws:
IOException
-
assertAggregatableConsistency
-
supportsIgnoreMalformed
protected abstract boolean supportsIgnoreMalformed()Does this field mapper supportignore_malformed? -
exampleMalformedValue
Build anMapperTestCase.ExampleMalformedValuethat parses a string. -
exampleMalformedValue
protected final MapperTestCase.ExampleMalformedValue exampleMalformedValue(org.elasticsearch.core.CheckedConsumer<org.elasticsearch.xcontent.XContentBuilder, IOException> value) Build anMapperTestCase.ExampleMalformedValuefor arbitrary xcontent. -
exampleMalformedValues
Some example of malformed values and matches for exceptions that parsing them should create. -
testIgnoreMalformedFalseByDefault
- Throws:
IOException
-
testIgnoreMalformedExplicitlyFalse
- Throws:
IOException
-
testIgnoreMalformedTrue
- Throws:
IOException
-
assertExistsQuery
- Throws:
IOException
-
assertExistsQuery
protected void assertExistsQuery(MappedFieldType fieldType, org.apache.lucene.search.Query query, LuceneDocument fields) -
assertNoFieldNamesField
-
assertHasNorms
-
assertNoDocValuesField
-
assertDimension
protected <T> void assertDimension(boolean isDimension, Function<T, Boolean> checker) throws IOException- Throws:
IOException
-
assertMetricType
protected <T> void assertMetricType(String metricType, Function<T, Enum<TimeSeriesParams.MetricType>> checker) throws IOException- Throws:
IOException
-
testEmptyName
public final void testEmptyName() -
testBlankName
public final void testBlankName() -
testMinimalSerializesToItself
- Throws:
IOException
-
testMinimalToMaximal
- Throws:
IOException
-
testTotalFieldsCount
- Throws:
IOException
-
assertParseMinimalWarnings
protected final void assertParseMinimalWarnings() -
assertParseMaximalWarnings
protected final void assertParseMaximalWarnings() -
getParseMinimalWarnings
-
getParseMinimalWarnings
-
getParseMaximalWarnings
-
supportsMeta
protected boolean supportsMeta()Override to disable testingmetain fields that don't support it. -
supportsCopyTo
protected boolean supportsCopyTo()Override to disable testingcopy_toin fields that don't support it. -
metaMapping
- Throws:
IOException
-
testMeta
- Throws:
IOException
-
testDeprecatedBoostWarning
- Throws:
IOException
-
testBoostNotAllowed
- Throws:
IOException
-
boostNotAllowedIndexVersion
-
fetchFromDocValues
protected final List<?> fetchFromDocValues(MapperService mapperService, MappedFieldType ft, DocValueFormat format, Object sourceValue) throws IOException Use a ValueFetcher to extract values from doc values.- Throws:
IOException
-
assertScriptDocValues
protected static void assertScriptDocValues(MapperService mapperService, Object sourceValue, org.hamcrest.Matcher<List<?>> dvMatcher) throws IOException - Throws:
IOException
-
registerParameters
protected abstract void registerParameters(MapperTestCase.ParameterChecker checker) throws IOException - Throws:
IOException
-
testUpdates
- Throws:
IOException
-
testTextSearchInfoConsistency
- Throws:
IOException
-
assertSearchable
-
testFetch
Asserts that fetching a single value from doc values and from the nativeMappedFieldType.valueFetcher(org.elasticsearch.index.query.SearchExecutionContext, java.lang.String)produce the same results.Generally this method covers many many random cases but rarely. So if it fails its generally a good idea to capture its randomized parameters into a new method so we can be sure we consistently test any unique and interesting failure case. See the tests for
DateFieldMapperfor some examples.- Throws:
IOException
-
testFetchMany
Asserts that fetching many values from doc values and from the nativeMappedFieldType.valueFetcher(org.elasticsearch.index.query.SearchExecutionContext, java.lang.String)produce the same results.Generally this method covers many many random cases but rarely. So if it fails its generally a good idea to capture its randomized parameters into a new method so we can be sure we consistently test any unique and interesting failure case. See the tests for
DateFieldMapperfor some examples.- Throws:
IOException
-
randomFetchTestMapper
- Throws:
IOException
-
randomFetchTestFieldConfig
protected void randomFetchTestFieldConfig(org.elasticsearch.xcontent.XContentBuilder b) throws IOException Field configuration fortestFetch()andtestFetchMany(). Default implementation delegates tominimalMapping(org.elasticsearch.xcontent.XContentBuilder)but can be overridden to randomize the field type and options.- Throws:
IOException
-
randomFetchTestFormat
A random format to use when tripping intestFetch()andtestFetchMany(). -
registerDimensionChecks
Test that dimension parameter is not updateable- Throws:
IOException
-
generateRandomInputValue
Create a random_sourcevalue for this field. Must be compatible withXContentBuilder.value(Object)and the field's parser. -
assertFetchMany
protected void assertFetchMany(MapperService mapperService, String field, Object value, String format, int count) throws IOException Assert that fetching many values usingMappedFieldType.valueFetcher(org.elasticsearch.index.query.SearchExecutionContext, java.lang.String)produces the same values as fetching using doc values.- Throws:
IOException
-
assertFetch
protected void assertFetch(MapperService mapperService, String field, Object value, String format) throws IOException Assert that fetching a value usingMappedFieldType.valueFetcher(org.elasticsearch.index.query.SearchExecutionContext, java.lang.String)produces the same value as fetching using doc values.- Throws:
IOException
-
dedupAfterFetch
protected boolean dedupAfterFetch()A few field types (e.g. keyword fields) don't allow duplicate values, so in those cases we need to de-dup our expected values. Field types where this is the case should overwrite this. The default is to not de-duplicate though. -
supportsSearchLookup
protected boolean supportsSearchLookup()- Returns:
- whether or not this field type supports access to its values from a SearchLookup
-
testIndexTimeFieldData
Checks that field data from this field produces the same values for query-time scripts and for index-time scripts- Throws:
IOException
-
supportsStoredFields
protected boolean supportsStoredFields() -
minimalStoreMapping
- Throws:
IOException
-
testIndexTimeStoredFieldsAccess
Checks that loading stored fields for this field produces the same set of values for query time scripts and index time scripts- Throws:
IOException
-
testNullInput
- Throws:
Exception
-
allowsNullValues
protected boolean allowsNullValues() -
testMinimalIsInvalidInRoutingPath
- Throws:
IOException
-
minimalIsInvalidRoutingPathErrorMessage
-
syntheticSourceSupport
protected abstract MapperTestCase.SyntheticSourceSupport syntheticSourceSupport(boolean ignoreMalformed) -
syntheticSourceSupport
protected MapperTestCase.SyntheticSourceSupport syntheticSourceSupport(boolean ignoreMalformed, boolean columnReader) -
testSyntheticSource
- Throws:
IOException
-
testSyntheticSourceWithTranslogSnapshot
- Throws:
IOException
-
testSyntheticSourceIgnoreMalformedExamples
- Throws:
IOException
-
supportsEmptyInputArray
protected boolean supportsEmptyInputArray() -
testSupportsParsingObject
- Throws:
IOException
-
testSyntheticSourceMany
- Throws:
IOException
-
testNoSyntheticSourceForScript
- Throws:
IOException
-
testSyntheticSourceInObject
- Throws:
IOException
-
testSyntheticEmptyList
- Throws:
IOException
-
shouldUseIgnoreMalformed
protected boolean shouldUseIgnoreMalformed() -
testSyntheticEmptyListNoDocValuesLoader
- Throws:
IOException
-
testEmptyDocumentNoDocValueLoader
- Throws:
IOException
-
addsValueWhenNotSupplied
protected boolean addsValueWhenNotSupplied() -
testSyntheticSourceInvalid
- Throws:
IOException
-
testSyntheticSourceInNestedObject
- Throws:
IOException
-
syntheticSourceSupportForKeepTests
protected MapperTestCase.SyntheticSourceSupport syntheticSourceSupportForKeepTests(boolean ignoreMalformed, Mapper.SourceKeepMode keepMode) -
testSyntheticSourceKeepNone
- Throws:
IOException
-
testSyntheticSourceKeepAll
- Throws:
IOException
-
testSyntheticSourceKeepArrays
- Throws:
IOException
-
randomSyntheticSourceKeep
-
compileScript
Description copied from class:MapperServiceTestCaseThis is the injection point for tests that require mock scripts. Test cases should override this to return the mock script factory of their choice.- Overrides:
compileScriptin classMapperServiceTestCase
-
ingestScriptSupport
-