def test_client_posts_archived_true_when_deleting_template(mocker):
    service_id = fake_uuid()
    template_id = fake_uuid()
    mocker.patch('app.notify_client.current_user', id='1')

    expected_data = {'archived': True, 'created_by': '1'}
    expected_url = '/service/{}/template/{}'.format(service_id, template_id)

    client = ServiceAPIClient()
    mock_post = mocker.patch(
        'app.notify_client.service_api_client.ServiceAPIClient.post')

    client.delete_service_template(service_id, template_id)
    mock_post.assert_called_once_with(expected_url, data=expected_data)
    client_request.post(
        endpoint,
        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, {}, 'Callbacks for delivery receipts Not set Change'),
        (fake_uuid(), {
            'url': 'https://delivery.receipts'
        }, 'Callbacks for delivery receipts https://delivery.receipts Change'),
    ])
@pytest.mark.parametrize('inbound_api, inbound_url, expected_2nd_table_row', [
    (None, {}, 'Callbacks for received text messages Not set Change'),
    (fake_uuid(), {
        'url': 'https://inbound.sms'
    }, 'Callbacks for 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,
    response = client_request.post(endpoint,
                                   service_id=service_one['id'],
                                   _data=data,
                                   _expected_status=200)
    error_msgs = ' '.join(msg.text.strip()
                          for msg in response.select(".error-message"))

    assert error_msgs == expected_errors


@pytest.mark.parametrize(
    'existing_values, callback_ids, delete_should_be_called', [
        ((
            mock_get_valid_service_callback_api,
            mock_get_valid_service_inbound_api,
        ), [fake_uuid()], True),
        ((
            mock_get_empty_service_callback_api,
            mock_get_empty_service_inbound_api,
        ), [], False),
    ])
@pytest.mark.parametrize('bearer_token', ['', 'some-bearer-token'])
@pytest.mark.parametrize('endpoint, expected_delete_url', [
    (
        'main.delivery_status_callback',
        '/service/{}/delivery-receipt-api/{}',
    ),
    (
        'main.received_text_messages_callback',
        '/service/{}/inbound-api/{}',
    ),
示例#4
0
    response = client_request.post(
        endpoint,
        service_id=service_one['id'],
        _data=data,
        _expected_status=200
    )
    error_msgs = ' '.join(msg.text.strip() for msg in response.select(".error-message"))

    assert error_msgs == expected_errors


@pytest.mark.parametrize('existing_values, callback_ids, delete_should_be_called', [
    ((
        mock_get_valid_service_callback_api,
        mock_get_valid_service_inbound_api,
    ), [fake_uuid()], True),
    ((
        mock_get_empty_service_callback_api,
        mock_get_empty_service_inbound_api,
    ), [], False),
])
@pytest.mark.parametrize('bearer_token', ['', 'some-bearer-token'])
@pytest.mark.parametrize('endpoint, expected_delete_url', [
    (
        'main.delivery_status_callback',
        '/service/{}/delivery-receipt-api/{}',
    ),
    (
        'main.received_text_messages_callback',
        '/service/{}/inbound-api/{}',
    ),
from unittest.mock import call

import pytest

from app import invite_api_client, service_api_client, user_api_client
from app.notify_client.service_api_client import ServiceAPIClient
from tests.conftest import SERVICE_ONE_ID, fake_uuid

FAKE_TEMPLATE_ID = fake_uuid()


def test_client_posts_archived_true_when_deleting_template(mocker):
    service_id = fake_uuid()
    template_id = fake_uuid()
    mocker.patch('app.notify_client.current_user', id='1')

    expected_data = {'archived': True, 'created_by': '1'}
    expected_url = '/service/{}/template/{}'.format(service_id, template_id)

    client = ServiceAPIClient()
    mock_post = mocker.patch(
        'app.notify_client.service_api_client.ServiceAPIClient.post')

    client.delete_service_template(service_id, template_id)
    mock_post.assert_called_once_with(expected_url, data=expected_data)


def test_client_gets_service(mocker):
    client = ServiceAPIClient()
    mock_get = mocker.patch.object(client, 'get', return_value={})
from unittest.mock import call

import pytest

from app import invite_api_client, service_api_client, user_api_client
from app.notify_client.models import User
from tests.conftest import SERVICE_ONE_ID, api_user_pending, fake_uuid

user_id = fake_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