#!/usr/bin/env python3
"""
Script de test pour le module de scraping du SCAMBot
"""

import sys
import os
sys.path.append(os.path.dirname(os.path.abspath(__file__)))

from modules.scraper import VideoScraper
from modules.llm_processor import LLMProcessor
import json

def test_scraper():
    """Test du module de scraping"""
    print("🧪 Test du module de scraping...")
    
    scraper = VideoScraper()
    
    # URLs de test
    test_urls = [
        "https://www.instagram.com/p/C4X8Y9Z1A2B/",  # Instagram
        "https://www.youtube.com/watch?v=dQw4w9WgXcQ",  # YouTube
        "https://www.tiktok.com/@test/video/1234567890"  # TikTok
    ]
    
    for url in test_urls:
        print(f"\n🔍 Test de scraping: {url}")
        try:
            result = scraper.scrape_video(url)
            print(f"✅ Succès:")
            print(f"   URL: {result['url']}")
            print(f"   Description: {result['description'][:100]}...")
            print(f"   Durée: {result['duration']}")
            print(f"   Plateforme: {result['platform']}")
        except Exception as e:
            print(f"❌ Erreur: {e}")

def test_llm():
    """Test du module LLM"""
    print("\n🤖 Test du module LLM...")
    
    llm = LLMProcessor()
    
    # Données de test
    test_video_data = {
        'url': 'https://www.instagram.com/p/test/',
        'description': 'Découverte du nouveau jeu #Minecraft avec des graphismes incroyables ! 🎮 #gaming #minecraft',
        'duration': '00:05:30',
        'platform': 'Instagram'
    }
    
    try:
        result = llm.process_video(test_video_data)
        print(f"✅ Succès:")
        print(f"   Jeu détecté: {result['game_name']}")
        print(f"   Plateforme: {result['platform']}")
        print(f"   Succès: {result['success']}")
        if result['success']:
            print(f"   Données générées: {len(result['form_data'])} caractères")
    except Exception as e:
        print(f"❌ Erreur: {e}")

def test_database():
    """Test du module de base de données"""
    print("\n💾 Test du module de base de données...")
    
    from modules.database import Database
    
    db = Database("test_scambot.db")
    
    try:
        # Test d'ajout de créateur
        success = db.add_creator("test_creator", "Instagram", "https://instagram.com/test", 123456789)
        print(f"✅ Ajout créateur: {success}")
        
        # Test de liste des créateurs
        creators = db.list_creators()
        print(f"✅ Créateurs trouvés: {len(creators)}")
        
        # Test de suppression
        success = db.remove_creator("test_creator")
        print(f"✅ Suppression créateur: {success}")
        
        # Nettoyer le fichier de test
        if os.path.exists("test_scambot.db"):
            os.remove("test_scambot.db")
            
    except Exception as e:
        print(f"❌ Erreur: {e}")

def main():
    """Fonction principale de test"""
    print("🚀 Démarrage des tests du SCAMBot...")
    
    # Test du scraper
    test_scraper()
    
    # Test du LLM (nécessite Ollama)
    try:
        test_llm()
    except Exception as e:
        print(f"⚠️ Test LLM ignoré (Ollama non disponible): {e}")
    
    # Test de la base de données
    test_database()
    
    print("\n✅ Tests terminés !")

if __name__ == "__main__":
    main() 