a2ae74d582
- Backend: auth refresh reuse, schedule/retry/sync/agent/files fixes - Frontend: push WS, files ETag browse, vite build assets - Docs: audit/changelog, production deploy gate, bug scan registry B7-77 - Deploy: deploy-production.sh, prune assets, gate logs
22 lines
737 B
Python
22 lines
737 B
Python
"""Schedule runner: one-time push rollback on execution failure."""
|
|
|
|
from types import SimpleNamespace
|
|
|
|
from server.background.schedule_runner import rollback_schedule_after_failed_run
|
|
|
|
|
|
def test_once_failure_restores_enabled_and_last_run_at():
|
|
prev = None
|
|
schedule = SimpleNamespace(last_run_at="now", enabled=False)
|
|
rollback_schedule_after_failed_run(schedule, prev, "once")
|
|
assert schedule.last_run_at is prev
|
|
assert schedule.enabled is True
|
|
|
|
|
|
def test_cron_failure_restores_last_run_at_only():
|
|
prev = None
|
|
schedule = SimpleNamespace(last_run_at="now", enabled=True)
|
|
rollback_schedule_after_failed_run(schedule, prev, "cron")
|
|
assert schedule.last_run_at is prev
|
|
assert schedule.enabled is True
|