Implement VCRReplaySearch modes: SearchAll, SkipFound #2
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.
Initial implementation was always skipping records which were already found when replaying.
While this provides more strict testing approach, it is only suitable when requests are coming in a predefined order.
If some requests are started in parallel, responses can come in random order too, and so skipping requests
will break the tests.
This PR adds method
.with_search(search_mode)
and two search modes:VCRReplaySearch::SkipFound
-- skips found requests on subsequent replays, as defaultVCRReplaySearch::SearchAll
-- always goes through all requests and returns first matchNow, tests for parallel requests can work as long as all parallel requests are having different parameters, headers or urls.