Add scripting support to AggregatorTestCase #43494
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This refactors
AggregatorTestCase
to allow testing mock scripts. The main change is toQueryShardContext
. This was previously mocked, but to get theScriptService
you have to invoke a final method which can't be mocked.Instead, this PR just creates a mostly-empty
QueryShardContext
and populate the fields that are needed for testing. It also introduces a few new helper methods that can be overridden to change the default behavior a bit.Most tests should be able to override
getMockScriptService()
to supply aScriptService
to the context, which is later used by the aggs. More complicated tests can overridequeryShardContextMock()
as before.Adds a test to
MaxAggregatorTests
to test out the new functionality.Related to #42893