Record with go-vcr instead of doing our custom recording #1566
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.
We record requests in some tests so we can reproduce them without having running services.
We use our own framework now, that has some limitations. It can only record GET requests, and
it can only record one response for any request, so it cannot be used for tests where the state changes.
Give a try to https://pkg.go.dev/gopkg.in/dnaeon/go-vcr.v3 for this purpose.
With go-vcr, each session is stored in a file, called "cassette", that stores the sequence of interactions. By
default it matches requests per method and per URL, and each interaction is only matched once, so multiple
requests to the same endpoint can be recorded with different responses. This seems to be enough for
all the cases we have now.