Add flag on create_service to decide whether we should also check if service exists

This commit is contained in:
Pea Tyczynska
2019-01-02 17:15:27 +00:00
parent f79c0b03e7
commit eea324a19d
2 changed files with 20 additions and 16 deletions

View File

@@ -82,6 +82,7 @@ def service_factory(notify_db, notify_db_session):
service_name=service_name,
service_permissions=None,
user=user,
check_if_service_exists=True,
)
if template_type == 'email':
create_template(
@@ -200,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
@@ -233,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()
@@ -295,7 +297,7 @@ def sample_email_template(
if user is None:
user = create_user()
if service is None:
service = create_service(user=user, service_permissions=permissions)
service = create_service(user=user, service_permissions=permissions, check_if_service_exists=True)
data = {
'name': template_name,
'template_type': template_type,
@@ -350,7 +352,7 @@ def sample_api_key(notify_db,
key_type=KEY_TYPE_NORMAL,
name=None):
if service is None:
service = create_service()
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)
@@ -382,7 +384,7 @@ def sample_job(
archived=False
):
if service is None:
service = create_service()
service = create_service(check_if_service_exists=True)
if template is None:
template = create_template(service=service)
data = {
@@ -441,7 +443,7 @@ def sample_email_job(notify_db,
service=None,
template=None):
if service is None:
service = create_service()
service = create_service(check_if_service_exists=True)
if template is None:
template = sample_email_template(
notify_db,
@@ -549,7 +551,7 @@ def sample_notification(
if created_at is None:
created_at = datetime.utcnow()
if service is None:
service = create_service()
service = create_service(check_if_service_exists=True)
if template is None:
template = create_template(service=service)
@@ -638,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 = create_service()
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)
@@ -740,7 +742,7 @@ def sample_invited_user(notify_db,
to_email_address=None):
if service is None:
service = create_service()
service = create_service(check_if_service_exists=True)
if to_email_address is None:
to_email_address = 'invited_user@digital.gov.uk'
@@ -780,7 +782,7 @@ def sample_permission(notify_db,
'permission': permission
}
if service is None:
service = create_service()
service = create_service(check_if_service_exists=True)
if service:
data['service'] = service
p_model = Permission.query.filter_by(
@@ -801,7 +803,7 @@ def sample_user_service_permission(
if user is None:
user = create_user()
if service is None:
service = create_service(user=user)
service = create_service(user=user, check_if_service_exists=True)
data = {
'user': user,
'service': service,
@@ -1035,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 = create_service()
service = create_service(check_if_service_exists=True)
if email_address:
whitelisted_user = ServiceWhitelist.from_string(service.id, EMAIL_TYPE, email_address)
@@ -1060,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))

View File

@@ -81,10 +81,12 @@ def create_service(
prefix_sms=True,
message_limit=1000,
organisation_type='central',
postage='second'
postage='second',
check_if_service_exists=False
):
service = Service.query.filter_by(name=service_name).first()
if not service:
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,