from unittest.mock import patch

import werkzeug

from tests import service_json
from tests.conftest import api_user_active, platform_admin_user
from app.notify_client import NotifyAdminAPIClient


@pytest.mark.parametrize('method', [
    'put',
    'post',
    'delete'
])
@pytest.mark.parametrize('user', [
    api_user_active(str(uuid.uuid4())),
    platform_admin_user(str(uuid.uuid4()))
], ids=['api_user', 'platform_admin'])
@pytest.mark.parametrize('service', [
    service_json(active=True),
    None
], ids=['active_service', 'no_service'])
def test_active_service_can_be_modified(app_, method, user, service):
    api_client = NotifyAdminAPIClient('api_key', 'base_url', 'service_id')

    with app_.test_request_context() as request_context, app_.test_client() as client:
        client.login(user)
        request_context.service = service

        with patch.object(api_client, 'request') as request:
            ret = getattr(api_client, method)('url', 'data')
Пример #2
0
import uuid
from unittest.mock import patch

import pytest
import werkzeug

from app.notify_client import NotifyAdminAPIClient
from tests import service_json
from tests.conftest import api_user_active, platform_admin_user, set_config

SAMPLE_API_KEY = '{}-{}'.format('a' * 36, 's' * 36)


@pytest.mark.parametrize('method', ['put', 'post', 'delete'])
@pytest.mark.parametrize('user', [
    api_user_active(str(uuid.uuid4())),
    platform_admin_user(str(uuid.uuid4()))
],
                         ids=['api_user', 'platform_admin'])
@pytest.mark.parametrize('service', [service_json(active=True), None],
                         ids=['active_service', 'no_service'])
def test_active_service_can_be_modified(app_, method, user, service):
    api_client = NotifyAdminAPIClient(SAMPLE_API_KEY, 'base_url')

    with app_.test_request_context() as request_context, app_.test_client(
    ) as client:
        client.login(user)
        request_context.service = service

        with patch.object(api_client, 'request') as request:
            ret = getattr(api_client, method)('url', 'data')