def test_request_id_is_set_on_response(app): request_id.init_app(app) client = app.test_client() with app.app_context(): response = client.get('/', headers={'NotifyRequestID': 'generated'}) assert response.headers['NotifyRequestID'] == 'generated'
def create_app(app_name=None): application = Flask(__name__) from config import configs application.config.from_object(configs[os.environ["NOTIFY_ENVIRONMENT"]]) if app_name: application.config["NOTIFY_APP_NAME"] = app_name init_app(application) request_id.init_app(application) db.init_app(application) ma.init_app(application) statsd_client.init_app(application) logging.init_app(application, statsd_client) firetext_client.init_app(application, statsd_client=statsd_client) loadtest_client.init_app(application, statsd_client=statsd_client) mmg_client.init_app(application, statsd_client=statsd_client) aws_ses_client.init_app(application.config["AWS_REGION"], statsd_client=statsd_client) notify_celery.init_app(application) encryption.init_app(application) redis_store.init_app(application) clients.init_app(sms_clients=[firetext_client, mmg_client, loadtest_client], email_clients=[aws_ses_client]) register_blueprint(application) register_v2_blueprints(application) return application
def test_request_id_is_set_on_error_response(app): request_id.init_app(app) client = app.test_client() @app.route('/') def error_route(): raise Exception() with app.app_context(): response = client.get('/', headers={'NotifyRequestID': 'generated'}) assert response.status_code == 500 assert response.headers['NotifyRequestID'] == 'generated'
def create_app(): from config import configs application = Flask(__name__) application.config.from_object(configs[os.environ["NOTIFY_ENVIRONMENT"]]) init_app(application) statsd_client.init_app(application) logging.init_app(application, statsd_client) init_csrf(application) request_id.init_app(application) service_api_client.init_app(application) user_api_client.init_app(application) api_key_api_client.init_app(application) job_api_client.init_app(application) notification_api_client.init_app(application) status_api_client.init_app(application) invite_api_client.init_app(application) template_statistics_client.init_app(application) events_api_client.init_app(application) provider_client.init_app(application) organisations_client.init_app(application) login_manager.init_app(application) login_manager.login_view = "main.sign_in" login_manager.login_message_category = "default" login_manager.session_protection = None from app.main import main as main_blueprint application.register_blueprint(main_blueprint) from .status import status as status_blueprint application.register_blueprint(status_blueprint) proxy_fix.init_app(application) application.session_interface = ItsdangerousSessionInterface() application.add_template_filter(format_datetime) application.add_template_filter(format_datetime_24h) application.add_template_filter(format_datetime_normal) application.add_template_filter(format_datetime_short) application.add_template_filter(format_time) application.add_template_filter(syntax_highlight_json) application.add_template_filter(valid_phone_number) application.add_template_filter(linkable_name) application.add_template_filter(format_date) application.add_template_filter(format_date_normal) application.add_template_filter(format_date_short) application.add_template_filter(format_datetime_relative) application.add_template_filter(format_delta) application.add_template_filter(format_notification_status) application.add_template_filter(format_notification_status_as_time) application.add_template_filter(format_notification_status_as_field_status) application.add_template_filter(format_notification_status_as_url) application.after_request(useful_headers_after_request) application.after_request(save_service_after_request) application.before_request(load_service_before_request) @application.context_processor def _attach_current_service(): return {"current_service": current_service} register_errorhandlers(application) setup_event_handlers() return application