37 lines
1.0 KiB
Python
37 lines
1.0 KiB
Python
# test_db.py (im Projekt-Root, NICHT in app/ falls main.py woanders liegt)
|
|
from database import SessionLocal, engine, Base
|
|
import models
|
|
|
|
Base.metadata.create_all(bind=engine) # falls Tabelle noch nicht existiert
|
|
|
|
from crud.user import create_user, get_user_by_email, update_user, delete_user, verify_password
|
|
|
|
db = SessionLocal()
|
|
|
|
# Erstellen
|
|
u = create_user(db, email="2test@example.com", password="test1234", role="admin")
|
|
print("Erstellt:", u.id, u.email, u.role)
|
|
|
|
# Lesen
|
|
found = get_user_by_email(db, "1test@example.com")
|
|
print(found)
|
|
print("Gefunden:", found.email if found else "nicht gefunden")
|
|
|
|
# Passwort prüfen
|
|
print("Passwort korrekt:", verify_password("test1234", found.password))
|
|
print("Falsches Passwort:", verify_password("falsch", found.password))
|
|
|
|
# Updaten
|
|
updated = update_user(db, u.id, email="neu@example.com")
|
|
print("Aktualisiert:", updated.email)
|
|
|
|
# Löschen
|
|
success = delete_user(db, u.id)
|
|
print("Gelöscht:", success)
|
|
|
|
# Prüfen, ob wirklich weg
|
|
gone = get_user_by_email(db, "neu@example.com")
|
|
print("Nach Löschen noch da?:", gone)
|
|
|
|
db.close()
|