Mock Fusion instance correctly in IndexStageTestBase #6
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.
Tl;dr
Mock Fusion instance correctly in IndexStageTestBase
Details
Previously, if the
IndexStage
you were testing contained a call toIndexStage::newDocument
, the unit test would fail because of an NPE because the testedIndexStage
environment tries to create a document, but it cannot because the behaviour of theFusion
instance that's injected into theIndexStage
isn't mocked correctly.This PR fixes that behaviour and lets IndexStage instances run newDocuments, but it runs the IndexStageTestBase::newDocument in the background.
How to verify
Let's suppose you have an IndexStage that looks something like this:
And the test looking like this:
It would end up in a NPE in the current version, but with this PR it should print the new document.