mirror of
https://github.com/GSA/notifications-api.git
synced 2025-12-24 09:21:39 -05:00
We don’t have any way of playing back the totals we send to performance platform. This commit copies the command used to backfill the processing time and adapts it to backfill the totals instead. Under the hood it uses the same code that we use in the scheduled tasks to update performance platform on a daily basis. I had to modify this code to take a `day` argument because it was hardcoded to only work for ‘yesterday’.
30 lines
1.6 KiB
Python
30 lines
1.6 KiB
Python
from datetime import datetime
|
|
|
|
from app.commands import backfill_performance_platform_totals, backfill_processing_time
|
|
|
|
|
|
def test_backfill_processing_time_works_for_correct_dates(mocker, notify_api):
|
|
send_mock = mocker.patch('app.commands.send_processing_time_for_start_and_end')
|
|
|
|
# backfill_processing_time is a click.Command object - if you try invoking the callback on its own, it
|
|
# throws a `RuntimeError: There is no active click context.` - so get at the original function using __wrapped__
|
|
backfill_processing_time.callback.__wrapped__(datetime(2017, 8, 1), datetime(2017, 8, 3))
|
|
|
|
assert send_mock.call_count == 3
|
|
send_mock.assert_any_call(datetime(2017, 7, 31, 23, 0), datetime(2017, 8, 1, 23, 0))
|
|
send_mock.assert_any_call(datetime(2017, 8, 1, 23, 0), datetime(2017, 8, 2, 23, 0))
|
|
send_mock.assert_any_call(datetime(2017, 8, 2, 23, 0), datetime(2017, 8, 3, 23, 0))
|
|
|
|
|
|
def test_backfill_totals_works_for_correct_dates(mocker, notify_api):
|
|
send_mock = mocker.patch('app.commands.send_total_sent_notifications_to_performance_platform')
|
|
|
|
# backfill_processing_time is a click.Command object - if you try invoking the callback on its own, it
|
|
# throws a `RuntimeError: There is no active click context.` - so get at the original function using __wrapped__
|
|
backfill_performance_platform_totals.callback.__wrapped__(datetime(2017, 8, 1), datetime(2017, 8, 3))
|
|
|
|
assert send_mock.call_count == 3
|
|
send_mock.assert_any_call(datetime(2017, 8, 1))
|
|
send_mock.assert_any_call(datetime(2017, 8, 2))
|
|
send_mock.assert_any_call(datetime(2017, 8, 3))
|