mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-04 10:21:14 -05:00
Rename whitelist DAO functions
To reflect the new name of the feature.
This commit is contained in:
@@ -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()
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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'),
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|||||||
@@ -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'),
|
||||||
|
|||||||
Reference in New Issue
Block a user