Skip to content
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

Unable to debug responses.post not matching #730

Open
jovlinger opened this issue Jul 16, 2024 · 1 comment
Open

Unable to debug responses.post not matching #730

jovlinger opened this issue Jul 16, 2024 · 1 comment
Labels

Comments

@jovlinger
Copy link

jovlinger commented Jul 16, 2024

Describe the bug

I am probably looking in the wrong place, but I am failing to find documentation on what to do when a matcher fails to match.

I have this code in my test

responses.activate
def test_test():
   responses.post(url=MY_URL, json={'some': 'response'})
   thread_run(mod.call_it)

and then in a different module mod

def call_it():
  responses.post(url=ALSO_MY_URL, headers=..., data=, timeout=)

but I don't get a match. Something is obviously wrong.

Are there any introspections I can do in call_it to ask what matchers have been attached and are active?

Or can I turn on verbose logging to see the thought process involved?

I don't even know how to ask if responses.activate is still active.

Additional context

No response

Version of responses

0.23.3

Steps to Reproduce

This was in the main text. This is not a bug report, but a request for help finding documentation.

Expected Result

I would like help finding the documentation that describes how to debug unexpected outcomes.

Actual Result

neither me or google can find any debugging or intospection documentation. I'd love to ask the system why it did or did not match a request.

I don't even know how to ask if responses.activate is still active.

@markstory
Copy link
Member

 Are there any introspections I can do in call_it to ask what matchers have been attached and are active?

Use responses.registered() to get the list of registered mock responses. You'd have to look at each mock response individually to see which matchers are defined.

Or can I turn on verbose logging to see the thought process involved?

There is no additional logging that can be enabled. You may want to use assert_all_requests_are_fired=True in your responses.activate() call to get better error messages when response mocks are defined but not used.

If this logic is from your application code, the reason it isn't working is that you're using responses in application code. Instead your application should be using requests to send requests.

def call_it():
  responses.post(url=ALSO_MY_URL, headers=..., data=, timeout=)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Waiting for: Product Owner
Development

No branches or pull requests

2 participants