Rename whitelist DAO functions

To reflect the new name of the feature.
This commit is contained in:
Chris Hill-Scott
2020-07-28 10:18:47 +01:00
parent 7d09599bc5
commit 6384b9ef4f
5 changed files with 23 additions and 23 deletions

View File

@@ -2,16 +2,16 @@ from app import db
from app.models import ServiceWhitelist from app.models import ServiceWhitelist
def dao_fetch_service_whitelist(service_id): def dao_fetch_service_guest_list(service_id):
return ServiceWhitelist.query.filter( return ServiceWhitelist.query.filter(
ServiceWhitelist.service_id == service_id).all() ServiceWhitelist.service_id == service_id).all()
def dao_add_and_commit_whitelisted_contacts(objs): def dao_add_and_commit_guest_list_contacts(objs):
db.session.add_all(objs) db.session.add_all(objs)
db.session.commit() db.session.commit()
def dao_remove_service_whitelist(service_id): def dao_remove_service_guest_list(service_id):
return ServiceWhitelist.query.filter( return ServiceWhitelist.query.filter(
ServiceWhitelist.service_id == service_id).delete() ServiceWhitelist.service_id == service_id).delete()

View File

@@ -75,9 +75,9 @@ from app.dao.services_dao import (
get_services_by_partial_name, get_services_by_partial_name,
) )
from app.dao.service_whitelist_dao import ( from app.dao.service_whitelist_dao import (
dao_fetch_service_whitelist, dao_fetch_service_guest_list,
dao_add_and_commit_whitelisted_contacts, dao_add_and_commit_guest_list_contacts,
dao_remove_service_whitelist dao_remove_service_guest_list
) )
from app.dao.service_email_reply_to_dao import ( from app.dao.service_email_reply_to_dao import (
add_reply_to_email_address_for_service, add_reply_to_email_address_for_service,
@@ -569,7 +569,7 @@ def get_guest_list(service_id):
if not service: if not service:
raise InvalidRequest("Service does not exist", status_code=404) raise InvalidRequest("Service does not exist", status_code=404)
guest_list = dao_fetch_service_whitelist(service.id) guest_list = dao_fetch_service_guest_list(service.id)
return jsonify( return jsonify(
email_addresses=[item.recipient for item in guest_list email_addresses=[item.recipient for item in guest_list
if item.recipient_type == EMAIL_TYPE], if item.recipient_type == EMAIL_TYPE],
@@ -582,7 +582,7 @@ def get_guest_list(service_id):
@service_blueprint.route('/<uuid:service_id>/guest-list', methods=['PUT']) @service_blueprint.route('/<uuid:service_id>/guest-list', methods=['PUT'])
def update_guest_list(service_id): def update_guest_list(service_id):
# doesn't commit so if there are any errors, we preserve old values in db # doesn't commit so if there are any errors, we preserve old values in db
dao_remove_service_whitelist(service_id) dao_remove_service_guest_list(service_id)
try: try:
guest_list_objects = get_whitelist_objects(service_id, request.get_json()) guest_list_objects = get_whitelist_objects(service_id, request.get_json())
except ValueError as e: except ValueError as e:
@@ -591,7 +591,7 @@ def update_guest_list(service_id):
msg = '{} is not a valid email address or phone number'.format(str(e)) msg = '{} is not a valid email address or phone number'.format(str(e))
raise InvalidRequest(msg, 400) raise InvalidRequest(msg, 400)
else: else:
dao_add_and_commit_whitelisted_contacts(guest_list_objects) dao_add_and_commit_guest_list_contacts(guest_list_objects)
return '', 204 return '', 204

View File

@@ -6,27 +6,27 @@ from app.models import (
) )
from app.dao.service_whitelist_dao import ( from app.dao.service_whitelist_dao import (
dao_fetch_service_whitelist, dao_fetch_service_guest_list,
dao_add_and_commit_whitelisted_contacts, dao_add_and_commit_guest_list_contacts,
dao_remove_service_whitelist dao_remove_service_guest_list
) )
from tests.app.db import create_service from tests.app.db import create_service
def test_fetch_service_whitelist_gets_whitelists(sample_service_whitelist): def test_fetch_service_whitelist_gets_whitelists(sample_service_whitelist):
whitelist = dao_fetch_service_whitelist(sample_service_whitelist.service_id) whitelist = dao_fetch_service_guest_list(sample_service_whitelist.service_id)
assert len(whitelist) == 1 assert len(whitelist) == 1
assert whitelist[0].id == sample_service_whitelist.id assert whitelist[0].id == sample_service_whitelist.id
def test_fetch_service_whitelist_ignores_other_service(sample_service_whitelist): def test_fetch_service_whitelist_ignores_other_service(sample_service_whitelist):
assert len(dao_fetch_service_whitelist(uuid.uuid4())) == 0 assert len(dao_fetch_service_guest_list(uuid.uuid4())) == 0
def test_add_and_commit_whitelisted_contacts_saves_data(sample_service): def test_add_and_commit_whitelisted_contacts_saves_data(sample_service):
whitelist = ServiceWhitelist.from_string(sample_service.id, EMAIL_TYPE, 'foo@example.com') whitelist = ServiceWhitelist.from_string(sample_service.id, EMAIL_TYPE, 'foo@example.com')
dao_add_and_commit_whitelisted_contacts([whitelist]) dao_add_and_commit_guest_list_contacts([whitelist])
db_contents = ServiceWhitelist.query.all() db_contents = ServiceWhitelist.query.all()
assert len(db_contents) == 1 assert len(db_contents) == 1
@@ -36,21 +36,21 @@ def test_add_and_commit_whitelisted_contacts_saves_data(sample_service):
def test_remove_service_whitelist_only_removes_for_my_service(notify_db, notify_db_session): def test_remove_service_whitelist_only_removes_for_my_service(notify_db, notify_db_session):
service_1 = create_service(service_name="service 1") service_1 = create_service(service_name="service 1")
service_2 = create_service(service_name="service 2") service_2 = create_service(service_name="service 2")
dao_add_and_commit_whitelisted_contacts([ dao_add_and_commit_guest_list_contacts([
ServiceWhitelist.from_string(service_1.id, EMAIL_TYPE, 'service1@example.com'), ServiceWhitelist.from_string(service_1.id, EMAIL_TYPE, 'service1@example.com'),
ServiceWhitelist.from_string(service_2.id, EMAIL_TYPE, 'service2@example.com') ServiceWhitelist.from_string(service_2.id, EMAIL_TYPE, 'service2@example.com')
]) ])
dao_remove_service_whitelist(service_1.id) dao_remove_service_guest_list(service_1.id)
assert service_1.whitelist == [] assert service_1.whitelist == []
assert len(service_2.whitelist) == 1 assert len(service_2.whitelist) == 1
def test_remove_service_whitelist_does_not_commit(notify_db, sample_service_whitelist): def test_remove_service_whitelist_does_not_commit(notify_db, sample_service_whitelist):
dao_remove_service_whitelist(sample_service_whitelist.service_id) dao_remove_service_guest_list(sample_service_whitelist.service_id)
# since dao_remove_service_whitelist doesn't commit, we can still rollback its changes # since dao_remove_service_guest_list doesn't commit, we can still rollback its changes
notify_db.session.rollback() notify_db.session.rollback()
assert ServiceWhitelist.query.count() == 1 assert ServiceWhitelist.query.count() == 1

View File

@@ -7,7 +7,7 @@ from notifications_utils.recipients import InvalidPhoneError
from app.v2.errors import BadRequestError, TooManyRequestsError from app.v2.errors import BadRequestError, TooManyRequestsError
from app.config import QueueNames from app.config import QueueNames
from app.dao.service_whitelist_dao import dao_add_and_commit_whitelisted_contacts from app.dao.service_whitelist_dao import dao_add_and_commit_guest_list_contacts
from app.service.send_notification import send_one_off_notification from app.service.send_notification import send_one_off_notification
from app.models import ( from app.models import (
EMAIL_TYPE, EMAIL_TYPE,
@@ -269,7 +269,7 @@ def test_send_one_off_notification_raises_if_cant_send_to_recipient(
): ):
service = create_service(restricted=True) service = create_service(restricted=True)
template = create_template(service=service) template = create_template(service=service)
dao_add_and_commit_whitelisted_contacts([ dao_add_and_commit_guest_list_contacts([
ServiceWhitelist.from_string(service.id, MOBILE_TYPE, '07700900123'), ServiceWhitelist.from_string(service.id, MOBILE_TYPE, '07700900123'),
]) ])

View File

@@ -8,7 +8,7 @@ from app.models import (
ServiceWhitelist, ServiceWhitelist,
MOBILE_TYPE, EMAIL_TYPE) MOBILE_TYPE, EMAIL_TYPE)
from app.dao.service_whitelist_dao import dao_add_and_commit_whitelisted_contacts from app.dao.service_whitelist_dao import dao_add_and_commit_guest_list_contacts
@pytest.mark.parametrize('url_path', ( @pytest.mark.parametrize('url_path', (
@@ -27,7 +27,7 @@ def test_get_whitelist_returns_data(client, sample_service_whitelist, url_path):
def test_get_whitelist_separates_emails_and_phones(client, sample_service): def test_get_whitelist_separates_emails_and_phones(client, sample_service):
dao_add_and_commit_whitelisted_contacts([ dao_add_and_commit_guest_list_contacts([
ServiceWhitelist.from_string(sample_service.id, EMAIL_TYPE, 'service@example.com'), ServiceWhitelist.from_string(sample_service.id, EMAIL_TYPE, 'service@example.com'),
ServiceWhitelist.from_string(sample_service.id, MOBILE_TYPE, '07123456789'), ServiceWhitelist.from_string(sample_service.id, MOBILE_TYPE, '07123456789'),
ServiceWhitelist.from_string(sample_service.id, MOBILE_TYPE, '+1800-555-555'), ServiceWhitelist.from_string(sample_service.id, MOBILE_TYPE, '+1800-555-555'),