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