def test_create_user(db: Session) -> None:
    email = random_email()
    password = random_lower_string()
    user_in = UserCreate(email=email, password=password)
    user = services.user.create_user(user_in.to_dto())
    assert user.email == email
    assert hasattr(user, "password")
def test_get_user(db: Session) -> None:
    email = random_email()
    password = random_lower_string()
    user_in = UserCreate(email=email, password=password)
    user = services.user.create_user(user_in.to_dto())
    user_2 = services.user.get_user(user.uuid)
    assert user_2
    assert user.email == user_2.email
    assert jsonable_encoder(user) == jsonable_encoder(user_2)
def test_authenticate_user(db: Session) -> None:
    email = random_email()
    password = random_lower_string()
    user_in = UserCreate(email=email, password=password)
    user = services.user.create_user(user_in.to_dto())
    authenticated_user = services.user.authenticate(email=email,
                                                    password=password)
    assert authenticated_user
    assert user.email == authenticated_user.email
def test_update_user(db: Session) -> None:
    email = random_email()
    password = random_lower_string()
    user_in = UserCreate(email=email, password=password)
    user = services.user.create_user(user_in.to_dto())
    new_password = random_lower_string()
    user_in_update = UserUpdate(password=new_password)
    services.user.update_user(user.provider_uuid, user.uuid,
                              user_in_update.to_dto())
    user_2 = services.user.get_user(user.uuid)
    assert user_2
    assert user.email == user_2.email
    assert verify_password(new_password, user_2.password)
Beispiel #5
0
def authentication_token_from_email(
    *, client: TestClient, email: str, db: Session
) -> Dict[str, str]:
    """
    Return a valid token for the user with given email.

    If the user doesn't exist it is created first.
    """
    password = random_lower_string()
    user = services.user.get_user_by_email(email)
    if not user:
        user_in_create = UserCreate(email=email, password=password)
        user = services.user.create_user(user_in_create.to_dto())
    else:
        user_in_update = UserUpdate(password=password)
        user = services.user.update_user(
            user.provider_uuid, user.uuid, user_in_update.to_dto()
        )

    return user_authentication_headers(client=client, email=email, password=password)
Beispiel #6
0
def create_random_user(db: Session) -> User:
    email = random_email()
    password = random_lower_string()
    user_in = UserCreate(email=email, password=password)
    user = services.user.create_user(user_in.to_dto())
    return User.from_dto(user)