#!/usr/bin/env python3 """ Test du Backend Visual Workflow Builder Auteur : Dom, Alice, Kiro - 08 janvier 2026 """ import requests import json import time import sys def test_backend(base_url="http://localhost:5002"): """Test le backend VWB.""" print(f"đŸ§Ș Test du backend: {base_url}") # Test 1: Health check try: response = requests.get(f"{base_url}/health", timeout=5) if response.status_code == 200: print("✅ Health check OK") print(f" RĂ©ponse: {response.json()}") else: print(f"❌ Health check Ă©chouĂ©: {response.status_code}") return False except Exception as e: print(f"❌ Erreur health check: {e}") return False # Test 2: Liste des workflows try: response = requests.get(f"{base_url}/api/workflows", timeout=5) if response.status_code == 200: workflows = response.json() print(f"✅ Liste workflows OK ({len(workflows)} workflows)") else: print(f"❌ Liste workflows Ă©chouĂ©: {response.status_code}") return False except Exception as e: print(f"❌ Erreur liste workflows: {e}") return False # Test 3: CrĂ©ation d'un workflow try: test_workflow = { "name": "Test Workflow", "description": "Workflow de test automatique", "created_by": "test_script" } response = requests.post( f"{base_url}/api/workflows", json=test_workflow, timeout=5 ) if response.status_code == 201: created_workflow = response.json() workflow_id = created_workflow['id'] print(f"✅ CrĂ©ation workflow OK (ID: {workflow_id})") # Test 4: RĂ©cupĂ©ration du workflow créé response = requests.get(f"{base_url}/api/workflows/{workflow_id}", timeout=5) if response.status_code == 200: print("✅ RĂ©cupĂ©ration workflow OK") return True else: print(f"❌ RĂ©cupĂ©ration workflow Ă©chouĂ©: {response.status_code}") return False else: print(f"❌ CrĂ©ation workflow Ă©chouĂ©: {response.status_code}") print(f" RĂ©ponse: {response.text}") return False except Exception as e: print(f"❌ Erreur crĂ©ation workflow: {e}") return False if __name__ == "__main__": print("🚀 Test automatique du backend VWB") print("=" * 40) # Attendre que le serveur soit prĂȘt print("⏳ Attente du dĂ©marrage du serveur...") time.sleep(2) success = test_backend() if success: print("\n✅ Tous les tests sont passĂ©s!") sys.exit(0) else: print("\n❌ Certains tests ont Ă©chouĂ©") sys.exit(1)