예제 #1
0
def test_find_by_id_pass():
    # given
    # when
    user = User.find(id_=_user.id)

    # then
    assert user
    assert _user == user
예제 #2
0
def test_find_by_username_pass():
    # given
    # when
    user = User.find(username=_user.username)

    # then
    assert user
    assert _user == user
예제 #3
0
def test_missing_user_pass():
    # given
    bad_id = -1

    # when
    user = User.find(id_=bad_id)

    # then
    assert not user
예제 #4
0
def test_no_args_fail():
    # given
    # then
    with pytest.raises(AssertionError):
        User.find()
예제 #5
0
def test_overlapping_args_fail():
    # given
    # when
    # then
    with pytest.raises(AssertionError):
        User.find(username=_user.username, id_=_user.id)
예제 #6
0
def authenticate(username, password):
    """Authenticate a user with their password."""
    user = User.find(username=username)
    if user and safe_str_cmp(user.password, password):
        return user
예제 #7
0
def identity(payload):
    """Find a user by their ID."""
    id_ = payload['identity']
    return User.find(id_=id_)