def app(env_config, default_config): """Flask application fixture.""" app = create_app(**default_config) # FIXME: Needs fixing flask_celeryext, # which once creates the first celery app, the flask_app that is set # is never released from the global state, even if you create a new # celery application. We need to unset the "flask_app" manually. from celery import current_app as cca cca = cca._get_current_object() delattr(cca, "flask_app") celery_app = create_celery_app(app) # FIXME: When https://github.com/inveniosoftware/flask-celeryext/issues/35 # is closed and Flask-CeleryExt is released, this can be removed. class _TestAppContextTask(Task): abstract = True def __call__(self, *args, **kwargs): if flask_current_app: return Task.__call__(self, *args, **kwargs) with self.app.flask_app.app_context(): return Task.__call__(self, *args, **kwargs) celery_app.Task = _TestAppContextTask celery_app.set_current() with app.app_context(): yield app
def app(request): """Flask application fixture.""" app = create_app( CELERY_ALWAYS_EAGER=True, CELERY_CACHE_BACKEND="memory", CELERY_EAGER_PROPAGATES_EXCEPTIONS=True, CELERY_RESULT_BACKEND="cache", DEBUG_TB_ENABLED=False, SECRET_KEY="CHANGE_ME", SECURITY_PASSWORD_SALT="CHANGE_ME", MAIL_SUPPRESS_SEND=True, SQLALCHEMY_DATABASE_URI=os.environ.get('SQLALCHEMY_DATABASE_URI', 'sqlite:///test.db'), TESTING=True, ) with app.app_context(): if not database_exists(str(db.engine.url)): create_database(str(db.engine.url)) db.drop_all() db.create_all() list(current_search.create()) def teardown(): with app.app_context(): drop_database(str(db.engine.url)) list(current_search.delete(ignore=[404])) request.addfinalizer(teardown) return app
def app(request): """Flask application fixture.""" app = create_app( CELERY_ALWAYS_EAGER=True, CELERY_CACHE_BACKEND="memory", CELERY_EAGER_PROPAGATES_EXCEPTIONS=True, CELERY_RESULT_BACKEND="cache", DEBUG_TB_ENABLED=False, SECRET_KEY="CHANGE_ME", SECURITY_PASSWORD_SALT="CHANGE_ME", MAIL_SUPPRESS_SEND=True, SQLALCHEMY_DATABASE_URI=os.environ.get( 'SQLALCHEMY_DATABASE_URI', 'sqlite:///test.db'), TESTING=True, ) with app.app_context(): if not database_exists(str(db.engine.url)): create_database(str(db.engine.url)) db.drop_all() db.create_all() list(current_search.create()) def teardown(): with app.app_context(): drop_database(str(db.engine.url)) list(current_search.delete(ignore=[404])) request.addfinalizer(teardown) return app
def app(env_config, default_config): """Flask application fixture.""" app = create_app(**default_config) # FIXME: Needs fixing flask_celeryext, # which once creates the first celery app, the flask_app that is set # is never released from the global state, even if you create a new # celery application. We need to unset the "flask_app" manually. from celery import current_app as cca cca = cca._get_current_object() delattr(cca, "flask_app") celery_app = create_celery_app(app) celery_app.set_current() with app.app_context(): yield app
def base_app(request): """Flask application fixture.""" app = create_app( # CELERY_ALWAYS_EAGER=True, # CELERY_CACHE_BACKEND="memory", # CELERY_EAGER_PROPAGATES_EXCEPTIONS=True, # CELERY_RESULT_BACKEND="cache", DEBUG_TB_ENABLED=False, SECRET_KEY="CHANGE_ME", SECURITY_PASSWORD_SALT="CHANGE_ME", MAIL_SUPPRESS_SEND=True, SQLALCHEMY_DATABASE_URI=os.environ.get('SQLALCHEMY_DATABASE_URI', 'sqlite:///test.db'), TESTING=True, ) with app.app_context(): yield app
def base_app(request): """Flask application fixture.""" app = create_app( # CELERY_ALWAYS_EAGER=True, # CELERY_CACHE_BACKEND="memory", # CELERY_EAGER_PROPAGATES_EXCEPTIONS=True, # CELERY_RESULT_BACKEND="cache", DEBUG_TB_ENABLED=False, SECRET_KEY="CHANGE_ME", SECURITY_PASSWORD_SALT="CHANGE_ME", MAIL_SUPPRESS_SEND=True, SQLALCHEMY_DATABASE_URI=os.environ.get( 'SQLALCHEMY_DATABASE_URI', 'sqlite:///test.db'), TESTING=True, ) with app.app_context(): yield app
def app(request): """Flask application fixture.""" instance_path = tempfile.mkdtemp() os.environ.update(APP_INSTANCE_PATH=os.environ.get('INSTANCE_PATH', instance_path), ) app = create_app( SQLALCHEMY_DATABASE_URI=os.environ.get('SQLALCHEMY_DATABASE_URI', 'sqlite:///test.db'), TESTING=True, ) def teardown(): shutil.rmtree(instance_path) request.addfinalizer(teardown) with app.app_context(): yield app
def app(): """Flask application fixture.""" instance_path = tempfile.mkdtemp() os.environ.update( APP_INSTANCE_PATH=os.environ.get( 'INSTANCE_PATH', instance_path), ) app = create_app( DEBUG_TB_ENABLED=False, SQLALCHEMY_DATABASE_URI=os.environ.get( 'SQLALCHEMY_DATABASE_URI', 'sqlite:///test.db'), TESTING=True, CFG_SITE_NAME="testserver", ) with app.app_context(): yield app shutil.rmtree(instance_path)
def app(request): """Flask application fixture.""" instance_path = tempfile.mkdtemp() os.environ.update( APP_INSTANCE_PATH=os.environ.get( 'INSTANCE_PATH', instance_path), ) app = create_app( SQLALCHEMY_DATABASE_URI=os.environ.get( 'SQLALCHEMY_DATABASE_URI', 'sqlite:///test.db'), TESTING=True, ) def teardown(): shutil.rmtree(instance_path) request.addfinalizer(teardown) with app.app_context(): yield app
def base_app(request): """Flask application fixture.""" # Disable HTTPS APP_DEFAULT_SECURE_HEADERS['force_https'] = False APP_DEFAULT_SECURE_HEADERS['session_cookie_secure'] = False app = create_app( # CELERY_ALWAYS_EAGER=True, # CELERY_CACHE_BACKEND="memory", # CELERY_EAGER_PROPAGATES_EXCEPTIONS=True, # CELERY_RESULT_BACKEND="cache", APP_DEFAULT_SECURE_HEADERS=APP_DEFAULT_SECURE_HEADERS, DEBUG_TB_ENABLED=False, SECRET_KEY="CHANGE_ME", SECURITY_PASSWORD_SALT="CHANGE_ME", MAIL_SUPPRESS_SEND=True, SQLALCHEMY_DATABASE_URI=os.environ.get( 'SQLALCHEMY_DATABASE_URI', 'sqlite:///test.db'), TESTING=True, ) with app.app_context(): yield app
def app(env_config, default_config): """Flask application fixture.""" app = create_app(**default_config) with app.app_context(): yield app