Remove create_or_update_email_reply_to and create_or_update_letter_contact - no longer needed.

Remove Services.reply_to_email_address and Services.letter_contact_block
This commit is contained in:
Rebecca Law
2017-11-20 14:33:15 +00:00
parent f3f8225dfe
commit 577463b0ac
7 changed files with 0 additions and 213 deletions
-16
View File
@@ -25,22 +25,6 @@ def dao_get_reply_to_by_id(service_id, reply_to_id):
return reply_to
def create_or_update_email_reply_to(service_id, email_address):
reply_to = dao_get_reply_to_by_service_id(service_id)
if len(reply_to) == 0:
reply_to = ServiceEmailReplyTo(service_id=service_id, email_address=email_address)
dao_create_reply_to_email_address(reply_to)
elif len(reply_to) == 1:
reply_to[0].email_address = email_address
dao_update_reply_to_email(reply_to[0])
else:
# Once we move allowing multiple email address this methods will be removed
raise InvalidRequest(
"Multiple reply to email addresses were found, this method should not be used.",
status_code=500
)
@transactional
def dao_create_reply_to_email_address(reply_to_email):
db.session.add(reply_to_email)
-19
View File
@@ -29,25 +29,6 @@ def dao_get_letter_contact_by_id(service_id, letter_contact_id):
return letter_contact
def create_or_update_letter_contact(service_id, contact_block):
letter_contacts = dao_get_letter_contacts_by_service_id(service_id)
if len(letter_contacts) == 0:
letter_contact = ServiceLetterContact(
service_id=service_id,
contact_block=contact_block
)
dao_create_letter_contact(letter_contact)
elif len(letter_contacts) == 1:
letter_contacts[0].contact_block = contact_block
dao_update_letter_contact(letter_contacts[0])
else:
# TODO: Once we move allowing letter contact blocks, this method will be removed
raise InvalidRequest(
"Multiple letter contacts were found, this method should not be used.",
status_code=500
)
@transactional
def dao_create_letter_contact(letter_contact):
db.session.add(letter_contact)
-2
View File
@@ -224,8 +224,6 @@ class Service(db.Model, Versioned):
email_from = db.Column(db.Text, index=False, unique=True, nullable=False)
created_by = db.relationship('User')
created_by_id = db.Column(UUID(as_uuid=True), db.ForeignKey('users.id'), index=True, nullable=False)
_reply_to_email_address = db.Column("reply_to_email_address", db.Text, index=False, unique=False, nullable=True)
_letter_contact_block = db.Column('letter_contact_block', db.Text, index=False, unique=False, nullable=True)
prefix_sms = db.Column(db.Boolean, nullable=True, default=True)
organisation_id = db.Column(UUID(as_uuid=True), db.ForeignKey('organisation.id'), index=True, nullable=True)
free_sms_fragment_limit = db.Column(db.BigInteger, index=False, unique=False, nullable=True)
-10
View File
@@ -57,14 +57,12 @@ from app.dao.service_whitelist_dao import (
)
from app.dao.service_email_reply_to_dao import (
add_reply_to_email_address_for_service,
create_or_update_email_reply_to,
dao_get_reply_to_by_id,
dao_get_reply_to_by_service_id,
update_reply_to_email_address
)
from app.dao.service_letter_contact_dao import (
dao_get_letter_contacts_by_service_id,
create_or_update_letter_contact,
dao_get_letter_contact_by_id,
add_letter_contact_for_service,
update_letter_contact
@@ -175,8 +173,6 @@ def create_service():
errors = {'user_id': ['Missing data for required field.']}
raise InvalidRequest(errors, status_code=400)
# TODO: to be removed when front-end is updated
# validate json with marshmallow
service_schema.load(request.get_json())
@@ -200,12 +196,6 @@ def update_service(service_id):
update_dict = service_schema.load(current_data).data
dao_update_service(update_dict)
if 'reply_to_email_address' in req_json:
create_or_update_email_reply_to(fetched_service.id, req_json['reply_to_email_address'])
if 'letter_contact_block' in req_json:
create_or_update_letter_contact(fetched_service.id, req_json['letter_contact_block'])
# bridging code between frontend is deployed and data has not been migrated yet. Can only update current year
if 'free_sms_fragment_limit' in req_json:
update_free_sms_fragment_limit_data(fetched_service.id, req_json['free_sms_fragment_limit'])
@@ -4,7 +4,6 @@ import pytest
from sqlalchemy.exc import SQLAlchemyError
from app.dao.service_email_reply_to_dao import (
create_or_update_email_reply_to,
dao_get_reply_to_by_service_id,
add_reply_to_email_address_for_service, update_reply_to_email_address, dao_get_reply_to_by_id)
from app.errors import InvalidRequest
@@ -12,52 +11,6 @@ from app.models import ServiceEmailReplyTo
from tests.app.db import create_reply_to_email, create_service
def test_create_or_update_email_reply_to_does_not_create_another_entry(notify_db_session):
service = create_service()
create_reply_to_email(service, 'test@mail.com')
create_or_update_email_reply_to(service.id, 'different@mail.com')
reply_to = dao_get_reply_to_by_service_id(service.id)
assert ServiceEmailReplyTo.query.count() == 1
def test_create_or_update_email_reply_to_updates_existing_entry(notify_db_session):
service = create_service()
create_reply_to_email(service, 'test@mail.com')
create_or_update_email_reply_to(service.id, 'different@mail.com')
reply_to = dao_get_reply_to_by_service_id(service.id)
assert len(reply_to) == 1
assert reply_to[0].service.id == service.id
assert reply_to[0].email_address == 'different@mail.com'
def test_create_or_update_email_reply_to_creates_new_entry(notify_db_session):
service = create_service()
create_or_update_email_reply_to(service.id, 'test@mail.com')
reply_to = dao_get_reply_to_by_service_id(service.id)
assert ServiceEmailReplyTo.query.count() == 1
assert reply_to[0].service.id == service.id
assert reply_to[0].email_address == 'test@mail.com'
def test_create_or_update_email_reply_to_raises_exception_if_multilple_email_addresses_exist(notify_db_session):
service = create_service()
create_reply_to_email(service=service, email_address='something@email.com')
create_reply_to_email(service=service, email_address='another@email.com', is_default=False)
with pytest.raises(expected_exception=InvalidRequest) as e:
create_or_update_email_reply_to(service_id=service.id, email_address='third@email.com')
assert e.value.message == "Multiple reply to email addresses were found, this method should not be used."
def test_dao_get_reply_to_by_service_id(notify_db_session):
service = create_service()
default_reply_to = create_reply_to_email(service=service, email_address='something@email.com')
@@ -4,7 +4,6 @@ from sqlalchemy.exc import SQLAlchemyError
from app.dao.service_letter_contact_dao import (
add_letter_contact_for_service,
create_or_update_letter_contact,
dao_get_letter_contacts_by_service_id,
dao_get_letter_contact_by_id,
update_letter_contact
@@ -28,61 +27,6 @@ def test_dao_get_letter_contacts_by_service_id(notify_db_session):
assert second_letter_contact == results[2]
def test_create_or_update_letter_contact_creates_new_entry(notify_db_session):
service = create_service()
create_or_update_letter_contact(service.id, 'Cardiff, CA1 2DB')
letter_contacts = dao_get_letter_contacts_by_service_id(service.id)
assert ServiceLetterContact.query.count() == 1
assert letter_contacts[0].service.id == service.id
assert letter_contacts[0].contact_block == 'Cardiff, CA1 2DB'
def test_create_or_update_letter_contact_does_not_create_another_entry(notify_db_session):
service = create_service()
create_letter_contact(service, 'London, NW1 2DB')
create_or_update_letter_contact(service.id, 'Bristol, BR1 2DB')
letter_contacts = dao_get_letter_contacts_by_service_id(service.id)
assert len(letter_contacts) == 1
def test_create_or_update_letter_contact_updates_existing_entry(notify_db_session):
service = create_service()
create_letter_contact(service, 'London, NW1 2DB')
create_or_update_letter_contact(service.id, 'Bristol, BR1 2DB')
letter_contact = dao_get_letter_contacts_by_service_id(service.id)
assert len(letter_contact) == 1
assert letter_contact[0].service.id == service.id
assert letter_contact[0].contact_block == 'Bristol, BR1 2DB'
def test_create_or_update_letter_contact_raises_exception_if_multiple_contact_blocks_exist(notify_db_session):
service = create_service()
create_letter_contact(service=service, contact_block='Edinburgh, ED1 1AA')
create_letter_contact(service=service, contact_block='Manchester, MA1 2BB', is_default=False)
with pytest.raises(expected_exception=InvalidRequest) as e:
create_or_update_letter_contact(service_id=service.id, contact_block='Swansea, SN1 3CC')
assert e.value.message == "Multiple letter contacts were found, this method should not be used."
def test_create_or_update_letter_contact_raises_exception_if_multiple_letter_contacts_exist(notify_db_session):
service = create_service()
create_letter_contact(service=service, contact_block='Edinburgh, ED1 1AA')
create_letter_contact(service=service, contact_block='Manchester, MA1 2BB', is_default=False)
with pytest.raises(expected_exception=InvalidRequest) as e:
create_or_update_letter_contact(service_id=service.id, contact_block='Swansea, SN1 3CC')
assert e.value.message == "Multiple letter contacts were found, this method should not be used."
def test_add_letter_contact_for_service_creates_additional_letter_contact_for_service(notify_db_session):
service = create_service()
-63
View File
@@ -1341,34 +1341,6 @@ def test_get_service_and_api_key_history(notify_api, notify_db, notify_db_sessio
assert json_resp['data']['api_key_history'][0]['id'] == str(api_key.id)
def test_set_reply_to_email_for_service(notify_api, sample_service):
with notify_api.test_request_context():
with notify_api.test_client() as client:
auth_header = create_authorization_header()
resp = client.get(
'/service/{}'.format(sample_service.id),
headers=[auth_header]
)
json_resp = json.loads(resp.get_data(as_text=True))
assert resp.status_code == 200
assert json_resp['data']['name'] == sample_service.name
data = {
'reply_to_email_address': 'reply_test@service.gov.uk',
}
auth_header = create_authorization_header()
resp = client.post(
'/service/{}'.format(sample_service.id),
data=json.dumps(data),
headers=[('Content-Type', 'application/json'), auth_header]
)
result = json.loads(resp.get_data(as_text=True))
assert resp.status_code == 200
assert result['data']['reply_to_email_address'] == 'reply_test@service.gov.uk'
def test_get_all_notifications_for_service_in_order(notify_api, notify_db, notify_db_session):
with notify_api.test_request_context(), notify_api.test_client() as client:
service_1 = create_service(service_name="1", email_from='1')
@@ -2433,23 +2405,6 @@ def test_is_service_name_unique_returns_400_when_name_does_not_exist(client):
assert json_resp["message"][1]["email_from"] == ["Can't be empty"]
def test_update_service_reply_to_email_address_upserts_email_reply_to(admin_request, sample_service):
response = admin_request.post(
'service.update_service',
service_id=sample_service.id,
_data={
'reply_to_email_address': 'new@mail.com'
},
_expected_status=200
)
service_reply_to_emails = ServiceEmailReplyTo.query.all()
assert len(service_reply_to_emails) == 1
assert service_reply_to_emails[0].email_address == 'new@mail.com'
assert service_reply_to_emails[0].is_default
assert response['data']['reply_to_email_address'] == 'new@mail.com'
def test_get_email_reply_to_addresses_when_there_are_no_reply_to_email_addresses(client, sample_service):
response = client.get('/service/{}/email-reply-to'.format(sample_service.id),
headers=[create_authorization_header()])
@@ -2603,24 +2558,6 @@ def test_get_email_reply_to_address(client, notify_db, notify_db_session):
assert json.loads(response.get_data(as_text=True)) == reply_to.serialize()
def test_update_service_letter_contact_upserts_letter_contact(admin_request, sample_service):
response = admin_request.post(
'service.update_service',
service_id=sample_service.id,
_data={
'letter_contact_block': 'Aberdeen, AB23 1XH'
},
_expected_status=200
)
letter_contacts = ServiceLetterContact.query.all()
assert len(letter_contacts) == 1
assert letter_contacts[0].contact_block == 'Aberdeen, AB23 1XH'
assert letter_contacts[0].is_default
assert response['data']['letter_contact_block'] == 'Aberdeen, AB23 1XH'
def test_get_letter_contacts_when_there_are_no_letter_contacts(client, sample_service):
response = client.get('/service/{}/letter-contact'.format(sample_service.id),
headers=[create_authorization_header()])