You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Replace wsgi-intercept, used in gabbi as a feature
to install the intercept and do http over a monkey-
patched socker.
The replacement is WSGITransport from httpx. This works
in a different way. Instead of monkey-patching, a
different transport is dependency-injected into the
http client. Each gabbi tests has its own client
instance.
Because of this change in concept the diff, though
not especially big, touches several parts of the code.
1. Fixture handling removes use of the wsgi-intecept
context manager.
2. intercept and prefix are based to httpclient generation.
intercept signals that the WSGITransport should be
used.
3. An external server process (in tests/external_server.py)
is used by tests/test_runner.py so that gabbi-run
can be tested effectively without wsgi-intercept.
4. Step 3 identified some long present bugs in the
SimpleWSGI test app to do with reading content
from POST and PUT operations.
5. Prefix handling and url-generation are different when
using WSGITransport so simplewsgi has a different way
of constructing fully qualified URLs. This uses
removeprefix which is no supported in python 3.8, so
support for 3.8 is dropped. 3.8 was EOL in 2024.
6. Special tests which had all been depdending on the older
python 3.9 now use 3.13. This is mostly because that
made it is easier for cdent to do testing locally, but
seems good hygiene anyway.
7. pypy3 is upgrade to pypy3.10 as that's what's available
these days.
8. Docs have tried to be updated but it is likelys something
has been missed.
9. Some shenanigans with how hostnames are handled in SimpleWSGI
needed to be reconciled between what a mac does and what a
github ci node does.
This patch does _not_ try to prepare a release. That will
be later.
0 commit comments