mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-04 10:21:14 -05:00
Fix syncing issue with Notification statuses:
The timeout_notifications job runs daily and does not correctly update both the status fields to keep them in sync.
This commit is contained in:
@@ -410,7 +410,10 @@ def _timeout_notifications(current_statuses, new_status, timeout_start, updated_
|
||||
table.status.in_(current_statuses),
|
||||
table.notification_type != LETTER_TYPE
|
||||
)
|
||||
last_update_count = q.update({'status': new_status, 'updated_at': updated_at}, synchronize_session=False)
|
||||
last_update_count = q.update(
|
||||
{'_status_enum': new_status, '_status_fkey': new_status, 'updated_at': updated_at},
|
||||
synchronize_session=False
|
||||
)
|
||||
return last_update_count
|
||||
|
||||
|
||||
|
||||
@@ -155,9 +155,15 @@ def test_update_status_of_notifications_after_timeout(notify_api, sample_templat
|
||||
created_at=datetime.utcnow() - timedelta(
|
||||
seconds=current_app.config.get('SENDING_NOTIFICATIONS_TIMEOUT_PERIOD') + 10))
|
||||
timeout_notifications()
|
||||
|
||||
assert not1.status == 'temporary-failure'
|
||||
assert not1._status_fkey == 'temporary-failure'
|
||||
|
||||
assert not2.status == 'technical-failure'
|
||||
assert not2._status_fkey == 'technical-failure'
|
||||
|
||||
assert not3.status == 'temporary-failure'
|
||||
assert not3._status_fkey == 'temporary-failure'
|
||||
|
||||
|
||||
def test_not_update_status_of_notification_before_timeout(notify_api, sample_template):
|
||||
|
||||
Reference in New Issue
Block a user