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>
This commit is contained in:
Antonio Larrosa 2021-08-13 15:13:43 +02:00 committed by GitHub
parent d5143120d1
commit 77193b2ab6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 4 additions and 0 deletions

View File

@ -21,6 +21,7 @@ filterwarnings =
default:::uvicorn
markers =
copied_from(source, changes=None): mark test as copied from somewhere else, along with a description of changes made to accodomate e.g. our test setup
network: marks tests which require network connection. Used in 3rd-party build environments that have network disabled.
[coverage:run]
omit = venv/*, httpx/_compat.py

View File

@ -122,6 +122,7 @@ def test_transport_for_request(url, proxies, expected):
@pytest.mark.asyncio
@pytest.mark.network
async def test_async_proxy_close():
try:
client = httpx.AsyncClient(proxies={"https://": PROXY_URL})
@ -130,6 +131,7 @@ async def test_async_proxy_close():
await client.aclose()
@pytest.mark.network
def test_sync_proxy_close():
try:
client = httpx.Client(proxies={"https://": PROXY_URL})

View File

@ -23,6 +23,7 @@ async def test_write_timeout(server):
@pytest.mark.usefixtures("async_environment")
@pytest.mark.network
async def test_connect_timeout(server):
timeout = httpx.Timeout(None, connect=1e-6)