예제 #1
0
def test_update_password(
    user: User,
    user_create_data: dict,
    session: Session,
    application: Application,
):
    old_password = user_create_data["password"]
    new_password = "******"
    assert old_password != new_password
    application.update_password(session, user, old_password, new_password)
    assert user.hashed_password != old_password
    assert user.hashed_password != new_password
    assert not util.password_is_match(old_password, user.hashed_password)
    assert util.password_is_match(new_password, user.hashed_password)
예제 #2
0
def update_password(
        data: PasswordUpdateSchema,
        user: User = Depends(dependencies.get_current_user),
        app: Application = Depends(dependencies.get_application),
        session: Session = Depends(dependencies.get_database_session),
):
    try:
        return app.update_password(session, user, data.old_password,
                                   data.new_password)
    except ApplicationError as e:
        if "not found" in str(e).lower():
            raise HTTPException(404, str(e))
        raise HTTPException(400, str(e))