summaryrefslogtreecommitdiff
path: root/tests/test_serving.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_serving.py')
-rw-r--r--tests/test_serving.py40
1 files changed, 17 insertions, 23 deletions
diff --git a/tests/test_serving.py b/tests/test_serving.py
index 43a8db65..1d712f9b 100644
--- a/tests/test_serving.py
+++ b/tests/test_serving.py
@@ -36,50 +36,44 @@ def test_server(tmp_path, dev_server, kwargs: dict):
kwargs["hostname"] = f"unix://{tmp_path / 'test.sock'}"
client = dev_server(**kwargs)
- r = client.open()
+ r = client.request()
assert r.status == 200
assert r.json["PATH_INFO"] == "/"
def test_untrusted_host(standard_app):
- conn = standard_app.connect()
- conn.request(
- "GET",
+ r = standard_app.request(
"http://missing.test:1337/index.html#ignore",
headers={"x-base-url": standard_app.url},
)
- response = conn.getresponse()
- environ = json.load(response)
- response.close()
- conn.close()
- assert environ["HTTP_HOST"] == "missing.test:1337"
- assert environ["PATH_INFO"] == "/index.html"
- host, _, port = environ["HTTP_X_BASE_URL"].rpartition(":")
- assert environ["SERVER_NAME"] == host.partition("http://")[2]
- assert environ["SERVER_PORT"] == port
+ assert r.json["HTTP_HOST"] == "missing.test:1337"
+ assert r.json["PATH_INFO"] == "/index.html"
+ host, _, port = r.json["HTTP_X_BASE_URL"].rpartition(":")
+ assert r.json["SERVER_NAME"] == host.partition("http://")[2]
+ assert r.json["SERVER_PORT"] == port
def test_double_slash_path(standard_app):
- r = standard_app.open("//double-slash")
+ r = standard_app.request("//double-slash")
assert "double-slash" not in r.json["HTTP_HOST"]
assert r.json["PATH_INFO"] == "/double-slash"
def test_500_error(standard_app):
- r = standard_app.open("/crash")
+ r = standard_app.request("/crash")
assert r.status == 500
assert b"Internal Server Error" in r.data
def test_ssl_dev_cert(tmp_path, dev_server):
client = dev_server(ssl_context=make_ssl_devcert(tmp_path))
- r = client.open()
+ r = client.request()
assert r.json["wsgi.url_scheme"] == "https"
def test_ssl_object(dev_server):
client = dev_server(ssl_context="custom")
- r = client.open()
+ r = client.request()
assert r.json["wsgi.url_scheme"] == "https"
@@ -93,12 +87,12 @@ def test_reloader_sys_path(tmp_path, dev_server, reloader_type):
real_path.write_text("syntax error causes import error")
client = dev_server("reloader", reloader_type=reloader_type)
- assert client.open().status == 500
+ assert client.request().status == 500
shutil.copyfile(Path(__file__).parent / "test_apps" / "standard_app.py", real_path)
client.wait_for_log(f" * Detected change in {str(real_path)!r}, reloading")
client.wait_for_reload()
- assert client.open().status == 200
+ assert client.request().status == 200
def test_windows_get_args_for_reloading(monkeypatch, tmp_path):
@@ -124,11 +118,11 @@ def test_wrong_protocol(standard_app):
def test_content_type_and_length(standard_app):
- r = standard_app.open()
+ r = standard_app.request()
assert "CONTENT_TYPE" not in r.json
assert "CONTENT_LENGTH" not in r.json
- r = standard_app.open(data=b"{}", headers={"content-type": "application/json"})
+ r = standard_app.request(body=b"{}", headers={"content-type": "application/json"})
assert r.json["CONTENT_TYPE"] == "application/json"
assert r.json["CONTENT_LENGTH"] == "2"
@@ -189,7 +183,7 @@ def test_multiple_headers_concatenated(standard_app):
https://tools.ietf.org/html/rfc3875#section-4.1.18
"""
- # Can't use open or conn.request, don't support multiple values.
+ # conn.request doesn't support multiple values.
conn = standard_app.connect()
conn.putrequest("GET", "/")
conn.putheader("XYZ", "a ") # trailing space is preserved
@@ -212,7 +206,7 @@ def test_multiline_header_folding(standard_app):
https://tools.ietf.org/html/rfc2616#section-2.2
"""
- # Can't use open or conn.request, don't support multiline values.
+ # conn.request doesn't support multiline values.
conn = standard_app.connect()
conn.putrequest("GET", "/")
conn.putheader("XYZ", "first", "second", "third")