Esempio n. 1
0
def test_should_show_page_for_one_job(
    client_request,
    mock_get_service_template,
    mock_get_job,
    mocker,
    mock_get_notifications,
    mock_get_service_data_retention,
    fake_uuid,
    status_argument,
    expected_api_call,
    user,
):

    page = client_request.get(
        'main.view_job',
        service_id=SERVICE_ONE_ID,
        job_id=fake_uuid,
        status=status_argument
    )

    assert page.h1.text.strip() == 'thisisatest.csv'
    assert page.select_one('.govuk-back-link')['href'] == url_for(
        'main.uploads', service_id=SERVICE_ONE_ID,
    )
    assert ' '.join(page.find('tbody').find('tr').text.split()) == (
        '07123456789 template content Delivered 1 January at 11:10am'
    )
    assert page.find('div', {'data-key': 'notifications'})['data-resource'] == url_for(
        'main.view_job_updates',
        service_id=SERVICE_ONE_ID,
        job_id=fake_uuid,
        status=status_argument,
    )
    csv_link = page.select_one('a[download]')
    assert csv_link['href'] == url_for(
        'main.view_job_csv',
        service_id=SERVICE_ONE_ID,
        job_id=fake_uuid,
        status=status_argument
    )
    assert csv_link.text == 'Download this report'
    assert page.find('span', {'id': 'time-left'}).text == 'Data available for 7 days'

    assert normalize_spaces(page.select_one('tbody tr').text) == normalize_spaces(
        '07123456789 '
        'template content '
        'Delivered 1 January at 11:10am'
    )
    assert page.select_one('tbody tr a')['href'] == url_for(
        'main.view_notification',
        service_id=SERVICE_ONE_ID,
        notification_id=sample_uuid(),
        from_job=fake_uuid,
    )

    mock_get_notifications.assert_called_with(
        SERVICE_ONE_ID,
        fake_uuid,
        status=expected_api_call
    )
Esempio n. 2
0
def test_should_show_page_for_one_job(
    client_request,
    active_user_with_permissions,
    mock_get_service_template,
    mock_get_job,
    mocker,
    mock_get_notifications,
    mock_get_service_data_retention,
    fake_uuid,
    status_argument,
    expected_api_call,
    user,
):

    page = client_request.get('main.view_job',
                              service_id=SERVICE_ONE_ID,
                              job_id=fake_uuid,
                              status=status_argument)

    assert page.h1.text.strip() == 'thisisatest.csv'
    assert ' '.join(page.find('tbody').find('tr').text.split()) == (
        '6502532222 template content Delivered 11:10:00.061258')
    assert page.find(
        'div', {'data-key': 'notifications'})['data-resource'] == url_for(
            'main.view_job_updates',
            service_id=SERVICE_ONE_ID,
            job_id=fake_uuid,
            status=status_argument,
        )
    csv_link = page.select_one('a[download]')
    assert csv_link['href'] == url_for('main.view_job_csv',
                                       service_id=SERVICE_ONE_ID,
                                       job_id=fake_uuid,
                                       status=status_argument)
    assert csv_link.text == 'Download this report'
    assert page.find('span', {
        'id': 'time-left'
    }).text.split(" ")[0] == '2016-01-09'

    assert normalize_spaces(
        page.select_one('tbody tr').text) == normalize_spaces(
            '6502532222 '
            'template content '
            'Delivered 11:10:00.061258')
    assert page.select_one('tbody tr a')['href'] == url_for(
        'main.view_notification',
        service_id=SERVICE_ONE_ID,
        notification_id=sample_uuid(),
        from_job=fake_uuid,
    )

    mock_get_notifications.assert_called_with(SERVICE_ONE_ID,
                                              fake_uuid,
                                              status=expected_api_call)
Esempio n. 3
0
        "bearer_token": "bearer_token_set"
    }

    client_request.post(
        'main.received_text_messages_callback',
        service_id=service_one['id'],
        _data=data,
    )

    assert mock_update_service_inbound_api.called is False


@pytest.mark.parametrize(
    'service_callback_api, delivery_url, expected_1st_table_row', [
        (None, {}, 'Delivery receipts Not set Change'),
        (sample_uuid(), {
            'url': 'https://delivery.receipts'
        }, 'Delivery receipts https://delivery.receipts Change'),
    ])
@pytest.mark.parametrize('inbound_api, inbound_url, expected_2nd_table_row', [
    (None, {}, 'Received text messages Not set Change'),
    (sample_uuid(), {
        'url': 'https://inbound.sms'
    }, 'Received text messages https://inbound.sms Change'),
])
def test_callbacks_page_works_when_no_apis_set(
    client_request,
    service_one,
    mocker,
    service_callback_api,
    delivery_url,
Esempio n. 4
0
    client_request.post(
        'main.received_text_messages_callback',
        service_id=service_one['id'],
        _data=data,
    )

    assert mock_update_service_inbound_api.called is False


@pytest.mark.parametrize('service_callback_api, delivery_url, expected_1st_table_row', [
    (
        None, {},
        'Delivery receipts Not set Change'
    ),
    (
        sample_uuid(), {'url': 'https://delivery.receipts'},
        'Delivery receipts https://delivery.receipts Change'
    ),
])
@pytest.mark.parametrize('inbound_api, inbound_url, expected_2nd_table_row', [
    (
        None, {},
        'Received text messages Not set Change'
    ),
    (
        sample_uuid(), {'url': 'https://inbound.sms'},
        'Received text messages https://inbound.sms Change'
    ),
])
def test_callbacks_page_works_when_no_apis_set(
    client_request,
Esempio n. 5
0
import json

import pytest
from flask import url_for
from freezegun import freeze_time

from tests import broadcast_message_json, sample_uuid, user_json
from tests.conftest import SERVICE_ONE_ID, normalize_spaces

sample_uuid = sample_uuid()


@pytest.mark.parametrize(
    'endpoint, extra_args, expected_get_status, expected_post_status', (
        (
            '.broadcast_dashboard',
            {},
            403,
            405,
        ),
        (
            '.broadcast_dashboard_updates',
            {},
            403,
            405,
        ),
        (
            '.broadcast',
            {
                'template_id': sample_uuid
            },
Esempio n. 6
0
import uuid
from unittest.mock import call

import pytest

from app import invite_api_client, service_api_client, user_api_client
from tests import sample_uuid
from tests.conftest import SERVICE_ONE_ID

user_id = sample_uuid()


def test_client_gets_all_users_for_service(
    mocker,
    fake_uuid,
):

    user_api_client.max_failed_login_count = 99  # doesn't matter for this test
    mock_get = mocker.patch(
        'app.notify_client.user_api_client.UserApiClient.get',
        return_value={'data': [
            {
                'id': fake_uuid
            },
        ]})

    users = user_api_client.get_users_for_service(SERVICE_ONE_ID)

    mock_get.assert_called_once_with(
        '/service/{}/users'.format(SERVICE_ONE_ID))
    assert len(users) == 1
import uuid
from unittest.mock import call

import pytest

from app import invite_api_client, service_api_client, user_api_client
from app.models.user import User
from tests import sample_uuid
from tests.conftest import SERVICE_ONE_ID, api_user_pending

user_id = sample_uuid()


def test_client_gets_all_users_for_service(
    mocker,
    fake_uuid,
):

    user_api_client.max_failed_login_count = 99  # doesn't matter for this test
    mock_get = mocker.patch(
        'app.notify_client.user_api_client.UserApiClient.get',
        return_value={'data': [
            {
                'id': fake_uuid
            },
        ]})

    users = user_api_client.get_users_for_service(SERVICE_ONE_ID)

    mock_get.assert_called_once_with(
        '/service/{}/users'.format(SERVICE_ONE_ID))
def _folder(name, folder_id=None, parent=None, users_with_permission=None):
    return {
        "name": name,
        "id": folder_id or str(uuid.uuid4()),
        "parent_id": parent,
        "users_with_permission": users_with_permission if users_with_permission is not None else [sample_uuid()],
    }
Esempio n. 9
0
import uuid
from unittest.mock import call

import pytest

from app import invite_api_client, service_api_client, user_api_client
from tests import sample_uuid
from tests.conftest import SERVICE_ONE_ID

user_id = sample_uuid()


def test_client_gets_all_users_for_service(
    mocker,
    fake_uuid,
):

    user_api_client.max_failed_login_count = 99  # doesn't matter for this test
    mock_get = mocker.patch(
        'app.notify_client.user_api_client.UserApiClient.get',
        return_value={'data': [
            {'id': fake_uuid},
        ]}
    )

    users = user_api_client.get_users_for_service(SERVICE_ONE_ID)

    mock_get.assert_called_once_with('/service/{}/users'.format(SERVICE_ONE_ID))
    assert len(users) == 1
    assert users[0]['id'] == fake_uuid
Esempio n. 10
0
import uuid
from datetime import datetime, timedelta
from unittest.mock import call

import pytest
from freezegun import freeze_time

from app import invite_api_client, service_api_client, user_api_client
from tests import sample_uuid
from tests.conftest import SERVICE_ONE_ID, api_user_pending

user_id = sample_uuid()


def test_client_gets_all_users_for_service(
    mocker,
    fake_uuid,
):

    user_api_client.max_failed_login_count = 99  # doesn't matter for this test
    mock_get = mocker.patch(
        "app.notify_client.user_api_client.UserApiClient.get",
        return_value={"data": [
            {
                "id": fake_uuid
            },
        ]},
    )

    users = user_api_client.get_users_for_service(SERVICE_ONE_ID)
import uuid
from unittest.mock import call

import pytest

from app import invite_api_client, service_api_client, user_api_client
from tests import sample_uuid
from tests.conftest import SERVICE_ONE_ID, api_user_pending

user_id = sample_uuid()


def test_client_gets_all_users_for_service(
    mocker,
    fake_uuid,
):

    user_api_client.max_failed_login_count = 99  # doesn't matter for this test
    mock_get = mocker.patch(
        'app.notify_client.user_api_client.UserApiClient.get',
        return_value={'data': [
            {'id': fake_uuid},
        ]}
    )

    users = user_api_client.get_users_for_service(SERVICE_ONE_ID)

    mock_get.assert_called_once_with('/service/{}/users'.format(SERVICE_ONE_ID))
    assert len(users) == 1
    assert users[0]['id'] == fake_uuid
        service_id=service_one["id"],
        _data=data,
    )

    if endpoint == "main.received_text_messages_callback":
        assert mock_update_service_inbound_api.called is False
    else:
        assert mock_update_service_callback_api.called is False


@pytest.mark.parametrize(
    "service_callback_api, delivery_url, expected_1st_table_row",
    [
        (None, {}, "Delivery receipts Not set Change"),
        (
            sample_uuid(),
            {
                "url": "https://delivery.receipts"
            },
            "Delivery receipts https://delivery.receipts Change",
        ),
    ],
)
@pytest.mark.parametrize(
    "inbound_api, inbound_url, expected_2nd_table_row",
    [
        (None, {}, "Received text messages Not set Change"),
        (
            sample_uuid(),
            {
                "url": "https://inbound.sms"