Commit Graph

25 Commits

Author SHA1 Message Date
Antonio Larrosa
77193b2ab6
Add a network pytest mark for tests that use the network (#1669)
* Add a network pytest mark for tests that use the network

Sometimes it's useful to have the tests that use the network
marked so they can be skipped easily when we know the network
is not available.

This is useful for example on SUSE and openSUSE's build servers.
When building the httpx packages (actually, any package in the
distribution) the network is disabled so we can assure
reproducible builds (among other benefits). With this mark, it's
easier to skip tests that can not succeed.

* Add a better explanation for the network marker

Co-authored-by: Florimond Manca <15911462+florimondmanca@users.noreply.github.com>

Co-authored-by: Joe <nigelchiang@outlook.com>
Co-authored-by: Florimond Manca <15911462+florimondmanca@users.noreply.github.com>
Co-authored-by: Tom Christie <tom@tomchristie.com>
2021-08-13 14:13:43 +01:00
Tom Christie
b43af721cd
Treat warnings as errors (#1687)
* Treat warnings as errors

* Defensive programming in Client.__del__ to avoid possible warnings on partially initialized instances

* Linting

* Ignore linting getattr errors in __del__

* getattr requires a default

* Tighten up closing of auth_flow generators

* Switch multipart test to open file in a context manager

* Ignore warnings on uvicorn

* Drop -Werror from addopts

* Warings specified entirely in 'filterwarnings' section

* Use ssl.PROTOCOL_TLS_CLIENT instead of deprecated ssl.PROTOCOL_TLS

* Push 'check_hostname = False' above 'context.verify_mode = ssl.CERT_NONE'

* Introduce set_minimum_tls_version_1_2 compatible across different python versions

* Commenting

* Add missing annotation

* Exclude _compat from coverage

Co-authored-by: Joe <nigelchiang@outlook.com>
Co-authored-by: jianghang <jianghang@didiglobal.com>
2021-06-16 15:34:12 +01:00
cdeler
72a1f2c759
Replacing pytest-cov by coverage (#1353) 2020-10-08 13:05:30 +01:00
Johannes
ac7704e78c
Remove seed-isort-config (#1321)
As of isort 5 seed-isort-config is no longer needed.

We can get rid of some explicit config too as it's now more clever.
2020-09-24 11:08:07 +01:00
Tom Christie
8e4a8a1c73
Finesse URL properties (#1285)
* url.userinfo should be URL encoded bytes

* Neater copy_with implementation

* Finesse API around URL properties and copy_with

* Docstring for URL, and drop url.authority

* Support url.copy_with(raw_path=...)

* Docstrings on URL methods

* Tweak docstring
2020-09-21 11:35:25 +01:00
Florimond Manca
78cf16ace9
Drop HSTS Preloading (#1110)
* Drop HSTS Preloading

* Update test_client.py

Co-authored-by: Tom Christie <tom@tomchristie.com>
2020-08-05 13:05:45 +01:00
Taneli Hukkinen
8dea2c23d7
Make isort configuration compatible with isort v5 (#1050)
* Make isort configuration compatible with isort v5

* Use isort's black profile
2020-07-04 22:31:09 +01:00
Florimond Manca
66a4537959
Add mypy config for tests directory (#991) 2020-05-25 08:39:51 +02:00
Florimond Manca
9f58afd8f9
Tighten multipart implementation types (#975) 2020-05-21 17:41:36 +02:00
Tom Christie
0a8b0c65bd
Enforce coverage (#955)
* Enforce coverage when running tests

* Enforce test coverage
2020-05-15 16:17:33 +01:00
Tom Christie
3046e920ea
Httpcore interface (#804)
* First pass as switching dispatchers over to httpcore interface

* Updates for httpcore interface

* headers in dispatch API as plain list of bytes

* Integrate against httpcore 0.6

* Integrate against httpcore interface

* Drop UDS, since not supported by httpcore

* Fix base class for mock dispatchers in tests

* Merge master and mark as potential '0.13.dev0' release
2020-04-08 13:32:10 +01:00
Tom Christie
ae45c23cc5
Do not mark wheel as universal (#851) 2020-03-05 12:56:47 +00:00
Tom Christie
ee37a762ef
Reintroduce sync API. (#735)
* BaseClient and AsyncClient

* Introduce 'httpx.Client'

* Top level API -> sync

* Top level API -> sync

* Add WSGI support, drop deprecated imports

* Wire up timeouts to urllib3

* Wire up pool_limits

* Add urllib3 proxy support

* Pull #734 into sync Client

* Update AsyncClient docstring

* Simpler WSGI implementation

* Set body=None when no content

* Wrap urllib3 connection/read exceptions
2020-01-08 12:31:50 +00:00
Florimond Manca
9e88f2e2fb Remove httpxprof (#663) 2019-12-21 14:17:14 +00:00
Tom Christie
3cbe7315e8
Concurrency autodetection (#585)
* Simplify HTTP version config, and switch HTTP/2 off by default

* HTTP/2 docs

* HTTP/2 interlinking in docs

* Add concurrency auto-detection

* Add sniffio
2019-12-02 19:26:16 +00:00
Florimond Manca
8d55d78574 Drop nox in favor of vanilla scripts (#566)
* Drop nox in favor of vanilla scripts

* Use named stages

* Fix attrs dependency resolution madness

* Add missing mkautodoc dev dependency

* Add missing install step on windows build

* Explicitly define stage order so that timed out Windows build runs last

* Add missing dev dependency on Black

* Clean up contributing guide

* Separate docs into docs-build and docs-serve
2019-11-30 11:50:13 +00:00
Josep Cugat
9e1cc26f8a Build and upload universal wheels to PyPI (#439) 2019-10-03 16:35:38 -05:00
Florimond Manca
e1da6b9194 Add tool for profiling (#364) 2019-09-21 12:02:02 -05:00
Florimond Manca
08355c62f5 Add trio concurrency backend (#276) 2019-09-21 11:10:20 -05:00
Yeray Diaz Diaz
8155352d20
Document digest auth (#348)
* Document authentication

* Fix linting errors

* Tweak wording

* Update docs/quickstart.md

Co-Authored-By: Florimond Manca <florimond.manca@gmail.com>
2019-09-16 12:50:00 +01:00
Florimond Manca
f1dde95d35
Test Requests entrypoints (#330)
* Test Requests entrypoints

* Show summary of unsuccessful tests
2019-09-12 23:24:33 +02:00
Florimond Manca
8ea32e647f Add tests to known first parties in isort config (#279) 2019-08-26 15:16:51 -05:00
Seth Michael Larson
46402dd59f
Rely on codecov for 100% project coverage (#264) 2019-08-23 07:00:13 -05:00
Can Sarıgöl
9536b76f5c Fail unit tests without 100% coverage (#206) 2019-08-14 21:45:28 -05:00
Humberto Rocha
e51b2125c9 Move all tooling configuration to setup.cfg (#204) 2019-08-13 16:27:00 -05:00