#!/usr/bin/env python3
"""
🧪 Test du Connecteur Base de Données Réelle

Script pour tester rapidement la modification des données réelles de Web Sentinel.
"""

import sys
from pathlib import Path

# Ajouter le chemin vers Web Sentinel
sys.path.insert(0, str(Path(__file__).parent.parent))
sys.path.insert(0, str(Path(__file__).parent))

from real_db_connector import RealDatabaseConnector
from web_sentinel.subscription.manager import SubscriptionTier

def main():
    print("🧪 TEST DU CONNECTEUR BASE DE DONNÉES RÉELLE")
    print("=" * 50)
    
    # Créer le connecteur
    connector = RealDatabaseConnector()
    
    # Email de test
    test_email = "bruno@taaazzz-prog.fr"
    
    print(f"\n1. 👤 Création/vérification utilisateur {test_email}")
    connector.create_real_test_user(test_email)
    
    print(f"\n2. 🔄 Test modification des tiers dans la vraie base")
    for tier in [SubscriptionTier.PRO, SubscriptionTier.ENTERPRISE, SubscriptionTier.FREE]:
        print(f"\n   Modification vers {tier.value}...")
        success = connector.modify_real_user_tier(test_email, tier)
        if success:
            # Vérifier que le changement a été enregistré
            user_info = connector.get_user_info(test_email)
            if user_info:
                print(f"   ✅ Tier enregistré: {user_info['subscription_tier']}")
            else:
                print(f"   ⚠️ Impossible de vérifier le tier")
        else:
            print(f"   ❌ Échec modification tier {tier.value}")
    
    print(f"\n3. 🔍 Vérification finale des données")
    verification = connector.verify_real_data_persistence(test_email)
    
    print(f"\n4. 🧪 Test d'intégration complet")
    results = connector.test_real_app_integration(test_email)
    
    print(f"\n✅ TESTS TERMINÉS")
    print(f"Base de données: {connector.auth_db_path}")
    print(f"Utilisateur testé: {test_email}")
    print(f"Vous pouvez maintenant lancer Web Sentinel pour voir les changements !")

if __name__ == "__main__":
    main()