12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- from app import crud
- from apps.models import User, UserCreate, UserUpdate
- from apps.tests.utils.utils import random_email, random_lower_string
- from app.utils.security import verify_password
- from sqlmodel import Session
- from fastapi.encoders import jsonable_encoder
- def test_create_user(db: Session) -> None:
- email = random_email()
- password = random_lower_string()
- user_in = UserCreate(email=email, password=password)
- user = crud.create_user(session=db, user_create=user_in)
- assert user.email == email
- assert hasattr(user, "hashed_password")
- def test_authenticate_user(db: Session) -> None:
- email = random_email()
- password = random_lower_string()
- user_in = UserCreate(email=email, password=password)
- user = crud.create_user(session=db, user_create=user_in)
- authenticated_user = crud.authenticate(session=db, email=email, password=password)
- assert authenticated_user
- assert user.email == authenticated_user.email
- def test_not_authenticate_user(db: Session) -> None:
- email = random_email()
- password = random_lower_string()
- user = crud.authenticate(session=db, email=email, password=password)
- assert user is None
- def test_check_if_user_is_active(db: Session) -> None:
- email = random_email()
- password = random_lower_string()
- user_in = UserCreate(email=email, password=password)
- user = crud.create_user(session=db, user_create=user_in)
- assert user.is_active is True
- def test_check_if_user_is_active_inactive(db: Session) -> None:
- email = random_email()
- password = random_lower_string()
- user_in = UserCreate(email=email, password=password, disabled=True)
- user = crud.create_user(session=db, user_create=user_in)
- assert user.is_active
- def test_check_if_user_is_superuser(db: Session) -> None:
- email = random_email()
- password = random_lower_string()
- user_in = UserCreate(email=email, password=password, is_superuser=True)
- user = crud.create_user(session=db, user_create=user_in)
- assert user.is_superuser is True
- def test_check_if_user_is_superuser_normal_user(db: Session) -> None:
- username = random_email()
- password = random_lower_string()
- user_in = UserCreate(email=username, password=password)
- user = crud.create_user(session=db, user_create=user_in)
- assert user.is_superuser is False
- def test_get_user(db: Session) -> None:
- password = random_lower_string()
- username = random_email()
- user_in = UserCreate(email=username, password=password, is_superuser=True)
- user = crud.create_user(session=db, user_create=user_in)
- user_2 = db.get(User, user.id)
- assert user_2
- assert user.email == user_2.email
- assert jsonable_encoder(user) == jsonable_encoder(user_2)
- def test_update_user(db: Session) -> None:
- password = random_lower_string()
- email = random_email()
- user_in = UserCreate(email=email, password=password, is_superuser=True)
- user = crud.create_user(session=db, user_create=user_in)
- new_password = random_lower_string()
- user_in_update = UserUpdate(password=new_password, is_superuser=True)
- if user.id is not None:
- crud.update_user(session=db, db_user=user, user_in=user_in_update)
- user_2 = db.get(User, user.id)
- assert user_2
- assert user.email == user_2.email
- assert verify_password(new_password, user_2.hashed_password)
|