- Frontend v4 accessible sur réseau local (192.168.1.40) - Ports ouverts: 3002 (frontend), 5001 (backend), 5004 (dashboard) - Ollama GPU fonctionnel - Self-healing interactif - Dashboard confiance Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
145 lines
5.2 KiB
Python
145 lines
5.2 KiB
Python
#!/usr/bin/env python3
|
|
"""
|
|
Test des Corrections de la Palette VWB
|
|
Auteur : Dom, Alice, Kiro - 10 janvier 2026
|
|
|
|
Ce script teste si les corrections apportées à la Palette
|
|
permettent maintenant d'afficher correctement les actions du catalogue.
|
|
"""
|
|
|
|
import requests
|
|
import json
|
|
import time
|
|
from datetime import datetime
|
|
|
|
def test_backend_still_working():
|
|
"""Vérifier que le backend fonctionne toujours"""
|
|
print("🔍 Vérification du backend...")
|
|
|
|
try:
|
|
response = requests.get("http://localhost:5004/api/vwb/catalog/actions", timeout=5)
|
|
if response.status_code == 200:
|
|
data = response.json()
|
|
action_count = len(data.get('actions', []))
|
|
print(f"✅ Backend OK: {action_count} actions disponibles")
|
|
return True, action_count
|
|
else:
|
|
print(f"❌ Backend erreur: {response.status_code}")
|
|
return False, 0
|
|
except Exception as e:
|
|
print(f"❌ Backend inaccessible: {e}")
|
|
return False, 0
|
|
|
|
def test_frontend_accessible():
|
|
"""Vérifier que le frontend est accessible"""
|
|
print("\n🌐 Vérification du frontend...")
|
|
|
|
try:
|
|
response = requests.get("http://localhost:3000", timeout=5)
|
|
if response.status_code == 200:
|
|
print("✅ Frontend accessible sur port 3000")
|
|
return True
|
|
else:
|
|
print(f"❌ Frontend erreur: {response.status_code}")
|
|
return False
|
|
except Exception as e:
|
|
print(f"❌ Frontend inaccessible: {e}")
|
|
return False
|
|
|
|
def check_typescript_compilation():
|
|
"""Vérifier s'il y a des erreurs de compilation TypeScript"""
|
|
print("\n🔧 Vérification de la compilation TypeScript...")
|
|
|
|
# Lire les logs de compilation récents
|
|
try:
|
|
# Vérifier si le fichier Palette a des erreurs de syntaxe évidentes
|
|
with open('visual_workflow_builder/frontend/src/components/Palette/index.tsx', 'r') as f:
|
|
content = f.read()
|
|
|
|
# Vérifications basiques
|
|
checks = {
|
|
'Imports corrects': 'import React' in content and 'useMemo' in content,
|
|
'Hook useCatalogActions': 'useCatalogActions' in content,
|
|
'État catalogState': 'catalogState' in content,
|
|
'Fonction handleReloadCatalog': 'handleReloadCatalog' in content,
|
|
'Pas de setCatalogState orphelin': content.count('setCatalogState') <= 1, # Devrait être supprimé
|
|
'Syntaxe JSX correcte': content.count('{') == content.count('}'),
|
|
}
|
|
|
|
print("📋 Vérifications du code:")
|
|
all_good = True
|
|
for check, result in checks.items():
|
|
status = "✅" if result else "❌"
|
|
print(f" {check}: {status}")
|
|
if not result:
|
|
all_good = False
|
|
|
|
return all_good
|
|
|
|
except Exception as e:
|
|
print(f"❌ Erreur lors de la vérification: {e}")
|
|
return False
|
|
|
|
def main():
|
|
"""Fonction principale de test"""
|
|
print("=" * 60)
|
|
print("🧪 TEST DES CORRECTIONS PALETTE VWB")
|
|
print("=" * 60)
|
|
print(f"📅 Date: {datetime.now().strftime('%d/%m/%Y %H:%M:%S')}")
|
|
print()
|
|
|
|
# Tests séquentiels
|
|
results = {}
|
|
|
|
# 1. Backend toujours fonctionnel
|
|
backend_ok, action_count = test_backend_still_working()
|
|
results['backend'] = backend_ok
|
|
|
|
# 2. Frontend accessible
|
|
frontend_ok = test_frontend_accessible()
|
|
results['frontend'] = frontend_ok
|
|
|
|
# 3. Code TypeScript correct
|
|
typescript_ok = check_typescript_compilation()
|
|
results['typescript'] = typescript_ok
|
|
|
|
# Résumé
|
|
print("\n" + "=" * 60)
|
|
print("📊 RÉSUMÉ DES TESTS")
|
|
print("=" * 60)
|
|
|
|
success_count = sum(results.values())
|
|
total_tests = len(results)
|
|
|
|
for test_name, result in results.items():
|
|
status = "✅ OK" if result else "❌ PROBLÈME"
|
|
print(f"{test_name.capitalize():15} : {status}")
|
|
|
|
print(f"\n📈 Score: {success_count}/{total_tests} ({success_count/total_tests*100:.1f}%)")
|
|
|
|
# Diagnostic
|
|
print("\n🔧 DIAGNOSTIC:")
|
|
|
|
if not backend_ok:
|
|
print("❌ PROBLÈME CRITIQUE: Le backend ne fonctionne plus")
|
|
print(" → Redémarrer le backend: python scripts/start_vwb_backend_catalogue_complet_10jan2026.py")
|
|
elif not frontend_ok:
|
|
print("❌ PROBLÈME CRITIQUE: Le frontend ne répond plus")
|
|
print(" → Vérifier les logs du serveur de développement React")
|
|
elif not typescript_ok:
|
|
print("⚠️ PROBLÈME CODE: Erreurs dans le code TypeScript")
|
|
print(" → Vérifier la console du navigateur pour les erreurs de compilation")
|
|
else:
|
|
print("✅ CORRECTIONS APPLIQUÉES AVEC SUCCÈS")
|
|
print(f"🎯 {action_count} actions disponibles dans le catalogue")
|
|
print("\n💡 PROCHAINES ÉTAPES:")
|
|
print("1. Ouvrir http://localhost:3000 dans un navigateur")
|
|
print("2. Cliquer sur l'onglet 'Test Catalogue' dans le tiroir de documentation")
|
|
print("3. Vérifier que le composant de test affiche les actions du catalogue")
|
|
print("4. Vérifier que la palette principale affiche maintenant les actions VisionOnly")
|
|
|
|
return success_count == total_tests
|
|
|
|
if __name__ == "__main__":
|
|
success = main()
|
|
exit(0 if success else 1) |