tests/prune: add tests for protecteded backups
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com> Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
This commit is contained in:
parent
02db72678f
commit
fe9c47ab4f
|
@ -45,6 +45,44 @@ fn create_info(
|
||||||
BackupInfo { backup_dir, files, protected: false }
|
BackupInfo { backup_dir, files, protected: false }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn create_info_protected(
|
||||||
|
snapshot: &str,
|
||||||
|
partial: bool,
|
||||||
|
) -> BackupInfo {
|
||||||
|
let mut info = create_info(snapshot, partial);
|
||||||
|
info.protected = true;
|
||||||
|
info
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_prune_protected() -> Result<(), Error> {
|
||||||
|
let mut orig_list = Vec::new();
|
||||||
|
|
||||||
|
orig_list.push(create_info_protected("host/elsa/2019-11-15T09:39:15Z", false));
|
||||||
|
orig_list.push(create_info("host/elsa/2019-11-15T10:39:15Z", false));
|
||||||
|
orig_list.push(create_info("host/elsa/2019-11-15T10:49:15Z", false));
|
||||||
|
orig_list.push(create_info_protected("host/elsa/2019-11-15T10:59:15Z", false));
|
||||||
|
|
||||||
|
eprintln!("{:?}", orig_list);
|
||||||
|
|
||||||
|
let mut options = PruneOptions::default();
|
||||||
|
options.keep_last = Some(1);
|
||||||
|
let remove_list = get_prune_list(orig_list.clone(), false, &options);
|
||||||
|
let expect: Vec<PathBuf> = vec![
|
||||||
|
PathBuf::from("host/elsa/2019-11-15T10:39:15Z"),
|
||||||
|
];
|
||||||
|
assert_eq!(remove_list, expect);
|
||||||
|
|
||||||
|
let mut options = PruneOptions::default();
|
||||||
|
options.keep_hourly = Some(1);
|
||||||
|
let remove_list = get_prune_list(orig_list.clone(), false, &options);
|
||||||
|
let expect: Vec<PathBuf> = vec![
|
||||||
|
PathBuf::from("host/elsa/2019-11-15T10:39:15Z"),
|
||||||
|
];
|
||||||
|
assert_eq!(remove_list, expect);
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_prune_hourly() -> Result<(), Error> {
|
fn test_prune_hourly() -> Result<(), Error> {
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue