Giter Club home page Giter Club logo

Comments (3)

seborama avatar seborama commented on May 25, 2024

Hey, that's a nifty find!

It's been on my radar that some of these helper methods aren't directly tested...

Impact is a little indirect i.e. when Response.Request.Body is referenced. I expect this to be uncommon but nonetheless that's wrong as it stands right now. It does not affect request matching (which obviously takes place before the response is provided).

The contents of the cassette on file is not affected because the whole Response.Request is constructed after the cassette is loaded and after the request has been matched. Note that in the HTTP transaction itself, Response.Request.Body is always nil as per https://pkg.go.dev/net/http#Response Request's Body is nil (having already been consumed) and govcr respects this.

The only time Response.Request.Body may be populated is transiently for the request mutators.
GoVCR ref:

The track replaying mutator additionally receives an informational copy of the current HTTP request in the track's Response under the Request field i.e. Track.Response.Request. This is useful for tailoring track replays with current request information. See TestExample3 for illustration.

This happens in pcb.replayTrack().

Again, real cool find. I'll patch this first and then beef up the tests for future-proofing 🤦

from govcr.

seborama avatar seborama commented on May 25, 2024

v12.1.0 fixes the issue.
I'll keep this issue open until I've added the tests.

from govcr.

seborama avatar seborama commented on May 25, 2024

Tests added.

Thanks for raising this issue 👍

from govcr.

Related Issues (9)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.