Removed some unused template dao methods

This commit is contained in:
Martyn Inglis
2016-02-24 11:51:02 +00:00
parent 6ac6a64b46
commit 1667f82df1
4 changed files with 22 additions and 42 deletions

View File

@@ -1,7 +1,7 @@
from app import notify_celery, encryption, firetext_client, aws_ses_client
from app.clients.email.aws_ses import AwsSesClientException
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.models import Notification
from flask import current_app
@@ -11,7 +11,7 @@ from sqlalchemy.exc import SQLAlchemyError
@notify_celery.task(name="send-sms")
def send_sms(service_id, notification_id, encrypted_notification):
notification = encryption.decrypt(encrypted_notification)
template = get_model_templates(notification['template'])
template = dao_get_template_by_id(notification['template'])
try:
notification_db_object = Notification(
@@ -37,7 +37,7 @@ def send_sms(service_id, notification_id, encrypted_notification):
@notify_celery.task(name="send-email")
def send_email(service_id, notification_id, subject, from_address, encrypted_notification):
notification = encryption.decrypt(encrypted_notification)
template = get_model_templates(notification['template'])
template = dao_get_template_by_id(notification['template'])
try:
notification_db_object = Notification(

View File

@@ -3,34 +3,6 @@ from app.models import (Template, Service)
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):
db.session.add(template)
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()
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):
return Template.query.filter_by(service=Service.query.get(service_id)).order_by(asc(Template.created_at)).all()

View File

@@ -4,7 +4,7 @@ from app import email_safe
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.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.jobs_dao import save_job
from app.dao.notifications_dao import save_notification
@@ -138,7 +138,7 @@ def sample_template(notify_db,
'subject': subject_line
})
template = Template(**data)
save_model_template(template)
dao_create_template(template)
return template
@@ -165,7 +165,7 @@ def sample_email_template(
'subject': subject_line
})
template = Template(**data)
save_model_template(template)
dao_create_template(template)
return template

View File

@@ -3,7 +3,7 @@ import app.celery.tasks
from tests import create_authorization_header
from flask import json
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 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_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 = {
'to': sample_user.mobile_number,
'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_2 = service_factory.get('service 2', user=sample_user)
service_1_templates = get_model_templates(service_id=service_2.id)
service_2_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 = 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])
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_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 = {
'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_2 = service_factory.get('service 2', user=sample_user, template_type='email')
service_1_templates = get_model_templates(service_id=service_2.id)
service_2_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 = 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])
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']
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_client() as client:
mocker.patch('app.celery.tasks.send_email.apply_async')