fix(borg): update tests/test_borg_sentinel_push.py

This commit is contained in:
sascha 2026-07-29 15:01:06 +02:00
parent b6556cd18e
commit 1a87e5f35f

View file

@ -0,0 +1,31 @@
import json
import subprocess
import unittest
from pathlib import Path
ROOT = Path(__file__).resolve().parent
SCRIPT = ROOT.parent / "roles" / "borg" / "files" / "borg-sentinel-push.py"
FIXTURE = ROOT / "fixtures" / "borgmatic-info-latest.json"
class SentinelPayloadRegressionTest(unittest.TestCase):
def test_real_borgmatic_info_shape_produces_nonzero_recent_backup_stats(self):
proc = subprocess.run(
["python3", str(SCRIPT), "--host", "pfannkuchen", "--info-file", str(FIXTURE), "--dry-run"],
text=True,
capture_output=True,
)
self.assertEqual(proc.returncode, 0, proc.stderr)
payload = json.loads(proc.stdout)
self.assertEqual(payload["host"], "pfannkuchen")
self.assertEqual(payload["status"], "ok")
self.assertEqual(payload["duration_sec"], 7)
self.assertEqual(payload["original_size"], 573861799)
self.assertEqual(payload["deduplicated_size"], 189532521)
self.assertEqual(payload["compressed_size"], 189978004)
self.assertEqual(payload["nfiles_new"], 157)
self.assertEqual(payload["archive"], "pfannkuchen-2026-07-29_11-53")
if __name__ == "__main__":
unittest.main()