Package org.elasticsearch.test
Class InternalAggregationTestCase<T extends InternalAggregation>
java.lang.Object
org.junit.Assert
org.apache.lucene.tests.util.LuceneTestCase
org.elasticsearch.test.ESTestCase
org.elasticsearch.test.AbstractWireTestCase<T>
org.elasticsearch.test.AbstractNamedWriteableTestCase<T>
org.elasticsearch.test.InternalAggregationTestCase<T>
- Direct Known Subclasses:
InternalMultiBucketAggregationTestCase,InternalSingleBucketAggregationTestCase
public abstract class InternalAggregationTestCase<T extends InternalAggregation>
extends AbstractNamedWriteableTestCase<T>
Implementors of this test case should be aware that the aggregation under test needs to be registered
in the test's namedWriteableRegistry. Core aggregations are registered already, but non-core
aggs should override
registerPlugin() so that the NamedWriteables
can be extracted from the AggregatorSpecs in the plugin (as well as any other custom NamedWriteables)-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordNested 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.Concurrency, 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
FieldsModifier and TypeFieldDescriptionstatic final intprotected static final doubleFields inherited from class org.elasticsearch.test.AbstractWireTestCase
NUMBER_OF_TEST_RUNSFields 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_FAILFAST, SYSPROP_MAXFAILURES, SYSPROP_MONSTER, SYSPROP_NIGHTLY, SYSPROP_WEEKLY, TEST_ASSERTS_ENABLED, TEST_AWAITSFIX, 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 TypeMethodDescriptionstatic voidassertMultiBucketConsumer(Aggregation agg, MultiBucketConsumerService.MultiBucketConsumer bucketConsumer) protected abstract voidassertReduced(T reduced, List<T> inputs) protected voidassertSampled(T sampled, T reduced, SamplingContext samplingContext) The type ofNamedWriteableto read.final TCreates a random test instance to use in the tests.protected abstract TcreateTestInstance(String name, Map<String, Object> metadata) protected final TcreateUnmappedInstance(String name) Return an instance on an unmapped field.protected TcreateUnmappedInstance(String name, Map<String, Object> metadata) Return an instance on an unmapped field.protected voiddoAssertReducedMultiBucketConsumer(Aggregation agg, MultiBucketConsumerService.MultiBucketConsumer bucketConsumer) Builds anAggregationReduceContextthat is valid but empty.Builds anAggregationReduceContextthat is valid and nearly empty except that it contains the provided builders.protected final NamedWriteableRegistryGet theNamedWriteableRegistryto use when de-serializing the object.protected List<NamedWriteableRegistry.Entry> Implementors can override this if they want to provide a custom list of namedWriteables.protected final AggregationBuildermockBuilder(List<? extends InternalAggregation> results) Builds anAggregationReduceContextto reduce the provided aggregation.protected ScriptServiceoverwrite in tests that need itstatic DocValueFormatA randomDocValueFormatthat can be used in aggregations which compute dates.static DocValueFormatA randomDocValueFormatthat can be used in aggregations which compute numbers.protected InternalAggregationTestCase.BuilderAndToReduce<T> randomResultsToReduce(String name, int size) Generate a list of inputs to reduce.static InternalAggregationreduce(List<InternalAggregation> aggregations, AggregationReduceContext reduceContext) protected SearchPluginIf a test needs to register additional aggregation specs for namedWriteable, etc, this method can be overridden by the implementor.protected booleanDoes this aggregation support reductions when the internal buckets are not in-orderprotected booleanvoidMethods inherited from class org.elasticsearch.test.AbstractNamedWriteableTestCase
copyInstanceMethods inherited from class org.elasticsearch.test.AbstractWireTestCase
assertEqualInstances, assertSerialization, assertSerialization, concurrentTest, copyInstance, dispose, mutateInstance, shouldBeSame, testConcurrentEquals, testConcurrentHashCode, testConcurrentSerialization, testEqualsAndHashcode, testSerialization, testToStringMethods 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, emptyProject, enableBigArraysReleasedCheck, enableWarningsCheck, ensureAllContextsReleased, ensureAllSearchContextsReleased, ensureCheckIndexPassed, ensureNoWarnings, ensureSupportedLocale, expectThrows, expectThrows, expectThrows, expectThrows, fail, fail, filteredWarnings, flushThreadPoolExecutor, frequently, generateRandomStringArray, generateRandomStringArray, getDataPath, getPortRange, getResourceDataPath, getSuiteFailureMarker, getTestTransportPlugin, getTestTransportType, getWorkerBasePort, indexSettings, indexSettings, indexSettings, inFipsJvm, initTestSeed, isTurkishLocale, iterations, maybeSet, mockScript, newEnvironment, newEnvironment, newLimitedBreaker, newNodeEnvironment, newNodeEnvironment, newSearcher, newSearcher, newSearcher, newSearcher, parserConfig, projectStateFromProject, projectStateFromProject, projectStateWithEmptyProject, 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, randomNegativeLong, randomNonEmptySubsetOf, randomNonNegativeByte, randomNonNegativeInt, randomNonNegativeIntOrNull, randomNonNegativeLong, randomNonNegativeLongOrNull, randomOptionalBoolean, randomOptionalDouble, randomPositiveTimeValue, randomProjectIdOrDefault, randomRealisticUnicodeOfCodepointLength, randomRealisticUnicodeOfCodepointLengthBetween, randomRealisticUnicodeOfLength, randomRealisticUnicodeOfLengthBetween, randomReleasableBytesReference, randomSecretKey, randomSecureStringOfLength, randomSet, randomShort, randomSubsetOf, randomSubsetOf, randomSubsetOf, randomTimeValue, randomTimeValue, randomTimeValue, randomTimeZone, randomUnicodeOfCodepointLength, randomUnicodeOfCodepointLengthBetween, randomUnicodeOfLength, randomUnicodeOfLengthBetween, randomUnique, randomUniqueProjectId, 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, 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, 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, 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, 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
-
DEFAULT_MAX_BUCKETS
public static final int DEFAULT_MAX_BUCKETS- See Also:
-
TOLERANCE
protected static final double TOLERANCE- See Also:
-
-
Constructor Details
-
InternalAggregationTestCase
public InternalAggregationTestCase()
-
-
Method Details
-
emptyReduceContextBuilder
Builds anAggregationReduceContextthat is valid but empty. -
emptyReduceContextBuilder
public static AggregationReduceContext.Builder emptyReduceContextBuilder(AggregatorFactories.Builder aggs) Builds anAggregationReduceContextthat is valid and nearly empty except that it contains the provided builders. -
mockReduceContext
Builds anAggregationReduceContextto reduce the provided aggregation. -
reduce
public static InternalAggregation reduce(List<InternalAggregation> aggregations, AggregationReduceContext reduceContext) -
getNamedWriteableRegistry
Description copied from class:AbstractWireTestCaseGet theNamedWriteableRegistryto use when de-serializing the object. Override this method if you need to registerNamedWriteables for the test object to de-serialize. By default this will return aNamedWriteableRegistrywith no registeredNamedWriteables- Specified by:
getNamedWriteableRegistryin classAbstractNamedWriteableTestCase<T extends InternalAggregation>
-
getNamedWriteables
Implementors can override this if they want to provide a custom list of namedWriteables. If the implementor _just_ wants to register in namedWriteables provided by a plugin, prefer overridingregisterPlugin()instead because that route handles the automatic conversion of AggSpecs into namedWriteables. -
registerPlugin
If a test needs to register additional aggregation specs for namedWriteable, etc, this method can be overridden by the implementor. -
createTestInstance
-
createUnmappedInstance
Return an instance on an unmapped field. -
categoryClass
Description copied from class:AbstractNamedWriteableTestCaseThe type ofNamedWriteableto read.- Specified by:
categoryClassin classAbstractNamedWriteableTestCase<T extends InternalAggregation>
-
randomResultsToReduce
protected InternalAggregationTestCase.BuilderAndToReduce<T> randomResultsToReduce(String name, int size) Generate a list of inputs to reduce. Defaults to callingcreateTestInstance(String)andcreateUnmappedInstance(String)andmockBuilder(List)but should be overridden if it isn't realistic to reduce test instances against mocked builders. -
mockBuilder
-
supportsOutOfOrderReduce
protected boolean supportsOutOfOrderReduce()Does this aggregation support reductions when the internal buckets are not in-order -
testReduceRandom
- Throws:
IOException
-
doAssertReducedMultiBucketConsumer
protected void doAssertReducedMultiBucketConsumer(Aggregation agg, MultiBucketConsumerService.MultiBucketConsumer bucketConsumer) -
mockScriptService
overwrite in tests that need it -
assertReduced
-
assertSampled
-
createTestInstance
Description copied from class:AbstractWireTestCaseCreates 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.- Specified by:
createTestInstancein classAbstractWireTestCase<T extends InternalAggregation>
-
supportsSampling
protected boolean supportsSampling() -
createTestMetadata
-
createUnmappedInstance
Return an instance on an unmapped field. -
createTestInstanceForXContent
-
randomNumericDocValueFormat
A randomDocValueFormatthat can be used in aggregations which compute numbers. -
randomDateDocValueFormat
A randomDocValueFormatthat can be used in aggregations which compute dates. -
assertMultiBucketConsumer
public static void assertMultiBucketConsumer(Aggregation agg, MultiBucketConsumerService.MultiBucketConsumer bucketConsumer)
-