Skip to main content

videre_api/
pipeline_status.rs

1//! Facade over videre-core's pipeline run tracking. See
2//! docs/superpowers/specs/2026-07-31-dashboard-stats-pass-b-design.md.
3
4use crate::error::Result;
5use rusqlite::Connection;
6use std::path::Path;
7pub use videre_core::pipeline_runs::PipelineRunStatus;
8
9pub fn pipeline_status(conn: &Connection, db_path: &Path) -> Result<Vec<PipelineRunStatus>> {
10    Ok(videre_core::pipeline_runs::read_all(conn, db_path)?)
11}
12
13#[cfg(test)]
14mod tests {
15    use super::*;
16
17    #[test]
18    fn pipeline_status_reports_all_tracked_commands_never_run() {
19        let conn = Connection::open_in_memory().unwrap();
20        let db_file = tempfile::NamedTempFile::new().unwrap();
21
22        let statuses = pipeline_status(&conn, db_file.path()).unwrap();
23        assert_eq!(statuses.len(), videre_core::pipeline_runs::TRACKED_COMMANDS.len());
24        assert!(statuses.iter().all(|s| s.status.is_none()));
25    }
26}