mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-02 09:26:08 -05:00
Make perf platform processing stats query the NotificationHistory table
This commit is contained in:
@@ -6,13 +6,20 @@ from app.dao.notifications_dao import dao_get_total_notifications_sent_per_day_f
|
||||
from app.models import KEY_TYPE_NORMAL, KEY_TYPE_TEAM, KEY_TYPE_TEST
|
||||
|
||||
from tests.app.db import create_notification
|
||||
from tests.app.conftest import (
|
||||
sample_notification_history,
|
||||
sample_service,
|
||||
sample_template
|
||||
)
|
||||
|
||||
|
||||
def test_get_total_notifications_filters_on_date(sample_template):
|
||||
create_notification(sample_template, created_at=datetime(2016, 10, 17, 10, 0))
|
||||
create_notification(sample_template, created_at=datetime(2016, 10, 18, 10, 0))
|
||||
create_notification(sample_template, created_at=datetime(2016, 10, 19, 10, 0))
|
||||
|
||||
result = dao_get_total_notifications_sent_per_day_for_performance_platform(date(2016, 10, 18), date(2016, 10, 19))
|
||||
|
||||
assert result.messages_total == 1
|
||||
|
||||
|
||||
@@ -21,7 +28,9 @@ def test_get_total_notifications_filters_on_date_at_midnight(sample_template):
|
||||
create_notification(sample_template, created_at=datetime(2016, 10, 18, 0, 0))
|
||||
create_notification(sample_template, created_at=datetime(2016, 10, 18, 23, 59, 59))
|
||||
create_notification(sample_template, created_at=datetime(2016, 10, 19, 0, 0))
|
||||
|
||||
result = dao_get_total_notifications_sent_per_day_for_performance_platform(date(2016, 10, 18), date(2016, 10, 19))
|
||||
|
||||
assert result.messages_total == 2
|
||||
|
||||
|
||||
@@ -32,7 +41,9 @@ def test_get_total_notifications_only_counts_api_notifications(sample_template,
|
||||
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(date(2016, 10, 18), date(2016, 10, 19))
|
||||
|
||||
assert result.messages_total == 1
|
||||
|
||||
|
||||
@@ -45,7 +56,9 @@ def test_get_total_notifications_ignores_test_keys(sample_template):
|
||||
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(date(2016, 10, 18), date(2016, 10, 19))
|
||||
|
||||
assert result.messages_total == 4
|
||||
|
||||
|
||||
@@ -62,7 +75,9 @@ def test_get_total_notifications_ignores_letters(
|
||||
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(date(2016, 10, 18), date(2016, 10, 19))
|
||||
|
||||
assert result.messages_total == 4
|
||||
|
||||
|
||||
@@ -75,6 +90,7 @@ def test_get_total_notifications_counts_messages_within_10_seconds(sample_templa
|
||||
create_notification(sample_template, sent_at=created_at + timedelta(seconds=15))
|
||||
|
||||
result = dao_get_total_notifications_sent_per_day_for_performance_platform(date(2016, 10, 18), date(2016, 10, 19))
|
||||
|
||||
assert result.messages_total == 3
|
||||
assert result.messages_within_10_secs == 2
|
||||
|
||||
@@ -82,7 +98,9 @@ def test_get_total_notifications_counts_messages_within_10_seconds(sample_templa
|
||||
@freeze_time('2016-10-18T10:00')
|
||||
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(date(2016, 10, 18), date(2016, 10, 19))
|
||||
|
||||
assert result.messages_total == 1
|
||||
assert result.messages_within_10_secs == 0
|
||||
|
||||
@@ -90,5 +108,35 @@ def test_get_total_notifications_counts_messages_that_have_not_sent(sample_templ
|
||||
@freeze_time('2016-10-18T10:00')
|
||||
def test_get_total_notifications_returns_zero_if_no_data(notify_db_session):
|
||||
result = dao_get_total_notifications_sent_per_day_for_performance_platform(date(2016, 10, 18), date(2016, 10, 19))
|
||||
|
||||
assert result.messages_total == 0
|
||||
assert result.messages_within_10_secs == 0
|
||||
|
||||
|
||||
@freeze_time('2016-10-18T10:00')
|
||||
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(date(2016, 10, 18), date(2016, 10, 19))
|
||||
|
||||
assert result.messages_total == 2
|
||||
assert result.messages_within_10_secs == 2
|
||||
|
||||
Reference in New Issue
Block a user