# 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))
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()