The project intro reads as if this is designed for general-purpose HTTP recording and playback:
Records and replays successful HTTP responses in your testing environment.
In a micro-service context, where your integration tests depend on a lot of external HTTP resources, Cassette is an ideal tool to improve the stability of your CI pipeline. It is based on a very simple idea: uniquely identify all the requests that pass through and record succesfull reponses. After recording, replay the same responses without actually calling the real REST endpoint.
To create that unique request identifier, Cassette computes an hash from the HTTP method, the uri and the body.
There is no mention of it being limited to textual HTTP resources, which is somewhat misleading. On close inspection, one see that Request.Body
and Response.Body
are typed as string
. If the scope of the project is API endpoints accepting and returning textual entities then the README should be updated to mention the limitation/scope.
Having said that, I didn't see any reason for the limitation. A quick spike showed that a few tweaks can have the library can working without regard to he content media type. I'd be happy to submit the results as a PR if you'd welcome that.