check_dependency_recovery.py 702 B

1234567891011121314151617181920
  1. import subprocess
  2. import httpx
  3. def main():
  4. with httpx.Client(base_url="http://127.0.0.1:18000", timeout=10) as client:
  5. assert client.get("/health/ready").status_code == 200
  6. try:
  7. subprocess.run(["docker", "compose", "stop", "redis-state"], check=True)
  8. assert client.get("/health/ready").status_code == 503
  9. assert client.get("/health/live").status_code == 200
  10. finally:
  11. subprocess.run(["docker", "compose", "up", "-d", "--wait", "redis-state"], check=True)
  12. assert client.get("/health/ready").status_code == 200
  13. print("持久 Redis 停止、503 响应和恢复验证通过")
  14. if __name__ == "__main__":
  15. main()