import sqlalchemy.databases.oracle as oracle
import sqlalchemy.databases.sqlite as sqllite
-db = ansisql.engine()
-
from sqlalchemy.sql import *
from sqlalchemy.schema import *
import testbase
import unittest, re
-db = testbase.get_db()
-
class EngineTest(PersistTest):
def testbasic(self):
# really trip it up with a circular reference
- users = Table('users', db,
+ users = Table('users', testbase.db,
Column('user_id', INT, primary_key = True),
Column('user_name', VARCHAR(20), nullable = False),
Column('test1', CHAR(5), nullable = False),
)
- addresses = Table('email_addresses', db,
+ addresses = Table('email_addresses', testbase.db,
Column('address_id', Integer, primary_key = True),
Column('remote_user_id', Integer, ForeignKey(users.c.user_id)),
Column('email_address', String(20)),
addresses.create()
# clear out table registry
- db.tables.clear()
+ testbase.db.tables.clear()
try:
- users = Table('users', db, autoload = True)
- addresses = Table('email_addresses', db, autoload = True)
+ users = Table('users', testbase.db, autoload = True)
+ addresses = Table('email_addresses', testbase.db, autoload = True)
finally:
addresses.drop()
users.drop()
def testmultipk(self):
table = Table(
- 'multi', db,
+ 'multi', testbase.db,
Column('multi_id', Integer, primary_key=True),
Column('multi_rev', Integer, primary_key=True),
Column('name', String(50), nullable=False),
)
table.create()
# clear out table registry
- db.tables.clear()
+ testbase.db.tables.clear()
try:
- table = Table('multi', db, autoload=True)
+ table = Table('multi', testbase.db, autoload=True)
finally:
table.drop()
if __name__ == "__main__":
- unittest.main()
+ testbase.main()
import sqlalchemy.databases.postgres as postgres
echo = True
+db = None
-def get_db():
- DBTYPE = 'sqlite_memory'
- #DBTYPE = 'postgres'
- #DBTYPE = 'sqlite_file'
-
- if DBTYPE == 'sqlite_memory':
- db = engine.create_engine('sqlite', {'filename':':memory:'}, echo = echo)
- elif DBTYPE == 'sqlite_file':
- db = engine.create_engine('sqlite', {'filename':'querytest.db'}, echo = echo)
- elif DBTYPE == 'postgres':
- db = engine.create_engine('postgres', {'database':'test', 'host':'127.0.0.1', 'user':'scott', 'password':'tiger'}, echo=echo)
-
- db = EngineAssert(db)
- return db
class PersistTest(unittest.TestCase):
"""persist base class, provides default setUpAll, tearDownAll and echo functionality"""
return (exctype, excvalue, tb)
unittest.TestLoader.suiteClass = TTestSuite
+
+(param, DBTYPE) = (sys.argv.pop(1), sys.argv.pop(1))
+if (param != '--db'):
+ raise "--db <sqlite|postgres|oracle|sqlite_file> param required"
+
+if DBTYPE == 'sqlite':
+ db = engine.create_engine('sqlite', {'filename':':memory:'}, echo = echo)
+elif DBTYPE == 'sqlite_file':
+ db = engine.create_engine('sqlite', {'filename':'querytest.db'}, echo = echo)
+elif DBTYPE == 'postgres':
+ db = engine.create_engine('postgres', {'database':'test', 'host':'127.0.0.1', 'user':'scott', 'password':'tiger'}, echo=echo)
+
+db = EngineAssert(db)
+
def runTests(suite):
runner = unittest.TextTestRunner(verbosity = 2, descriptions =1)