chartbastan/backend/test_auth.py
2026-02-01 09:31:38 +01:00

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()