Feature - conditional body mapping & API polymorphism #28
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 the ability to conditionally respond to an API call in a way other than by passing
Preferheaders. In practice, it enables a developer to use examples described in an API blueprint to create a feature-rich, scenario-based API mock.Each request is now conditionally checked for the following:
Bodyis present, thisBodyis compared with the request body (this also takes into account JSON, if headers are set to the rightcontent-type)Headeris present, this is compared with the request headerIf a
Requestmatches bothBodyandHeader, api-mock returns the associated response.If nothing matched, by specification, api-mock returns the last defined response.
If a
Preferheader is passed, it is taken into account as usual and the behaviour remains unchanged.Unit-tests are updated to reflect this, with a coverage of 100%.