示例#1
0
def test_update_model():
    email_address = '*****@*****.**'
    password = bytes('zzz', 'ascii')
    verified = True
    role = 'employee'

    try:
        db_session = Session()

        # create dummy account
        account = Account(
            email_address=email_address,
            password=password,
            verified=False,  # to update 1
            role='student'  # to update 2
        )
        db_session.add(account)
        db_session.commit()

        # update account
        update_model(
            Account, Account.email_address.name, email_address, **{
                Account.verified.name: verified,
                Account.role.name: role
            })

        # query updated dummy account
        account = db_session.query(Account).filter_by(
            email_address=email_address).first()

        # test
        eq_(email_address, account.email_address)
        eq_(password, account.password)
        eq_(verified, account.verified)
        eq_(role, account.role)

    finally:
        # delete dummy account
        db_session.delete(account)
        db_session.commit()
示例#2
0
def populate_student(csv_dictreader, db_session):
    for row in csv_dictreader:
        student = Student(
            first_name=row['first_name'],
            last_name=row['last_name'],
            # alternative_name='',
            ocmr=row['ocmr'],
            t_number='T01000000',
            email_address=row['email_id'] + '@oberlin.edu',
        )
        db_session.add(student)


if __name__ == '__main__':

    metadata = MetaData(bind=engine)

    with open(CSV_FILE) as f:
        # assume first line is header
        cf = csv.DictReader(f, delimiter=',')

        db_session = Session()
        try:
            populate_student(cf, db_session)
            db_session.commit()
        except:
            db_session.rollback()
            raise
        finally:
            db_session.close()