mirror of
https://github.com/GSA/notifications-api.git
synced 2026-08-23 15:56:45 -04: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.status.in_(current_statuses),
|
||||||
table.notification_type != LETTER_TYPE
|
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
|
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(
|
created_at=datetime.utcnow() - timedelta(
|
||||||
seconds=current_app.config.get('SENDING_NOTIFICATIONS_TIMEOUT_PERIOD') + 10))
|
seconds=current_app.config.get('SENDING_NOTIFICATIONS_TIMEOUT_PERIOD') + 10))
|
||||||
timeout_notifications()
|
timeout_notifications()
|
||||||
|
|
||||||
assert not1.status == 'temporary-failure'
|
assert not1.status == 'temporary-failure'
|
||||||
|
assert not1._status_fkey == 'temporary-failure'
|
||||||
|
|
||||||
assert not2.status == 'technical-failure'
|
assert not2.status == 'technical-failure'
|
||||||
|
assert not2._status_fkey == 'technical-failure'
|
||||||
|
|
||||||
assert not3.status == 'temporary-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):
|
def test_not_update_status_of_notification_before_timeout(notify_api, sample_template):
|
||||||
|
|||||||
Reference in New Issue
Block a user