def test_get_total_notifications_counts_messages_that_have_not_sent(sample_template): create_notification(sample_template, status="created", sent_at=None) result = dao_get_total_notifications_sent_per_day_for_performance_platform(BEGINNING_OF_DAY, END_OF_DAY) assert result.messages_total == 1 assert result.messages_within_10_secs == 0
def test_get_total_notifications_counts_ignores_research_mode(notify_db, notify_db_session): created_at = datetime.utcnow() service = sample_service(notify_db, notify_db_session, research_mode=True) template = sample_template(notify_db, notify_db_session, service=service) create_notification(template, status='created', sent_at=None) sample_notification_history( notify_db, notify_db_session, template, notification_type='email', sent_at=created_at + timedelta(seconds=5) ) sample_notification_history( notify_db, notify_db_session, template, notification_type='sms', sent_at=created_at + timedelta(seconds=5) ) result = dao_get_total_notifications_sent_per_day_for_performance_platform(BEGINNING_OF_DAY, END_OF_DAY) assert result.messages_total == 2 assert result.messages_within_10_secs == 2
def test_get_total_notifications_filters_on_date_within_date_range(sample_template): create_notification(sample_template, created_at=datetime(2016, 10, 17, 23, 59, 59)) create_notification(sample_template, created_at=BEGINNING_OF_DAY) create_notification(sample_template, created_at=datetime(2016, 10, 18, 23, 59, 59)) create_notification(sample_template, created_at=END_OF_DAY) result = dao_get_total_notifications_sent_per_day_for_performance_platform(BEGINNING_OF_DAY, END_OF_DAY) assert result.messages_total == 2
def test_get_total_notifications_only_counts_api_notifications(sample_template, sample_job, sample_api_key): create_notification(sample_template, one_off=True) create_notification(sample_template, one_off=True) create_notification(sample_template, job=sample_job) create_notification(sample_template, job=sample_job) create_notification(sample_template, api_key=sample_api_key) result = dao_get_total_notifications_sent_per_day_for_performance_platform(BEGINNING_OF_DAY, END_OF_DAY) assert result.messages_total == 1
def test_get_total_notifications_counts_messages_within_10_seconds(sample_template): created_at = datetime.utcnow() create_notification(sample_template, sent_at=created_at + timedelta(seconds=5)) create_notification(sample_template, sent_at=created_at + timedelta(seconds=10)) create_notification(sample_template, sent_at=created_at + timedelta(seconds=15)) result = dao_get_total_notifications_sent_per_day_for_performance_platform(BEGINNING_OF_DAY, END_OF_DAY) assert result.messages_total == 3 assert result.messages_within_10_secs == 2
def send_processing_time_for_start_and_end(start_time, end_time): result = dao_get_total_notifications_sent_per_day_for_performance_platform(start_time, end_time) current_app.logger.info( "Sending processing-time to performance platform for date {}. Total: {}, under 10 secs {}".format( start_time, result.messages_total, result.messages_within_10_secs ) ) send_processing_time_data(start_time, "messages-total", result.messages_total) send_processing_time_data(start_time, "messages-within-10-secs", result.messages_within_10_secs)
def test_get_total_notifications_ignores_letters(sample_template, sample_email_template, sample_letter_template): # Creating multiple sms and email templates but only 1 letter template to # test that the count ignores letters create_notification(sample_template) create_notification(sample_template) create_notification(sample_email_template) create_notification(sample_email_template) create_notification(sample_letter_template) result = dao_get_total_notifications_sent_per_day_for_performance_platform(BEGINNING_OF_DAY, END_OF_DAY) assert result.messages_total == 4
def test_get_total_notifications_ignores_test_keys(sample_template): # Creating multiple templates with normal and team keys but only 1 template # with a test key to test that the count ignores letters create_notification(sample_template, key_type=KEY_TYPE_NORMAL) create_notification(sample_template, key_type=KEY_TYPE_NORMAL) create_notification(sample_template, key_type=KEY_TYPE_TEAM) create_notification(sample_template, key_type=KEY_TYPE_TEAM) create_notification(sample_template, key_type=KEY_TYPE_TEST) result = dao_get_total_notifications_sent_per_day_for_performance_platform(BEGINNING_OF_DAY, END_OF_DAY) assert result.messages_total == 4
def test_get_total_notifications_returns_zero_if_no_data(notify_db_session): result = dao_get_total_notifications_sent_per_day_for_performance_platform(BEGINNING_OF_DAY, END_OF_DAY) assert result.messages_total == 0 assert result.messages_within_10_secs == 0