Initial commit

This commit is contained in:
Dom
2026-03-05 00:20:25 +01:00
commit dcd4de9945
1954 changed files with 669380 additions and 0 deletions

View File

@@ -0,0 +1,177 @@
#!/usr/bin/env python3
"""
Test d'intégration - EnrichedScreenCapture dans Orchestrator
Vérifie que l'intégration est correcte.
"""
import sys
from pathlib import Path
# Ajouter le répertoire parent au path
sys.path.insert(0, str(Path(__file__).parent))
print("="*70)
print("TEST D'INTÉGRATION - EnrichedScreenCapture dans Orchestrator")
print("="*70)
# Test 1: Vérifier que la configuration est correcte
print("\n1. Test Configuration...")
try:
from geniusia2.core.config import get_config
config = get_config()
assert "ui_detection" in config, "ui_detection manquant dans config"
assert "multimodal_embedding" in config, "multimodal_embedding manquant dans config"
assert "enhanced_matcher" in config, "enhanced_matcher manquant dans config"
print(f" ✓ Configuration UI Detection:")
print(f" - Mode: {config['ui_detection']['mode']}")
print(f" - Enabled: {config['ui_detection']['enabled']}")
print(f" ✓ Configuration Multimodal Embedding:")
print(f" - Enabled: {config['multimodal_embedding']['enabled']}")
print(f" - Weights: {config['multimodal_embedding']['weights']}")
print(f" ✓ Configuration Enhanced Matcher:")
print(f" - Screen weight: {config['enhanced_matcher']['screen_weight']}")
print(f" - Elements weight: {config['enhanced_matcher']['elements_weight']}")
print(" ✅ Configuration OK")
except Exception as e:
print(f" ❌ Erreur configuration: {e}")
sys.exit(1)
# Test 2: Vérifier que les imports fonctionnent
print("\n2. Test Imports...")
try:
from geniusia2.core.enriched_screen_capture import EnrichedScreenCapture
print(" ✓ EnrichedScreenCapture importé")
from geniusia2.core.multimodal_embedding_manager import MultiModalEmbeddingManager
print(" ✓ MultiModalEmbeddingManager importé")
from geniusia2.core.enhanced_workflow_matcher import EnhancedWorkflowMatcher
print(" ✓ EnhancedWorkflowMatcher importé")
from geniusia2.core.ui_element_models import EnrichedScreenState, UIElement
print(" ✓ UI Element Models importés")
print(" ✅ Imports OK")
except Exception as e:
print(f" ❌ Erreur imports: {e}")
sys.exit(1)
# Test 3: Vérifier que EnrichedScreenCapture peut être instancié
print("\n3. Test Instanciation EnrichedScreenCapture...")
try:
from geniusia2.core.logger import Logger
logger = Logger(log_dir="test_logs")
# Test mode light
capture_light = EnrichedScreenCapture(
logger=logger,
data_dir="test_data",
mode="light"
)
print(f" ✓ Mode light: {capture_light.get_mode()}")
# Test mode enriched
capture_enriched = EnrichedScreenCapture(
logger=logger,
data_dir="test_data",
mode="enriched"
)
print(f" ✓ Mode enriched: {capture_enriched.get_mode()}")
# Test mode complete
capture_complete = EnrichedScreenCapture(
logger=logger,
data_dir="test_data",
mode="complete"
)
print(f" ✓ Mode complete: {capture_complete.get_mode()}")
print(" ✅ Instanciation OK")
except Exception as e:
print(f" ❌ Erreur instanciation: {e}")
import traceback
traceback.print_exc()
sys.exit(1)
# Test 4: Vérifier la structure de l'Orchestrator (sans l'instancier)
print("\n4. Test Structure Orchestrator...")
try:
import inspect
# On ne peut pas importer Orchestrator à cause des dépendances torch
# Mais on peut vérifier que le fichier est syntaxiquement correct
with open("geniusia2/core/orchestrator.py", "r") as f:
content = f.read()
# Vérifier que les imports sont présents
assert "from .enriched_screen_capture import EnrichedScreenCapture" in content
print(" ✓ Import EnrichedScreenCapture présent")
# Vérifier que l'initialisation est présente
assert "self.enriched_capture = EnrichedScreenCapture(" in content
print(" ✓ Initialisation enriched_capture présente")
# Vérifier que capture_and_enrich est utilisé
assert "self.enriched_capture.capture_and_enrich(" in content
print(" ✓ Utilisation de capture_and_enrich présente")
print(" ✅ Structure Orchestrator OK")
except Exception as e:
print(f" ❌ Erreur structure: {e}")
sys.exit(1)
# Test 5: Vérifier que la configuration est chargée correctement
print("\n5. Test Chargement Configuration...")
try:
config = get_config()
# Vérifier les valeurs par défaut
assert config["ui_detection"]["mode"] == "light"
print(" ✓ Mode par défaut: light")
assert config["ui_detection"]["enabled"] == True
print(" ✓ UI Detection enabled par défaut")
assert config["multimodal_embedding"]["enabled"] == False
print(" ✓ Multimodal embedding disabled par défaut (activé en mode complete)")
assert config["enhanced_matcher"]["enabled"] == True
print(" ✓ Enhanced matcher enabled par défaut")
print(" ✅ Configuration chargée correctement")
except Exception as e:
print(f" ❌ Erreur chargement config: {e}")
sys.exit(1)
# Nettoyage
print("\n6. Nettoyage...")
import shutil
if Path("test_data").exists():
shutil.rmtree("test_data")
if Path("test_logs").exists():
shutil.rmtree("test_logs")
print(" ✓ Nettoyage terminé")
# Résumé
print("\n" + "="*70)
print("✅ TOUS LES TESTS D'INTÉGRATION RÉUSSIS!")
print("="*70)
print("\nRésumé:")
print(" ✓ Configuration ajoutée (ui_detection, multimodal_embedding, enhanced_matcher)")
print(" ✓ EnrichedScreenCapture importé dans orchestrator.py")
print(" ✓ enriched_capture initialisé dans Orchestrator.__init__")
print(" ✓ capture_and_enrich utilisé dans find_matching_workflows_enhanced")
print(" ✓ Tous les modes fonctionnent (light, enriched, complete)")
print("\n🎉 L'intégration est complète et fonctionnelle!")
print("\nProchaines étapes:")
print(" 1. Tester avec l'application réelle")
print(" 2. Activer le mode 'enriched' ou 'complete' dans config.py si besoin")
print(" 3. Monitorer les logs pour vérifier le bon fonctionnement")
sys.exit(0)