still unsure about triggered vs snapshot time...

master
Bel LaPointe 2025-12-02 17:17:31 -07:00
parent a5553d75f4
commit 7da6aa8ae9
1 changed files with 27 additions and 73 deletions

View File

@ -354,12 +354,7 @@ mod test_file {
"{:?}", "{:?}",
f.events().unwrap().snapshot().unwrap(), f.events().unwrap().snapshot().unwrap(),
); );
assert_eq!( assert_eq!(8, f.events().unwrap().0.len(), "{:?}", f.events().unwrap());
8,
f.events().unwrap().0.len(),
"{:?}",
f.events().unwrap().0
);
assert_eq!(0, f.stage().unwrap().len(), "{:?}", f.stage().unwrap()); assert_eq!(0, f.stage().unwrap().len(), "{:?}", f.stage().unwrap());
tests::file_contains(&d, "plain", "[]"); tests::file_contains(&d, "plain", "[]");
}); });
@ -443,12 +438,7 @@ mod test_file {
tests::file_contains(&d, "plain", "new"); tests::file_contains(&d, "plain", "new");
f.stage_persisted().unwrap(); f.stage_persisted().unwrap();
assert_eq!( assert_eq!(8, f.events().unwrap().0.len(), "{:?}", f.events().unwrap());
8,
f.events().unwrap().0.len(),
"{:?}",
f.events().unwrap().0
);
assert_eq!(3, f.stage().unwrap().len(), "{:?}", f.stage().unwrap()); assert_eq!(3, f.stage().unwrap().len(), "{:?}", f.stage().unwrap());
tests::file_contains(&d, "plain", "new"); tests::file_contains(&d, "plain", "new");
tests::file_contains(&d, "plain", "old"); tests::file_contains(&d, "plain", "old");
@ -467,30 +457,15 @@ mod test_file {
let task = Task(serde_yaml::Value::Mapping(m)); let task = Task(serde_yaml::Value::Mapping(m));
f.append(Delta::add(task)).unwrap(); f.append(Delta::add(task)).unwrap();
assert_eq!( assert_eq!(1, f.events().unwrap().0.len(), "{:?}", f.events().unwrap());
1,
f.events().unwrap().0.len(),
"{:?}",
f.events().unwrap().0
);
assert_eq!(0, f.stage().unwrap().len(), "{:?}", f.stage()); assert_eq!(0, f.stage().unwrap().len(), "{:?}", f.stage());
f.persist_stage().unwrap(); f.persist_stage().unwrap();
assert_eq!( assert_eq!(1, f.events().unwrap().0.len(), "{:?}", f.events().unwrap());
1,
f.events().unwrap().0.len(),
"{:?}",
f.events().unwrap().0
);
assert_eq!(0, f.stage().unwrap().len(), "{:?}", f.stage()); assert_eq!(0, f.stage().unwrap().len(), "{:?}", f.stage());
f.stage_persisted().unwrap(); f.stage_persisted().unwrap();
assert_eq!( assert_eq!(1, f.events().unwrap().0.len(), "{:?}", f.events().unwrap());
1,
f.events().unwrap().0.len(),
"{:?}",
f.events().unwrap().0
);
assert_eq!(0, f.stage().unwrap().len(), "{:?}", f.stage()); assert_eq!(0, f.stage().unwrap().len(), "{:?}", f.stage());
}); });
} }
@ -504,45 +479,24 @@ mod test_file {
".plain.host", ".plain.host",
format!( format!(
r#" r#"
{{"ts":1, "op":"Add", "task": "stage"}} {{"ts":3, "op":"Add", "task": "scheduled add for after snapshot"}}
{{"ts":2, "op":"Snapshot", "task": null, "tasks": ["removed", "old"]}} {{"ts":2, "op":"Snapshot", "task": null, "tasks": ["removed"]}}
"#, "#,
//Delta::now_time() + 50,
) )
.as_str(), .as_str(),
); );
let f = File::new(&d.path().join("plain").to_str().unwrap().to_string()); let f = File::new(&d.path().join("plain").to_str().unwrap().to_string());
let mut m = serde_yaml::Mapping::new(); assert_eq!(2, f.events().unwrap().0.len(), "{:?}", f.events().unwrap());
m.insert("schedule".into(), "2036-01-02".into()); assert_eq!(1, f.stage().unwrap().len(), "{:?}", f.stage());
let task = Task(serde_yaml::Value::Mapping(m));
f.append(Delta::add(task)).unwrap();
assert_eq!(
1,
f.events().unwrap().0.len(),
"{:?}",
f.events().unwrap().0
);
assert_eq!(0, f.stage().unwrap().len(), "{:?}", f.stage());
f.persist_stage().unwrap(); f.persist_stage().unwrap();
assert_eq!( assert_eq!(4, f.events().unwrap().0.len(), "{:?}", f.events().unwrap());
1, assert_eq!(1, f.stage().unwrap().len(), "{:?}", f.stage());
f.events().unwrap().0.len(),
"{:?}",
f.events().unwrap().0
);
assert_eq!(0, f.stage().unwrap().len(), "{:?}", f.stage());
f.stage_persisted().unwrap(); f.stage_persisted().unwrap();
assert_eq!( assert_eq!(5, f.events().unwrap().0.len(), "{:?}", f.events().unwrap());
1, assert_eq!(2, f.stage().unwrap().len(), "{:?}", f.stage());
f.events().unwrap().0.len(),
"{:?}",
f.events().unwrap().0
);
assert_eq!(0, f.stage().unwrap().len(), "{:?}", f.stage());
}); });
} }
@ -557,12 +511,7 @@ mod test_file {
let task = Task(serde_yaml::Value::Mapping(m)); let task = Task(serde_yaml::Value::Mapping(m));
f.append(Delta::add(task)).unwrap(); f.append(Delta::add(task)).unwrap();
assert_eq!( assert_eq!(1, f.events().unwrap().0.len(), "{:?}", f.events().unwrap());
1,
f.events().unwrap().0.len(),
"{:?}",
f.events().unwrap().0
);
assert_eq!(0, f.stage().unwrap().len(), "{:?}", f.stage()); assert_eq!(0, f.stage().unwrap().len(), "{:?}", f.stage());
f.persist_stage().unwrap(); f.persist_stage().unwrap();
@ -570,7 +519,7 @@ mod test_file {
1, 1,
f.events().unwrap().0.len(), f.events().unwrap().0.len(),
"events after 1 add scheduled: {:?}", "events after 1 add scheduled: {:?}",
f.events().unwrap().0 f.events().unwrap()
); );
assert_eq!( assert_eq!(
1, 1,
@ -587,12 +536,7 @@ mod test_file {
); );
f.stage_persisted().unwrap(); f.stage_persisted().unwrap();
assert_eq!( assert_eq!(2, f.events().unwrap().0.len(), "{:?}", f.events().unwrap());
2,
f.events().unwrap().0.len(),
"{:?}",
f.events().unwrap().0
);
assert_eq!(1, f.stage().unwrap().len(), "{:?}", f.stage()); assert_eq!(1, f.stage().unwrap().len(), "{:?}", f.stage());
}); });
} }
@ -801,9 +745,19 @@ mod test_task {
} }
} }
#[derive(Debug, Clone)] #[derive(Clone)]
struct Events(Vec<Delta>); struct Events(Vec<Delta>);
impl std::fmt::Debug for Events {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut arr = vec![];
for i in self.0.iter() {
arr.push(format!("{:?}", i.clone()));
}
write!(f, "[\n {}\n]", arr.join("\n "))
}
}
impl Events { impl Events {
pub fn new(file: &String) -> Result<Events, String> { pub fn new(file: &String) -> Result<Events, String> {
let logs = match std::fs::read_dir(Self::dir(&file)) { let logs = match std::fs::read_dir(Self::dir(&file)) {