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

Cite go-httpbin and java-httpbin #575

Closed
wants to merge 74 commits into from
Closed

Conversation

gaul
Copy link
Contributor

@gaul gaul commented Aug 23, 2019

These are useful for offline unit testing.

nateprewitt and others added 29 commits July 10, 2023 14:03
Fix the tox.ini commands to use the correct test suite path, and run
it via unittest since executing the file does not do anything.
Relax the dependency bounds in `setup.py` to permit the newest versions
that are compatible with the current httpbin code, that is permit
the test suite to pass.
Remove the check for `Content-Length` header that is not provided
by default anymore with werkzeug 0.15.x.

See: pallets/werkzeug#2347

Taken from postmanlabs#684
Since the newer dependency versions and the code itself are now
compatible with newer Python versions, we can test the package up
to 3.12.  Add pypy3 to the test matrix while at it.
Update the code for werkzeug 2.1.x where `BaseResponse` class was
replaced by `Response`.

See: pallets/werkzeug#2276

Taken from postmanlabs#684
Fix passing bytes instead of str as the URL to .get() function.  This
fixes one of the test failures with werkzeug 2.3.x.
Remove the dependency on raven, as the code using it has been removed
in e543380.
The brotlipy package has been renamed to brotlicffi.  Update the imports
and dependencies accordingly.  The major advanage of the new package
is that it no longer collides with the Python bindings provided
by brotli itself.
Fix digest tests to check for `stale=True` case-insensitively, in order
to maintain compatibility with werkzeug < 2.3 (that used `stale=TRUE`)
and >= 2.3 (that uses `stale=True`).
Fix `setup.py` not to include `tests` in installed packages.  Otherwise
they end up being installed as a top-level package, i.e.:

    /usr/lib/python*/site-packages/tests
Add a minimal `pyproject.toml` that explicitly specifies `setuptools`
as the build backend, and effectively switches from the legacy backend
to the modern backend.
Remove the dependency on `gevent` as it is not used within the installed
package.  It is only used by `httpbin.bash`, and that file is not
installed.
Enable pip caching in order to avoid repeatedly rebuilding all
the PyPy wheels for source packages.  This is inspired by discussion
in psf/requests#6496 and it may help with
the PyPy CI failures.
exhuma and others added 27 commits August 15, 2023 09:24
References postmanlabs#17

The docker-image has all dependencies "frozen" in place, so a
requirements.txt is not really needed.

It would be difficult (but possible) to ensure that the docker-image
uses the same `requirements.txt` as the one that was published. It adds
a considerable overhead to the build complexity and is not really
needed. Supporting multiple end-user environments (and
operating-systems) would also require *multiple* such files. And even
then it is not guaranteed to work everywhere.

Limiting the officially supported targets to "library" and "docker"
removes those complexities.
Co-authored-by: Nate Prewitt <nate.prewitt@gmail.com>
Co-authored-by: Nate Prewitt <nate.prewitt@gmail.com>
These are useful for offline unit testing.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants