From 1a87e5f35f08e46af6c9da708fb1deb1b61ca984 Mon Sep 17 00:00:00 2001 From: sascha Date: Wed, 29 Jul 2026 15:01:06 +0200 Subject: [PATCH] fix(borg): update tests/test_borg_sentinel_push.py --- tests/test_borg_sentinel_push.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 tests/test_borg_sentinel_push.py diff --git a/tests/test_borg_sentinel_push.py b/tests/test_borg_sentinel_push.py new file mode 100644 index 0000000..8c261db --- /dev/null +++ b/tests/test_borg_sentinel_push.py @@ -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()