Skip to main content

graphile_worker_lifecycle_hooks/
result.rs

1#[derive(Debug, Clone, Default, PartialEq, Eq)]
2pub enum HookResult {
3    #[default]
4    Continue,
5    Skip,
6    Fail(String),
7}
8
9#[derive(Debug, Clone)]
10pub enum JobScheduleResult {
11    Continue(serde_json::Value),
12    Skip,
13    Fail(String),
14}
15
16impl Default for JobScheduleResult {
17    fn default() -> Self {
18        JobScheduleResult::Continue(serde_json::Value::Null)
19    }
20}
21
22#[cfg(test)]
23mod tests {
24    use super::*;
25
26    #[test]
27    fn test_hook_result_default() {
28        let result = HookResult::default();
29        assert_eq!(result, HookResult::Continue);
30    }
31
32    #[test]
33    fn test_job_schedule_result_default() {
34        let result = JobScheduleResult::default();
35        match result {
36            JobScheduleResult::Continue(v) => assert_eq!(v, serde_json::Value::Null),
37            _ => panic!("Expected Continue variant"),
38        }
39    }
40}