Complete DDS training workflow and delivery package
This commit is contained in:
parent
68dd83c7c2
commit
4c4b91064f
229 changed files with 11969 additions and 1024 deletions
20
backend/tests/test_backup_scheduler.py
Normal file
20
backend/tests/test_backup_scheduler.py
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
from datetime import datetime, timedelta, timezone
|
||||
|
||||
from scripts import backup_loop
|
||||
|
||||
|
||||
def test_no_backup_is_due_immediately(monkeypatch):
|
||||
monkeypatch.setattr(backup_loop, "listing", lambda: [])
|
||||
assert backup_loop.seconds_until_due(datetime.now(timezone.utc), 86_400) == 0
|
||||
|
||||
|
||||
def test_fresh_backup_waits_only_for_remaining_interval(monkeypatch):
|
||||
now = datetime.now(timezone.utc)
|
||||
monkeypatch.setattr(backup_loop, "listing", lambda: [{"at": now - timedelta(hours=6)}])
|
||||
assert backup_loop.seconds_until_due(now, 86_400) == 18 * 3600
|
||||
|
||||
|
||||
def test_overdue_backup_is_due_immediately(monkeypatch):
|
||||
now = datetime.now(timezone.utc)
|
||||
monkeypatch.setattr(backup_loop, "listing", lambda: [{"at": now - timedelta(days=2)}])
|
||||
assert backup_loop.seconds_until_due(now, 86_400) == 0
|
||||
Loading…
Reference in a new issue