Code

clear the cache on commit for rdbms backends: Don't carry over cached
[roundup.git] / test / test_sqlite.py
index 8479ef4a9a455ec713782651cd32d1c60107db11..cec5a9ad037ca35d41829ba21941596046773903 100644 (file)
 # FOR A PARTICULAR PURPOSE.  THE CODE PROVIDED HEREUNDER IS ON AN "AS IS"
 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
-# 
-# $Id: test_sqlite.py,v 1.1 2003-10-25 22:53:26 richard Exp $ 
+#
+# $Id: test_sqlite.py,v 1.6 2008-09-01 00:43:02 richard Exp $
 
 import unittest, os, shutil, time
+from roundup.backends import get_backend, have_backend
 
-from db_test_base import DBTest, ROTest, SchemaTest, \
-    ClassicInitTest
+from db_test_base import DBTest, ROTest, SchemaTest, ClassicInitTest, config
+from db_test_base import ConcurrentDBTest
 
 class sqliteOpener:
-    from roundup.backends import sqlite as module
+    if have_backend('sqlite'):
+        module = get_backend('sqlite')
+
+    def nuke_database(self):
+        shutil.rmtree(config.DATABASE)
 
 class sqliteDBTest(sqliteOpener, DBTest):
     pass
@@ -37,10 +42,17 @@ class sqliteSchemaTest(sqliteOpener, SchemaTest):
 class sqliteClassicInitTest(ClassicInitTest):
     backend = 'sqlite'
 
+class sqliteConcurrencyTest(ConcurrentDBTest):
+    backend = 'sqlite'
+
+from session_common import RDBMSTest
+class sqliteSessionTest(sqliteOpener, RDBMSTest):
+    pass
+
 def test_suite():
     suite = unittest.TestSuite()
     from roundup import backends
-    if not hasattr(backends, 'sqlite'):
+    if not have_backend('sqlite'):
         print 'Skipping sqlite tests'
         return suite
     print 'Including sqlite tests'
@@ -48,6 +60,8 @@ def test_suite():
     suite.addTest(unittest.makeSuite(sqliteROTest))
     suite.addTest(unittest.makeSuite(sqliteSchemaTest))
     suite.addTest(unittest.makeSuite(sqliteClassicInitTest))
+    suite.addTest(unittest.makeSuite(sqliteSessionTest))
+    suite.addTest(unittest.makeSuite(sqliteConcurrencyTest))
     return suite
 
 if __name__ == '__main__':