""" Send a healthcheck request """ import sys import time import json import requests from src.soc_collector.auth import load_api_keys def check_collector() -> bool: """Check our collector using /info :return: bool """ time.sleep(2) # Prevent race condition with mongodb container healthcheck req = requests.get( "https://localhost:8000/info", headers={"API-KEY": load_api_keys("./api_keys.txt")[-1]}, timeout=3, verify="./collector_root_ca.crt", ) if req.status_code != 200: return False data = json.loads(req.text) if isinstance(data["Estimated document count"], int) and data["Estimated document count"] >= 0: return req.status_code == 200 return False if __name__ == "__main__": if sys.argv[1] == "COLLECTOR": if check_collector(): sys.exit(0) sys.exit(1)