def teardown(self): if self.should_skip_test_setup(): return # delete couch databases deleted_databases = [] skipcount = 0 for app in self.dbs: app_label = app.split('.')[-1] db = loading.get_db(app_label) if db.dbname in deleted_databases: skipcount += 1 continue try: db.server.delete_db(db.dbname) deleted_databases.append(db.dbname) log.info("deleted database %s for %s", db.dbname, app_label) except ResourceNotFound: log.info("database %s not found for %s! it was probably already deleted.", db.dbname, app_label) if skipcount: log.info("skipped deleting %s app databases that were already deleted", skipcount) # HACK clean up leaked database connections from corehq.db import connection_manager connection_manager.dispose_all() super(HqdbContext, self).teardown()
def run_db_tests(self, suite): print("Running {0} tests with database".format(suite.countTestCases())) old_config = self.setup_databases() result = self.run_suite(suite) from corehq.db import Session, connection_manager Session.remove() connection_manager.dispose_all() self.teardown_databases(old_config) return self.suite_result(suite, result)