feat(backup): 玩过的世界每天在停服后自动打一个定时恢复点,按服按 owner 保留 7 个、90 天过期

This commit is contained in:
Lemon-miaow committed 2026-09-27 00:02:49 +08:00
1 parent d6e1a6464c
commit 8ef7112dab
29 files changed
+1028 -59

No files matched your search

+25
View File
@@ -59,3 +59,28 @@ func TestBackupThenRestoreChainsTheRestore(t *testing.T) {
t.Errorf("JobName %q", p.JobName)
}
}
func TestBackupScheduledMarksTheJob(t *testing.T) {
jobs := &captureJobs{}
b := &Backuper{Jobs: jobs, Config: Config{Image: "img", BackupPVC: "pvc"}}
if err := b.BackupScheduled(context.Background(), "survival", "usr-1"); err != nil {
t.Fatalf("BackupScheduled: %v", err)
}
if len(jobs.got) != 1 {
t.Fatalf("created %d jobs, want 1", len(jobs.got))
}
p := jobs.got[0]
if !p.Scheduled || p.FormerOwner != "usr-1" || p.RestoreRef != "" {
t.Errorf("params = %+v", p)
}
if !strings.HasPrefix(p.JobName, BackupJobName("survival")+"-") {
t.Errorf("JobName %q", p.JobName)
}
if err := b.Backup(context.Background(), "survival", "usr-1"); err != nil {
t.Fatalf("Backup: %v", err)
}
if jobs.got[1].Scheduled {
t.Error("an on-demand backup is marked scheduled")
}
}