Esempio n. 1
0
        # set up database

        yield self.db.createDB('dadtest')

        self.daddb = couch.DADDB(self.db, 'dadtest')
        self.testdb = self.daddb

        thisDir = os.path.dirname(__file__)
        couchPath = os.path.abspath(
            os.path.join(thisDir, '..', '..', '..', 'couchdb'))
        (status, output) = commands.getstatusoutput(
            "couchapp push --docid _design/dad " + \
            "%s http://%s:%s@localhost:%d/dadtest/" % (
                couchPath, 'testpaisley', 'testpaisley', self.wrapper.port))
        self.failIf(status, "Could not execute couchapp: %s" % output)


class CouchDatabaseTestCase(mixin_database.BaseTestCase, DADDBTestCase):
    """
    I am a base class for tests defined in mixin_database.
    """

    @defer.inlineCallbacks
    def setUp(self):
        yield DADDBTestCase.setUp(self)
        self.provider = pdadcouch.CouchDBDatabaseProvider()

# instantiate all generic database tests
globals().update(mixin_database.makeTestCaseClasses(CouchDatabaseTestCase))
Esempio n. 2
0
    I am a base class for mixin_database tests using the memory database
    with pickle storage.
    """

    def setUp(self):
        self._fd, self._path = tempfile.mkstemp(suffix=u'.dad.test.memorydb')
        os.close(self._fd)

        self.testdb = memory.MemoryDB(self._path)
        self.provider = pdad.CoreDatabaseProvider()

    def tearDown(self):
        os.unlink(self._path)

# instantiate all generic database tests
globals().update(mixin_database.makeTestCaseClasses(MemoryDBTestCase))

# additional tests
class MemoryDatabasePickleTestCase(MemoryDBPickleTestCase, unittest.TestCase):

    @defer.inlineCallbacks
    def testScorePersists(self):
        t = self.testdb.new('track', name=u'Crap Song')
        yield self.testdb.save(t)

        yield self.testdb.score(t, u'thomas', u'Good', 0.1)
        yield self.testdb.score(t, u'thomas', u'Party', 0.2)

        # now get a new database
        testdb = memory.MemoryDB(self._path)
        categories = yield testdb.getCategories()