mirror of
https://github.com/GSA/notifications-api.git
synced 2026-09-08 03:28:26 -04:00
tests are, uh, mostly passing
This commit is contained in:
@@ -8,6 +8,7 @@ def find_by_service_name(services, service_name):
|
|||||||
return services[i]
|
return services[i]
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
||||||
def extract_cloudfoundry_config():
|
def extract_cloudfoundry_config():
|
||||||
vcap_services = json.loads(os.environ['VCAP_SERVICES'])
|
vcap_services = json.loads(os.environ['VCAP_SERVICES'])
|
||||||
|
|
||||||
@@ -18,7 +19,10 @@ def extract_cloudfoundry_config():
|
|||||||
os.environ['REDIS_URL'] = vcap_services['aws-elasticache-redis'][0]['credentials']['uri'].replace('redis', 'rediss')
|
os.environ['REDIS_URL'] = vcap_services['aws-elasticache-redis'][0]['credentials']['uri'].replace('redis', 'rediss')
|
||||||
|
|
||||||
# CSV Upload Bucket Name
|
# CSV Upload Bucket Name
|
||||||
bucket_service = find_by_service_name(vcap_services['s3'], f"notifications-api-csv-upload-bucket-{os.environ['DEPLOY_ENV']}")
|
bucket_service = find_by_service_name(
|
||||||
|
vcap_services['s3'],
|
||||||
|
f"notifications-api-csv-upload-bucket-{os.environ['DEPLOY_ENV']}"
|
||||||
|
)
|
||||||
if bucket_service:
|
if bucket_service:
|
||||||
os.environ['CSV_UPLOAD_BUCKET_NAME'] = bucket_service['credentials']['bucket']
|
os.environ['CSV_UPLOAD_BUCKET_NAME'] = bucket_service['credentials']['bucket']
|
||||||
os.environ['CSV_UPLOAD_ACCESS_KEY'] = bucket_service['credentials']['access_key_id']
|
os.environ['CSV_UPLOAD_ACCESS_KEY'] = bucket_service['credentials']['access_key_id']
|
||||||
@@ -26,7 +30,10 @@ def extract_cloudfoundry_config():
|
|||||||
os.environ['CSV_UPLOAD_REGION'] = bucket_service['credentials']['region']
|
os.environ['CSV_UPLOAD_REGION'] = bucket_service['credentials']['region']
|
||||||
|
|
||||||
# Contact List Bucket Name
|
# Contact List Bucket Name
|
||||||
bucket_service = find_by_service_name(vcap_services['s3'], f"notifications-api-contact-list-bucket-{os.environ['DEPLOY_ENV']}")
|
bucket_service = find_by_service_name(
|
||||||
|
vcap_services['s3'],
|
||||||
|
f"notifications-api-contact-list-bucket-{os.environ['DEPLOY_ENV']}"
|
||||||
|
)
|
||||||
if bucket_service:
|
if bucket_service:
|
||||||
os.environ['CONTACT_LIST_BUCKET_NAME'] = bucket_service['credentials']['bucket']
|
os.environ['CONTACT_LIST_BUCKET_NAME'] = bucket_service['credentials']['bucket']
|
||||||
os.environ['CONTACT_LIST_ACCESS_KEY'] = bucket_service['credentials']['access_key_id']
|
os.environ['CONTACT_LIST_ACCESS_KEY'] = bucket_service['credentials']['access_key_id']
|
||||||
|
|||||||
@@ -40,7 +40,6 @@ from app.dao.organisation_dao import (
|
|||||||
dao_get_organisation_by_email_address,
|
dao_get_organisation_by_email_address,
|
||||||
dao_get_organisation_by_id,
|
dao_get_organisation_by_id,
|
||||||
)
|
)
|
||||||
from app.dao.permissions_dao import permission_dao
|
|
||||||
from app.dao.services_dao import (
|
from app.dao.services_dao import (
|
||||||
dao_fetch_all_services_by_user,
|
dao_fetch_all_services_by_user,
|
||||||
dao_fetch_all_services_created_by_user,
|
dao_fetch_all_services_created_by_user,
|
||||||
@@ -64,7 +63,6 @@ from app.models import (
|
|||||||
LetterBranding,
|
LetterBranding,
|
||||||
Notification,
|
Notification,
|
||||||
Organisation,
|
Organisation,
|
||||||
Permission,
|
|
||||||
Service,
|
Service,
|
||||||
User,
|
User,
|
||||||
)
|
)
|
||||||
@@ -151,8 +149,8 @@ def backfill_notification_statuses():
|
|||||||
`Notification._status_enum`
|
`Notification._status_enum`
|
||||||
"""
|
"""
|
||||||
LIMIT = 250000
|
LIMIT = 250000
|
||||||
subq = "SELECT id FROM notification_history WHERE notification_status is NULL LIMIT {}".format(LIMIT) # nosec B608 no user-controlled input
|
subq = "SELECT id FROM notification_history WHERE notification_status is NULL LIMIT {}".format(LIMIT) # nosec B608 no user-controlled input
|
||||||
update = "UPDATE notification_history SET notification_status = status WHERE id in ({})".format(subq) # nosec B608 no user-controlled input
|
update = "UPDATE notification_history SET notification_status = status WHERE id in ({})".format(subq) # nosec B608 no user-controlled input
|
||||||
result = db.session.execute(subq).fetchall()
|
result = db.session.execute(subq).fetchall()
|
||||||
|
|
||||||
while len(result) > 0:
|
while len(result) > 0:
|
||||||
@@ -169,7 +167,7 @@ def update_notification_international_flag():
|
|||||||
"""
|
"""
|
||||||
# 250,000 rows takes 30 seconds to update.
|
# 250,000 rows takes 30 seconds to update.
|
||||||
subq = "select id from notifications where international is null limit 250000"
|
subq = "select id from notifications where international is null limit 250000"
|
||||||
update = "update notifications set international = False where id in ({})".format(subq) # nosec B608 no user-controlled input
|
update = "update notifications set international = False where id in ({})".format(subq) # nosec B608 no user-controlled input
|
||||||
result = db.session.execute(subq).fetchall()
|
result = db.session.execute(subq).fetchall()
|
||||||
|
|
||||||
while len(result) > 0:
|
while len(result) > 0:
|
||||||
@@ -180,7 +178,7 @@ def update_notification_international_flag():
|
|||||||
|
|
||||||
# Now update notification_history
|
# Now update notification_history
|
||||||
subq_history = "select id from notification_history where international is null limit 250000"
|
subq_history = "select id from notification_history where international is null limit 250000"
|
||||||
update_history = "update notification_history set international = False where id in ({})".format(subq_history) # nosec B608 no user-controlled input
|
update_history = "update notification_history set international = False where id in ({})".format(subq_history) # nosec B608 no user-controlled input
|
||||||
result_history = db.session.execute(subq_history).fetchall()
|
result_history = db.session.execute(subq_history).fetchall()
|
||||||
while len(result_history) > 0:
|
while len(result_history) > 0:
|
||||||
db.session.execute(update_history)
|
db.session.execute(update_history)
|
||||||
@@ -201,8 +199,8 @@ def fix_notification_statuses_not_in_sync():
|
|||||||
"""
|
"""
|
||||||
MAX = 10000
|
MAX = 10000
|
||||||
|
|
||||||
subq = "SELECT id FROM notifications WHERE cast (status as text) != notification_status LIMIT {}".format(MAX) # nosec B608 no user-controlled input
|
subq = "SELECT id FROM notifications WHERE cast (status as text) != notification_status LIMIT {}".format(MAX) # nosec B608 no user-controlled input
|
||||||
update = "UPDATE notifications SET notification_status = status WHERE id in ({})".format(subq) # nosec B608 no user-controlled input
|
update = "UPDATE notifications SET notification_status = status WHERE id in ({})".format(subq) # nosec B608 no user-controlled input
|
||||||
result = db.session.execute(subq).fetchall()
|
result = db.session.execute(subq).fetchall()
|
||||||
|
|
||||||
while len(result) > 0:
|
while len(result) > 0:
|
||||||
@@ -212,7 +210,7 @@ def fix_notification_statuses_not_in_sync():
|
|||||||
result = db.session.execute(subq).fetchall()
|
result = db.session.execute(subq).fetchall()
|
||||||
|
|
||||||
subq_hist = "SELECT id FROM notification_history WHERE cast (status as text) != notification_status LIMIT {}".format(MAX) # nosec B608
|
subq_hist = "SELECT id FROM notification_history WHERE cast (status as text) != notification_status LIMIT {}".format(MAX) # nosec B608
|
||||||
update = "UPDATE notification_history SET notification_status = status WHERE id in ({})".format(subq_hist) # nosec B608 no user-controlled input
|
update = "UPDATE notification_history SET notification_status = status WHERE id in ({})".format(subq_hist) # nosec B608 no user-controlled input
|
||||||
result = db.session.execute(subq_hist).fetchall()
|
result = db.session.execute(subq_hist).fetchall()
|
||||||
|
|
||||||
while len(result) > 0:
|
while len(result) > 0:
|
||||||
|
|||||||
@@ -144,7 +144,7 @@ class Config(object):
|
|||||||
MAX_VERIFY_CODE_COUNT = 5
|
MAX_VERIFY_CODE_COUNT = 5
|
||||||
MAX_FAILED_LOGIN_COUNT = 10
|
MAX_FAILED_LOGIN_COUNT = 10
|
||||||
|
|
||||||
SES_STUB_URL = None # TODO: set to a URL in env and remove this to use a stubbed SES service
|
SES_STUB_URL = None # TODO: set to a URL in env and remove this to use a stubbed SES service
|
||||||
|
|
||||||
# be careful increasing this size without being sure that we won't see slowness in pysftp
|
# be careful increasing this size without being sure that we won't see slowness in pysftp
|
||||||
MAX_LETTER_PDF_ZIP_FILESIZE = 40 * 1024 * 1024 # 40mb
|
MAX_LETTER_PDF_ZIP_FILESIZE = 40 * 1024 * 1024 # 40mb
|
||||||
@@ -164,7 +164,7 @@ class Config(object):
|
|||||||
SMS_CODE_TEMPLATE_ID = '36fb0730-6259-4da1-8a80-c8de22ad4246'
|
SMS_CODE_TEMPLATE_ID = '36fb0730-6259-4da1-8a80-c8de22ad4246'
|
||||||
EMAIL_2FA_TEMPLATE_ID = '299726d2-dba6-42b8-8209-30e1d66ea164'
|
EMAIL_2FA_TEMPLATE_ID = '299726d2-dba6-42b8-8209-30e1d66ea164'
|
||||||
NEW_USER_EMAIL_VERIFICATION_TEMPLATE_ID = 'ece42649-22a8-4d06-b87f-d52d5d3f0a27'
|
NEW_USER_EMAIL_VERIFICATION_TEMPLATE_ID = 'ece42649-22a8-4d06-b87f-d52d5d3f0a27'
|
||||||
PASSWORD_RESET_TEMPLATE_ID = '474e9242-823b-4f99-813d-ed392e7f1201' # nosec B105 - this is not a password
|
PASSWORD_RESET_TEMPLATE_ID = '474e9242-823b-4f99-813d-ed392e7f1201' # nosec B105 - this is not a password
|
||||||
ALREADY_REGISTERED_EMAIL_TEMPLATE_ID = '0880fbb1-a0c6-46f0-9a8e-36c986381ceb'
|
ALREADY_REGISTERED_EMAIL_TEMPLATE_ID = '0880fbb1-a0c6-46f0-9a8e-36c986381ceb'
|
||||||
CHANGE_EMAIL_CONFIRMATION_TEMPLATE_ID = 'eb4d9930-87ab-4aef-9bce-786762687884'
|
CHANGE_EMAIL_CONFIRMATION_TEMPLATE_ID = 'eb4d9930-87ab-4aef-9bce-786762687884'
|
||||||
SERVICE_NOW_LIVE_TEMPLATE_ID = '618185c6-3636-49cd-b7d2-6f6f5eb3bdde'
|
SERVICE_NOW_LIVE_TEMPLATE_ID = '618185c6-3636-49cd-b7d2-6f6f5eb3bdde'
|
||||||
|
|||||||
@@ -28,12 +28,7 @@ from app.dao.templates_dao import (
|
|||||||
)
|
)
|
||||||
from app.errors import InvalidRequest, register_errors
|
from app.errors import InvalidRequest, register_errors
|
||||||
from app.letters.utils import get_letter_pdf_and_metadata
|
from app.letters.utils import get_letter_pdf_and_metadata
|
||||||
from app.models import (
|
from app.models import LETTER_TYPE, SECOND_CLASS, SMS_TYPE, Template
|
||||||
LETTER_TYPE,
|
|
||||||
SECOND_CLASS,
|
|
||||||
SMS_TYPE,
|
|
||||||
Template,
|
|
||||||
)
|
|
||||||
from app.notifications.validators import check_reply_to, service_has_permission
|
from app.notifications.validators import check_reply_to, service_has_permission
|
||||||
from app.schema_validation import validate
|
from app.schema_validation import validate
|
||||||
from app.schemas import (
|
from app.schemas import (
|
||||||
@@ -171,6 +166,7 @@ def get_all_templates_for_service(service_id):
|
|||||||
data = template_schema.dump(templates, many=True)
|
data = template_schema.dump(templates, many=True)
|
||||||
else:
|
else:
|
||||||
data = template_schema_no_detail.dump(templates, many=True)
|
data = template_schema_no_detail.dump(templates, many=True)
|
||||||
|
print(data)
|
||||||
return jsonify(data=data)
|
return jsonify(data=data)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -380,7 +380,7 @@ def send_new_user_email_verification(user_id):
|
|||||||
|
|
||||||
template = dao_get_template_by_id(current_app.config['NEW_USER_EMAIL_VERIFICATION_TEMPLATE_ID'])
|
template = dao_get_template_by_id(current_app.config['NEW_USER_EMAIL_VERIFICATION_TEMPLATE_ID'])
|
||||||
service = Service.query.get(current_app.config['NOTIFY_SERVICE_ID'])
|
service = Service.query.get(current_app.config['NOTIFY_SERVICE_ID'])
|
||||||
|
|
||||||
current_app.logger.info('template.id is {}'.format(template.id))
|
current_app.logger.info('template.id is {}'.format(template.id))
|
||||||
current_app.logger.info('service.id is {}'.format(service.id))
|
current_app.logger.info('service.id is {}'.format(service.id))
|
||||||
|
|
||||||
@@ -438,11 +438,11 @@ def send_already_registered_email(user_id):
|
|||||||
key_type=KEY_TYPE_NORMAL,
|
key_type=KEY_TYPE_NORMAL,
|
||||||
reply_to_text=service.get_default_reply_to_email_address()
|
reply_to_text=service.get_default_reply_to_email_address()
|
||||||
)
|
)
|
||||||
|
|
||||||
current_app.logger.info('Sending notification to queue')
|
current_app.logger.info('Sending notification to queue')
|
||||||
|
|
||||||
send_notification_to_queue(saved_notification, False, queue=QueueNames.NOTIFY)
|
send_notification_to_queue(saved_notification, False, queue=QueueNames.NOTIFY)
|
||||||
|
|
||||||
current_app.logger.info('Sent notification to queue')
|
current_app.logger.info('Sent notification to queue')
|
||||||
|
|
||||||
return jsonify({}), 204
|
return jsonify({}), 204
|
||||||
|
|||||||
@@ -87,11 +87,7 @@ def get_london_month_from_utc_column(column):
|
|||||||
|
|
||||||
|
|
||||||
def get_public_notify_type_text(notify_type, plural=False):
|
def get_public_notify_type_text(notify_type, plural=False):
|
||||||
from app.models import (
|
from app.models import PRECOMPILED_LETTER, SMS_TYPE, UPLOAD_DOCUMENT
|
||||||
PRECOMPILED_LETTER,
|
|
||||||
SMS_TYPE,
|
|
||||||
UPLOAD_DOCUMENT,
|
|
||||||
)
|
|
||||||
notify_type_text = notify_type
|
notify_type_text = notify_type
|
||||||
if notify_type == SMS_TYPE:
|
if notify_type == SMS_TYPE:
|
||||||
notify_type_text = 'text message'
|
notify_type_text = 'text message'
|
||||||
|
|||||||
@@ -34,11 +34,7 @@ from app.models import (
|
|||||||
NOTIFICATION_PENDING_VIRUS_CHECK,
|
NOTIFICATION_PENDING_VIRUS_CHECK,
|
||||||
)
|
)
|
||||||
from tests.app import load_example_csv
|
from tests.app import load_example_csv
|
||||||
from tests.app.db import (
|
from tests.app.db import create_job, create_notification, create_template
|
||||||
create_job,
|
|
||||||
create_notification,
|
|
||||||
create_template,
|
|
||||||
)
|
|
||||||
from tests.conftest import set_config
|
from tests.conftest import set_config
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -13,10 +13,7 @@ from app.dao.api_key_dao import save_model_api_key
|
|||||||
from app.dao.invited_user_dao import save_invited_user
|
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 (
|
from app.dao.organisation_dao import dao_create_organisation
|
||||||
dao_add_service_to_organisation,
|
|
||||||
dao_create_organisation,
|
|
||||||
)
|
|
||||||
from app.dao.services_dao import dao_add_user_to_service, dao_create_service
|
from app.dao.services_dao import dao_add_user_to_service, dao_create_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
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ def mmg_post(client, data):
|
|||||||
data=data,
|
data=data,
|
||||||
headers=[('Content-Type', 'application/json')])
|
headers=[('Content-Type', 'application/json')])
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.skip(reason="Needs updating for TTS: Firetext removal")
|
@pytest.mark.skip(reason="Needs updating for TTS: Firetext removal")
|
||||||
def test_firetext_callback_should_not_need_auth(client, mocker):
|
def test_firetext_callback_should_not_need_auth(client, mocker):
|
||||||
mocker.patch('app.notifications.notifications_sms_callback.process_sms_client_response')
|
mocker.patch('app.notifications.notifications_sms_callback.process_sms_client_response')
|
||||||
@@ -36,6 +37,7 @@ def test_firetext_callback_should_return_400_if_empty_reference(client, mocker):
|
|||||||
assert json_resp['result'] == 'error'
|
assert json_resp['result'] == 'error'
|
||||||
assert json_resp['message'] == ['Firetext callback failed: reference missing']
|
assert json_resp['message'] == ['Firetext callback failed: reference missing']
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.skip(reason="Needs updating for TTS: Firetext removal")
|
@pytest.mark.skip(reason="Needs updating for TTS: Firetext removal")
|
||||||
def test_firetext_callback_should_return_400_if_no_reference(client, mocker):
|
def test_firetext_callback_should_return_400_if_no_reference(client, mocker):
|
||||||
data = 'mobile=441234123123&status=0&time=2016-03-10 14:17:00'
|
data = 'mobile=441234123123&status=0&time=2016-03-10 14:17:00'
|
||||||
@@ -45,6 +47,7 @@ def test_firetext_callback_should_return_400_if_no_reference(client, mocker):
|
|||||||
assert json_resp['result'] == 'error'
|
assert json_resp['result'] == 'error'
|
||||||
assert json_resp['message'] == ['Firetext callback failed: reference missing']
|
assert json_resp['message'] == ['Firetext callback failed: reference missing']
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.skip(reason="Needs updating for TTS: Firetext removal")
|
@pytest.mark.skip(reason="Needs updating for TTS: Firetext removal")
|
||||||
def test_firetext_callback_should_return_400_if_no_status(client, mocker):
|
def test_firetext_callback_should_return_400_if_no_status(client, mocker):
|
||||||
data = 'mobile=441234123123&time=2016-03-10 14:17:00&reference=notification_id'
|
data = 'mobile=441234123123&time=2016-03-10 14:17:00&reference=notification_id'
|
||||||
@@ -54,6 +57,7 @@ def test_firetext_callback_should_return_400_if_no_status(client, mocker):
|
|||||||
assert json_resp['result'] == 'error'
|
assert json_resp['result'] == 'error'
|
||||||
assert json_resp['message'] == ['Firetext callback failed: status missing']
|
assert json_resp['message'] == ['Firetext callback failed: status missing']
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.skip(reason="Needs updating for TTS: Firetext removal")
|
@pytest.mark.skip(reason="Needs updating for TTS: Firetext removal")
|
||||||
def test_firetext_callback_should_return_200_and_call_task_with_valid_data(client, mocker):
|
def test_firetext_callback_should_return_200_and_call_task_with_valid_data(client, mocker):
|
||||||
mock_celery = mocker.patch(
|
mock_celery = mocker.patch(
|
||||||
@@ -70,6 +74,7 @@ def test_firetext_callback_should_return_200_and_call_task_with_valid_data(clien
|
|||||||
queue='sms-callbacks',
|
queue='sms-callbacks',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.skip(reason="Needs updating for TTS: Firetext removal")
|
@pytest.mark.skip(reason="Needs updating for TTS: Firetext removal")
|
||||||
def test_firetext_callback_including_a_code_should_return_200_and_call_task_with_valid_data(client, mocker):
|
def test_firetext_callback_including_a_code_should_return_200_and_call_task_with_valid_data(client, mocker):
|
||||||
mock_celery = mocker.patch(
|
mock_celery = mocker.patch(
|
||||||
@@ -86,6 +91,7 @@ def test_firetext_callback_including_a_code_should_return_200_and_call_task_with
|
|||||||
queue='sms-callbacks',
|
queue='sms-callbacks',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.skip(reason="Needs updating for TTS: MMG removal")
|
@pytest.mark.skip(reason="Needs updating for TTS: MMG removal")
|
||||||
def test_mmg_callback_should_not_need_auth(client, mocker, sample_notification):
|
def test_mmg_callback_should_not_need_auth(client, mocker, sample_notification):
|
||||||
mocker.patch('app.notifications.notifications_sms_callback.process_sms_client_response')
|
mocker.patch('app.notifications.notifications_sms_callback.process_sms_client_response')
|
||||||
@@ -98,6 +104,7 @@ def test_mmg_callback_should_not_need_auth(client, mocker, sample_notification):
|
|||||||
response = mmg_post(client, data)
|
response = mmg_post(client, data)
|
||||||
assert response.status_code == 200
|
assert response.status_code == 200
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.skip(reason="Needs updating for TTS: MMG removal")
|
@pytest.mark.skip(reason="Needs updating for TTS: MMG removal")
|
||||||
def test_process_mmg_response_returns_400_for_malformed_data(client):
|
def test_process_mmg_response_returns_400_for_malformed_data(client):
|
||||||
data = json.dumps({"reference": "mmg_reference",
|
data = json.dumps({"reference": "mmg_reference",
|
||||||
@@ -114,6 +121,7 @@ def test_process_mmg_response_returns_400_for_malformed_data(client):
|
|||||||
assert "{} callback failed: {} missing".format('MMG', 'status') in json_data['message']
|
assert "{} callback failed: {} missing".format('MMG', 'status') in json_data['message']
|
||||||
assert "{} callback failed: {} missing".format('MMG', 'CID') in json_data['message']
|
assert "{} callback failed: {} missing".format('MMG', 'CID') in json_data['message']
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.skip(reason="Needs updating for TTS: MMG removal")
|
@pytest.mark.skip(reason="Needs updating for TTS: MMG removal")
|
||||||
def test_mmg_callback_should_return_200_and_call_task_with_valid_data(client, mocker):
|
def test_mmg_callback_should_return_200_and_call_task_with_valid_data(client, mocker):
|
||||||
mock_celery = mocker.patch(
|
mock_celery = mocker.patch(
|
||||||
|
|||||||
@@ -5,9 +5,8 @@ from app.commands import (
|
|||||||
populate_annual_billing_with_defaults,
|
populate_annual_billing_with_defaults,
|
||||||
)
|
)
|
||||||
from app.dao.inbound_numbers_dao import dao_get_available_inbound_numbers
|
from app.dao.inbound_numbers_dao import dao_get_available_inbound_numbers
|
||||||
from app.dao.services_dao import dao_add_user_to_service
|
|
||||||
from app.models import AnnualBilling
|
from app.models import AnnualBilling
|
||||||
from tests.app.db import create_annual_billing, create_service, create_user
|
from tests.app.db import create_annual_billing, create_service
|
||||||
|
|
||||||
|
|
||||||
def test_insert_inbound_numbers_from_file(notify_db_session, notify_api, tmpdir):
|
def test_insert_inbound_numbers_from_file(notify_db_session, notify_api, tmpdir):
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ def test_load_config_if_cloudfoundry_not_available(reload_config):
|
|||||||
def test_queue_names_all_queues_correct():
|
def test_queue_names_all_queues_correct():
|
||||||
# Need to ensure that all_queues() only returns queue names used in API
|
# Need to ensure that all_queues() only returns queue names used in API
|
||||||
queues = QueueNames.all_queues()
|
queues = QueueNames.all_queues()
|
||||||
assert len(queues) == 18
|
assert len(queues) == 17
|
||||||
assert set([
|
assert set([
|
||||||
QueueNames.PRIORITY,
|
QueueNames.PRIORITY,
|
||||||
QueueNames.PERIODIC,
|
QueueNames.PERIODIC,
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import pytest
|
|||||||
import sqlalchemy
|
import sqlalchemy
|
||||||
from alembic.command import upgrade
|
from alembic.command import upgrade
|
||||||
from alembic.config import Config
|
from alembic.config import Config
|
||||||
from flask import Flask
|
from flask import Flask, current_app
|
||||||
|
|
||||||
from app import create_app, db
|
from app import create_app, db
|
||||||
from app.dao.provider_details_dao import get_provider_details_by_identifier
|
from app.dao.provider_details_dao import get_provider_details_by_identifier
|
||||||
|
|||||||
Reference in New Issue
Block a user