X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=test%2Ftest_mysql.py;h=88f014d138851c1e53f52620e8a0be982ae308b1;hb=eb25ddf86e9f278d3e39137cae613789344dcfa2;hp=e30e0b1dc86d191ceb2efd8adf361f6bf6842d50;hpb=a56d6c8fb960de7fdadc3a635935da472cc5eda8;p=roundup.git diff --git a/test/test_mysql.py b/test/test_mysql.py index e30e0b1..88f014d 100644 --- a/test/test_mysql.py +++ b/test/test_mysql.py @@ -14,28 +14,21 @@ # 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 +from db_test_base import ConcurrentDBTest, FilterCacheTest -# 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 +57,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) @@ -78,6 +64,24 @@ MYSQL_DATABASE = (MYSQL_DBHOST, MYSQL_DBUSER, MYSQL_DBPASSWORD, MYSQL_DBNAME) ClassicInitTest.tearDown(self) self.nuke_database() +class mysqlConcurrencyTest(mysqlOpener, ConcurrentDBTest): + backend = 'mysql' + def setUp(self): + mysqlOpener.setUp(self) + ConcurrentDBTest.setUp(self) + def tearDown(self): + ConcurrentDBTest.tearDown(self) + self.nuke_database() + +class mysqlFilterCacheTest(mysqlOpener, FilterCacheTest): + backend = 'mysql' + def setUp(self): + mysqlOpener.setUp(self) + FilterCacheTest.setUp(self) + def tearDown(self): + FilterCacheTest.tearDown(self) + self.nuke_database() + from session_common import RDBMSTest class mysqlSessionTest(mysqlOpener, RDBMSTest): def setUp(self): @@ -89,17 +93,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' @@ -108,9 +111,12 @@ def test_suite(): suite.addTest(unittest.makeSuite(mysqlSchemaTest)) suite.addTest(unittest.makeSuite(mysqlClassicInitTest)) suite.addTest(unittest.makeSuite(mysqlSessionTest)) + suite.addTest(unittest.makeSuite(mysqlConcurrencyTest)) + suite.addTest(unittest.makeSuite(mysqlFilterCacheTest)) return suite if __name__ == '__main__': runner = unittest.TextTestRunner() unittest.main(testRunner=runner) +# vim: set et sts=4 sw=4 :