mirror of
https://github.com/GSA/notifications-api.git
synced 2026-08-24 08:16:19 -04:00
Merge pull request #2726 from alphagov/launch-uploads
Give new services the upload letters permission
This commit is contained in:
@@ -48,6 +48,7 @@ from app.models import (
|
|||||||
NOTIFICATION_PERMANENT_FAILURE,
|
NOTIFICATION_PERMANENT_FAILURE,
|
||||||
SMS_TYPE,
|
SMS_TYPE,
|
||||||
LETTER_TYPE,
|
LETTER_TYPE,
|
||||||
|
UPLOAD_LETTERS,
|
||||||
)
|
)
|
||||||
from app.utils import email_address_is_nhs, escape_special_characters, get_london_midnight_in_utc, midnight_n_days_ago
|
from app.utils import email_address_is_nhs, escape_special_characters, get_london_midnight_in_utc, midnight_n_days_ago
|
||||||
|
|
||||||
@@ -56,6 +57,7 @@ DEFAULT_SERVICE_PERMISSIONS = [
|
|||||||
EMAIL_TYPE,
|
EMAIL_TYPE,
|
||||||
LETTER_TYPE,
|
LETTER_TYPE,
|
||||||
INTERNATIONAL_SMS_TYPE,
|
INTERNATIONAL_SMS_TYPE,
|
||||||
|
UPLOAD_LETTERS,
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ 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,
|
||||||
@@ -488,16 +489,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,
|
SMS_TYPE, EMAIL_TYPE, LETTER_TYPE, INTERNATIONAL_SMS_TYPE, UPLOAD_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,
|
EMAIL_TYPE, LETTER_TYPE, INTERNATIONAL_SMS_TYPE, UPLOAD_LETTERS,
|
||||||
)),
|
)),
|
||||||
(EMAIL_TYPE, (
|
(EMAIL_TYPE, (
|
||||||
SMS_TYPE, LETTER_TYPE, INTERNATIONAL_SMS_TYPE,
|
SMS_TYPE, LETTER_TYPE, INTERNATIONAL_SMS_TYPE, UPLOAD_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(
|
||||||
@@ -529,14 +530,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,
|
SMS_TYPE, EMAIL_TYPE, LETTER_TYPE, INTERNATIONAL_SMS_TYPE, UPLOAD_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,
|
SMS_TYPE, EMAIL_TYPE, INTERNATIONAL_SMS_TYPE, UPLOAD_LETTERS,
|
||||||
))
|
))
|
||||||
|
|
||||||
|
|
||||||
@@ -671,7 +672,7 @@ def test_delete_service_and_associated_objects(notify_db_session):
|
|||||||
create_invited_user(service=service)
|
create_invited_user(service=service)
|
||||||
|
|
||||||
assert ServicePermission.query.count() == len((
|
assert ServicePermission.query.count() == len((
|
||||||
SMS_TYPE, EMAIL_TYPE, LETTER_TYPE, INTERNATIONAL_SMS_TYPE,
|
SMS_TYPE, EMAIL_TYPE, LETTER_TYPE, INTERNATIONAL_SMS_TYPE, UPLOAD_LETTERS,
|
||||||
))
|
))
|
||||||
|
|
||||||
delete_service_and_all_associated_db_objects(service)
|
delete_service_and_all_associated_db_objects(service)
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ from app.models import (
|
|||||||
KEY_TYPE_NORMAL, KEY_TYPE_TEAM, KEY_TYPE_TEST,
|
KEY_TYPE_NORMAL, KEY_TYPE_TEAM, KEY_TYPE_TEST,
|
||||||
EMAIL_TYPE, SMS_TYPE, LETTER_TYPE,
|
EMAIL_TYPE, SMS_TYPE, LETTER_TYPE,
|
||||||
INTERNATIONAL_SMS_TYPE, INBOUND_SMS_TYPE,
|
INTERNATIONAL_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 (
|
||||||
@@ -255,7 +255,7 @@ def test_get_service_list_has_default_permissions(admin_request, service_factory
|
|||||||
set(
|
set(
|
||||||
json['permissions']
|
json['permissions']
|
||||||
) == set([
|
) == set([
|
||||||
EMAIL_TYPE, SMS_TYPE, INTERNATIONAL_SMS_TYPE, LETTER_TYPE,
|
EMAIL_TYPE, SMS_TYPE, INTERNATIONAL_SMS_TYPE, LETTER_TYPE, UPLOAD_LETTERS,
|
||||||
])
|
])
|
||||||
for json in json_resp['data']
|
for json in json_resp['data']
|
||||||
)
|
)
|
||||||
@@ -267,7 +267,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']
|
||||||
) == set([
|
) == set([
|
||||||
EMAIL_TYPE, SMS_TYPE, INTERNATIONAL_SMS_TYPE, LETTER_TYPE,
|
EMAIL_TYPE, SMS_TYPE, INTERNATIONAL_SMS_TYPE, LETTER_TYPE, UPLOAD_LETTERS,
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user