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 test_create( Schema: crud.Schema, Model: crud.DatabaseModel, schema_vals: dict, attributes: list[str], field: str, 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.create(test_db_seeded, schema, Model) assert getattr(orm_model, field) == value assert all(getattr(orm_model, field, False) for field in attributes)
def create_column(column: schemas.ColumnBase, db: Session = Depends(get_db)): return crud.create(db, column, models.Column)
def create_user(user: schemas.UserCreate, db: Session = Depends(get_db)): db_user = models.User.get_user_by_email(db, user.email) if db_user: raise HTTPException(status_code=status.HTTP_400_BAD_REQUEST, detail="Email already registered") return crud.create(db, user, models.User)
def create_project(project: schemas.ProjectBase, db: Session = Depends(get_db)): return crud.create(db, project, models.Project)
def create_team(team: schemas.TeamBase, db: Session = Depends(get_db)): return crud.create(db, team, models.Team)