Exemple #1
0
def update_project(project_id: int,
                   project: schemas.ProjectUpdate = Body(..., embed=True),
                   db: Session = Depends(get_db)):
    db_project: models.Project = crud.read(db, project_id, models.Project)
    if db_project is None:
        raise HTTPException(status_code=404, detail='Project not found')
    return crud.update(db, project, db_project)
Exemple #2
0
def update_column(column_id: int,
                  column: schemas.ColumnUpdate = Body(..., embed=True),
                  db: Session = Depends(get_db)):
    db_column: models.Column = crud.read(db, column_id, models.Column)
    if db_column is None:
        raise HTTPException(status_code=404, detail='Column not found')
    return crud.update(db, column, db_column)
Exemple #3
0
def delete_team(team_id: int, db: Session = Depends(get_db)):
    db_team: models.Team = crud.read(db, team_id, models.Team)
    if db_team is None:
        raise HTTPException(
            status_code=404,
            detail='Team not found')
    return crud.delete(db, db_team)
Exemple #4
0
def update_team(
        team_id: int,
        team: schemas.TeamBase = Body(..., embed=True),
        db: Session = Depends(get_db)):
    db_team: models.Team = crud.read(db, team_id, models.Team)
    if db_team is None:
        raise HTTPException(
            status_code=404,
            detail='Team not found')
    return crud.update(db, team, db_team)
Exemple #5
0
def test_read(
        resource_id: int,
        Model: crud.DatabaseModel,
        attributes: list[str],
        field: str,
        value: str,
        test_db_seeded: Session):

    orm_model = crud.read(test_db_seeded, resource_id, Model)
    assert getattr(orm_model, field) == value
    assert all(getattr(orm_model, field, False) for field in attributes)
Exemple #6
0
def test_get_db(monkeypatch):
    monkeypatch.setattr(db, 'SessionLocal', TestSessionLocal)
    Base.metadata.create_all(bind=engine, checkfirst=True)

    session: Session = next(db.get_db())
    team_schema = schemas.TeamBase(team_name='QA')
    team_from_create = crud.create(session, team_schema, models.Team)
    team_from_read = crud.read(session, 1, models.Team)
    assert isinstance(team_from_create, models.Team)
    assert isinstance(team_from_read, models.Team)
    assert team_from_create.team_name == team_from_read.team_name

    Base.metadata.drop_all(bind=engine)
Exemple #7
0
def delete_user(user_id: int,
                current_user: models.User = Depends(gcu),
                db: Session = Depends(get_db)):
    db_user: models.User = crud.read(db, user_id, models.User)
    if db_user is None:
        raise HTTPException(status_code=status.HTTP_404_NOT_FOUND,
                            detail='User not found')
    elif current_user != db_user:
        logger.warning(
            f'User[{current_user.email}] tried to delete User[{db_user.email}]'
        )
        raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED,
                            detail='Could not validate credentials',
                            headers={'WWW-Authenticate': 'Bearer'})
    return crud.delete(db, db_user)
Exemple #8
0
def test_update(
        resource_id: int,
        Schema: crud.Schema,
        Model: crud.DatabaseModel,
        schema_vals: dict,
        attributes: list[str],
        field: str,
        updated_value: str,
        monkeypatch,
        test_db_seeded: Session):

    def mock_get_password_hash(*args):
        return 'fake_hashed_password'

    monkeypatch.setattr(models.User, 'get_password_hash', mock_get_password_hash)

    schema = Schema(**schema_vals)
    orm_model = crud.read(test_db_seeded, resource_id, Model)
    updated_orm_model = crud.update(test_db_seeded, schema, orm_model)
    assert getattr(updated_orm_model, field) == updated_value
    assert all(getattr(updated_orm_model, field, False) for field in attributes)
Exemple #9
0
def delete_column(column_id: int, db: Session = Depends(get_db)):
    db_column: models.Column = crud.read(db, column_id, models.Column)
    if db_column is None:
        raise HTTPException(status_code=404, detail='Column not found')
    return crud.delete(db, db_column)
Exemple #10
0
def get_user_team(user_id: int, db: Session = Depends(get_db)):
    db_user: models.User = crud.read(db, user_id, models.User)
    if db_user is None:
        raise HTTPException(status_code=404, detail='User not found')
    return db_user.team
Exemple #11
0
def delete_project(project_id: int, db: Session = Depends(get_db)):
    db_project: models.Project = crud.read(db, project_id, models.Project)
    if db_project is None:
        raise HTTPException(status_code=404, detail='Project not found')
    return crud.delete(db, db_project)
Exemple #12
0
def test_get_project_data(test_db_seeded: Session):
    task_ten = crud.read(test_db_seeded, 10, models.Task)
    project = crud.read(test_db_seeded, 2, models.Project)
    expected_return = {"project_data": {"To do": [task_ten]}}
    assert project.get_project_data() == expected_return