-
-
Notifications
You must be signed in to change notification settings - Fork 355
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PreparedRequest instances are modified by responses #738
Comments
So where would you put the additional state that responses needs and do it in a backwards compatible way? |
The way these params are modified should be considered a bug: responses/responses/__init__.py Lines 1057 to 1058 in 93d3212
This means it is not possible to mock an api that returns a JSON list with one item. |
@patrickhodel you started with an issue that you access an attribute that does not exist. In general, any linting tool should have caught it on your side, since your second comment describes something else, completely unrelated. This particular piece of code exists for more than 4 years and never caused any issue |
@beliaev-maksim Thanks for your quick feedback. Upon further debugging and trying to create a minimal viable example I discovered that some other code in our environment does the same kind of conversion to the response as in the snippet I posted. Sorry for the noise. |
Describe the bug
As you can see in
responses/responses/__init__.py
Line 1067 in b68e513
This is fine in the context of responses, this is not however when this data is returned to the clients.
Could you modify responses so that the behavior from a client perspective is the one of requests (ie: no additional attributes in objects) ?
Thanks again
Additional context
In the context of writing tests against HTTP behavior that cannot be reproduced with a real live scenario (such as an HTTP failure response from the server), I am trusting my test suite to be able to handle those scenarios and if I see that a PreparedRequest contains an attribute, I assume it will exists in production code as well the day such issue will occur (could be years after deployment time in such scenarios).
Version of
responses
0.25.3
Steps to Reproduce
Expected Result
I expect the same failure as in production in my test run
Actual Result
The AttributeError is not raised when accessing params on a PreparedRequest
The text was updated successfully, but these errors were encountered: