-
Notifications
You must be signed in to change notification settings - Fork 418
Open
Description
I'm trying to use vcrpy with httpdbg to help me trace down which tests are still talking to 3rd party services despite VCR cassettes being present.
This had been working well until recently. Now it's crashing with the following KeyError. Would it make sense to change this line to HTTPX_REDIRECT_PARAM = _httpx_signature.parameters.get("follow_redirects") or similar? From what I can see HTTPX_REDIRECT_PARAM isn't actually being used anywhere, maybe it could be removed entirely?
pyhttpdbg --script manage.py test
.... - - .--. -.. -... --. .... - - .--. -.. -... --. .... - - .--. -.. -... --.
httpdbg - HTTP(S) requests available at http://localhost:4909/
.... - - .--. -.. -... --. .... - - .--. -.. -... --. .... - - .--. -.. -... --.
Found 1 test(s).
Creating test database for alias 'default'...
Traceback (most recent call last):
File "/Users/erik/DropboxMaestral/home/git/backend/.venv/lib/python3.12/site-packages/vcr/stubs/httpx_stubs.py", line 17, in <module>
HTTPX_REDIRECT_PARAM = _httpx_signature.parameters["follow_redirects"]
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
KeyError: 'follow_redirects'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/erik/DropboxMaestral/home/git/backend/.venv/lib/python3.12/site-packages/httpdbg/mode_script.py", line 22, in run_script
runpy.run_path(argv[0], run_name="__main__")
File "<frozen runpy>", line 286, in run_path
File "<frozen runpy>", line 98, in _run_module_code
File "<frozen runpy>", line 88, in _run_code
File "manage.py", line 23, in <module>
main()
File "manage.py", line 19, in main
execute_from_command_line(sys.argv)
File "/Users/erik/DropboxMaestral/home/git/backend/.venv/lib/python3.12/site-packages/django/core/management/__init__.py", line 442, in execute_from_command_line
utility.execute()
File "/Users/erik/DropboxMaestral/home/git/backend/.venv/lib/python3.12/site-packages/django/core/management/__init__.py", line 436, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/Users/erik/DropboxMaestral/home/git/backend/.venv/lib/python3.12/site-packages/django/core/management/commands/test.py", line 24, in run_from_argv
super().run_from_argv(argv)
File "/Users/erik/DropboxMaestral/home/git/backend/.venv/lib/python3.12/site-packages/django/core/management/base.py", line 416, in run_from_argv
self.execute(*args, **cmd_options)
File "/Users/erik/DropboxMaestral/home/git/backend/.venv/lib/python3.12/site-packages/django/core/management/base.py", line 460, in execute
output = self.handle(*args, **options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/erik/DropboxMaestral/home/git/backend/.venv/lib/python3.12/site-packages/django/core/management/commands/test.py", line 63, in handle
failures = test_runner.run_tests(test_labels)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/erik/DropboxMaestral/home/git/backend/.venv/lib/python3.12/site-packages/django/test/runner.py", line 1092, in run_tests
old_config = self.setup_databases(
^^^^^^^^^^^^^^^^^^^^^
File "/Users/erik/DropboxMaestral/home/git/backend/.venv/lib/python3.12/site-packages/django/test/runner.py", line 990, in setup_databases
return _setup_databases(
^^^^^^^^^^^^^^^^^
File "/Users/erik/DropboxMaestral/home/git/backend/.venv/lib/python3.12/site-packages/django/test/utils.py", line 204, in setup_databases
connection.creation.create_test_db(
File "/Users/erik/DropboxMaestral/home/git/backend/.venv/lib/python3.12/site-packages/django/db/backends/base/creation.py", line 78, in create_test_db
call_command(
File "/Users/erik/DropboxMaestral/home/git/backend/.venv/lib/python3.12/site-packages/django/core/management/__init__.py", line 194, in call_command
return command.execute(*args, **defaults)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/erik/DropboxMaestral/home/git/backend/.venv/lib/python3.12/site-packages/django/core/management/base.py", line 460, in execute
output = self.handle(*args, **options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/erik/DropboxMaestral/home/git/backend/.venv/lib/python3.12/site-packages/django/core/management/base.py", line 107, in wrapper
res = handle_func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/erik/DropboxMaestral/home/git/backend/.venv/lib/python3.12/site-packages/django/core/management/commands/migrate.py", line 380, in handle
emit_post_migrate_signal(
File "/Users/erik/DropboxMaestral/home/git/backend/.venv/lib/python3.12/site-packages/django/core/management/sql.py", line 52, in emit_post_migrate_signal
models.signals.post_migrate.send(
File "/Users/erik/DropboxMaestral/home/git/backend/.venv/lib/python3.12/site-packages/django/dispatch/dispatcher.py", line 189, in send
response = receiver(signal=self, sender=sender, **named)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/erik/DropboxMaestral/home/git/backend/payments/apps.py", line 11, in populate_stripe_models
tests_utils.setup_test_payments()
File "/Users/erik/DropboxMaestral/home/git/backend/payments/tests/utils.py", line 359, in setup_test_payments
_setup_test_stripe()
File "/Users/erik/DropboxMaestral/home/git/backend/payments/tests/utils.py", line 396, in _setup_test_stripe
with setup_vcr.use_cassette(
File "/Users/erik/DropboxMaestral/home/git/backend/.venv/lib/python3.12/site-packages/vcr/cassette.py", line 84, in __enter__
return next(self.__finish)
^^^^^^^^^^^^^^^^^^^
File "/Users/erik/DropboxMaestral/home/git/backend/.venv/lib/python3.12/site-packages/vcr/cassette.py", line 58, in _patch_generator
for patcher in CassettePatcherBuilder(cassette).build():
File "/Users/erik/DropboxMaestral/home/git/backend/.venv/lib/python3.12/site-packages/vcr/patch.py", line 129, in _build_patchers_from_mock_triples
for args in mock_triples:
File "/Users/erik/DropboxMaestral/home/git/backend/.venv/lib/python3.12/site-packages/vcr/patch.py", line 313, in _httpx
from .stubs.httpx_stubs import async_vcr_send, sync_vcr_send
File "/Users/erik/DropboxMaestral/home/git/backend/.venv/lib/python3.12/site-packages/vcr/stubs/httpx_stubs.py", line 19, in <module>
HTTPX_REDIRECT_PARAM = _httpx_signature.parameters["allow_redirects"]
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
KeyError: 'allow_redirects'
.... - - .--. -.. -... --. .... - - .--. -.. -... --. .... - - .--. -.. -... --.
httpdbg - HTTP(S) requests available at http://localhost:4909/
.... - - .--. -.. -... --. .... - - .--. -.. -... --. .... - - .--. -.. -... --.
Waiting until all the requests have been loaded in the web interface.
Press Ctrl+C to quit.Metadata
Metadata
Assignees
Labels
No labels