"""Script pour tester l'authentification.""" import sys sys.path.insert(0, '.') from sqlalchemy.orm import Session from app.database import SessionLocal, engine, Base from app.models.user import User from app.schemas.auth import LoginRequest from passlib.context import CryptContext # Créer les tables si elles n'existent pas Base.metadata.create_all(bind=engine) # Configuration du hashage pwd_context = CryptContext(schemes=["bcrypt"], deprecated="auto") db = SessionLocal() try: # Vérifier si l'utilisateur test existe user = db.query(User).filter(User.email == "test@example.com").first() if user: print(f"✅ Utilisateur trouvé:") print(f" ID: {user.id}") print(f" Email: {user.email}") print(f" Nom: {user.name}") print(f" Hash du mot de passe: {user.password_hash[:20]}...") print(f" Premium: {user.is_premium}") else: print("❌ Utilisateur non trouvé") print("Création de l'utilisateur de test...") # Créer l'utilisateur de test new_user = User( email="test@example.com", name="Utilisateur Test", password_hash=pwd_context.hash("password123"), is_premium=False, referral_code="TESTCODE", created_at=None, # Sera défini automatiquement updated_at=None ) db.add(new_user) db.commit() db.refresh(new_user) print(f"✅ Utilisateur créé avec ID: {new_user.id}") print(f" Email: {new_user.email}") print(f" Nom: {new_user.name}") print(f" Hash du mot de passe: {new_user.password_hash[:20]}...") finally: db.close()