Exemplo n.º 1
0
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 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()
Exemplo n.º 3
0
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