mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-03 09:51:11 -05:00
Adjust get_service_stats to get counts for a maximum of 7 days ago
This commit is contained in:
@@ -251,7 +251,9 @@ def delete_service_and_all_associated_db_objects(service):
|
|||||||
|
|
||||||
@statsd(namespace="dao")
|
@statsd(namespace="dao")
|
||||||
def dao_fetch_stats_for_service(service_id):
|
def dao_fetch_stats_for_service(service_id):
|
||||||
return _stats_for_service_query(service_id).all()
|
return _stats_for_service_query(service_id).filter(
|
||||||
|
func.date(Notification.created_at) >= date.today() - timedelta(days=7)
|
||||||
|
).all()
|
||||||
|
|
||||||
|
|
||||||
@statsd(namespace="dao")
|
@statsd(namespace="dao")
|
||||||
|
|||||||
@@ -625,6 +625,29 @@ def test_fetch_stats_for_today_only_includes_today(notify_db, notify_db_session,
|
|||||||
assert stats['created'] == 1
|
assert stats['created'] == 1
|
||||||
|
|
||||||
|
|
||||||
|
def test_fetch_stats_should_not_gather_notifications_older_than_7_days(notify_db, notify_db_session, sample_template):
|
||||||
|
|
||||||
|
# 8 days ago
|
||||||
|
create_notification(notify_db, None, to_field='1', status='delivered', created_at='2001-01-01T12:00:00')
|
||||||
|
|
||||||
|
# 7 days ago, 2hours ago
|
||||||
|
create_notification(notify_db, None, to_field='2', status='failed', created_at='2001-01-02T10:00:00')
|
||||||
|
|
||||||
|
# 7 days ago
|
||||||
|
create_notification(notify_db, None, to_field='2', status='failed', created_at='2001-01-02T12:00:00')
|
||||||
|
|
||||||
|
# right_now
|
||||||
|
create_notification(notify_db, None, to_field='3', status='created', created_at='2001-01-09T12:00:00')
|
||||||
|
|
||||||
|
with freeze_time('2001-01-09T12:00:00'):
|
||||||
|
stats = dao_fetch_stats_for_service(sample_template.service_id)
|
||||||
|
|
||||||
|
stats = {row.status: row.count for row in stats}
|
||||||
|
assert 'delivered' not in stats
|
||||||
|
assert stats['failed'] == 2
|
||||||
|
assert stats['created'] == 1
|
||||||
|
|
||||||
|
|
||||||
def test_fetch_monthly_historical_stats_separates_months(notify_db, notify_db_session, sample_template):
|
def test_fetch_monthly_historical_stats_separates_months(notify_db, notify_db_session, sample_template):
|
||||||
notification_history = functools.partial(
|
notification_history = functools.partial(
|
||||||
create_notification_history,
|
create_notification_history,
|
||||||
|
|||||||
Reference in New Issue
Block a user