]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
cleaning up more with command-line args
authorMike Bayer <mike_mp@zzzcomputing.com>
Sat, 26 Nov 2005 19:54:32 +0000 (19:54 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sat, 26 Nov 2005 19:54:32 +0000 (19:54 +0000)
test/engines.py
test/objectstore.py
test/tables.py
test/testbase.py

index 5a1dfcd0cc49cc642974bd18a41d881c52fc971e..0d1f708acbb9aa013e6ccc5838f327684137197f 100644 (file)
@@ -4,8 +4,6 @@ import sqlalchemy.databases.postgres as postgres
 import sqlalchemy.databases.oracle as oracle
 import sqlalchemy.databases.sqlite as sqllite
 
-db = ansisql.engine()
-
 from sqlalchemy.sql import *
 from sqlalchemy.schema import *
 
@@ -13,12 +11,10 @@ from testbase import PersistTest
 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),
@@ -33,7 +29,7 @@ class EngineTest(PersistTest):
             
         )
 
-        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)),
@@ -45,11 +41,11 @@ class EngineTest(PersistTest):
         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()
@@ -62,7 +58,7 @@ class EngineTest(PersistTest):
 
     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),
@@ -70,10 +66,10 @@ class EngineTest(PersistTest):
         )
         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()
         
@@ -91,5 +87,5 @@ class EngineTest(PersistTest):
         
         
 if __name__ == "__main__":
-    unittest.main()        
+    testbase.main()        
         
index e82ce59d60137c0dfce42e10b41b893bf7da3e4a..8b27d65d8bbe9b2767348f6e63ed3626a137c8e4 100644 (file)
@@ -66,6 +66,9 @@ class PKTest(AssertMixin):
         db.echo = False
         self.table.drop()
         db.echo = testbase.echo
+    def setUp(self):
+        objectstore.clear()
+        clear_mappers()
     def testprimarykey(self):
         class Entry(object):
             pass
@@ -73,7 +76,11 @@ class PKTest(AssertMixin):
         e = Entry()
         e.name = 'entry1'
         e.value = 'this is entry 1'
+        e.multi_rev = 2
         objectstore.commit()
+        objectstore.clear()
+        e2 = Entry.mapper.get(e.multi_id, 2)
+        self.assert_(e is not e2 and e._instance_key == e2._instance_key)
         
 class SaveTest(AssertMixin):
 
@@ -730,4 +737,4 @@ class SaveTest(AssertMixin):
         
 
 if __name__ == "__main__":
-    unittest.main()
+    testbase.main()        
index a2ee265e40c4a4af665116b1b22a5137499e61cd..b1beff8675e2cf02adc2eb8fe6abfb670bd24f9b 100644 (file)
@@ -9,7 +9,7 @@ import testbase
 __ALL__ = ['db', 'users', 'addresses', 'orders', 'orderitems', 'keywords', 'itemkeywords']
 
 ECHO = testbase.echo
-db = testbase.get_db()
+db = testbase.db
 
 
 users = Table('users', db,
index 1f7187bf21c50e701d2abd294a394bb6c52fdd3b..c7564f883f2a63372579f301d622a3e80de9272b 100644 (file)
@@ -5,21 +5,8 @@ import re, sys
 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"""
@@ -145,6 +132,20 @@ class TTestSuite(unittest.TestSuite):
         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)