mirror of
https://github.com/GSA/notifications-api.git
synced 2026-08-20 22:39:43 -04:00
Removed some unused template dao methods
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
from app import notify_celery, encryption, firetext_client, aws_ses_client
|
from app import notify_celery, encryption, firetext_client, aws_ses_client
|
||||||
from app.clients.email.aws_ses import AwsSesClientException
|
from app.clients.email.aws_ses import AwsSesClientException
|
||||||
from app.clients.sms.firetext import FiretextClientException
|
from app.clients.sms.firetext import FiretextClientException
|
||||||
from app.dao.templates_dao import get_model_templates
|
from app.dao.templates_dao import dao_get_template_by_id
|
||||||
from app.dao.notifications_dao import save_notification
|
from app.dao.notifications_dao import save_notification
|
||||||
from app.models import Notification
|
from app.models import Notification
|
||||||
from flask import current_app
|
from flask import current_app
|
||||||
@@ -11,7 +11,7 @@ from sqlalchemy.exc import SQLAlchemyError
|
|||||||
@notify_celery.task(name="send-sms")
|
@notify_celery.task(name="send-sms")
|
||||||
def send_sms(service_id, notification_id, encrypted_notification):
|
def send_sms(service_id, notification_id, encrypted_notification):
|
||||||
notification = encryption.decrypt(encrypted_notification)
|
notification = encryption.decrypt(encrypted_notification)
|
||||||
template = get_model_templates(notification['template'])
|
template = dao_get_template_by_id(notification['template'])
|
||||||
|
|
||||||
try:
|
try:
|
||||||
notification_db_object = Notification(
|
notification_db_object = Notification(
|
||||||
@@ -37,7 +37,7 @@ def send_sms(service_id, notification_id, encrypted_notification):
|
|||||||
@notify_celery.task(name="send-email")
|
@notify_celery.task(name="send-email")
|
||||||
def send_email(service_id, notification_id, subject, from_address, encrypted_notification):
|
def send_email(service_id, notification_id, subject, from_address, encrypted_notification):
|
||||||
notification = encryption.decrypt(encrypted_notification)
|
notification = encryption.decrypt(encrypted_notification)
|
||||||
template = get_model_templates(notification['template'])
|
template = dao_get_template_by_id(notification['template'])
|
||||||
|
|
||||||
try:
|
try:
|
||||||
notification_db_object = Notification(
|
notification_db_object = Notification(
|
||||||
|
|||||||
@@ -3,34 +3,6 @@ from app.models import (Template, Service)
|
|||||||
from sqlalchemy import asc
|
from sqlalchemy import asc
|
||||||
|
|
||||||
|
|
||||||
def save_model_template(template, update_dict=None):
|
|
||||||
if update_dict:
|
|
||||||
update_dict.pop('id', None)
|
|
||||||
service = update_dict.pop('service')
|
|
||||||
Template.query.filter_by(id=template.id).update(update_dict)
|
|
||||||
template.service = service
|
|
||||||
else:
|
|
||||||
db.session.add(template)
|
|
||||||
db.session.commit()
|
|
||||||
|
|
||||||
|
|
||||||
def delete_model_template(template):
|
|
||||||
db.session.delete(template)
|
|
||||||
db.session.commit()
|
|
||||||
|
|
||||||
|
|
||||||
def get_model_templates(template_id=None, service_id=None):
|
|
||||||
# TODO need better mapping from function params to sql query.
|
|
||||||
if template_id and service_id:
|
|
||||||
return Template.query.filter_by(
|
|
||||||
id=template_id, service_id=service_id).one()
|
|
||||||
elif template_id:
|
|
||||||
return Template.query.filter_by(id=template_id).one()
|
|
||||||
elif service_id:
|
|
||||||
return Template.query.filter_by(service=Service.query.get(service_id)).all()
|
|
||||||
return Template.query.all()
|
|
||||||
|
|
||||||
|
|
||||||
def dao_create_template(template):
|
def dao_create_template(template):
|
||||||
db.session.add(template)
|
db.session.add(template)
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
@@ -45,5 +17,9 @@ def dao_get_template_by_id_and_service_id(template_id, service_id):
|
|||||||
return Template.query.filter_by(id=template_id, service_id=service_id).first()
|
return Template.query.filter_by(id=template_id, service_id=service_id).first()
|
||||||
|
|
||||||
|
|
||||||
|
def dao_get_template_by_id(template_id):
|
||||||
|
return Template.query.filter_by(id=template_id).first()
|
||||||
|
|
||||||
|
|
||||||
def dao_get_all_templates_for_service(service_id):
|
def dao_get_all_templates_for_service(service_id):
|
||||||
return Template.query.filter_by(service=Service.query.get(service_id)).order_by(asc(Template.created_at)).all()
|
return Template.query.filter_by(service=Service.query.get(service_id)).order_by(asc(Template.created_at)).all()
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ from app import email_safe
|
|||||||
from app.models import (User, Service, Template, ApiKey, Job, Notification)
|
from app.models import (User, Service, Template, ApiKey, Job, Notification)
|
||||||
from app.dao.users_dao import (save_model_user, create_user_code, create_secret_code)
|
from app.dao.users_dao import (save_model_user, create_user_code, create_secret_code)
|
||||||
from app.dao.services_dao import dao_create_service
|
from app.dao.services_dao import dao_create_service
|
||||||
from app.dao.templates_dao import save_model_template
|
from app.dao.templates_dao import dao_create_template
|
||||||
from app.dao.api_key_dao import save_model_api_key
|
from app.dao.api_key_dao import save_model_api_key
|
||||||
from app.dao.jobs_dao import save_job
|
from app.dao.jobs_dao import save_job
|
||||||
from app.dao.notifications_dao import save_notification
|
from app.dao.notifications_dao import save_notification
|
||||||
@@ -138,7 +138,7 @@ def sample_template(notify_db,
|
|||||||
'subject': subject_line
|
'subject': subject_line
|
||||||
})
|
})
|
||||||
template = Template(**data)
|
template = Template(**data)
|
||||||
save_model_template(template)
|
dao_create_template(template)
|
||||||
return template
|
return template
|
||||||
|
|
||||||
|
|
||||||
@@ -165,7 +165,7 @@ def sample_email_template(
|
|||||||
'subject': subject_line
|
'subject': subject_line
|
||||||
})
|
})
|
||||||
template = Template(**data)
|
template = Template(**data)
|
||||||
save_model_template(template)
|
dao_create_template(template)
|
||||||
return template
|
return template
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import app.celery.tasks
|
|||||||
from tests import create_authorization_header
|
from tests import create_authorization_header
|
||||||
from flask import json
|
from flask import json
|
||||||
from app.models import Service
|
from app.models import Service
|
||||||
from app.dao.templates_dao import get_model_templates
|
from app.dao.templates_dao import dao_get_all_templates_for_service
|
||||||
from app.dao.services_dao import dao_update_service
|
from app.dao.services_dao import dao_update_service
|
||||||
from tests.app.conftest import sample_job
|
from tests.app.conftest import sample_job
|
||||||
|
|
||||||
@@ -357,7 +357,7 @@ def test_should_not_allow_template_from_another_service(notify_api, service_fact
|
|||||||
service_1 = service_factory.get('service 1', user=sample_user)
|
service_1 = service_factory.get('service 1', user=sample_user)
|
||||||
service_2 = service_factory.get('service 2', user=sample_user)
|
service_2 = service_factory.get('service 2', user=sample_user)
|
||||||
|
|
||||||
service_2_templates = get_model_templates(service_id=service_2.id)
|
service_2_templates = dao_get_all_templates_for_service(service_id=service_2.id)
|
||||||
data = {
|
data = {
|
||||||
'to': sample_user.mobile_number,
|
'to': sample_user.mobile_number,
|
||||||
'template': service_2_templates[0].id
|
'template': service_2_templates[0].id
|
||||||
@@ -396,8 +396,8 @@ def test_should_not_allow_template_from_another_service_on_job_sms(
|
|||||||
service_1 = service_factory.get('service 1', user=sample_user)
|
service_1 = service_factory.get('service 1', user=sample_user)
|
||||||
service_2 = service_factory.get('service 2', user=sample_user)
|
service_2 = service_factory.get('service 2', user=sample_user)
|
||||||
|
|
||||||
service_1_templates = get_model_templates(service_id=service_2.id)
|
service_1_templates = dao_get_all_templates_for_service(service_id=service_2.id)
|
||||||
service_2_templates = get_model_templates(service_id=service_2.id)
|
service_2_templates = dao_get_all_templates_for_service(service_id=service_2.id)
|
||||||
|
|
||||||
job_1 = sample_job(notify_db, notify_db_session, service_1, service_1_templates[0])
|
job_1 = sample_job(notify_db, notify_db_session, service_1, service_1_templates[0])
|
||||||
sample_job(notify_db, notify_db_session, service_2, service_2_templates[0])
|
sample_job(notify_db, notify_db_session, service_2, service_2_templates[0])
|
||||||
@@ -673,7 +673,7 @@ def test_should_not_allow_email_template_from_another_service(notify_api, servic
|
|||||||
service_1 = service_factory.get('service 1', template_type='email', user=sample_user)
|
service_1 = service_factory.get('service 1', template_type='email', user=sample_user)
|
||||||
service_2 = service_factory.get('service 2', template_type='email', user=sample_user)
|
service_2 = service_factory.get('service 2', template_type='email', user=sample_user)
|
||||||
|
|
||||||
service_2_templates = get_model_templates(service_id=service_2.id)
|
service_2_templates = dao_get_all_templates_for_service(service_id=service_2.id)
|
||||||
|
|
||||||
data = {
|
data = {
|
||||||
'to': sample_user.email_address,
|
'to': sample_user.email_address,
|
||||||
@@ -713,8 +713,8 @@ def test_should_not_allow_template_from_another_service_on_job_email(
|
|||||||
service_1 = service_factory.get('service 1', user=sample_user, template_type='email')
|
service_1 = service_factory.get('service 1', user=sample_user, template_type='email')
|
||||||
service_2 = service_factory.get('service 2', user=sample_user, template_type='email')
|
service_2 = service_factory.get('service 2', user=sample_user, template_type='email')
|
||||||
|
|
||||||
service_1_templates = get_model_templates(service_id=service_2.id)
|
service_1_templates = dao_get_all_templates_for_service(service_id=service_2.id)
|
||||||
service_2_templates = get_model_templates(service_id=service_2.id)
|
service_2_templates = dao_get_all_templates_for_service(service_id=service_2.id)
|
||||||
|
|
||||||
job_1 = sample_job(notify_db, notify_db_session, service_1, service_1_templates[0])
|
job_1 = sample_job(notify_db, notify_db_session, service_1, service_1_templates[0])
|
||||||
sample_job(notify_db, notify_db_session, service_2, service_2_templates[0])
|
sample_job(notify_db, notify_db_session, service_2, service_2_templates[0])
|
||||||
@@ -776,7 +776,11 @@ def test_should_not_send_email_if_restricted_and_not_a_service_user(notify_api,
|
|||||||
assert 'Email address not permitted for restricted service' in json_resp['message']['to']
|
assert 'Email address not permitted for restricted service' in json_resp['message']['to']
|
||||||
|
|
||||||
|
|
||||||
def test_should_not_send_email_for_job_if_restricted_and_not_a_service_user(notify_api, sample_job, sample_email_template, mocker):
|
def test_should_not_send_email_for_job_if_restricted_and_not_a_service_user(
|
||||||
|
notify_api,
|
||||||
|
sample_job,
|
||||||
|
sample_email_template,
|
||||||
|
mocker):
|
||||||
with notify_api.test_request_context():
|
with notify_api.test_request_context():
|
||||||
with notify_api.test_client() as client:
|
with notify_api.test_client() as client:
|
||||||
mocker.patch('app.celery.tasks.send_email.apply_async')
|
mocker.patch('app.celery.tasks.send_email.apply_async')
|
||||||
|
|||||||
Reference in New Issue
Block a user