Reactor Addons v3.0.5.RELEASE
This is the 5th release of Reactor-Addons 3.0, part of Aluminium-SR1
Release Train.
This is a recommended update for all Reactor 3 users.
⚠️ Update considerations and deprecations
VirtualTimeScheduler#enable
methods will be removed in 3.1.0 in favor of the
newgetOrSet
name.
✨ New features and improvements
- The
StepVerifier
can be configured further than the vts supplier and initial request
by using theStepVerifierOptions
builder instead as parameter (#76) - StepVerifier now estimates the expected amount for each expectation step and checks
it against the requested amount so far in the scenario. This verification can be relaxed
through theStepVerifierOptions
(#53, #76) - Instead of
verify
, one can now useverifyThenAssertThat
and get methods to
assert the state post-completion. Notably, it captures data sent to hooks (#74) - If there is an exception (not an
AssertionError
) duringStepVerifier
verification,
an AssertionError is thrown, now with the full exception as suppressed instead of just thetoString()
. - The
TestPublisher
has been augmented with a new possible violationCLEANUP_ON_TERMINATE
that allow several terminations in a row (cancel, complete, error, emit) (#68) TestPublisher
can now work with aConditionalSubscriber
downstream (#73)- Added a
consumeSubscriptionWith
expectation toStepVerifier
VirtualTimeScheduler
can now be enabled on the factory via eitherset
(always activate the given vts) orgetOrSet
(activate if another one that matches
the enabledForAll flag isn't already in place, or return the matching one).
Also added aisFactoryEnabled
method to check if aVirtualTimeScheduler
is
currently used by theSchedulers
factory (#70)
🪲 Bug fixes
- When using virtual time, StepVerifier now always uses the provided VTS and then disable it (#70)
- Previously VTS from other tests could be picked up and never disabled
- Improved support for async fusion in StepVerifier (#71)
- Some exceptions would be recursively suppressed.
📖 Documentation, Tests and Build
- Fixed missing deprecated annotations and javadoc links.
- Exclude snapshot and mavenLocal on release builds.