Normalizes request body and URL by parsing params to a list and sorting #211
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.
Before these changes, if the request body or URL contained a list of params that were in a different order than the params in the cassette, the request would fail to match the cassette.
As of OTP 26, map key order is not guaranteed, so request bodies and URL params that are created using maps can fail to match since the order of their keys is not idempotent.
These changes convert the request body and URL params to a sorted list before comparing it to the request body and URL in the cassette. This ensures cassettes will be matched as long as their request bodies and URL params contain the same set of key-value pairs as the incoming request.