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)
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)
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)
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)
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)
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)
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)
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)
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)
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
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)
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