def start_server(app_io_loop, app_start_lock): # initialize db by hand because we need it in the worker thread config.db_conf = {'type': 'sqlite', 'url': ':memory:'} db_init() load_dev_fixtures(config.db) app = mkapp() server = HTTPServer(app, io_loop=app_io_loop) server.add_socket(unused_port[0]) app_io_loop.add_callback(callback=app_start_lock.release) app_io_loop.start()
def db(): temp_dir = mkdtemp(prefix='iottalk-') temp_db = os.path.join(temp_dir, 'test.db') config.db_conf = { 'type': 'sqlite', 'url': temp_db, } db_init() load_dev_fixtures(config.db) yield config.db config.db.disconnect() config._Config__db = None rmtree(temp_dir)