Skip to content

Commit

Permalink
fix: update cron queue tests
Browse files Browse the repository at this point in the history
  • Loading branch information
saibatizoku committed Apr 2, 2024
1 parent 698e539 commit f79ee8b
Showing 1 changed file with 30 additions and 31 deletions.
61 changes: 30 additions & 31 deletions hermes/bin/src/runtime_extensions/hermes/cron/queue.rs
Original file line number Diff line number Diff line change
Expand Up @@ -354,10 +354,9 @@ mod tests {
queue.add_event(hermes_app_name.clone(), 0.into(), cron_entry_1());
queue.add_event(hermes_app_name.clone(), 0.into(), cron_entry_2());

assert_eq!(queue.ls_events(&hermes_app_name, &None), vec![
(cron_entry_1().tag, IS_LAST),
(cron_entry_2().tag, IS_NOT_LAST),
]);
let queue_ls = queue.ls_events(&hermes_app_name, &None);
assert!(queue_ls.contains(&(cron_entry_1().tag, IS_LAST)));
assert!(queue_ls.contains(&(cron_entry_2().tag, IS_NOT_LAST)));

// insert new entry after
queue.add_event(
Expand All @@ -372,12 +371,11 @@ mod tests {
cron_entry_3(),
);

assert_eq!(queue.ls_events(&hermes_app_name, &None), vec![
(cron_entry_1().tag, IS_LAST),
(cron_entry_2().tag, IS_NOT_LAST),
(cron_entry_2().tag, IS_NOT_LAST),
(cron_entry_3().tag, IS_LAST),
]);
let queue_ls = queue.ls_events(&hermes_app_name, &None);
assert!(queue_ls.contains(&(cron_entry_1().tag, IS_LAST)));
assert!(queue_ls.contains(&(cron_entry_2().tag, IS_NOT_LAST)));
assert!(queue_ls.contains(&(cron_entry_2().tag, IS_NOT_LAST)));
assert!(queue_ls.contains(&(cron_entry_3().tag, IS_LAST)));

// Insert other entry before the previous two
queue.add_event(
Expand All @@ -386,32 +384,33 @@ mod tests {
cron_entry_other(),
);

assert_eq!(queue.ls_events(&hermes_app_name, &None), vec![
(cron_entry_1().tag, IS_LAST),
(cron_entry_2().tag, IS_NOT_LAST),
(cron_entry_other().tag, IS_LAST),
(cron_entry_2().tag, IS_NOT_LAST),
(cron_entry_3().tag, IS_LAST),
]);
let queue_ls = queue.ls_events(&hermes_app_name, &None);
assert!(queue_ls.contains(&(cron_entry_1().tag, IS_LAST)));
assert!(queue_ls.contains(&(cron_entry_2().tag, IS_NOT_LAST)));
assert!(queue_ls.contains(&(cron_entry_other().tag, IS_LAST)));
assert!(queue_ls.contains(&(cron_entry_2().tag, IS_NOT_LAST)));
assert!(queue_ls.contains(&(cron_entry_3().tag, IS_LAST)));

// Now remove the events by `CronTagged`
assert!(queue.rm_event(&hermes_app_name, &cron_entry_1().tag));
assert_eq!(queue.ls_events(&hermes_app_name, &None), vec![
(cron_entry_2().tag, IS_NOT_LAST),
(cron_entry_other().tag, IS_LAST),
(cron_entry_2().tag, IS_NOT_LAST),
(cron_entry_3().tag, IS_LAST),
]);

let queue_ls = queue.ls_events(&hermes_app_name, &None);
assert!(queue_ls.contains(&(cron_entry_2().tag, IS_NOT_LAST)));
assert!(queue_ls.contains(&(cron_entry_other().tag, IS_LAST)));
assert!(queue_ls.contains(&(cron_entry_2().tag, IS_NOT_LAST)));
assert!(queue_ls.contains(&(cron_entry_3().tag, IS_LAST)));

assert!(queue.rm_event(&hermes_app_name, &cron_entry_2().tag));
assert_eq!(queue.ls_events(&hermes_app_name, &None), vec![
(cron_entry_other().tag, IS_LAST),
(cron_entry_3().tag, IS_LAST),
]);

let queue_ls = queue.ls_events(&hermes_app_name, &None);
assert!(queue_ls.contains(&(cron_entry_other().tag, IS_LAST)));
assert!(queue_ls.contains(&(cron_entry_3().tag, IS_LAST)));

assert!(queue.rm_event(&hermes_app_name, &cron_entry_3().tag));
assert_eq!(queue.ls_events(&hermes_app_name, &None), vec![(
cron_entry_other().tag,
IS_LAST
),]);

let queue_ls = queue.ls_events(&hermes_app_name, &None);
assert!(queue_ls.contains(&(cron_entry_other().tag, IS_LAST)));

assert!(queue.rm_event(&hermes_app_name, &cron_entry_other().tag));
// The queue should be empty
assert!(queue.ls_events(&hermes_app_name, &None).is_empty());
Expand Down

0 comments on commit f79ee8b

Please sign in to comment.