We use verifyComplete() in several places. With the default StepVerifier timeout this will block indefinitely, potentially causing a test to hang. The "global" timeout can be configured by calling StepVerifier.setDefaultTimeout(Duration) but this is easy to forget and also has side-effects as it sets the timeout for all subsequent calls to verifyComplete(), even if they're in a different test within the same module. I think it would be more robust to use expectComplete().verify(Duration) everywhere instead.

We should also consider introducing an ArchUnit rule to prevent usage of verifyComplete() from being reintroduced.

Comment From: philwebb

Closing in favor of PR #35915. Thanks @ThomazPassarelli!