コード例 #1
0
def app_for_test(mocker):
    import flask
    from flask import Blueprint

    from app import init_app
    from app.authentication.auth import AuthError
    from app.v2.errors import BadRequestError, JobIncompleteError, TooManyRequestsError

    app = flask.Flask(__name__)
    app.config["TESTING"] = True
    init_app(app)
    from app import statsd_client

    statsd_client.init_app(app)

    from app.v2.errors import register_errors

    blue = Blueprint("v2_under_test", __name__, url_prefix="/v2/under_test")

    @blue.route("/raise_auth_error", methods=["GET"])
    def raising_auth_error():
        raise AuthError("some message", 403)

    @blue.route("/raise_bad_request", methods=["GET"])
    def raising_bad_request():
        raise BadRequestError(message="you forgot the thing")

    @blue.route("/raise_too_many_requests", methods=["GET"])
    def raising_too_many_requests():
        raise TooManyRequestsError(sending_limit="452")

    @blue.route("/raise_validation_error", methods=["GET"])
    def raising_validation_error():
        from app.schema_validation import validate
        from app.v2.notifications.notification_schemas import post_sms_request

        validate({"template_id": "bad_uuid"}, post_sms_request)

    @blue.route("raise_data_error", methods=["GET"])
    def raising_data_error():
        raise DataError("There was a db problem", "params", "orig")

    @blue.route("raise_job_incomplete_error", methods=["GET"])
    def raising_job_incomplete_error():
        raise JobIncompleteError("Raising job incomplete error")

    @blue.route("raise_exception", methods=["GET"])
    def raising_exception():
        raise AssertionError("Raising any old exception")

    register_errors(blue)
    app.register_blueprint(blue)

    return app
コード例 #2
0
def app_for_test(mocker):
    import flask
    from flask import Blueprint
    from app.authentication.auth import AuthError
    from app.v2.errors import BadRequestError, TooManyRequestsError

    app = flask.Flask(__name__)
    app.config['TESTING'] = True

    from app.v2.errors import register_errors
    blue = Blueprint("v2_under_test", __name__, url_prefix='/v2/under_test')

    @blue.route("/raise_auth_error", methods=["GET"])
    def raising_auth_error():
        raise AuthError("some message", 403)

    @blue.route("/raise_bad_request", methods=["GET"])
    def raising_bad_request():
        raise BadRequestError(message="you forgot the thing")

    @blue.route("/raise_too_many_requests", methods=["GET"])
    def raising_too_many_requests():
        raise TooManyRequestsError(sending_limit="452")

    @blue.route("/raise_validation_error", methods=["GET"])
    def raising_validation_error():
        from app.schema_validation import validate
        from app.v2.notifications.notification_schemas import post_sms_request
        validate({"template_id": "bad_uuid"}, post_sms_request)

    @blue.route("raise_data_error", methods=["GET"])
    def raising_data_error():
        raise DataError("There was a db problem", "params", "orig")

    @blue.route("raise_exception", methods=["GET"])
    def raising_exception():
        raise AssertionError("Raising any old exception")

    register_errors(blue)
    app.register_blueprint(blue)

    return app
コード例 #3
0
ファイル: __init__.py プロジェクト: cds-snc/notification-api
from flask import Blueprint

from app.v2.errors import register_errors

v2_template_blueprint = Blueprint("v2_template",
                                  __name__,
                                  url_prefix="/v2/template")

register_errors(v2_template_blueprint)
コード例 #4
0
from functools import wraps

from flask import Blueprint, current_app, jsonify, request

from app.celery.tasks import (
    record_daily_sorted_counts,
    update_letter_notifications_statuses,
)
from app.config import QueueNames
from app.notifications.utils import autoconfirm_subscription
from app.schema_validation import validate
from app.v2.errors import register_errors

letter_callback_blueprint = Blueprint("notifications_letter_callback",
                                      __name__)
register_errors(letter_callback_blueprint)

dvla_sns_callback_schema = {
    "$schema": "http://json-schema.org/draft-04/schema#",
    "description": "sns callback received on s3 update",
    "type": "object",
    "title": "dvla internal sns callback",
    "properties": {
        "Type": {
            "enum": ["Notification", "SubscriptionConfirmation"]
        },
        "MessageId": {
            "type": "string"
        },
        "Message": {
            "type": ["string", "object"]
コード例 #5
0
from flask import Blueprint, jsonify, request

from app.celery.tasks import process_returned_letters_list
from app.config import QueueNames
from app.letters.letter_schemas import letter_references
from app.schema_validation import validate
from app.v2.errors import register_errors

letter_job = Blueprint("letter-job", __name__)
register_errors(letter_job)


@letter_job.route("/letters/returned", methods=["POST"])
def create_process_returned_letters_job():
    references = validate(request.get_json(), letter_references)

    process_returned_letters_list.apply_async([references["references"]], queue=QueueNames.DATABASE)

    return jsonify(references=references["references"]), 200
コード例 #6
0
from flask import Blueprint
from app.v2.errors import register_errors

v2_inbound_sms_blueprint = Blueprint("v2_inbound_sms",
                                     __name__,
                                     url_prefix='/v2/received-text-messages')

register_errors(v2_inbound_sms_blueprint)
コード例 #7
0
from flask import Blueprint
from app.v2.errors import register_errors

v2_notification_blueprint = Blueprint("v2_notifications",
                                      __name__,
                                      url_prefix='/v2/notifications')

register_errors(v2_notification_blueprint)
コード例 #8
0
from flask import Blueprint

from app.v2.errors import register_errors

notification_blueprint = Blueprint("v2_notifications", __name__, url_prefix='/v2/notifications')

register_errors(notification_blueprint)
コード例 #9
0
from flask import Blueprint

from app.v2.errors import register_errors

v2_broadcast_blueprint = Blueprint(
    "v2_broadcast_blueprint",
    __name__,
    url_prefix='/v2/broadcast',
)

register_errors(v2_broadcast_blueprint)