Adding e2e testing
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
import os
|
||||
import time
|
||||
import urllib.request
|
||||
|
||||
|
||||
base_url = os.getenv("E2E_BASE_URL", "http://web").rstrip("/")
|
||||
health_url = os.getenv("E2E_HEALTH_URL", f"{base_url}/")
|
||||
deadline = time.time() + int(os.getenv("E2E_WEB_TIMEOUT_SECONDS", "120"))
|
||||
last_error = None
|
||||
|
||||
while time.time() < deadline:
|
||||
try:
|
||||
with urllib.request.urlopen(health_url, timeout=5) as response:
|
||||
if response.status < 500:
|
||||
break
|
||||
except Exception as exc:
|
||||
last_error = exc
|
||||
time.sleep(2)
|
||||
else:
|
||||
raise SystemExit(f"Timed out waiting for {health_url}: {last_error}")
|
||||
|
||||
with urllib.request.urlopen(f"{base_url}/", timeout=5) as response:
|
||||
if response.status >= 500:
|
||||
raise SystemExit(f"Web returned HTTP {response.status} at {base_url}/")
|
||||
Reference in New Issue
Block a user