56 lines
1.7 KiB
Python
56 lines
1.7 KiB
Python
"""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()
|