import requests import json # Configuration BASE_URL = "http://127.0.0.1:8000" def test_get_dashboard(): print(f"--- Test de l'endpoint: {BASE_URL}/dashboard ---") try: # 1. Envoi de la requête response = requests.get(f"{BASE_URL}/dashboard") # 2. Vérification du code statut if response.status_code == 200: data = response.json() if not data: print("L'API a répondu avec succès, mais le tableau est vide (VUE_CONSO ne contient rien).") return # 3. Affichage formaté du tableau print(f"{'ID':<5} | {'NOM DU MONITORING':<40} | {'ERREURS':<8} | {'SERVICE':<15}") print("-" * 75) for item in data: print(f"{item['id_monito']:<5} | {item['nom_monito'][:38]:<40} | {item['nb_erreurs']:<8} | {item['service']:<15}") print(f"\nTotal de lignes récupérées : {len(data)}") else: print(f"Erreur lors de la requête : {response.status_code}") print(response.text) except requests.exceptions.ConnectionError: print("Erreur : Impossible de se connecter à l'API. Est-ce qu'uvicorn est lancé ?") if __name__ == "__main__": # Petit check de santé avant de tester les données print("Vérification de l'état de l'API...") health = requests.get(f"{BASE_URL}/health").json() print(f"Statut API : {health['api']} | Statut DB : {health['database']}\n") if health['database'] == "ok": test_get_dashboard() else: print("Abandon du test : La base de données n'est pas accessible.")