Code

xmlrpc handling of unicode characters, see
[roundup.git] / test / test_mysql.py
index e30e0b1dc86d191ceb2efd8adf361f6bf6842d50..75e862a7ef6fb08ab74a75a6332e326cb8c8f7b8 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_mysql.py,v 1.9 2004-03-24 06:18:59 richard Exp $ 
+#
+# $Id: test_mysql.py,v 1.15 2004-11-10 22:22:59 richard Exp $
 
 import unittest, os, shutil, time, imp
 
 from roundup.hyperdb import DatabaseError
-from roundup import init, backends
+from roundup.backends import get_backend, have_backend
 
 from db_test_base import DBTest, ROTest, config, SchemaTest, ClassicInitTest
 
 
-# Mysql connection data
-config.MYSQL_DBHOST = 'localhost'
-config.MYSQL_DBUSER = 'rounduptest'
-config.MYSQL_DBPASSWORD = 'rounduptest'
-config.MYSQL_DBNAME = 'rounduptest'
-config.MYSQL_DATABASE = (config.MYSQL_DBHOST, config.MYSQL_DBUSER,
-    config.MYSQL_DBPASSWORD, config.MYSQL_DBNAME)
-
 class mysqlOpener:
-    if hasattr(backends, 'mysql'):
-        from roundup.backends import mysql as module
+    if have_backend('mysql'):
+        module = get_backend('mysql')
 
     def setUp(self):
         self.module.db_nuke(config)
@@ -64,13 +56,6 @@ class mysqlSchemaTest(mysqlOpener, SchemaTest):
 
 class mysqlClassicInitTest(mysqlOpener, ClassicInitTest):
     backend = 'mysql'
-    extra_config = '''
-MYSQL_DBHOST = 'localhost'
-MYSQL_DBUSER = 'rounduptest'
-MYSQL_DBPASSWORD = 'rounduptest'
-MYSQL_DBNAME = 'rounduptest'
-MYSQL_DATABASE = (MYSQL_DBHOST, MYSQL_DBUSER, MYSQL_DBPASSWORD, MYSQL_DBNAME)
-'''
     def setUp(self):
         mysqlOpener.setUp(self)
         ClassicInitTest.setUp(self)
@@ -89,17 +74,16 @@ class mysqlSessionTest(mysqlOpener, RDBMSTest):
 
 def test_suite():
     suite = unittest.TestSuite()
-    if not hasattr(backends, 'mysql'):
+    if not have_backend('mysql'):
         print "Skipping mysql tests"
         return suite
 
-    from roundup.backends import mysql
+    import MySQLdb
     try:
-        # Check if we can run mysql tests
-        import MySQLdb
-        db = mysql.Database(config, 'admin')
-        db.close()
-    except (MySQLdb.ProgrammingError, DatabaseError), msg:
+        # Check if we can connect to the server.
+        # use db_exists() to make a connection, ignore it's return value
+        mysqlOpener.module.db_exists(config)
+    except (MySQLdb.MySQLError, DatabaseError), msg:
         print "Skipping mysql tests (%s)"%msg
     else:
         print 'Including mysql tests'
@@ -114,3 +98,4 @@ if __name__ == '__main__':
     runner = unittest.TextTestRunner()
     unittest.main(testRunner=runner)
 
+# vim: set et sts=4 sw=4 :