def _db_pool(self, nursery): ''' Create a database connectoin pool. :param nursery: A Trio nursery to spawn database connections in. :returns: A RethinkDB connection pool. ''' r = RethinkDB() r.set_loop_type('trio') db_config = self._config['database'] return r.ConnectionPool(host=db_config['host'], port=db_config['port'], db=db_config['db'], user=db_config['user'], password=db_config['password'], nursery=nursery)
async def db_pool(nursery): r = RethinkDB() r.set_loop_type('trio') db_config = get_config()['database'] db_pool = r.ConnectionPool(host=db_config['host'], port=db_config['port'], db='integration_testing', user=db_config['super_user'], password=db_config['super_password'], nursery=nursery) async with db_pool.connection() as conn: await r.db_create('integration_testing').run(conn) yield db_pool async with db_pool.connection() as conn: await r.db_drop('integration_testing').run(conn) await db_pool.close()