mirror of
https://github.com/curl/curl.git
synced 2025-02-23 15:10:03 +08:00
pytests: add tests for HEAD requests in all HTTP versions
Closes #14367
This commit is contained in:
parent
acbc6b703f
commit
93d1af4011
@ -97,3 +97,18 @@ class TestBasic:
|
||||
r.check_stats(http_status=200, count=1)
|
||||
assert r.stats[0]['time_connect'] > 0, f'{r.stats[0]}'
|
||||
assert r.stats[0]['time_appconnect'] > 0, f'{r.stats[0]}'
|
||||
|
||||
# simple https: HEAD
|
||||
@pytest.mark.parametrize("proto", ['http/1.1', 'h2', 'h3'])
|
||||
@pytest.mark.skipif(condition=not Env.have_ssl_curl(), reason=f"curl without SSL")
|
||||
def test_01_07_head(self, env: Env, httpd, nghttpx, repeat, proto):
|
||||
if proto == 'h3' and not env.have_h3():
|
||||
pytest.skip("h3 not supported")
|
||||
curl = CurlClient(env=env)
|
||||
url = f'https://{env.authority_for(env.domain1, proto)}/data.json'
|
||||
r = curl.http_download(urls=[url], with_stats=True, with_headers=True,
|
||||
extra_args=['-I'])
|
||||
r.check_stats(http_status=200, count=1, exitcode=0)
|
||||
# got the Conten-Length: header, but did not download anything
|
||||
assert r.responses[0]['header']['content-length'] == '30', f'{r.responses[0]}'
|
||||
assert r.stats[0]['size_download'] == 0, f'{r.stats[0]}'
|
||||
|
Loading…
Reference in New Issue
Block a user