def run_and_configure_db(self): yield self.db_process.restart() c = self.db_process.get_config() db_host, db_port, db_name = c['host'], c['port'], 'test' db = database.Database(db_host, db_port, db_name) self.addCleanup(db.disconnect) self.db = db.get_connection() yield tools.create_db(self.db) yield tools.push_initial_data(self.db) defer.returnValue((db_host, db_port, db_name, ))
def testMigrating(self): serialization.register(VersionedTest1) feat.initial_data(VersionedTest1) yield tools.push_initial_data(self.connection) doc = yield self.connection.get_document('testdoc') self.assertEqual('default', doc.field1) serialization.register(VersionedTest2) yield tools.migration_script(self.connection) doc = yield self.connection.get_document('testdoc') self.assertEqual('default upgraded', doc.field1)
def run_and_configure_db(self): yield self.db_process.restart() c = self.db_process.get_config() db_host, db_port, db_name = c['host'], c['port'], 'test' db = database.Database(db_host, db_port, db_name) self.db = db.get_connection() yield tools.create_db(self.db) # disable nagios integration for the purpose of this test from feat.agents.alert import alert_agent alert_config = alert_agent.AlertAgentConfiguration(enabled=False) feat.initial_data(alert_config) yield tools.push_initial_data(self.db) defer.returnValue((db_host, db_port, db_name, ))
def testDefiningDocument(self): feat.initial_data(SomeDocument) feat.initial_data( SomeDocument(doc_id=u'special_id', field1=u'special')) yield tools.push_initial_data(self.connection) special = yield self.connection.get_document('special_id') self.assertIsInstance(special, SomeDocument) self.assertEqual('special', special.field1) ids = self.db._documents.keys() other_id = filter(lambda x: x not in ('special_id', "_design/feat", "_design/featjs"), ids)[0] normal = yield self.connection.get_document(other_id) self.assertEqual('default', normal.field1)
def testMigrating(self): serialization.register(VersionedTest1) feat.initial_data(VersionedTest1) yield tools.push_initial_data(self.connection) doc = yield self.connection.get_document('testdoc') self.assertEqual('default', doc.field1) serialization.register(VersionedTest2) migration.register(SimpleMigration(type_name=VersionedTest2.type_name, source_ver=1, target_ver=2)) yield tools.migration_script(self.connection) doc = yield self.connection.get_document('testdoc') self.assertEqual('default upgraded', doc.field1)
def initiate(self): self._database_connection = self._database.get_connection() d1 = tools.push_initial_data(self._database_connection) d2 = self._jourwriter.initiate() self._journaler.configure_with(self._jourwriter) return defer.DeferredList([d1, d2])