async def test_authenticate_user_wrong_password(fake_db):
    hashed_password = security.crypt.hash("testing312")
    user = user_factories.UserInDbFactory(hashed_password=hashed_password)
    await users_db.create_user_db(user, fake_db)
    assert (
        await security.authenticate_user(user.username, "password", fake_db,) is False
    )
Example #2
0
async def test_create_user_db(fake_db):
    fake_user = user_factories.UserInDbFactory()
    await users_db.create_user_db(fake_user, fake_db)
    created_user = await get_collection(users_db.COLLECTION_NAME,
                                        fake_db).find_one(fake_user.dict())
    del created_user["_id"]
    assert created_user == fake_user.dict()
Example #3
0
async def test_get_user_db(fake_db, field):
    fake_user = user_factories.UserInDbFactory()
    await get_collection(users_db.COLLECTION_NAME,
                         fake_db).insert_one(fake_user.dict())
    user = await users_db.get_user_db(getattr(fake_user, field), fake_db)
    del user["_id"]
    assert user == fake_user.dict()
async def test_authenticate_user_user_not_active(fake_db):
    test_password = "******"
    hashed_password = security.crypt.hash(test_password)
    user = user_factories.UserInDbFactory(hashed_password=hashed_password, active=False)
    await users_db.create_user_db(user, fake_db)
    assert (
        await security.authenticate_user(user.username, test_password, fake_db) is False
    )
async def test_get_current_active_user_expired_token(fake_db):
    username = "******"
    user = user_factories.UserInDbFactory(username=username)
    await users_db.create_user_db(user, fake_db)
    token = jwt.encode(
        {"sub": username, "exp": datetime.now(timezone.utc) - timedelta(days=3)},
        settings.SECRET_KEY,
    )
    with pytest.raises(HTTPException):
        await security.get_current_user(token=token, db=fake_db)
async def test_get_current_user_valid_user(fake_db):
    username = "******"
    user = user_factories.UserInDbFactory(username=username)
    await users_db.create_user_db(user, fake_db)
    token = security.create_user_access_token(username)
    assert await security.get_current_user(token=token, db=fake_db) == user