mirror of
https://github.com/GSA/notifications-api.git
synced 2026-08-24 08:16:19 -04:00
Merge pull request #2651 from alphagov/tidy-fixtures
Tidy fixtures after Pytest 5 upgrade
This commit is contained in:
@@ -16,7 +16,6 @@ from app.dao.invited_user_dao import save_invited_user
|
|||||||
from app.dao.jobs_dao import dao_create_job
|
from app.dao.jobs_dao import dao_create_job
|
||||||
from app.dao.notifications_dao import dao_create_notification
|
from app.dao.notifications_dao import dao_create_notification
|
||||||
from app.dao.organisation_dao import dao_create_organisation
|
from app.dao.organisation_dao import dao_create_organisation
|
||||||
from app.dao.provider_rates_dao import create_provider_rates
|
|
||||||
from app.dao.services_dao import (dao_create_service, dao_add_user_to_service)
|
from app.dao.services_dao import (dao_create_service, dao_add_user_to_service)
|
||||||
from app.dao.templates_dao import dao_create_template
|
from app.dao.templates_dao import dao_create_template
|
||||||
from app.dao.users_dao import create_secret_code, create_user_code
|
from app.dao.users_dao import create_secret_code, create_user_code
|
||||||
@@ -35,17 +34,13 @@ from app.models import (
|
|||||||
ProviderDetails,
|
ProviderDetails,
|
||||||
ProviderDetailsHistory,
|
ProviderDetailsHistory,
|
||||||
ProviderRates,
|
ProviderRates,
|
||||||
ScheduledNotification,
|
|
||||||
ServiceWhitelist,
|
ServiceWhitelist,
|
||||||
KEY_TYPE_NORMAL,
|
KEY_TYPE_NORMAL,
|
||||||
KEY_TYPE_TEST,
|
KEY_TYPE_TEST,
|
||||||
KEY_TYPE_TEAM,
|
KEY_TYPE_TEAM,
|
||||||
MOBILE_TYPE,
|
|
||||||
EMAIL_TYPE,
|
EMAIL_TYPE,
|
||||||
INBOUND_SMS_TYPE,
|
|
||||||
SMS_TYPE,
|
SMS_TYPE,
|
||||||
LETTER_TYPE,
|
LETTER_TYPE,
|
||||||
NOTIFICATION_STATUS_TYPES_COMPLETED,
|
|
||||||
SERVICE_PERMISSION_TYPES,
|
SERVICE_PERMISSION_TYPES,
|
||||||
ServiceEmailReplyTo
|
ServiceEmailReplyTo
|
||||||
)
|
)
|
||||||
@@ -116,65 +111,29 @@ def notify_user(notify_db_session):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def create_code(notify_db, notify_db_session, code_type, usr=None, code=None):
|
def create_code(notify_db_session, code_type):
|
||||||
if code is None:
|
code = create_secret_code()
|
||||||
code = create_secret_code()
|
usr = create_user()
|
||||||
if usr is None:
|
|
||||||
usr = create_user()
|
|
||||||
return create_user_code(usr, code, code_type), code
|
return create_user_code(usr, code, code_type), code
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope='function')
|
@pytest.fixture(scope='function')
|
||||||
def sample_email_code(notify_db,
|
def sample_sms_code(notify_db_session):
|
||||||
notify_db_session,
|
code, txt_code = create_code(notify_db_session, code_type="sms")
|
||||||
code=None,
|
|
||||||
code_type="email",
|
|
||||||
usr=None):
|
|
||||||
code, txt_code = create_code(notify_db,
|
|
||||||
notify_db_session,
|
|
||||||
code_type,
|
|
||||||
usr=usr,
|
|
||||||
code=code)
|
|
||||||
code.txt_code = txt_code
|
code.txt_code = txt_code
|
||||||
return code
|
return code
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope='function')
|
@pytest.fixture(scope='function')
|
||||||
def sample_sms_code(notify_db,
|
def sample_service(notify_db_session):
|
||||||
notify_db_session,
|
user = create_user()
|
||||||
code=None,
|
service_name = 'Sample service'
|
||||||
code_type="sms",
|
email_from = service_name.lower().replace(' ', '.')
|
||||||
usr=None):
|
|
||||||
code, txt_code = create_code(notify_db,
|
|
||||||
notify_db_session,
|
|
||||||
code_type,
|
|
||||||
usr=usr,
|
|
||||||
code=code)
|
|
||||||
code.txt_code = txt_code
|
|
||||||
return code
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope='function')
|
|
||||||
def sample_service(
|
|
||||||
notify_db,
|
|
||||||
notify_db_session,
|
|
||||||
service_name="Sample service",
|
|
||||||
user=None,
|
|
||||||
restricted=False,
|
|
||||||
limit=1000,
|
|
||||||
email_from=None,
|
|
||||||
permissions=None,
|
|
||||||
research_mode=None
|
|
||||||
):
|
|
||||||
if user is None:
|
|
||||||
user = create_user()
|
|
||||||
if email_from is None:
|
|
||||||
email_from = service_name.lower().replace(' ', '.')
|
|
||||||
|
|
||||||
data = {
|
data = {
|
||||||
'name': service_name,
|
'name': service_name,
|
||||||
'message_limit': limit,
|
'message_limit': 1000,
|
||||||
'restricted': restricted,
|
'restricted': False,
|
||||||
'email_from': email_from,
|
'email_from': email_from,
|
||||||
'created_by': user,
|
'created_by': user,
|
||||||
'crown': True
|
'crown': True
|
||||||
@@ -182,18 +141,11 @@ def sample_service(
|
|||||||
service = Service.query.filter_by(name=service_name).first()
|
service = Service.query.filter_by(name=service_name).first()
|
||||||
if not service:
|
if not service:
|
||||||
service = Service(**data)
|
service = Service(**data)
|
||||||
dao_create_service(service, user, service_permissions=permissions)
|
dao_create_service(service, user, service_permissions=None)
|
||||||
|
|
||||||
if research_mode:
|
|
||||||
service.research_mode = research_mode
|
|
||||||
|
|
||||||
else:
|
else:
|
||||||
if user not in service.users:
|
if user not in service.users:
|
||||||
dao_add_user_to_service(service, user)
|
dao_add_user_to_service(service, user)
|
||||||
|
|
||||||
if permissions and INBOUND_SMS_TYPE in permissions:
|
|
||||||
create_inbound_number('12345', service_id=service.id)
|
|
||||||
|
|
||||||
return service
|
return service
|
||||||
|
|
||||||
|
|
||||||
@@ -215,46 +167,20 @@ def _sample_service_custom_letter_contact_block(sample_service):
|
|||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope='function')
|
@pytest.fixture(scope='function')
|
||||||
def sample_template(
|
def sample_template(notify_db_session):
|
||||||
notify_db,
|
user = create_user()
|
||||||
notify_db_session,
|
service = create_service(service_permissions=[EMAIL_TYPE, SMS_TYPE], check_if_service_exists=True)
|
||||||
template_name="Template Name",
|
|
||||||
template_type="sms",
|
|
||||||
content="This is a template:\nwith a newline",
|
|
||||||
archived=False,
|
|
||||||
hidden=False,
|
|
||||||
subject_line='Subject',
|
|
||||||
user=None,
|
|
||||||
service=None,
|
|
||||||
created_by=None,
|
|
||||||
process_type='normal',
|
|
||||||
permissions=[EMAIL_TYPE, SMS_TYPE]
|
|
||||||
):
|
|
||||||
if user is None:
|
|
||||||
user = create_user()
|
|
||||||
if service is None:
|
|
||||||
service = Service.query.filter_by(name='Sample service').first()
|
|
||||||
if not service:
|
|
||||||
service = create_service(service_permissions=permissions, check_if_service_exists=True)
|
|
||||||
if created_by is None:
|
|
||||||
created_by = create_user()
|
|
||||||
|
|
||||||
data = {
|
data = {
|
||||||
'name': template_name,
|
'name': 'Template Name',
|
||||||
'template_type': template_type,
|
'template_type': 'sms',
|
||||||
'content': content,
|
'content': 'This is a template:\nwith a newline',
|
||||||
'service': service,
|
'service': service,
|
||||||
'created_by': created_by,
|
'created_by': user,
|
||||||
'archived': archived,
|
'archived': False,
|
||||||
'hidden': hidden,
|
'hidden': False,
|
||||||
'process_type': process_type
|
'process_type': 'normal'
|
||||||
}
|
}
|
||||||
if template_type in ['email', 'letter']:
|
|
||||||
data.update({
|
|
||||||
'subject': subject_line
|
|
||||||
})
|
|
||||||
if template_type == 'letter':
|
|
||||||
data['postage'] = 'second'
|
|
||||||
template = Template(**data)
|
template = Template(**data)
|
||||||
dao_create_template(template)
|
dao_create_template(template)
|
||||||
|
|
||||||
@@ -280,27 +206,16 @@ def sample_sms_template_with_html(sample_service):
|
|||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope='function')
|
@pytest.fixture(scope='function')
|
||||||
def sample_email_template(
|
def sample_email_template(notify_db_session):
|
||||||
notify_db,
|
user = create_user()
|
||||||
notify_db_session,
|
service = create_service(user=user, service_permissions=[EMAIL_TYPE, SMS_TYPE], check_if_service_exists=True)
|
||||||
template_name="Email Template Name",
|
|
||||||
template_type="email",
|
|
||||||
user=None,
|
|
||||||
content="This is a template",
|
|
||||||
subject_line='Email Subject',
|
|
||||||
service=None,
|
|
||||||
permissions=[EMAIL_TYPE, SMS_TYPE]):
|
|
||||||
if user is None:
|
|
||||||
user = create_user()
|
|
||||||
if service is None:
|
|
||||||
service = create_service(user=user, service_permissions=permissions, check_if_service_exists=True)
|
|
||||||
data = {
|
data = {
|
||||||
'name': template_name,
|
'name': 'Email Template Name',
|
||||||
'template_type': template_type,
|
'template_type': EMAIL_TYPE,
|
||||||
'content': content,
|
'content': 'This is a template',
|
||||||
'service': service,
|
'service': service,
|
||||||
'created_by': user,
|
'created_by': user,
|
||||||
'subject': subject_line
|
'subject': 'Email Subject'
|
||||||
}
|
}
|
||||||
template = Template(**data)
|
template = Template(**data)
|
||||||
dao_create_template(template)
|
dao_create_template(template)
|
||||||
@@ -314,8 +229,8 @@ def sample_template_without_email_permission(notify_db_session):
|
|||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def sample_letter_template(sample_service_full_permissions, postage="second"):
|
def sample_letter_template(sample_service_full_permissions):
|
||||||
return create_template(sample_service_full_permissions, template_type=LETTER_TYPE, postage=postage)
|
return create_template(sample_service_full_permissions, template_type=LETTER_TYPE, postage='second')
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
@@ -345,14 +260,9 @@ def sample_email_template_with_html(sample_service):
|
|||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope='function')
|
@pytest.fixture(scope='function')
|
||||||
def sample_api_key(notify_db,
|
def sample_api_key(notify_db_session):
|
||||||
notify_db_session,
|
service = create_service(check_if_service_exists=True)
|
||||||
service=None,
|
data = {'service': service, 'name': uuid.uuid4(), 'created_by': service.created_by, 'key_type': KEY_TYPE_NORMAL}
|
||||||
key_type=KEY_TYPE_NORMAL,
|
|
||||||
name=None):
|
|
||||||
if service is None:
|
|
||||||
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)
|
api_key = ApiKey(**data)
|
||||||
save_model_api_key(api_key)
|
save_model_api_key(api_key)
|
||||||
return api_key
|
return api_key
|
||||||
@@ -379,37 +289,23 @@ def sample_team_api_key(sample_api_key):
|
|||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope='function')
|
@pytest.fixture(scope='function')
|
||||||
def sample_job(
|
def sample_job(notify_db_session):
|
||||||
notify_db,
|
service = create_service(check_if_service_exists=True)
|
||||||
notify_db_session,
|
template = create_template(service=service)
|
||||||
service=None,
|
|
||||||
template=None,
|
|
||||||
notification_count=1,
|
|
||||||
created_at=None,
|
|
||||||
job_status='pending',
|
|
||||||
scheduled_for=None,
|
|
||||||
processing_started=None,
|
|
||||||
original_file_name='some.csv',
|
|
||||||
archived=False
|
|
||||||
):
|
|
||||||
if service is None:
|
|
||||||
service = create_service(check_if_service_exists=True)
|
|
||||||
if template is None:
|
|
||||||
template = create_template(service=service)
|
|
||||||
data = {
|
data = {
|
||||||
'id': uuid.uuid4(),
|
'id': uuid.uuid4(),
|
||||||
'service_id': service.id,
|
'service_id': service.id,
|
||||||
'service': service,
|
'service': service,
|
||||||
'template_id': template.id,
|
'template_id': template.id,
|
||||||
'template_version': template.version,
|
'template_version': template.version,
|
||||||
'original_file_name': original_file_name,
|
'original_file_name': 'some.csv',
|
||||||
'notification_count': notification_count,
|
'notification_count': 1,
|
||||||
'created_at': created_at or datetime.utcnow(),
|
'created_at': datetime.utcnow(),
|
||||||
'created_by': service.created_by,
|
'created_by': service.created_by,
|
||||||
'job_status': job_status,
|
'job_status': 'pending',
|
||||||
'scheduled_for': scheduled_for,
|
'scheduled_for': None,
|
||||||
'processing_started': processing_started,
|
'processing_started': None,
|
||||||
'archived': archived
|
'archived': False
|
||||||
}
|
}
|
||||||
job = Job(**data)
|
job = Job(**data)
|
||||||
dao_create_job(job)
|
dao_create_job(job)
|
||||||
@@ -435,34 +331,6 @@ def sample_scheduled_job(sample_template_with_placeholders):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope='function')
|
|
||||||
def sample_email_job(notify_db,
|
|
||||||
notify_db_session,
|
|
||||||
service=None,
|
|
||||||
template=None):
|
|
||||||
if service is None:
|
|
||||||
service = create_service(check_if_service_exists=True)
|
|
||||||
if template is None:
|
|
||||||
template = sample_email_template(
|
|
||||||
notify_db,
|
|
||||||
notify_db_session,
|
|
||||||
service=service)
|
|
||||||
job_id = uuid.uuid4()
|
|
||||||
data = {
|
|
||||||
'id': job_id,
|
|
||||||
'service_id': service.id,
|
|
||||||
'service': service,
|
|
||||||
'template_id': template.id,
|
|
||||||
'template_version': template.version,
|
|
||||||
'original_file_name': 'some.csv',
|
|
||||||
'notification_count': 1,
|
|
||||||
'created_by': service.created_by
|
|
||||||
}
|
|
||||||
job = Job(**data)
|
|
||||||
dao_create_job(job)
|
|
||||||
return job
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def sample_letter_job(sample_letter_template):
|
def sample_letter_job(sample_letter_template):
|
||||||
service = sample_letter_template.service
|
service = sample_letter_template.service
|
||||||
@@ -483,12 +351,13 @@ def sample_letter_job(sample_letter_template):
|
|||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope='function')
|
@pytest.fixture(scope='function')
|
||||||
def sample_notification_with_job(
|
def sample_notification_with_job(notify_db_session):
|
||||||
notify_db,
|
service = create_service(check_if_service_exists=True)
|
||||||
notify_db_session,
|
template = create_template(service=service)
|
||||||
service=None,
|
job = create_job(template=template)
|
||||||
template=None,
|
return create_notification(
|
||||||
job=None,
|
template=template,
|
||||||
|
job=job,
|
||||||
job_row_number=None,
|
job_row_number=None,
|
||||||
to_field=None,
|
to_field=None,
|
||||||
status='created',
|
status='created',
|
||||||
@@ -499,113 +368,51 @@ def sample_notification_with_job(
|
|||||||
personalisation=None,
|
personalisation=None,
|
||||||
api_key=None,
|
api_key=None,
|
||||||
key_type=KEY_TYPE_NORMAL
|
key_type=KEY_TYPE_NORMAL
|
||||||
):
|
|
||||||
if not service:
|
|
||||||
service = create_service(check_if_service_exists=True)
|
|
||||||
if not template:
|
|
||||||
template = create_template(service=service)
|
|
||||||
if job is None:
|
|
||||||
job = create_job(template=template)
|
|
||||||
return create_notification(
|
|
||||||
template=template,
|
|
||||||
job=job,
|
|
||||||
job_row_number=job_row_number if job_row_number is not None else None,
|
|
||||||
to_field=to_field,
|
|
||||||
status=status,
|
|
||||||
reference=reference,
|
|
||||||
created_at=created_at,
|
|
||||||
sent_at=sent_at,
|
|
||||||
billable_units=billable_units,
|
|
||||||
personalisation=personalisation,
|
|
||||||
api_key=api_key,
|
|
||||||
key_type=key_type
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope='function')
|
@pytest.fixture(scope='function')
|
||||||
def sample_notification(
|
def sample_notification(notify_db_session):
|
||||||
notify_db,
|
created_at = datetime.utcnow()
|
||||||
notify_db_session,
|
service = create_service(check_if_service_exists=True)
|
||||||
service=None,
|
template = create_template(service=service)
|
||||||
template=None,
|
|
||||||
job=None,
|
|
||||||
job_row_number=None,
|
|
||||||
to_field=None,
|
|
||||||
status='created',
|
|
||||||
reference=None,
|
|
||||||
created_at=None,
|
|
||||||
sent_at=None,
|
|
||||||
billable_units=1,
|
|
||||||
personalisation=None,
|
|
||||||
api_key=None,
|
|
||||||
key_type=KEY_TYPE_NORMAL,
|
|
||||||
sent_by=None,
|
|
||||||
international=False,
|
|
||||||
client_reference=None,
|
|
||||||
rate_multiplier=1.0,
|
|
||||||
scheduled_for=None,
|
|
||||||
normalised_to=None,
|
|
||||||
postage=None,
|
|
||||||
):
|
|
||||||
if created_at is None:
|
|
||||||
created_at = datetime.utcnow()
|
|
||||||
if service is None:
|
|
||||||
service = create_service(check_if_service_exists=True)
|
|
||||||
if template is None:
|
|
||||||
template = create_template(service=service)
|
|
||||||
|
|
||||||
if job is None and api_key is None:
|
api_key = ApiKey.query.filter(ApiKey.service == template.service, ApiKey.key_type == KEY_TYPE_NORMAL).first()
|
||||||
# we didn't specify in test - lets create it
|
if not api_key:
|
||||||
api_key = ApiKey.query.filter(ApiKey.service == template.service, ApiKey.key_type == key_type).first()
|
api_key = create_api_key(template.service, key_type=KEY_TYPE_NORMAL)
|
||||||
if not api_key:
|
|
||||||
api_key = create_api_key(template.service, key_type=key_type)
|
|
||||||
|
|
||||||
notification_id = uuid.uuid4()
|
notification_id = uuid.uuid4()
|
||||||
|
to = '+447700900855'
|
||||||
if to_field:
|
|
||||||
to = to_field
|
|
||||||
else:
|
|
||||||
to = '+447700900855'
|
|
||||||
|
|
||||||
data = {
|
data = {
|
||||||
'id': notification_id,
|
'id': notification_id,
|
||||||
'to': to,
|
'to': to,
|
||||||
'job_id': job.id if job else None,
|
'job_id': None,
|
||||||
'job': job,
|
'job': None,
|
||||||
'service_id': service.id,
|
'service_id': service.id,
|
||||||
'service': service,
|
'service': service,
|
||||||
'template_id': template.id,
|
'template_id': template.id,
|
||||||
'template_version': template.version,
|
'template_version': template.version,
|
||||||
'status': status,
|
'status': 'created',
|
||||||
'reference': reference,
|
'reference': None,
|
||||||
'created_at': created_at,
|
'created_at': created_at,
|
||||||
'sent_at': sent_at,
|
'sent_at': None,
|
||||||
'billable_units': billable_units,
|
'billable_units': 1,
|
||||||
'personalisation': personalisation,
|
'personalisation': None,
|
||||||
'notification_type': template.template_type,
|
'notification_type': template.template_type,
|
||||||
'api_key': api_key,
|
'api_key': api_key,
|
||||||
'api_key_id': api_key and api_key.id,
|
'api_key_id': api_key and api_key.id,
|
||||||
'key_type': api_key.key_type if api_key else key_type,
|
'key_type': api_key.key_type,
|
||||||
'sent_by': sent_by,
|
'sent_by': None,
|
||||||
'updated_at': created_at if status in NOTIFICATION_STATUS_TYPES_COMPLETED else None,
|
'updated_at': None,
|
||||||
'client_reference': client_reference,
|
'client_reference': None,
|
||||||
'rate_multiplier': rate_multiplier,
|
'rate_multiplier': 1.0,
|
||||||
'normalised_to': normalised_to,
|
'normalised_to': None,
|
||||||
'postage': postage,
|
'postage': None,
|
||||||
}
|
}
|
||||||
if job_row_number is not None:
|
|
||||||
data['job_row_number'] = job_row_number
|
|
||||||
notification = Notification(**data)
|
notification = Notification(**data)
|
||||||
dao_create_notification(notification)
|
dao_create_notification(notification)
|
||||||
if scheduled_for:
|
|
||||||
scheduled_notification = ScheduledNotification(id=uuid.uuid4(),
|
|
||||||
notification_id=notification.id,
|
|
||||||
scheduled_for=datetime.strptime(scheduled_for,
|
|
||||||
"%Y-%m-%d %H:%M"))
|
|
||||||
if status != 'created':
|
|
||||||
scheduled_notification.pending = False
|
|
||||||
db.session.add(scheduled_notification)
|
|
||||||
db.session.commit()
|
|
||||||
|
|
||||||
return notification
|
return notification
|
||||||
|
|
||||||
@@ -660,38 +467,21 @@ def sample_email_notification(notify_db_session):
|
|||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope='function')
|
@pytest.fixture(scope='function')
|
||||||
def sample_notification_history(
|
def sample_notification_history(notify_db, notify_db_session, sample_template):
|
||||||
notify_db,
|
created_at = datetime.utcnow()
|
||||||
notify_db_session,
|
sent_at = datetime.utcnow()
|
||||||
sample_template,
|
notification_type = sample_template.template_type
|
||||||
status='created',
|
api_key = create_api_key(sample_template.service, key_type=KEY_TYPE_NORMAL)
|
||||||
created_at=None,
|
|
||||||
notification_type=None,
|
|
||||||
key_type=KEY_TYPE_NORMAL,
|
|
||||||
sent_at=None,
|
|
||||||
api_key=None
|
|
||||||
):
|
|
||||||
if created_at is None:
|
|
||||||
created_at = datetime.utcnow()
|
|
||||||
|
|
||||||
if sent_at is None:
|
|
||||||
sent_at = datetime.utcnow()
|
|
||||||
|
|
||||||
if notification_type is None:
|
|
||||||
notification_type = sample_template.template_type
|
|
||||||
|
|
||||||
if not api_key:
|
|
||||||
api_key = create_api_key(sample_template.service, key_type=key_type)
|
|
||||||
|
|
||||||
notification_history = NotificationHistory(
|
notification_history = NotificationHistory(
|
||||||
id=uuid.uuid4(),
|
id=uuid.uuid4(),
|
||||||
service=sample_template.service,
|
service=sample_template.service,
|
||||||
template_id=sample_template.id,
|
template_id=sample_template.id,
|
||||||
template_version=sample_template.version,
|
template_version=sample_template.version,
|
||||||
status=status,
|
status='created',
|
||||||
created_at=created_at,
|
created_at=created_at,
|
||||||
notification_type=notification_type,
|
notification_type=notification_type,
|
||||||
key_type=key_type,
|
key_type=KEY_TYPE_NORMAL,
|
||||||
api_key=api_key,
|
api_key=api_key,
|
||||||
api_key_id=api_key and api_key.id,
|
api_key_id=api_key and api_key.id,
|
||||||
sent_at=sent_at
|
sent_at=sent_at
|
||||||
@@ -702,36 +492,15 @@ def sample_notification_history(
|
|||||||
return notification_history
|
return notification_history
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope='function')
|
|
||||||
def mock_celery_send_sms_code(mocker):
|
|
||||||
return mocker.patch('app.celery.tasks.send_sms_code.apply_async')
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope='function')
|
|
||||||
def mock_celery_email_registration_verification(mocker):
|
|
||||||
return mocker.patch('app.celery.tasks.email_registration_verification.apply_async')
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope='function')
|
|
||||||
def mock_celery_send_email(mocker):
|
|
||||||
return mocker.patch('app.celery.tasks.send_email.apply_async')
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope='function')
|
@pytest.fixture(scope='function')
|
||||||
def mock_encryption(mocker):
|
def mock_encryption(mocker):
|
||||||
return mocker.patch('app.encryption.encrypt', return_value="something_encrypted")
|
return mocker.patch('app.encryption.encrypt', return_value="something_encrypted")
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope='function')
|
@pytest.fixture(scope='function')
|
||||||
def sample_invited_user(notify_db,
|
def sample_invited_user(notify_db_session):
|
||||||
notify_db_session,
|
service = create_service(check_if_service_exists=True)
|
||||||
service=None,
|
to_email_address = 'invited_user@digital.gov.uk'
|
||||||
to_email_address=None):
|
|
||||||
|
|
||||||
if service is None:
|
|
||||||
service = create_service(check_if_service_exists=True)
|
|
||||||
if to_email_address is None:
|
|
||||||
to_email_address = 'invited_user@digital.gov.uk'
|
|
||||||
|
|
||||||
from_user = service.users[0]
|
from_user = service.users[0]
|
||||||
|
|
||||||
@@ -748,23 +517,16 @@ def sample_invited_user(notify_db,
|
|||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope='function')
|
@pytest.fixture(scope='function')
|
||||||
def sample_invited_org_user(
|
def sample_invited_org_user(sample_user, sample_organisation):
|
||||||
notify_db,
|
|
||||||
notify_db_session,
|
|
||||||
sample_user,
|
|
||||||
sample_organisation
|
|
||||||
):
|
|
||||||
return create_invited_org_user(sample_organisation, sample_user)
|
return create_invited_org_user(sample_organisation, sample_user)
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope='function')
|
@pytest.fixture(scope='function')
|
||||||
def sample_user_service_permission(
|
def sample_user_service_permission(notify_db_session):
|
||||||
notify_db, notify_db_session, service=None, user=None, permission="manage_settings"
|
user = create_user()
|
||||||
):
|
service = create_service(user=user, check_if_service_exists=True)
|
||||||
if user is None:
|
permission = 'manage_settings'
|
||||||
user = create_user()
|
|
||||||
if service is None:
|
|
||||||
service = create_service(user=user, check_if_service_exists=True)
|
|
||||||
data = {
|
data = {
|
||||||
'user': user,
|
'user': user,
|
||||||
'service': service,
|
'service': service,
|
||||||
@@ -800,20 +562,15 @@ def ses_provider():
|
|||||||
return ProviderDetails.query.filter_by(identifier='ses').one()
|
return ProviderDetails.query.filter_by(identifier='ses').one()
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope='function')
|
|
||||||
def firetext_provider():
|
|
||||||
return ProviderDetails.query.filter_by(identifier='firetext').one()
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope='function')
|
@pytest.fixture(scope='function')
|
||||||
def mmg_provider():
|
def mmg_provider():
|
||||||
return ProviderDetails.query.filter_by(identifier='mmg').one()
|
return ProviderDetails.query.filter_by(identifier='mmg').one()
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope='function')
|
@pytest.fixture(scope='function')
|
||||||
def mock_firetext_client(mocker, statsd_client=None):
|
def mock_firetext_client(mocker):
|
||||||
client = FiretextClient()
|
client = FiretextClient()
|
||||||
statsd_client = statsd_client or mocker.Mock()
|
statsd_client = mocker.Mock()
|
||||||
current_app = mocker.Mock(config={
|
current_app = mocker.Mock(config={
|
||||||
'FIRETEXT_URL': 'https://example.com/firetext',
|
'FIRETEXT_URL': 'https://example.com/firetext',
|
||||||
'FIRETEXT_API_KEY': 'foo',
|
'FIRETEXT_API_KEY': 'foo',
|
||||||
@@ -1067,33 +824,17 @@ def notify_service(notify_db, notify_db_session):
|
|||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope='function')
|
@pytest.fixture(scope='function')
|
||||||
def sample_service_whitelist(notify_db, notify_db_session, service=None, email_address=None, mobile_number=None):
|
def sample_service_whitelist(notify_db, notify_db_session):
|
||||||
if service is None:
|
service = create_service(check_if_service_exists=True)
|
||||||
service = create_service(check_if_service_exists=True)
|
whitelisted_user = ServiceWhitelist.from_string(service.id, EMAIL_TYPE, 'whitelisted_user@digital.gov.uk')
|
||||||
|
|
||||||
if email_address:
|
|
||||||
whitelisted_user = ServiceWhitelist.from_string(service.id, EMAIL_TYPE, email_address)
|
|
||||||
elif mobile_number:
|
|
||||||
whitelisted_user = ServiceWhitelist.from_string(service.id, MOBILE_TYPE, mobile_number)
|
|
||||||
else:
|
|
||||||
whitelisted_user = ServiceWhitelist.from_string(service.id, EMAIL_TYPE, 'whitelisted_user@digital.gov.uk')
|
|
||||||
|
|
||||||
notify_db.session.add(whitelisted_user)
|
notify_db.session.add(whitelisted_user)
|
||||||
notify_db.session.commit()
|
notify_db.session.commit()
|
||||||
return whitelisted_user
|
return whitelisted_user
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope='function')
|
|
||||||
def sample_provider_rate(notify_db, notify_db_session, valid_from=None, rate=None, provider_identifier=None):
|
|
||||||
create_provider_rates(
|
|
||||||
provider_identifier=provider_identifier if provider_identifier is not None else 'mmg',
|
|
||||||
valid_from=valid_from if valid_from is not None else datetime.utcnow(),
|
|
||||||
rate=rate if rate is not None else 1,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def sample_inbound_numbers(notify_db, notify_db_session, sample_service):
|
def sample_inbound_numbers(sample_service):
|
||||||
service = create_service(service_name='sample service 2', check_if_service_exists=True)
|
service = create_service(service_name='sample service 2', check_if_service_exists=True)
|
||||||
inbound_numbers = list()
|
inbound_numbers = list()
|
||||||
inbound_numbers.append(create_inbound_number(number='1', provider='mmg'))
|
inbound_numbers.append(create_inbound_number(number='1', provider='mmg'))
|
||||||
@@ -1103,7 +844,7 @@ def sample_inbound_numbers(notify_db, notify_db_session, sample_service):
|
|||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def sample_organisation(notify_db, notify_db_session):
|
def sample_organisation(notify_db_session):
|
||||||
org = Organisation(name='sample organisation')
|
org = Organisation(name='sample organisation')
|
||||||
dao_create_organisation(org)
|
dao_create_organisation(org)
|
||||||
return org
|
return org
|
||||||
|
|||||||
Reference in New Issue
Block a user