feat: link backup runs to snapshot records
Add a nullable SnapshotRecord foreign key to BackupRun and populate it when run_pobsync_backup records a completed or failed snapshot. Keep the existing snapshot_path for audit compatibility while making run-to-snapshot navigation explicit in the database and admin.
This commit is contained in:
@@ -43,8 +43,10 @@ class RunBackupRecordsSnapshotTests(TestCase):
|
||||
call_command("run_pobsync_backup", host.host, prefix=str(Path(tmp) / "home"), stdout=StringIO())
|
||||
|
||||
self.assertEqual(BackupRun.objects.count(), 1)
|
||||
run = BackupRun.objects.get()
|
||||
self.assertEqual(SnapshotRecord.objects.count(), 1)
|
||||
record = SnapshotRecord.objects.get()
|
||||
self.assertEqual(run.snapshot, record)
|
||||
self.assertEqual(record.host, host)
|
||||
self.assertEqual(record.kind, "scheduled")
|
||||
self.assertEqual(record.status, "success")
|
||||
@@ -74,6 +76,7 @@ class RunBackupRecordsSnapshotTests(TestCase):
|
||||
run = BackupRun.objects.get()
|
||||
self.assertEqual(run.status, BackupRun.Status.FAILED)
|
||||
record = SnapshotRecord.objects.get()
|
||||
self.assertEqual(run.snapshot, record)
|
||||
self.assertEqual(record.kind, "incomplete")
|
||||
self.assertEqual(record.status, "failed")
|
||||
|
||||
@@ -99,4 +102,5 @@ class RunBackupRecordsSnapshotTests(TestCase):
|
||||
)
|
||||
|
||||
self.assertEqual(BackupRun.objects.count(), 1)
|
||||
self.assertIsNone(BackupRun.objects.get().snapshot)
|
||||
self.assertEqual(SnapshotRecord.objects.count(), 0)
|
||||
|
||||
Reference in New Issue
Block a user