This commit is contained in:
2026-10-11 02:24:14 +07:00
parent b212e002ce
commit 7fe5525a01
6 changed files with 43 additions and 8 deletions
+3 -2
View File
@@ -192,14 +192,14 @@ with tempfile.TemporaryDirectory(prefix="venue-https-") as directory:
# Test-only CA is explicit; public HTTPS verification is never disabled.
context = ssl.create_default_context(cafile=str(root / "ca.pem"))
def request(domain, path, tls=True):
def request(domain, path, tls=True, method="GET", body=None):
port = int(run("docker", "port", proxy, "443/tcp" if tls else "80/tcp").split(":")[-1])
connection = http.client.HTTPConnection("127.0.0.1", port, timeout=10)
if tls:
connection.sock = context.wrap_socket(socket.create_connection(("127.0.0.1", port), timeout=10),
server_hostname=domain)
try:
connection.request("GET", path, headers={"Host": domain})
connection.request(method, path, body=body, headers={"Host": domain})
response = connection.getresponse()
return response.status, response.getheader("Location"), response.read().decode()
finally:
@@ -224,6 +224,7 @@ with tempfile.TemporaryDirectory(prefix="venue-https-") as directory:
assert request(domain, "/api/test/ping?value=1", tls=False)[:2] == (308, "https://" + domain + "/api/test/ping?value=1")
assert request(domain, "/api/test/ping?value=1") == (200, None, "api:/api/test/ping?value=1")
assert request(domain, "/api/files/material.pdf") == (200, None, "api:/api/files/material.pdf")
assert request(domain, "/api/games/import", method="POST", body=b"test ZIP") == (200, None, "api:/api/games/import")
assert request(ui, "/team-story/1?password=test") == (200, None, "spa:/team-story/1?password=test")
assert request(api, "/docs/") == (200, None, "api:/docs/")
run("docker", "restart", proxy)