diff test/test_db.py @ 1486:f5f60c75a458

added test for error in sqlite backend, and fixed *dbm backend error
author Richard Jones <richard@users.sourceforge.net>
date Mon, 03 Mar 2003 21:05:19 +0000
parents 405e91b5be46
children 2fc7d4a8c9e7
line wrap: on
line diff
--- a/test/test_db.py	Fri Feb 28 03:41:56 2003 +0000
+++ b/test/test_db.py	Mon Mar 03 21:05:19 2003 +0000
@@ -15,12 +15,12 @@
 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
 # 
-# $Id: test_db.py,v 1.72 2003-02-27 11:07:39 richard Exp $ 
+# $Id: test_db.py,v 1.73 2003-03-03 21:05:19 richard Exp $ 
 
 import unittest, os, shutil, time
 
 from roundup.hyperdb import String, Password, Link, Multilink, Date, \
-    Interval, DatabaseError, Boolean, Number
+    Interval, DatabaseError, Boolean, Number, Node
 from roundup import date, password
 from roundup.indexer import Indexer
 
@@ -653,6 +653,27 @@
         ae(filt(None, {'nosy': '2', 'status': '1'}, ('+','id'), (None,None)),
             ['3'])
 
+    def testNode1(self):
+        node1 = self.db.user.getnode('1')
+        name = node1.username
+        self.db.user.set('1', username = name+name)
+        name1 = node1.username
+        self.db.rollback()
+        node2 = self.db.user.getnode('1')
+        self.assertEqual(name, node1.username)
+        self.assertEqual(name, node2.username)
+
+    def testNode2(self):
+        node1 = Node(self.db.user, '1')
+        name = node1.username
+        self.db.user.set('1', username = name+name)
+        name1 = node1.username
+        self.db.rollback()
+        node2 = Node(self.db.user, '1')
+        self.assertEqual(name, node1.username)
+        self.assertEqual(name, node2.username)
+
+
 # TODO test auditors and reactors
 
 class anydbmReadOnlyDBTestCase(MyTestCase):
@@ -895,28 +916,28 @@
 
     from roundup import backends
     p = []
-    if hasattr(backends, 'mysql'):
-        from roundup.backends import mysql
-        try:
-            # Check if we can run mysql tests
-            import MySQLdb
-            db = mysql.Database(nodbconfig, 'admin')
-            db.conn.select_db(config.MYSQL_DBNAME)
-            db.sql("SHOW TABLES");
-            tables = db.sql_fetchall()
-            if tables:
-                # Database should be empty. We don't dare to delete any data
-                raise DatabaseError, "(Database %s contains tables)" % config.MYSQL_DBNAME
-            db.sql("DROP DATABASE %s" % config.MYSQL_DBNAME)
-            db.sql("CREATE DATABASE %s" % config.MYSQL_DBNAME)
-            db.close()
-        except (MySQLdb.ProgrammingError, DatabaseError), msg:
-            print "Warning! Mysql tests will not be performed", msg
-            print "See doc/mysql.txt for more details."
-        else:
-            p.append('mysql')
-            l.append(unittest.makeSuite(mysqlDBTestCase, 'test'))
-            l.append(unittest.makeSuite(mysqlReadOnlyDBTestCase, 'test'))
+#    if hasattr(backends, 'mysql'):
+#        from roundup.backends import mysql
+#        try:
+#            # Check if we can run mysql tests
+#            import MySQLdb
+#            db = mysql.Database(nodbconfig, 'admin')
+#            db.conn.select_db(config.MYSQL_DBNAME)
+#            db.sql("SHOW TABLES");
+#            tables = db.sql_fetchall()
+#            if tables:
+#                # Database should be empty. We don't dare to delete any data
+#                raise DatabaseError, "(Database %s contains tables)" % config.MYSQL_DBNAME
+#            db.sql("DROP DATABASE %s" % config.MYSQL_DBNAME)
+#            db.sql("CREATE DATABASE %s" % config.MYSQL_DBNAME)
+#            db.close()
+#        except (MySQLdb.ProgrammingError, DatabaseError), msg:
+#            print "Warning! Mysql tests will not be performed", msg
+#            print "See doc/mysql.txt for more details."
+#        else:
+#            p.append('mysql')
+#            l.append(unittest.makeSuite(mysqlDBTestCase, 'test'))
+#            l.append(unittest.makeSuite(mysqlReadOnlyDBTestCase, 'test'))
     #return unittest.TestSuite(l)
 
     if hasattr(backends, 'gadfly'):

Roundup Issue Tracker: http://roundup-tracker.org/