Parcourir la source

integration: frontend port and backend port should return the same content

with proxying enabled by default in dev mode, both frontend and backend ports
on / should return the same content.
Masen Furer il y a 6 mois
Parent
commit
27c1417473
1 fichiers modifiés avec 8 ajouts et 0 suppressions
  1. 8 0
      scripts/wait_for_listening_port.py

+ 8 - 0
scripts/wait_for_listening_port.py

@@ -10,6 +10,8 @@ import time
 from concurrent.futures import ThreadPoolExecutor, as_completed
 from typing import Tuple
 
+import httpx
+
 # psutil is already a dependency of Reflex itself - so it's OK to use
 import psutil
 
@@ -61,6 +63,12 @@ def main():
         else:
             print(f"FAIL: {msg}")
             exit(1)
+    # Make sure the HTTP response for both ports is the same (proxy frontend to backend).
+    responses = [(port, httpx.get(f"http://localhost:{port}")) for port in args.port]
+    n_port, n_resp = responses[0]
+    for port, resp in responses[1:]:
+        assert resp.content == n_resp.content, f"HTTP response on {port} is not equal."
+        print(f"OK: HTTP responses for :{n_port}/ and :{port}/ are equal.")
 
 
 if __name__ == "__main__":