reflex/testmock: Add await consumer test util #13
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 MR adds a test util function that blocks until a consumer has consumed a specific / expected event (based on the event's ID).
The function uses the cursor store and polls it at a high frequency, as it should only be used in a test, to check and see if the consumer has consumed the event ID or has passed the event ID as reflex consumers expect events to have incrementing ID's.
This can be used in test cases where you need to test a consumer that you dont have direct control of such as when running a service test and allows for the test case to make assertions once the consumer has consumed the provided event.