mirror of
https://github.com/GSA/notifications-api.git
synced 2026-08-26 01:03:41 -04:00
Remove the upload letters permission
As of https://github.com/alphagov/notifications-admin/pull/3690 it’s no longer referred to.
This commit is contained in:
@@ -50,7 +50,6 @@ from app.models import (
|
|||||||
NOTIFICATION_PERMANENT_FAILURE,
|
NOTIFICATION_PERMANENT_FAILURE,
|
||||||
SMS_TYPE,
|
SMS_TYPE,
|
||||||
LETTER_TYPE,
|
LETTER_TYPE,
|
||||||
UPLOAD_LETTERS,
|
|
||||||
INTERNATIONAL_LETTERS
|
INTERNATIONAL_LETTERS
|
||||||
)
|
)
|
||||||
from app.utils import (
|
from app.utils import (
|
||||||
@@ -66,7 +65,6 @@ DEFAULT_SERVICE_PERMISSIONS = [
|
|||||||
EMAIL_TYPE,
|
EMAIL_TYPE,
|
||||||
LETTER_TYPE,
|
LETTER_TYPE,
|
||||||
INTERNATIONAL_SMS_TYPE,
|
INTERNATIONAL_SMS_TYPE,
|
||||||
UPLOAD_LETTERS,
|
|
||||||
INTERNATIONAL_LETTERS,
|
INTERNATIONAL_LETTERS,
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
@@ -301,7 +301,6 @@ LETTERS_AS_PDF = 'letters_as_pdf'
|
|||||||
PRECOMPILED_LETTER = 'precompiled_letter'
|
PRECOMPILED_LETTER = 'precompiled_letter'
|
||||||
UPLOAD_DOCUMENT = 'upload_document'
|
UPLOAD_DOCUMENT = 'upload_document'
|
||||||
EDIT_FOLDER_PERMISSIONS = 'edit_folder_permissions'
|
EDIT_FOLDER_PERMISSIONS = 'edit_folder_permissions'
|
||||||
UPLOAD_LETTERS = 'upload_letters'
|
|
||||||
INTERNATIONAL_LETTERS = 'international_letters'
|
INTERNATIONAL_LETTERS = 'international_letters'
|
||||||
|
|
||||||
SERVICE_PERMISSION_TYPES = [
|
SERVICE_PERMISSION_TYPES = [
|
||||||
@@ -316,7 +315,6 @@ SERVICE_PERMISSION_TYPES = [
|
|||||||
LETTERS_AS_PDF,
|
LETTERS_AS_PDF,
|
||||||
UPLOAD_DOCUMENT,
|
UPLOAD_DOCUMENT,
|
||||||
EDIT_FOLDER_PERMISSIONS,
|
EDIT_FOLDER_PERMISSIONS,
|
||||||
UPLOAD_LETTERS,
|
|
||||||
INTERNATIONAL_LETTERS,
|
INTERNATIONAL_LETTERS,
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
@@ -6,12 +6,12 @@ Create Date: 2019-05-13 10:44:51.867661
|
|||||||
|
|
||||||
"""
|
"""
|
||||||
from alembic import op
|
from alembic import op
|
||||||
from app.models import UPLOAD_LETTERS
|
|
||||||
|
|
||||||
|
|
||||||
revision = '0317_uploads_for_all'
|
revision = '0317_uploads_for_all'
|
||||||
down_revision = '0316_int_letters_permission'
|
down_revision = '0316_int_letters_permission'
|
||||||
|
|
||||||
|
UPLOAD_LETTERS = 'upload_letters'
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
op.execute("""
|
op.execute("""
|
||||||
|
|||||||
@@ -37,7 +37,6 @@ from app.dao.services_dao import (dao_add_user_to_service, dao_create_service,
|
|||||||
from app.dao.users_dao import create_user_code, save_model_user
|
from app.dao.users_dao import create_user_code, save_model_user
|
||||||
from app.models import (EMAIL_TYPE, INTERNATIONAL_SMS_TYPE, KEY_TYPE_NORMAL,
|
from app.models import (EMAIL_TYPE, INTERNATIONAL_SMS_TYPE, KEY_TYPE_NORMAL,
|
||||||
KEY_TYPE_TEAM, KEY_TYPE_TEST, LETTER_TYPE, SMS_TYPE,
|
KEY_TYPE_TEAM, KEY_TYPE_TEST, LETTER_TYPE, SMS_TYPE,
|
||||||
UPLOAD_LETTERS,
|
|
||||||
ApiKey, InvitedUser, Job, Notification,
|
ApiKey, InvitedUser, Job, Notification,
|
||||||
NotificationHistory, Organisation, Permission, Service,
|
NotificationHistory, Organisation, Permission, Service,
|
||||||
ServicePermission, ServiceUser, Template,
|
ServicePermission, ServiceUser, Template,
|
||||||
@@ -484,16 +483,16 @@ def test_create_service_returns_service_with_default_permissions(notify_db_sessi
|
|||||||
|
|
||||||
service = dao_fetch_service_by_id(service.id)
|
service = dao_fetch_service_by_id(service.id)
|
||||||
_assert_service_permissions(service.permissions, (
|
_assert_service_permissions(service.permissions, (
|
||||||
SMS_TYPE, EMAIL_TYPE, LETTER_TYPE, INTERNATIONAL_SMS_TYPE, UPLOAD_LETTERS, INTERNATIONAL_LETTERS
|
SMS_TYPE, EMAIL_TYPE, LETTER_TYPE, INTERNATIONAL_SMS_TYPE, INTERNATIONAL_LETTERS
|
||||||
))
|
))
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize("permission_to_remove, permissions_remaining", [
|
@pytest.mark.parametrize("permission_to_remove, permissions_remaining", [
|
||||||
(SMS_TYPE, (
|
(SMS_TYPE, (
|
||||||
EMAIL_TYPE, LETTER_TYPE, INTERNATIONAL_SMS_TYPE, UPLOAD_LETTERS, INTERNATIONAL_LETTERS
|
EMAIL_TYPE, LETTER_TYPE, INTERNATIONAL_SMS_TYPE, INTERNATIONAL_LETTERS
|
||||||
)),
|
)),
|
||||||
(EMAIL_TYPE, (
|
(EMAIL_TYPE, (
|
||||||
SMS_TYPE, LETTER_TYPE, INTERNATIONAL_SMS_TYPE, UPLOAD_LETTERS, INTERNATIONAL_LETTERS
|
SMS_TYPE, LETTER_TYPE, INTERNATIONAL_SMS_TYPE, INTERNATIONAL_LETTERS
|
||||||
)),
|
)),
|
||||||
])
|
])
|
||||||
def test_remove_permission_from_service_by_id_returns_service_with_correct_permissions(
|
def test_remove_permission_from_service_by_id_returns_service_with_correct_permissions(
|
||||||
@@ -525,14 +524,14 @@ def test_create_service_by_id_adding_and_removing_letter_returns_service_without
|
|||||||
|
|
||||||
service = dao_fetch_service_by_id(service.id)
|
service = dao_fetch_service_by_id(service.id)
|
||||||
_assert_service_permissions(service.permissions, (
|
_assert_service_permissions(service.permissions, (
|
||||||
SMS_TYPE, EMAIL_TYPE, LETTER_TYPE, INTERNATIONAL_SMS_TYPE, UPLOAD_LETTERS, INTERNATIONAL_LETTERS
|
SMS_TYPE, EMAIL_TYPE, LETTER_TYPE, INTERNATIONAL_SMS_TYPE, INTERNATIONAL_LETTERS
|
||||||
))
|
))
|
||||||
|
|
||||||
dao_remove_service_permission(service_id=service.id, permission=LETTER_TYPE)
|
dao_remove_service_permission(service_id=service.id, permission=LETTER_TYPE)
|
||||||
service = dao_fetch_service_by_id(service.id)
|
service = dao_fetch_service_by_id(service.id)
|
||||||
|
|
||||||
_assert_service_permissions(service.permissions, (
|
_assert_service_permissions(service.permissions, (
|
||||||
SMS_TYPE, EMAIL_TYPE, INTERNATIONAL_SMS_TYPE, UPLOAD_LETTERS, INTERNATIONAL_LETTERS
|
SMS_TYPE, EMAIL_TYPE, INTERNATIONAL_SMS_TYPE, INTERNATIONAL_LETTERS
|
||||||
))
|
))
|
||||||
|
|
||||||
|
|
||||||
@@ -669,7 +668,7 @@ def test_delete_service_and_associated_objects(notify_db_session):
|
|||||||
user.organisations = [organisation]
|
user.organisations = [organisation]
|
||||||
|
|
||||||
assert ServicePermission.query.count() == len((
|
assert ServicePermission.query.count() == len((
|
||||||
SMS_TYPE, EMAIL_TYPE, LETTER_TYPE, INTERNATIONAL_SMS_TYPE, UPLOAD_LETTERS, INTERNATIONAL_LETTERS
|
SMS_TYPE, EMAIL_TYPE, LETTER_TYPE, INTERNATIONAL_SMS_TYPE, INTERNATIONAL_LETTERS
|
||||||
))
|
))
|
||||||
|
|
||||||
delete_service_and_all_associated_db_objects(service)
|
delete_service_and_all_associated_db_objects(service)
|
||||||
|
|||||||
@@ -34,8 +34,6 @@ from app.models import (
|
|||||||
INTERNATIONAL_SMS_TYPE,
|
INTERNATIONAL_SMS_TYPE,
|
||||||
INBOUND_SMS_TYPE,
|
INBOUND_SMS_TYPE,
|
||||||
NOTIFICATION_RETURNED_LETTER,
|
NOTIFICATION_RETURNED_LETTER,
|
||||||
UPLOAD_LETTERS,
|
|
||||||
|
|
||||||
)
|
)
|
||||||
from tests import create_authorization_header
|
from tests import create_authorization_header
|
||||||
from tests.app.db import (
|
from tests.app.db import (
|
||||||
@@ -289,7 +287,7 @@ def test_get_service_list_has_default_permissions(admin_request, service_factory
|
|||||||
set(
|
set(
|
||||||
json['permissions']
|
json['permissions']
|
||||||
) == {
|
) == {
|
||||||
EMAIL_TYPE, SMS_TYPE, INTERNATIONAL_SMS_TYPE, LETTER_TYPE, UPLOAD_LETTERS, INTERNATIONAL_LETTERS
|
EMAIL_TYPE, SMS_TYPE, INTERNATIONAL_SMS_TYPE, LETTER_TYPE, INTERNATIONAL_LETTERS
|
||||||
}
|
}
|
||||||
for json in json_resp['data']
|
for json in json_resp['data']
|
||||||
)
|
)
|
||||||
@@ -301,7 +299,7 @@ def test_get_service_by_id_has_default_service_permissions(admin_request, sample
|
|||||||
assert set(
|
assert set(
|
||||||
json_resp['data']['permissions']
|
json_resp['data']['permissions']
|
||||||
) == {
|
) == {
|
||||||
EMAIL_TYPE, SMS_TYPE, INTERNATIONAL_SMS_TYPE, LETTER_TYPE, UPLOAD_LETTERS, INTERNATIONAL_LETTERS
|
EMAIL_TYPE, SMS_TYPE, INTERNATIONAL_SMS_TYPE, LETTER_TYPE, INTERNATIONAL_LETTERS
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -4,23 +4,18 @@ import pytest
|
|||||||
from freezegun import freeze_time
|
from freezegun import freeze_time
|
||||||
|
|
||||||
from app.dao.notifications_dao import get_notification_by_id
|
from app.dao.notifications_dao import get_notification_by_id
|
||||||
from app.models import EMAIL_TYPE, LETTER_TYPE, UPLOAD_LETTERS
|
from app.models import EMAIL_TYPE, LETTER_TYPE
|
||||||
from app.service.send_notification import send_pdf_letter_notification
|
from app.service.send_notification import send_pdf_letter_notification
|
||||||
from app.v2.errors import BadRequestError, TooManyRequestsError
|
from app.v2.errors import BadRequestError, TooManyRequestsError
|
||||||
from notifications_utils.s3 import S3ObjectNotFound
|
from notifications_utils.s3 import S3ObjectNotFound
|
||||||
from tests.app.db import create_service
|
from tests.app.db import create_service
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize('permissions', [
|
|
||||||
[EMAIL_TYPE],
|
|
||||||
[UPLOAD_LETTERS],
|
|
||||||
])
|
|
||||||
def test_send_pdf_letter_notification_raises_error_if_service_does_not_have_permission(
|
def test_send_pdf_letter_notification_raises_error_if_service_does_not_have_permission(
|
||||||
notify_db_session,
|
notify_db_session,
|
||||||
fake_uuid,
|
fake_uuid,
|
||||||
permissions,
|
|
||||||
):
|
):
|
||||||
service = create_service(service_permissions=permissions)
|
service = create_service(service_permissions=[EMAIL_TYPE])
|
||||||
post_data = {'filename': 'valid.pdf', 'created_by': fake_uuid, 'file_id': fake_uuid, 'postage': 'first',
|
post_data = {'filename': 'valid.pdf', 'created_by': fake_uuid, 'file_id': fake_uuid, 'postage': 'first',
|
||||||
'recipient_address': 'Bugs%20Bunny%0A123%20Main%20Street%0ALooney%20Town'}
|
'recipient_address': 'Bugs%20Bunny%0A123%20Main%20Street%0ALooney%20Town'}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user