feat(v2): complete v2 reimplementation

This commit is contained in:
2026-07-31 13:33:39 +02:00
parent 396219e776
commit bd107d6a30
137 changed files with 20737 additions and 155 deletions
+20
View File
@@ -0,0 +1,20 @@
from __future__ import annotations
from datetime import UTC, datetime, timedelta
import pytest
from backup_tool.scheduler import next_nominal
def test_misfire_window_is_deterministic_for_delivery() -> None:
nominal = datetime.now(UTC) - timedelta(seconds=901)
next_run = next_nominal("* * * * *", "UTC", nominal)
assert next_run > nominal
assert (datetime.now(UTC) - nominal).total_seconds() > 900
@pytest.mark.parametrize("cron", ["* * * * * *", "invalid"])
def test_delivery_rejects_invalid_cron_before_enqueue(cron: str) -> None:
with pytest.raises(ValueError):
next_nominal(cron, "UTC")