def test_create_email_branding_requires_a_name_when_submitting_logo_details( client_request, mocker, fake_uuid, mock_create_email_branding, ): mocker.patch('app.main.views.email_branding.persist_logo') mocker.patch( 'app.main.views.email_branding.delete_email_temp_files_created_by') data = { 'operation': 'email-branding-details', 'logo': '', 'colour': '#ff0000', 'text': 'new text', 'name': '', 'brand_type': 'org', } client_request.login(platform_admin_user(fake_uuid)) page = client_request.post( '.create_email_branding', content_type='multipart/form-data', _data=data, _expected_status=200, ) assert page.select_one( '.error-message').text.strip() == 'This field is required' assert mock_create_email_branding.called is False
def test_create_email_branding_requires_a_name_when_submitting_logo_details( client_request, mocker, fake_uuid, mock_create_email_branding, ): mocker.patch("app.main.views.email_branding.persist_logo") mocker.patch( "app.main.views.email_branding.delete_email_temp_files_created_by") data = { "operation": "email-branding-details", "logo": "", "colour": "#ff0000", "text": "new text", "name": "", "brand_type": "custom_logo", } client_request.login(platform_admin_user(fake_uuid)) page = client_request.post( ".create_email_branding", content_type="multipart/form-data", _data=data, _expected_status=200, ) assert page.select_one( ".error-message").text.strip() == "This field is required" assert mock_create_email_branding.called is False
def test_cant_edit_user_folder_permissions_for_platform_admin_users( client_request, mocker, service_one, mock_get_users_by_service, mock_get_invites_for_service, mock_set_user_permissions, mock_get_template_folders, fake_uuid, ): service_one['permissions'] = ['edit_folder_permissions'] mocker.patch( 'app.user_api_client.get_user', return_value=platform_admin_user(fake_uuid) ) mock_get_template_folders.return_value = [ {'id': 'folder-id-1', 'name': 'folder_one', 'parent_id': None, 'users_with_permission': []}, {'id': 'folder-id-2', 'name': 'folder_one', 'parent_id': None, 'users_with_permission': []}, {'id': 'folder-id-3', 'name': 'folder_one', 'parent_id': 'folder-id-1', 'users_with_permission': []}, ] page = client_request.get( 'main.edit_user_permissions', service_id=SERVICE_ONE_ID, user_id=fake_uuid, ) assert normalize_spaces(page.select('main p')[0].text) == '[email protected] Change' assert normalize_spaces(page.select('main p')[2].text) == ( 'Platform admin users can access all template folders.' ) assert page.select('input[name=folder_permissions]') == [] client_request.post( 'main.edit_user_permissions', service_id=SERVICE_ONE_ID, user_id=fake_uuid, _data={}, _expected_status=302, _expected_redirect=url_for( 'main.manage_users', service_id=SERVICE_ONE_ID, _external=True, ), ) mock_set_user_permissions.assert_called_with( fake_uuid, SERVICE_ONE_ID, permissions={ 'manage_api_keys', 'manage_service', 'manage_templates', 'send_messages', 'view_activity', }, folder_permissions=None, )
def test_create_email_branding_does_not_require_a_name_when_uploading_a_file( client_request, mocker, fake_uuid, ): mocker.patch('app.main.views.email_branding.upload_email_logo', return_value='temp_filename') data = { 'file': (BytesIO(''.encode('utf-8')), 'test.png'), 'colour': '', 'text': '', 'name': '', 'brand_type': 'org', } client_request.login(platform_admin_user(fake_uuid)) page = client_request.post('.create_email_branding', content_type='multipart/form-data', _data=data, _follow_redirects=True) assert not page.find('.error-message')
def test_create_email_branding_does_not_require_a_name_when_uploading_a_file( client_request, mocker, fake_uuid, ): mocker.patch("app.main.views.email_branding.upload_email_logo", return_value="temp_filename") data = { "file": (BytesIO("".encode("utf-8")), "test.png"), "colour": "", "text": "", "name": "", "brand_type": "custom_logo", } client_request.login(platform_admin_user(fake_uuid)) page = client_request.post( ".create_email_branding", content_type="multipart/form-data", _data=data, _follow_redirects=True, ) assert not page.find(".error-message")
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')
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')