comparison test/test_mysql.py @ 1898:f3d25c512931

Remove duplication: use a 'extra_config' attribute which is appended to the config file for testCreation.
author Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
date Wed, 05 Nov 2003 21:54:57 +0000
parents 043e1b699047
children f255363e6d97
comparison
equal deleted inserted replaced
1897:3ead7f982792 1898:f3d25c512931
13 # BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 13 # BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
14 # FOR A PARTICULAR PURPOSE. THE CODE PROVIDED HEREUNDER IS ON AN "AS IS" 14 # FOR A PARTICULAR PURPOSE. THE CODE PROVIDED HEREUNDER IS ON AN "AS IS"
15 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE, 15 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
16 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 16 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
17 # 17 #
18 # $Id: test_mysql.py,v 1.3 2003-11-02 08:44:17 richard Exp $ 18 # $Id: test_mysql.py,v 1.4 2003-11-05 21:54:57 jlgijsbers Exp $
19 19
20 import unittest, os, shutil, time, imp 20 import unittest, os, shutil, time, imp
21 21
22 from roundup.hyperdb import DatabaseError 22 from roundup.hyperdb import DatabaseError
23 from roundup import init, backends 23 from roundup import init, backends
42 class mysqlSchemaTest(mysqlOpener, SchemaTest): 42 class mysqlSchemaTest(mysqlOpener, SchemaTest):
43 pass 43 pass
44 44
45 class mysqlClassicInitTest(ClassicInitTest): 45 class mysqlClassicInitTest(ClassicInitTest):
46 backend = 'mysql' 46 backend = 'mysql'
47 47 extra_config = '''
48 def testCreation(self):
49 ae = self.assertEqual
50
51 # create the instance
52 init.install(self.dirname, 'templates/classic')
53 init.write_select_db(self.dirname, self.backend)
54 f = open(os.path.join(self.dirname, 'config.py'), 'a')
55 try:
56 f.write('''
57 MYSQL_DBHOST = 'localhost' 48 MYSQL_DBHOST = 'localhost'
58 MYSQL_DBUSER = 'rounduptest' 49 MYSQL_DBUSER = 'rounduptest'
59 MYSQL_DBPASSWORD = 'rounduptest' 50 MYSQL_DBPASSWORD = 'rounduptest'
60 MYSQL_DBNAME = 'rounduptest' 51 MYSQL_DBNAME = 'rounduptest'
61 MYSQL_DATABASE = (MYSQL_DBHOST, MYSQL_DBUSER, MYSQL_DBPASSWORD, MYSQL_DBNAME) 52 MYSQL_DATABASE = (MYSQL_DBHOST, MYSQL_DBUSER, MYSQL_DBPASSWORD, MYSQL_DBNAME)
62 ''') 53 '''
63 finally:
64 f.close()
65 init.initialise(self.dirname, 'sekrit')
66
67 # check we can load the package
68 instance = imp.load_package(self.dirname, self.dirname)
69
70 # and open the database
71 db = instance.open()
72
73 # check the basics of the schema and initial data set
74 l = db.priority.list()
75 ae(l, ['1', '2', '3', '4', '5'])
76 l = db.status.list()
77 ae(l, ['1', '2', '3', '4', '5', '6', '7', '8'])
78 l = db.keyword.list()
79 ae(l, [])
80 l = db.user.list()
81 ae(l, ['1', '2'])
82 l = db.msg.list()
83 ae(l, [])
84 l = db.file.list()
85 ae(l, [])
86 l = db.issue.list()
87 ae(l, [])
88
89 if hasattr(backends, 'mysql'): 54 if hasattr(backends, 'mysql'):
90 from roundup.backends import mysql as module 55 from roundup.backends import mysql as module
91 def tearDown(self): 56 def tearDown(self):
92 ClassicInitTest.tearDown(self) 57 ClassicInitTest.tearDown(self)
93 self.module.db_nuke(config) 58 self.module.db_nuke(config)

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