41 lines
1.5 KiB
Python
41 lines
1.5 KiB
Python
import pytest
|
|
|
|
from .env import H2Conf, H2TestEnv
|
|
|
|
|
|
@pytest.mark.skipif(condition=H2TestEnv.is_unsupported, reason="mod_http2 not supported here")
|
|
class TestInterimResponses:
|
|
|
|
@pytest.fixture(autouse=True, scope='class')
|
|
def _class_scope(self, env):
|
|
H2Conf(env).add_vhost_test1().add_vhost_cgi().install()
|
|
assert env.apache_restart() == 0
|
|
|
|
def setup_method(self, method):
|
|
print("setup_method: %s" % method.__name__)
|
|
|
|
def teardown_method(self, method):
|
|
print("teardown_method: %s" % method.__name__)
|
|
|
|
# check that we normally do not see an interim response
|
|
def test_h2_300_01(self, env):
|
|
url = env.mkurl("https", "test1", "/index.html")
|
|
r = env.curl_post_data(url, 'XYZ')
|
|
assert r.response["status"] == 200
|
|
assert "previous" not in r.response
|
|
|
|
# check that we see an interim response when we ask for it
|
|
def test_h2_300_02(self, env):
|
|
url = env.mkurl("https", "cgi", "/echo.py")
|
|
r = env.curl_post_data(url, 'XYZ', options=["-H", "expect: 100-continue"])
|
|
assert r.response["status"] == 200
|
|
assert "previous" in r.response
|
|
assert 100 == r.response["previous"]["status"]
|
|
|
|
# check proper answer on unexpected
|
|
def test_h2_300_03(self, env):
|
|
url = env.mkurl("https", "cgi", "/echo.py")
|
|
r = env.curl_post_data(url, 'XYZ', options=["-H", "expect: the-unexpected"])
|
|
assert 417 == r.response["status"]
|
|
assert "previous" not in r.response
|