Mercurial > p > roundup > code
diff test/test_memorydb.py @ 4349:f0faef4dd023
Make memorydb pass all tests;
1. re-base off of anydbm and overwrite persistence bits
2. refactor core DB tests to allow in-memory persistence to work
3. remove bogus testing of file content indexing on import
| author | Richard Jones <richard@users.sourceforge.net> |
|---|---|
| date | Mon, 08 Feb 2010 04:30:48 +0000 |
| parents | |
| children | 6e3e4f24c753 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/test_memorydb.py Mon Feb 08 04:30:48 2010 +0000 @@ -0,0 +1,71 @@ +# $Id: test_memorydb.py,v 1.4 2004-11-03 01:34:21 richard Exp $ + +import unittest, os, shutil, time + +from roundup import hyperdb + +from db_test_base import DBTest, ROTest, SchemaTest, config, setupSchema +import memorydb + +class memorydbOpener: + module = memorydb + + def nuke_database(self): + # really kill it + self.db = None + + db = None + def open_database(self): + if self.db is None: + self.db = self.module.Database(config, 'admin') + return self.db + + def setUp(self): + self.open_database() + setupSchema(self.db, 1, self.module) + + def tearDown(self): + if self.db is not None: + self.db.close() + + # nuke and re-create db for restore + def nukeAndCreate(self): + self.db.close() + self.nuke_database() + self.db = self.module.Database(config, 'admin') + setupSchema(self.db, 0, self.module) + +class memorydbDBTest(memorydbOpener, DBTest): + pass + +class memorydbROTest(memorydbOpener, ROTest): + def setUp(self): + self.db = self.module.Database(config) + setupSchema(self.db, 0, self.module) + +class memorydbSchemaTest(memorydbOpener, SchemaTest): + pass + +from session_common import DBMTest +class memorydbSessionTest(memorydbOpener, DBMTest): + def setUp(self): + self.db = self.module.Database(config, 'admin') + setupSchema(self.db, 1, self.module) + self.sessions = self.db.sessions + +def test_suite(): + suite = unittest.TestSuite() + print 'Including memorydb tests' + suite.addTest(unittest.makeSuite(memorydbDBTest)) + suite.addTest(unittest.makeSuite(memorydbROTest)) + suite.addTest(unittest.makeSuite(memorydbSchemaTest)) + suite.addTest(unittest.makeSuite(memorydbSessionTest)) + return suite + +if __name__ == '__main__': + runner = unittest.TextTestRunner() + unittest.main(testRunner=runner) + + +# vim: set filetype=python ts=4 sw=4 et si +
