# Unit test for database creation import os import unittest import BerkeleyTestBase class TestMixin: def checkDBHomeExists(self): assert os.path.isdir(BerkeleyTestBase.DBHOME) class MinimalCreateTest(BerkeleyTestBase.BerkeleyTestBase, BerkeleyTestBase.MinimalTestBase, TestMixin): pass class FullCreateTest(BerkeleyTestBase.BerkeleyTestBase, BerkeleyTestBase.FullTestBase, TestMixin): pass class FullOpenExistingTest(BerkeleyTestBase.BerkeleyTestBase, BerkeleyTestBase.FullTestBase): def checkOpenWithExistingVersions(self): version = 'test-version' oid = self._storage.new_oid() revid = self._dostore(oid, data=7, version=version) # Now close the current storage and re-open it self._storage.close() self._storage = self.ConcreteStorage(BerkeleyTestBase.DBHOME) assert self._storage.modifiedInVersion(oid) == version def checkOpenAddVersion(self): version1 = 'test-version' oid1 = self._storage.new_oid() revid = self._dostore(oid1, data=7, version=version1) # Now close the current storage and re-open it self._storage.close() self._storage = self.ConcreteStorage(BerkeleyTestBase.DBHOME) assert self._storage.modifiedInVersion(oid1) == version1 # Now create a 2nd version string, then close/reopen version2 = 'new-version' oid2 = self._storage.new_oid() revid = self._dostore(oid2, data=8, version=version2) # Now close the current storage and re-open it self._storage.close() self._storage = self.ConcreteStorage(BerkeleyTestBase.DBHOME) assert self._storage.modifiedInVersion(oid1) == version1 # Now create a 2nd version string, then close/reopen assert self._storage.modifiedInVersion(oid2) == version2 def suite(): suite = unittest.TestSuite() suite.addTest(unittest.makeSuite(MinimalCreateTest, 'check')) suite.addTest(unittest.makeSuite(FullCreateTest, 'check')) suite.addTest(unittest.makeSuite(FullOpenExistingTest, 'check')) return suite if __name__ == '__main__': unittest.main(defaultTest='suite')