mirror of
https://github.com/GSA/notifications-api.git
synced 2026-01-31 23:26:23 -05:00
Merge pull request #2273 from alphagov/cautious_prepping_for_pytest4
Preparation for pytest 4 by sorting our use of fixtures in conftest
This commit is contained in:
@@ -76,20 +76,26 @@ def service_factory(notify_db, notify_db_session):
|
||||
user = create_user()
|
||||
if not email_from:
|
||||
email_from = service_name
|
||||
service = sample_service(notify_db, notify_db_session, service_name, user, email_from=email_from)
|
||||
|
||||
service = create_service(
|
||||
email_from=email_from,
|
||||
service_name=service_name,
|
||||
service_permissions=None,
|
||||
user=user,
|
||||
check_if_service_exists=True,
|
||||
)
|
||||
if template_type == 'email':
|
||||
sample_template(
|
||||
notify_db,
|
||||
notify_db_session,
|
||||
create_template(
|
||||
service,
|
||||
template_name="Template Name",
|
||||
template_type=template_type,
|
||||
subject_line=service.email_from,
|
||||
service=service
|
||||
subject=service.email_from,
|
||||
)
|
||||
else:
|
||||
sample_template(
|
||||
notify_db,
|
||||
notify_db_session,
|
||||
service=service
|
||||
create_template(
|
||||
service,
|
||||
template_name="Template Name",
|
||||
template_type='sms',
|
||||
)
|
||||
return service
|
||||
|
||||
@@ -195,7 +201,8 @@ def sample_service(
|
||||
def _sample_service_full_permissions(notify_db_session):
|
||||
service = create_service(
|
||||
service_name="sample service full permissions",
|
||||
service_permissions=set(SERVICE_PERMISSION_TYPES)
|
||||
service_permissions=set(SERVICE_PERMISSION_TYPES),
|
||||
check_if_service_exists=True
|
||||
)
|
||||
create_inbound_number('12345', service_id=service.id)
|
||||
return service
|
||||
@@ -228,7 +235,7 @@ def sample_template(
|
||||
if service is None:
|
||||
service = Service.query.filter_by(name='Sample service').first()
|
||||
if not service:
|
||||
service = create_service(service_permissions=permissions)
|
||||
service = create_service(service_permissions=permissions, check_if_service_exists=True)
|
||||
if created_by is None:
|
||||
created_by = create_user()
|
||||
|
||||
@@ -290,7 +297,7 @@ def sample_email_template(
|
||||
if user is None:
|
||||
user = create_user()
|
||||
if service is None:
|
||||
service = sample_service(notify_db, notify_db_session, permissions=permissions)
|
||||
service = create_service(user=user, service_permissions=permissions, check_if_service_exists=True)
|
||||
data = {
|
||||
'name': template_name,
|
||||
'template_type': template_type,
|
||||
@@ -345,7 +352,7 @@ def sample_api_key(notify_db,
|
||||
key_type=KEY_TYPE_NORMAL,
|
||||
name=None):
|
||||
if service is None:
|
||||
service = sample_service(notify_db, notify_db_session)
|
||||
service = create_service(check_if_service_exists=True)
|
||||
data = {'service': service, 'name': name or uuid.uuid4(), 'created_by': service.created_by, 'key_type': key_type}
|
||||
api_key = ApiKey(**data)
|
||||
save_model_api_key(api_key)
|
||||
@@ -377,10 +384,9 @@ def sample_job(
|
||||
archived=False
|
||||
):
|
||||
if service is None:
|
||||
service = sample_service(notify_db, notify_db_session)
|
||||
service = create_service(check_if_service_exists=True)
|
||||
if template is None:
|
||||
template = sample_template(notify_db, notify_db_session,
|
||||
service=service)
|
||||
template = create_template(service=service)
|
||||
data = {
|
||||
'id': uuid.uuid4(),
|
||||
'service_id': service.id,
|
||||
@@ -437,7 +443,7 @@ def sample_email_job(notify_db,
|
||||
service=None,
|
||||
template=None):
|
||||
if service is None:
|
||||
service = sample_service(notify_db, notify_db_session)
|
||||
service = create_service(check_if_service_exists=True)
|
||||
if template is None:
|
||||
template = sample_email_template(
|
||||
notify_db,
|
||||
@@ -545,9 +551,9 @@ def sample_notification(
|
||||
if created_at is None:
|
||||
created_at = datetime.utcnow()
|
||||
if service is None:
|
||||
service = sample_service(notify_db, notify_db_session)
|
||||
service = create_service(check_if_service_exists=True)
|
||||
if template is None:
|
||||
template = sample_template(notify_db, notify_db_session, service=service)
|
||||
template = create_template(service=service)
|
||||
|
||||
if job is None and api_key is None:
|
||||
# we didn't specify in test - lets create it
|
||||
@@ -634,7 +640,7 @@ def sample_notification_with_api_key(notify_db, notify_db_session):
|
||||
@pytest.fixture(scope='function')
|
||||
def sample_email_notification(notify_db, notify_db_session):
|
||||
created_at = datetime.utcnow()
|
||||
service = sample_service(notify_db, notify_db_session)
|
||||
service = create_service(check_if_service_exists=True)
|
||||
template = sample_email_template(notify_db, notify_db_session, service=service)
|
||||
job = sample_job(notify_db, notify_db_session, service=service, template=template)
|
||||
|
||||
@@ -736,7 +742,7 @@ def sample_invited_user(notify_db,
|
||||
to_email_address=None):
|
||||
|
||||
if service is None:
|
||||
service = sample_service(notify_db, notify_db_session)
|
||||
service = create_service(check_if_service_exists=True)
|
||||
if to_email_address is None:
|
||||
to_email_address = 'invited_user@digital.gov.uk'
|
||||
|
||||
@@ -776,7 +782,7 @@ def sample_permission(notify_db,
|
||||
'permission': permission
|
||||
}
|
||||
if service is None:
|
||||
service = sample_service(notify_db, notify_db_session)
|
||||
service = create_service(check_if_service_exists=True)
|
||||
if service:
|
||||
data['service'] = service
|
||||
p_model = Permission.query.filter_by(
|
||||
@@ -797,7 +803,7 @@ def sample_user_service_permission(
|
||||
if user is None:
|
||||
user = create_user()
|
||||
if service is None:
|
||||
service = sample_service(notify_db, notify_db_session, user=user)
|
||||
service = create_service(user=user, check_if_service_exists=True)
|
||||
data = {
|
||||
'user': user,
|
||||
'service': service,
|
||||
@@ -1031,7 +1037,7 @@ def notify_service(notify_db, notify_db_session):
|
||||
@pytest.fixture(scope='function')
|
||||
def sample_service_whitelist(notify_db, notify_db_session, service=None, email_address=None, mobile_number=None):
|
||||
if service is None:
|
||||
service = sample_service(notify_db, notify_db_session)
|
||||
service = create_service(check_if_service_exists=True)
|
||||
|
||||
if email_address:
|
||||
whitelisted_user = ServiceWhitelist.from_string(service.id, EMAIL_TYPE, email_address)
|
||||
@@ -1056,7 +1062,7 @@ def sample_provider_rate(notify_db, notify_db_session, valid_from=None, rate=Non
|
||||
|
||||
@pytest.fixture
|
||||
def sample_inbound_numbers(notify_db, notify_db_session, sample_service):
|
||||
service = create_service(service_name='sample service 2')
|
||||
service = create_service(service_name='sample service 2', check_if_service_exists=True)
|
||||
inbound_numbers = list()
|
||||
inbound_numbers.append(create_inbound_number(number='1', provider='mmg'))
|
||||
inbound_numbers.append(create_inbound_number(number='2', provider='mmg', active=False, service_id=service.id))
|
||||
|
||||
@@ -22,7 +22,7 @@ from tests.app.db import (
|
||||
|
||||
def test_last_template_usage_should_get_right_data(sample_notification):
|
||||
results = dao_get_last_template_usage(sample_notification.template_id, 'sms', sample_notification.service_id)
|
||||
assert results.template.name == 'Template Name'
|
||||
assert results.template.name == 'sms Template Name'
|
||||
assert results.template.template_type == 'sms'
|
||||
assert results.created_at == sample_notification.created_at
|
||||
assert results.template_id == sample_notification.template_id
|
||||
|
||||
@@ -17,7 +17,7 @@ from app.dao.service_data_retention_dao import insert_service_data_retention
|
||||
from app.dao.service_inbound_api_dao import save_service_inbound_api
|
||||
from app.dao.service_permissions_dao import dao_add_service_permission
|
||||
from app.dao.service_sms_sender_dao import update_existing_sms_sender_with_inbound_number, dao_update_service_sms_sender
|
||||
from app.dao.services_dao import dao_create_service
|
||||
from app.dao.services_dao import dao_create_service, dao_add_user_to_service
|
||||
from app.dao.templates_dao import dao_create_template, dao_update_template
|
||||
from app.dao.users_dao import save_model_user
|
||||
from app.models import (
|
||||
@@ -81,23 +81,29 @@ def create_service(
|
||||
prefix_sms=True,
|
||||
message_limit=1000,
|
||||
organisation_type='central',
|
||||
postage='second'
|
||||
postage='second',
|
||||
check_if_service_exists=False
|
||||
):
|
||||
service = Service(
|
||||
name=service_name,
|
||||
message_limit=message_limit,
|
||||
restricted=restricted,
|
||||
email_from=email_from if email_from else service_name.lower().replace(' ', '.'),
|
||||
created_by=user or create_user(email='{}@digital.cabinet-office.gov.uk'.format(uuid.uuid4())),
|
||||
prefix_sms=prefix_sms,
|
||||
organisation_type=organisation_type,
|
||||
postage=postage
|
||||
)
|
||||
if check_if_service_exists:
|
||||
service = Service.query.filter_by(name=service_name).first()
|
||||
if (not check_if_service_exists) or (check_if_service_exists and not service):
|
||||
service = Service(
|
||||
name=service_name,
|
||||
message_limit=message_limit,
|
||||
restricted=restricted,
|
||||
email_from=email_from if email_from else service_name.lower().replace(' ', '.'),
|
||||
created_by=user if user else create_user(email='{}@digital.cabinet-office.gov.uk'.format(uuid.uuid4())),
|
||||
prefix_sms=prefix_sms,
|
||||
organisation_type=organisation_type,
|
||||
postage=postage
|
||||
)
|
||||
dao_create_service(service, service.created_by, service_id, service_permissions=service_permissions)
|
||||
|
||||
dao_create_service(service, service.created_by, service_id, service_permissions=service_permissions)
|
||||
|
||||
service.active = active
|
||||
service.research_mode = research_mode
|
||||
service.active = active
|
||||
service.research_mode = research_mode
|
||||
else:
|
||||
if user and user not in service.users:
|
||||
dao_add_user_to_service(service, user)
|
||||
|
||||
return service
|
||||
|
||||
|
||||
@@ -153,7 +153,7 @@ def test_get_all_notifications(client, sample_notification):
|
||||
|
||||
assert notifications['notifications'][0]['to'] == '+447700900855'
|
||||
assert notifications['notifications'][0]['service'] == str(sample_notification.service_id)
|
||||
assert notifications['notifications'][0]['body'] == "This is a template:\nwith a newline"
|
||||
assert notifications['notifications'][0]['body'] == 'Dear Sir/Madam, Hello. Yours Truly, The Government.'
|
||||
|
||||
|
||||
def test_normal_api_key_returns_notifications_created_from_jobs_and_from_api(
|
||||
|
||||
@@ -59,7 +59,7 @@ def test_get_template_statistics_for_service_by_day_returns_template_info(admin_
|
||||
|
||||
assert json_resp['data'][0]['count'] == 1
|
||||
assert json_resp['data'][0]['template_id'] == str(sample_notification.template_id)
|
||||
assert json_resp['data'][0]['template_name'] == 'Template Name'
|
||||
assert json_resp['data'][0]['template_name'] == 'sms Template Name'
|
||||
assert json_resp['data'][0]['template_type'] == 'sms'
|
||||
assert json_resp['data'][0]['is_precompiled_letter'] is False
|
||||
|
||||
|
||||
Reference in New Issue
Block a user