Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

async satisfaction #117

Merged
merged 3 commits into from
Jun 7, 2023

Conversation

conradludgate
Copy link
Contributor

Similar to #116 but slightly different execution. (code is not how I want it to be yet, and the tests don't yet pass. this is purely to demonstrate the extra complexity this adds).

The original is_satisfied API was designed around the idea we could poll in a backoff loop for a mock to have received its expected calls. The compelling use case here is triggering an async action through a message queue, and expecting a HTTP request eventually.

Instead of using polls with a retry loop, we could instead utilise the tools Rust gives us with async futures. These are already poll loops, but with reactive management rather than passive timers. This seems more correct to me.

I would also have liked to make satisfied take a timeout duration by default, but given this library is async runtime agnostic, I'd rather not break that here


By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

src/mounted_mock.rs Outdated Show resolved Hide resolved
@conradludgate conradludgate marked this pull request as ready for review June 5, 2023 12:03
@LukeMathWalker LukeMathWalker merged commit b6e4739 into LukeMathWalker:main Jun 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants