#!/usr/bin/env python3 """ Test de la capture d'événements """ import sys import time from pathlib import Path sys.path.insert(0, str(Path(__file__).parent / "geniusia2")) from core.event_capture import EventCapture from core.logger import Logger def test_event_capture(): """Test de la capture d'événements.""" print("=" * 60) print("Test de Capture d'Événements") print("=" * 60) print() logger = Logger() capture = EventCapture(logger=logger, pattern_threshold=3) def on_pattern(pattern): print(f"\n🎯 PATTERN DÉTECTÉ !") print(f" Répétitions: {pattern['repetitions']}") print(f" Longueur: {pattern['length']}") print(f" Fenêtre: {pattern['window']}") capture.register_pattern_callback(on_pattern) print("1. Démarrage de la capture...") if capture.start(): print(" ✓ Capture démarrée") else: print(" ✗ Échec du démarrage") return False print("\n2. Effectuez des actions répétitives (clics, frappes)...") print(" Le test s'arrêtera dans 30 secondes") print() try: for i in range(30): time.sleep(1) events = capture.get_recent_events(5) if events: print(f"\r Événements capturés: {len(capture.events)}", end="", flush=True) except KeyboardInterrupt: print("\n\n⏹️ Arrêt demandé") print("\n\n3. Arrêt de la capture...") capture.stop() print(" ✓ Capture arrêtée") print(f"\n4. Résumé:") print(f" Total d'événements: {len(capture.events)}") recent = capture.get_recent_events(10) if recent: print(f"\n Derniers événements:") for e in recent[-5:]: print(f" - {e['type']} à {e['timestamp'].strftime('%H:%M:%S')}") print("\n" + "=" * 60) print("✓ Test terminé") print("=" * 60) return True if __name__ == "__main__": success = test_event_capture() sys.exit(0 if success else 1)