- 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>
98 lines
3.5 KiB
Python
98 lines
3.5 KiB
Python
#!/usr/bin/env python3
|
|
"""
|
|
Test Final : Résolution Palette Vide Cross-Machine VWB
|
|
Auteur : Dom, Alice, Kiro - 10 janvier 2026
|
|
|
|
Test rapide pour valider que la résolution complète fonctionne correctement.
|
|
"""
|
|
|
|
import sys
|
|
import subprocess
|
|
from pathlib import Path
|
|
|
|
def test_resolution_complete():
|
|
"""Test final de la résolution cross-machine"""
|
|
|
|
print("🚀 TEST FINAL - Résolution Palette Vide Cross-Machine VWB")
|
|
print("=" * 60)
|
|
print("Auteur : Dom, Alice, Kiro - 10 janvier 2026")
|
|
print()
|
|
|
|
# Vérifier les fichiers clés
|
|
files_to_check = [
|
|
"visual_workflow_builder/frontend/src/services/catalogService.ts",
|
|
"visual_workflow_builder/frontend/src/hooks/useCatalogActions.ts",
|
|
"visual_workflow_builder/frontend/src/components/Palette/index.tsx",
|
|
"visual_workflow_builder/frontend/src/data/staticCatalog.ts",
|
|
"tests/integration/test_resolution_palette_cross_machine_finale_10jan2026.py",
|
|
"scripts/test_resolution_palette_cross_machine_finale_10jan2026.py",
|
|
"docs/RESOLUTION_FINALE_PALETTE_VIDE_CROSS_MACHINE_VWB_10JAN2026.md",
|
|
"docs/RESUME_RESOLUTION_PALETTE_CROSS_MACHINE_COMPLETE_10JAN2026.md",
|
|
]
|
|
|
|
print("📁 Vérification des fichiers...")
|
|
missing_files = []
|
|
|
|
for file_path in files_to_check:
|
|
if Path(file_path).exists():
|
|
print(f" ✅ {file_path}")
|
|
else:
|
|
print(f" ❌ {file_path} - MANQUANT")
|
|
missing_files.append(file_path)
|
|
|
|
if missing_files:
|
|
print(f"\n❌ {len(missing_files)} fichier(s) manquant(s)")
|
|
return False
|
|
|
|
print(f"\n✅ Tous les {len(files_to_check)} fichiers sont présents")
|
|
|
|
# Exécuter le script de validation
|
|
print("\n🧪 Exécution de la validation complète...")
|
|
try:
|
|
result = subprocess.run([
|
|
'python3', 'scripts/test_resolution_palette_cross_machine_finale_10jan2026.py'
|
|
], capture_output=True, text=True, timeout=30)
|
|
|
|
if result.returncode == 0:
|
|
print("✅ Validation complète réussie")
|
|
return True
|
|
else:
|
|
print("❌ Validation complète échouée")
|
|
print("STDERR:", result.stderr)
|
|
return False
|
|
|
|
except subprocess.TimeoutExpired:
|
|
print("⏰ Timeout de validation (> 30s)")
|
|
return False
|
|
except Exception as e:
|
|
print(f"💥 Erreur lors de la validation: {e}")
|
|
return False
|
|
|
|
def main():
|
|
"""Point d'entrée principal"""
|
|
|
|
success = test_resolution_complete()
|
|
|
|
print("\n" + "=" * 60)
|
|
|
|
if success:
|
|
print("🎉 RÉSOLUTION PALETTE VIDE CROSS-MACHINE : COMPLÈTE ET VALIDÉE")
|
|
print()
|
|
print("✅ Fonctionnalités implémentées :")
|
|
print(" 🌐 Détection automatique d'URL backend")
|
|
print(" 📦 Catalogue statique de secours (5 actions)")
|
|
print(" 🎨 Interface utilisateur avec indicateurs visuels")
|
|
print(" 🔄 Actions de récupération (retry, reset, re-detect)")
|
|
print(" 💾 Persistance configuration localStorage")
|
|
print(" 🇫🇷 Messages et interface en français")
|
|
print(" ⚡ Performance < 5 secondes garantie")
|
|
print(" 🛡️ Robustesse cross-machine")
|
|
print()
|
|
print("🚀 Le système est prêt pour le déploiement !")
|
|
sys.exit(0)
|
|
else:
|
|
print("❌ RÉSOLUTION INCOMPLÈTE - Vérifier les erreurs ci-dessus")
|
|
sys.exit(1)
|
|
|
|
if __name__ == '__main__':
|
|
main() |