47 lines
1.7 KiB
Python
47 lines
1.7 KiB
Python
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.") |