Package org.elasticsearch.test
Class AbstractXContentTestCase<T extends ToXContent>
- java.lang.Object
-
- org.junit.Assert
-
- org.apache.lucene.util.LuceneTestCase
-
- org.elasticsearch.test.ESTestCase
-
- org.elasticsearch.test.AbstractXContentTestCase<T>
-
- Direct Known Subclasses:
AbstractBroadcastResponseTestCase
public abstract class AbstractXContentTestCase<T extends ToXContent> extends ESTestCase
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
AbstractXContentTestCase.XContentTester<T>
Tests converting to and from xcontent.-
Nested classes/interfaces inherited from class org.elasticsearch.test.ESTestCase
ESTestCase.GeohashGenerator, ESTestCase.TestAnalysis
-
Nested classes/interfaces inherited from class org.apache.lucene.util.LuceneTestCase
LuceneTestCase.AwaitsFix, LuceneTestCase.BadApple, LuceneTestCase.Monster, LuceneTestCase.Nightly, LuceneTestCase.Slow, LuceneTestCase.SuppressCodecs, LuceneTestCase.SuppressFileSystems, LuceneTestCase.SuppressFsync, LuceneTestCase.SuppressReproduceLine, LuceneTestCase.SuppressSysoutChecks, LuceneTestCase.SuppressTempFileChecks, LuceneTestCase.ThrowingRunnable, LuceneTestCase.Weekly
-
-
Field Summary
Fields Modifier and Type Field Description protected static int
NUMBER_OF_TEST_RUNS
-
Fields inherited from class org.elasticsearch.test.ESTestCase
checkIndexFailures, DEFAULT_TEST_WORKER_ID, failureAndSuccessEvents, JAVA_TIMEZONE_IDS, JAVA_ZONE_IDS, JODA_TIMEZONE_IDS, logger, TEST_WORKER_SYS_PROPERTY, TEST_WORKER_VM_ID
-
Fields inherited from class org.apache.lucene.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_SLOW, 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_SLOW, TEST_THROTTLING, TEST_WEEKLY, VERBOSE
-
-
Constructor Summary
Constructors Constructor Description AbstractXContentTestCase()
-
Method Summary
Modifier and Type Method Description protected void
assertEqualInstances(T expectedInstance, T newInstance)
protected boolean
assertToXContentEquivalence()
protected abstract T
createTestInstance()
Creates a random test instance to use in the tests.protected abstract T
doParseInstance(XContentParser parser)
Parses to a new instance using the providedXContentParser
protected java.util.function.Predicate<java.lang.String>
getRandomFieldsExcludeFilter()
Returns a predicate that given the field name indicates whether the field has to be excluded from random fields insertion or notprotected java.lang.String[]
getShuffleFieldsExceptions()
Fields that have to be ignored when shuffling as part of testFromXContentprotected ToXContent.Params
getToXContentParams()
Params that have to be provided when callingToXContent.toXContent(XContentBuilder, ToXContent.Params)
protected abstract boolean
supportsUnknownFields()
Indicates whether the parser supports unknown fields or not.void
testFromXContent()
Generic test that creates new instance from the test instance and checks both for equality and asserts equality on the two queries.static <T extends ToXContent>
voidtestFromXContent(int numberOfTestRuns, java.util.function.Supplier<T> instanceSupplier, boolean supportsUnknownFields, java.lang.String[] shuffleFieldsExceptions, java.util.function.Predicate<java.lang.String> randomFieldsExcludeFilter, CheckedBiFunction<XContent,BytesReference,XContentParser,java.io.IOException> createParserFunction, CheckedFunction<XContentParser,T,java.io.IOException> fromXContent, java.util.function.BiConsumer<T,T> assertEqualsConsumer, boolean assertToXContentEquivalence, ToXContent.Params toXContentParams)
static <T extends ToXContent>
AbstractXContentTestCase.XContentTester<T>xContentTester(CheckedBiFunction<XContent,BytesReference,XContentParser,java.io.IOException> createParser, java.util.function.Function<XContentType,T> instanceSupplier, ToXContent.Params toXContentParams, CheckedFunction<XContentParser,T,java.io.IOException> fromXContent)
static <T> AbstractXContentTestCase.XContentTester<T>
xContentTester(CheckedBiFunction<XContent,BytesReference,XContentParser,java.io.IOException> createParser, java.util.function.Supplier<T> instanceSupplier, CheckedBiConsumer<T,XContentBuilder,java.io.IOException> toXContent, CheckedFunction<XContentParser,T,java.io.IOException> fromXContent)
static <T extends ToXContent>
AbstractXContentTestCase.XContentTester<T>xContentTester(CheckedBiFunction<XContent,BytesReference,XContentParser,java.io.IOException> createParser, java.util.function.Supplier<T> instanceSupplier, CheckedFunction<XContentParser,T,java.io.IOException> fromXContent)
static <T extends ToXContent>
AbstractXContentTestCase.XContentTester<T>xContentTester(CheckedBiFunction<XContent,BytesReference,XContentParser,java.io.IOException> createParser, java.util.function.Supplier<T> instanceSupplier, ToXContent.Params toXContentParams, CheckedFunction<XContentParser,T,java.io.IOException> fromXContent)
-
Methods inherited from class org.elasticsearch.test.ESTestCase
after, afterIfFailed, afterIfSuccessful, assertArrayEquals, assertBusy, assertBusy, assertEquals, assertSettingDeprecationsAndWarnings, assertSettingDeprecationsAndWarnings, assertWarnings, before, between, buildEnvSettings, buildNewFakeTransportAddress, checkStaticState, clearPossibleRoles, copyInstance, copyWriteable, copyWriteable, createParser, createParser, createParser, createParser, createParser, createTestAnalysis, createTestAnalysis, createTestAnalysis, enableJodaDeprecationWarningsCheck, enableWarningsCheck, ensureAllSearchContextsReleased, ensureCheckIndexPassed, ensureSupportedLocale, frequently, generateRandomStringArray, generateRandomStringArray, getBasePort, getDataPath, getPortRange, getSuiteFailureMarker, getTestTransportPlugin, getTestTransportType, inFipsJvm, iterations, maybeSet, mockScript, newNodeEnvironment, newNodeEnvironment, randomAlphaOfLength, randomAlphaOfLengthBetween, randomArray, randomArray, randomBoolean, randomByte, randomByteArrayOfLength, randomDateTimeZone, randomDouble, randomDoubleBetween, randomFloat, randomFrom, randomFrom, randomFrom, randomFrom, randomFrom, randomGeohash, randomInt, randomInt, randomIntBetween, randomLong, randomLongBetween, randomNonNegativeLong, randomPositiveTimeValue, randomRealisticUnicodeOfCodepointLength, randomRealisticUnicodeOfCodepointLengthBetween, randomRealisticUnicodeOfLength, randomRealisticUnicodeOfLengthBetween, randomShort, randomSubsetOf, randomSubsetOf, randomSubsetOf, randomTimeValue, randomTimeValue, randomTimeValue, randomTimeZone, randomUnicodeOfCodepointLength, randomUnicodeOfCodepointLengthBetween, randomUnicodeOfLength, randomUnicodeOfLengthBetween, randomUnique, randomValueOtherThan, randomValueOtherThanMany, randomZone, resetCheckIndexStatus, resetPortCounter, restoreContentType, restoreFileSystem, scaledRandomIntBetween, setContentType, setFileSystem, setPossibleRoles, settings, shuffleMap, shuffleXContent, shuffleXContent, spinForAtLeastNMilliseconds, spinForAtLeastOneMillisecond, terminate, terminate, tmpPaths, toShuffledXContent, waitUntil, waitUntil, writableRegistry, xContentRegistry
-
Methods inherited from class org.apache.lucene.util.LuceneTestCase
addVirusChecker, assertDeletedDocsEquals, assertDocsAndPositionsEnumEquals, assertDocsEnumEquals, assertDocsSkippingEquals, assertDocValuesEquals, assertDocValuesEquals, assertFieldInfosEquals, assertNormsEquals, assertPointsEquals, assertPositionsSkippingEquals, assertReaderEquals, assertReaderStatisticsEquals, assertStoredFieldEquals, assertStoredFieldsEquals, assertTermsEnumEquals, assertTermsEquals, assertTermsEquals, assertTermsStatisticsEquals, assertTermStatsEquals, assertTermVectorsEquals, asSet, assumeFalse, assumeNoException, assumeTrue, assumeWorkingMMapOnWindows, atLeast, atLeast, closeAfterSuite, closeAfterTest, collate, createTempDir, createTempDir, createTempFile, createTempFile, dumpArray, dumpIterator, expectThrows, expectThrows, expectThrows, expectThrowsAnyOf, expectThrowsAnyOf, getBaseTempDirForTestClass, getDataInputStream, getOnlyLeafReader, getTestClass, getTestName, hasWorkingMMapOnWindows, isTestThread, localeForLanguageTag, maybeChangeLiveIndexWriterConfig, maybeWrapReader, newAlcoholicMergePolicy, newAlcoholicMergePolicy, 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, newStringField, newStringField, newStringField, newStringField, newTextField, newTextField, newTieredMergePolicy, newTieredMergePolicy, overrideDefaultQueryCache, overrideTestDefaultQueryCache, random, randomLocale, randomTimeZone, rarely, rarely, replaceMaxFailureRule, resetDefaultQueryCache, restoreCPUCoreCount, restoreIndexWriterMaxDocs, restoreSpins, runWithRestrictedPermissions, setIndexWriterMaxDocs, setUp, setupCPUCoreCount, setupSpins, slowFileExists, tearDown, usually, usually, wrapReader
-
Methods 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, assertThat, assertThat, assertTrue, assertTrue, fail, fail
-
-
-
-
Field Detail
-
NUMBER_OF_TEST_RUNS
protected static final int NUMBER_OF_TEST_RUNS
- See Also:
- Constant Field Values
-
-
Method Detail
-
xContentTester
public static <T> AbstractXContentTestCase.XContentTester<T> xContentTester(CheckedBiFunction<XContent,BytesReference,XContentParser,java.io.IOException> createParser, java.util.function.Supplier<T> instanceSupplier, CheckedBiConsumer<T,XContentBuilder,java.io.IOException> toXContent, CheckedFunction<XContentParser,T,java.io.IOException> fromXContent)
-
xContentTester
public static <T extends ToXContent> AbstractXContentTestCase.XContentTester<T> xContentTester(CheckedBiFunction<XContent,BytesReference,XContentParser,java.io.IOException> createParser, java.util.function.Supplier<T> instanceSupplier, CheckedFunction<XContentParser,T,java.io.IOException> fromXContent)
-
xContentTester
public static <T extends ToXContent> AbstractXContentTestCase.XContentTester<T> xContentTester(CheckedBiFunction<XContent,BytesReference,XContentParser,java.io.IOException> createParser, java.util.function.Supplier<T> instanceSupplier, ToXContent.Params toXContentParams, CheckedFunction<XContentParser,T,java.io.IOException> fromXContent)
-
xContentTester
public static <T extends ToXContent> AbstractXContentTestCase.XContentTester<T> xContentTester(CheckedBiFunction<XContent,BytesReference,XContentParser,java.io.IOException> createParser, java.util.function.Function<XContentType,T> instanceSupplier, ToXContent.Params toXContentParams, CheckedFunction<XContentParser,T,java.io.IOException> fromXContent)
-
testFromXContent
public static <T extends ToXContent> void testFromXContent(int numberOfTestRuns, java.util.function.Supplier<T> instanceSupplier, boolean supportsUnknownFields, java.lang.String[] shuffleFieldsExceptions, java.util.function.Predicate<java.lang.String> randomFieldsExcludeFilter, CheckedBiFunction<XContent,BytesReference,XContentParser,java.io.IOException> createParserFunction, CheckedFunction<XContentParser,T,java.io.IOException> fromXContent, java.util.function.BiConsumer<T,T> assertEqualsConsumer, boolean assertToXContentEquivalence, ToXContent.Params toXContentParams) throws java.io.IOException
- Throws:
java.io.IOException
-
testFromXContent
public final void testFromXContent() throws java.io.IOException
Generic test that creates new instance from the test instance and checks both for equality and asserts equality on the two queries.- Throws:
java.io.IOException
-
createTestInstance
protected abstract T createTestInstance()
Creates a random test instance to use in the tests. This method will be called multiple times during test execution and should return a different random instance each time it is called.
-
doParseInstance
protected abstract T doParseInstance(XContentParser parser) throws java.io.IOException
Parses to a new instance using the providedXContentParser
- Throws:
java.io.IOException
-
assertToXContentEquivalence
protected boolean assertToXContentEquivalence()
-
supportsUnknownFields
protected abstract boolean supportsUnknownFields()
Indicates whether the parser supports unknown fields or not. In case it does, such behaviour will be tested by inserting random fields before parsing and checking that they don't make parsing fail.
-
getRandomFieldsExcludeFilter
protected java.util.function.Predicate<java.lang.String> getRandomFieldsExcludeFilter()
Returns a predicate that given the field name indicates whether the field has to be excluded from random fields insertion or not
-
getShuffleFieldsExceptions
protected java.lang.String[] getShuffleFieldsExceptions()
Fields that have to be ignored when shuffling as part of testFromXContent
-
getToXContentParams
protected ToXContent.Params getToXContentParams()
Params that have to be provided when callingToXContent.toXContent(XContentBuilder, ToXContent.Params)
-
-