Files
sqlalchemy/test/query.py
T
Mike Bayer c4b7f5bd99
2005-08-28 20:44:41 +00:00

60 lines
1.8 KiB
Python

from testbase import PersistTest
import unittest, sys
import sqlalchemy.databases.sqlite as sqllite
db = sqllite.engine(':memory:', {}, echo = True)
from sqlalchemy.sql import *
from sqlalchemy.schema import *
class QueryTest(PersistTest):
def setUp(self):
self.users = Table('users', db,
Column('user_id', INT, primary_key = True),
Column('user_name', VARCHAR(20)),
)
self.users.build()
def testinsert(self):
c = db.connection()
self.users.insert().execute(user_id = 7, user_name = 'jack')
print repr(self.users.select().execute().fetchall())
def testupdate(self):
c = db.connection()
self.users.insert().execute(user_id = 7, user_name = 'jack')
print repr(self.users.select().execute().fetchall())
self.users.update(self.users.c.user_id == 7).execute(user_name = 'fred')
print repr(self.users.select().execute().fetchall())
def testdelete(self):
c = db.connection()
self.users.insert().execute(user_id = 7, user_name = 'jack')
self.users.insert().execute(user_id = 8, user_name = 'fred')
print repr(self.users.select().execute().fetchall())
self.users.delete(self.users.c.user_name == 'fred').execute()
print repr(self.users.select().execute().fetchall())
def testtransaction(self):
def dostuff():
self.users.insert().execute(user_id = 7, user_name = 'john')
self.users.insert().execute(user_id = 8, user_name = 'jack')
db.transaction(dostuff)
print repr(self.users.select().execute().fetchall())
def tearDown(self):
self.users.drop()
if __name__ == "__main__":
unittest.main()