コード例 #1
0
def test_get_notification_count_for_job_id(mocker):
    mock_get = mocker.patch(
        'app.notify_client.notification_api_client.NotificationApiClient.get')
    NotificationApiClient().get_notification_count_for_job_id(service_id='foo',
                                                              job_id='bar')
    mock_get.assert_called_once_with(
        url='/service/foo/job/bar/notification_count', )
コード例 #2
0
def test_get_api_notifications_changes_letter_statuses(mocker, letter_status,
                                                       expected_status):
    service_id = str(uuid.uuid4())
    sms_notification = single_notification_json(service_id,
                                                notification_type='sms',
                                                status='created')
    email_notification = single_notification_json(service_id,
                                                  notification_type='email',
                                                  status='created')
    letter_notification = single_notification_json(service_id,
                                                   notification_type='letter',
                                                   status=letter_status)
    notis = notification_json(service_id=service_id, rows=0)
    notis['notifications'] = [
        sms_notification, email_notification, letter_notification
    ]

    mocker.patch(
        'app.notify_client.notification_api_client.NotificationApiClient.get',
        return_value=notis)

    ret = NotificationApiClient().get_api_notifications_for_service(service_id)

    assert ret['notifications'][0]['notification_type'] == 'sms'
    assert ret['notifications'][1]['notification_type'] == 'email'
    assert ret['notifications'][2]['notification_type'] == 'letter'
    assert ret['notifications'][0]['status'] == 'created'
    assert ret['notifications'][1]['status'] == 'created'
    assert ret['notifications'][2]['status'] == expected_status
コード例 #3
0
def test_get_api_notifications_changes_letter_statuses(mocker, letter_status,
                                                       expected_status):
    service_id = str(uuid.uuid4())
    sms_notification = single_notification_json(service_id,
                                                notification_type="sms",
                                                status="created",
                                                api_key="api key id")
    email_notification = single_notification_json(service_id,
                                                  notification_type="email",
                                                  status="created",
                                                  api_key="api key id")
    letter_notification = single_notification_json(service_id,
                                                   notification_type="letter",
                                                   status=letter_status,
                                                   api_key="api key id")
    notis = notification_json(service_id=service_id, rows=0)
    notis["notifications"] = [
        sms_notification, email_notification, letter_notification
    ]

    mocker.patch(
        "app.notify_client.notification_api_client.NotificationApiClient.get",
        return_value=notis,
    )

    ret = NotificationApiClient().get_api_notifications_for_service(service_id)

    assert ret["notifications"][0]["notification_type"] == "sms"
    assert ret["notifications"][1]["notification_type"] == "email"
    assert ret["notifications"][2]["notification_type"] == "letter"
    assert ret["notifications"][0]["status"] == "created"
    assert ret["notifications"][1]["status"] == "created"
    assert ret["notifications"][2]["status"] == expected_status
コード例 #4
0
def test_client_gets_notifications_for_service_and_job_by_page(
        mocker, arguments, expected_call):

    mock_get = mocker.patch(
        'app.notify_client.notification_api_client.NotificationApiClient.get')
    NotificationApiClient().get_notifications_for_service(
        'abcd1234', **arguments)
    mock_get.assert_called_once_with(**expected_call)
コード例 #5
0
def test_update_notification_to_cancelled(mocker):
    mock_post = mocker.patch(
        'app.notify_client.notification_api_client.NotificationApiClient.post')
    NotificationApiClient().update_notification_to_cancelled('foo', 'bar')
    mock_post.assert_called_once_with(
        url='/service/foo/notifications/bar/cancel',
        data={},
    )
コード例 #6
0
def test_update_notification_to_cancelled(mocker):
    mock_post = mocker.patch(
        "app.notify_client.notification_api_client.NotificationApiClient.post")
    NotificationApiClient().update_notification_to_cancelled("foo", "bar")
    mock_post.assert_called_once_with(
        url="/service/foo/notifications/bar/cancel",
        data={},
    )
コード例 #7
0
def test_get_api_notifications_includes_jobs(mocker):
    service_id = str(uuid.uuid4())
    notis = notification_json(service_id=service_id, rows=0)
    notis["notifications"] = []
    mock_get = mocker.patch(
        "app.notify_client.notification_api_client.NotificationApiClient.get",
        return_value=notis,
    )

    NotificationApiClient().get_api_notifications_for_service(service_id)

    call_args_params = mock_get.call_args[1]["params"]
    assert call_args_params.get("include_jobs") is True
コード例 #8
0
def test_send_precompiled_letter(mocker, logged_in_client,
                                 active_user_with_permissions):
    mock_post = mocker.patch(
        'app.notify_client.notification_api_client.NotificationApiClient.post')
    NotificationApiClient().send_precompiled_letter(
        'abcd-1234', 'my_file.pdf', 'file-ID', 'second',
        'Bugs Bunny, 12 Hole Avenue, Looney Town')
    mock_post.assert_called_once_with(
        url='/service/abcd-1234/send-pdf-letter',
        data={
            'filename': 'my_file.pdf',
            'file_id': 'file-ID',
            'created_by': active_user_with_permissions['id'],
            'postage': 'second',
            'recipient_address': 'Bugs Bunny, 12 Hole Avenue, Looney Town',
        })
コード例 #9
0
def test_send_notification(mocker, logged_in_client, active_user_with_permissions):
    mock_post = mocker.patch('app.notify_client.notification_api_client.NotificationApiClient.post')
    NotificationApiClient().send_notification(
        'foo',
        template_id='bar',
        recipient='07700900001',
        personalisation=None,
        sender_id=None
    )
    mock_post.assert_called_once_with(
        url='/service/foo/send-notification',
        data={
            'template_id': 'bar',
            'to': '07700900001',
            'personalisation': None,
            'created_by': active_user_with_permissions.id
        }
    )
コード例 #10
0
def test_send_notification(mocker, logged_in_client,
                           active_user_with_permissions):
    mock_post = mocker.patch(
        "app.notify_client.notification_api_client.NotificationApiClient.post")
    NotificationApiClient().send_notification(
        "foo",
        template_id="bar",
        recipient="07700900001",
        personalisation=None,
        sender_id=None,
    )
    mock_post.assert_called_once_with(
        url="/service/foo/send-notification",
        data={
            "template_id": "bar",
            "to": "07700900001",
            "personalisation": None,
            "created_by": active_user_with_permissions["id"],
        },
    )
コード例 #11
0
def test_get_api_notifications_ignores_non_api_notifications(mocker):
    service_id = str(uuid.uuid4())
    notis = notification_json(service_id=service_id, rows=0)
    admin_notification = single_notification_json(service_id,
                                                  notification_type="email",
                                                  status="created",
                                                  api_key=None)
    api_notification = single_notification_json(service_id,
                                                notification_type="email",
                                                status="created",
                                                api_key="api key id")
    notis["notifications"] = [admin_notification, api_notification]
    mocker.patch(
        "app.notify_client.notification_api_client.NotificationApiClient.get",
        return_value=notis,
    )

    ret = NotificationApiClient().get_api_notifications_for_service(service_id)

    assert len(ret["notifications"]) == 1
    assert ret["notifications"][0]["api_key"] == "api key id"
コード例 #12
0
def test_get_notification(mocker):
    mock_get = mocker.patch(
        'app.notify_client.notification_api_client.NotificationApiClient.get')
    NotificationApiClient().get_notification('foo', 'bar')
    mock_get.assert_called_once_with(url='/service/foo/notifications/bar')
コード例 #13
0
ファイル: __init__.py プロジェクト: cds-snc/CANotifier
from app.notify_client.platform_stats_api_client import (
    platform_stats_api_client,
)
from app.commands import setup_commands
from app.utils import requires_auth
from app.utils import get_cdn_domain
from app.utils import gmt_timezones

login_manager = LoginManager()
csrf = CSRFProtect()

service_api_client = ServiceAPIClient()
user_api_client = UserApiClient()
api_key_api_client = ApiKeyApiClient()
job_api_client = JobApiClient()
notification_api_client = NotificationApiClient()
support_api_client = SupportApiClient()
status_api_client = StatusApiClient()
invite_api_client = InviteApiClient()
template_statistics_client = TemplateStatisticsApiClient()
events_api_client = EventsApiClient()
provider_client = ProviderClient()
email_branding_client = EmailBrandingClient()
organisations_client = OrganisationsClient()
org_invite_api_client = OrgInviteApiClient()
asset_fingerprinter = AssetFingerprinter()
statsd_client = StatsdClient()
deskpro_client = DeskproClient()
letter_jobs_client = LetterJobsClient()
inbound_number_client = InboundNumberClient()
billing_api_client = BillingAPIClient()
コード例 #14
0
def test_get_notification(mocker):
    mock_get = mocker.patch(
        "app.notify_client.notification_api_client.NotificationApiClient.get")
    NotificationApiClient().get_notification("foo", "bar")
    mock_get.assert_called_once_with(url="/service/foo/notifications/bar")
コード例 #15
0
def test_client_gets_notifications(mocker):

    mock_get = mocker.patch('app.notify_client.notification_api_client.NotificationApiClient.get')
    NotificationApiClient().get_all_notifications()
    mock_get.assert_called_once_with(url='/notifications', params={})