Update error message to include a url to offending service

This commit is contained in:
Pea Tyczynska
2019-12-05 11:46:10 +00:00
parent 339b6c0ec7
commit b8de67ae54
2 changed files with 12 additions and 6 deletions

View File

@@ -273,14 +273,16 @@ def check_for_services_with_high_failure_rates_or_sending_to_tv_numbers():
len(services_with_failures) len(services_with_failures)
) )
for service in services_with_failures: for service in services_with_failures:
message += "service id: {} failure rate: {},\n".format(service["id"], service["permanent_failure_rate"]) service_dashboard = current_app.config['ADMIN_BASE_URL'] + "/services/" + service["id"]
message += "service: {} failure rate: {},\n".format(service_dashboard, service["permanent_failure_rate"])
elif services_sending_to_tv_numbers: elif services_sending_to_tv_numbers:
message += "{} service(s) have sent over 100 sms messages to tv numbers in last 24 hours:\n".format( message += "{} service(s) have sent over 100 sms messages to tv numbers in last 24 hours:\n".format(
len(services_sending_to_tv_numbers) len(services_sending_to_tv_numbers)
) )
for service in services_sending_to_tv_numbers: for service in services_sending_to_tv_numbers:
message += "service id: {}, count of sms to tv numbers: {},\n".format( service_dashboard = current_app.config['ADMIN_BASE_URL'] + "/services/" + service.service_id
service.service_id, service.notification_count message += "service: {} count of sms to tv numbers: {},\n".format(
service_dashboard, service.notification_count
) )
if services_with_failures or services_sending_to_tv_numbers: if services_with_failures or services_sending_to_tv_numbers:

View File

@@ -20,7 +20,7 @@ from app.celery.scheduled_tasks import (
check_for_services_with_high_failure_rates_or_sending_to_tv_numbers, check_for_services_with_high_failure_rates_or_sending_to_tv_numbers,
switch_current_sms_provider_on_slow_delivery, switch_current_sms_provider_on_slow_delivery,
) )
from app.config import QueueNames, TaskNames from app.config import QueueNames, TaskNames, Config
from app.dao.jobs_dao import dao_get_job_by_id from app.dao.jobs_dao import dao_get_job_by_id
from app.dao.notifications_dao import dao_get_scheduled_notifications from app.dao.notifications_dao import dao_get_scheduled_notifications
from app.dao.provider_details_dao import get_provider_details_by_identifier from app.dao.provider_details_dao import get_provider_details_by_identifier
@@ -512,13 +512,17 @@ MockServicesSendingToTVNumbers = namedtuple(
[{"id": "123", "permanent_failure_rate": 0.3}], [{"id": "123", "permanent_failure_rate": 0.3}],
[], [],
"1 service(s) have had high permanent-failure rates for sms messages in last " "1 service(s) have had high permanent-failure rates for sms messages in last "
"24 hours:\nservice id: 123 failure rate: 0.3,\n" "24 hours:\nservice: {} failure rate: 0.3,\n".format(
Config.ADMIN_BASE_URL + "/services/" + "123"
)
], ],
[ [
[], [],
[MockServicesSendingToTVNumbers("123", 300)], [MockServicesSendingToTVNumbers("123", 300)],
"1 service(s) have sent over 100 sms messages to tv numbers in last 24 hours:\n" "1 service(s) have sent over 100 sms messages to tv numbers in last 24 hours:\n"
"service id: 123, count of sms to tv numbers: 300,\n" "service: {} count of sms to tv numbers: 300,\n".format(
Config.ADMIN_BASE_URL + "/services/" + "123"
)
] ]
]) ])
def test_check_for_services_with_high_failure_rates_or_sending_to_tv_numbers( def test_check_for_services_with_high_failure_rates_or_sending_to_tv_numbers(