class TestRepositoryBasic(TestCase): """ Very basic tests """ def _repositoryExists(self): try: self.rep.open() self.fail() except DBNoSuchFileError: pass except RepositoryOpenDeniedError: pass except RepositoryVersionError: pass def setUp(self): self.rootdir = '.' self.testdir = os.path.join(self.rootdir, 'tests') self.rep = DBRepository(os.path.join(self.testdir, '__repository__')) def testNonExistent(self): """ The repository should not exist at this point """ self.assert_(not self._repositoryExists()) def testCreate(self): """ Create a repository and make sure it is open """ self.rep.create() self.view = view = self.rep.createView() self.assert_(self.view.check()) self.assert_(self.rep.isOpen()) def testDestroy(self): """ Create and then delete a repository, verify it doesn't exist """ self.rep.create() self.rep.close() self.rep.delete() self.assert_(not self._repositoryExists()) def testLoadPack(self): """ Minimal test to ensure that we can load packs """ self.rep.create() view = self.rep.createView() self.assert_(view.check()) def tearDown(self): self.rep.close() self.rep.delete()
class RepositoryTestCase(TestCase): logLevel = logging.WARNING # a nice quiet default def _openRepository(self, ramdb=True): self.rep = DBRepository(os.path.join(self.testdir, "__repository__")) self.rep.create(ramdb=self.ramdb, refcounted=True) self.rep.logger.setLevel(self.logLevel) self.view = view = self.rep.createView("Test") view.commit() def setUp(self, ramdb=True, testdir="tests"): self.ramdb = ramdb self.testdir = testdir self._openRepository(ramdb) def tearDown(self): self.rep.close() self.rep.logger.debug("RAMDB = %s", self.ramdb) if not self.ramdb: self.rep.delete() def _reopenRepository(self): view = self.view view.commit() if self.ramdb: view.closeView() view.openView() else: dbHome = self.rep.dbHome self.rep.close() self.rep = DBRepository(dbHome) self.rep.open() self.view = view = self.rep.createView("Test") def loadCineguide(self, view, commit=True): view.loadPack("data/packs/cineguide.pack", package="tests") if commit: view.commit() def loadCollections(self, view, commit=True): view.loadPack("data/packs/collections.pack", package="tests") if commit: view.commit() _KIND_KIND = Path("//Schema/Core/Kind") _ITEM_KIND = Path("//Schema/Core/Item") # Repository specific assertions def assertIsRoot(self, item): self.assert_(item in list(item.itsView.iterRoots())) def assertItemPathEqual(self, item, string): self.assertEqual(str(item.itsPath), string) def setLoggerLevel(self, level): current = self.rep.logger.level self.rep.logger.setLevel(level) return current
class RepositoryTestCase(TestCase): logLevel = logging.WARNING # a nice quiet default def _openRepository(self, ramdb=True): self.rep = DBRepository(os.path.join(self.testdir, '__repository__')) self.rep.create(ramdb=self.ramdb, refcounted=True) self.rep.logger.setLevel(self.logLevel) self.view = view = self.rep.createView("Test") view.commit() def setUp(self, ramdb=True, testdir='tests'): self.ramdb = ramdb self.testdir = testdir self._openRepository(ramdb) def tearDown(self): self.rep.close() self.rep.logger.debug('RAMDB = %s', self.ramdb) if not self.ramdb: self.rep.delete() def _reopenRepository(self): view = self.view view.commit() if self.ramdb: view.closeView() view.openView() else: dbHome = self.rep.dbHome self.rep.close() self.rep = DBRepository(dbHome) self.rep.open() self.view = view = self.rep.createView("Test") def loadCineguide(self, view, commit=True): view.loadPack('data/packs/cineguide.pack', package='tests') if commit: view.commit() def loadCollections(self, view, commit=True): view.loadPack('data/packs/collections.pack', package='tests') if commit: view.commit() _KIND_KIND = Path("//Schema/Core/Kind") _ITEM_KIND = Path("//Schema/Core/Item") # Repository specific assertions def assertIsRoot(self, item): self.assert_(item in list(item.itsView.iterRoots())) def assertItemPathEqual(self, item, string): self.assertEqual(str(item.itsPath), string) def setLoggerLevel(self, level): current = self.rep.logger.level self.rep.logger.setLevel(level) return current