forjar 1.4.2

Rust-native Infrastructure as Code — bare-metal first, BLAKE3 state, provenance tracing
Documentation
//! Coverage tests for dispatch_status_ext_b.rs — exercises status dispatch routes.

#![allow(unused_imports)]
use super::dispatch_status_ext_b::*;
use std::io::Write as IoWrite;

#[cfg(test)]
mod tests {
    use super::*;

    fn write_yaml(dir: &std::path::Path, name: &str, content: &str) {
        let p = dir.join(name);
        if let Some(parent) = p.parent() {
            std::fs::create_dir_all(parent).unwrap();
        }
        std::fs::write(&p, content).unwrap();
    }

    fn setup_state() -> tempfile::TempDir {
        let dir = tempfile::tempdir().unwrap();
        write_yaml(dir.path(), "web1/state.lock.yaml", "resources:\n  nginx:\n    resource_type: Package\n    status: Converged\n    hash: abc123\n    applied_at: '2025-01-01T00:00:00Z'\n    duration_seconds: 2.5\n  mysql:\n    resource_type: Package\n    status: Failed\n    hash: def456\n");
        write_yaml(dir.path(), "web1/events.jsonl", r#"{"ts":"2026-01-01T00:00:00Z","event":"resource_started","resource":"nginx","machine":"web1"}
{"ts":"2026-01-01T00:01:00Z","event":"resource_converged","resource":"nginx","machine":"web1"}
"#);
        dir
    }

    // try_status_phase58
    #[test]
    fn test_p58_resource_types() {
        let d = setup_state();
        assert!(try_status_phase58(d.path(), None, false, true, false, false, false, false, false, false, false, false, false, false).is_some());
    }
    #[test]
    fn test_p58_failed() {
        let d = setup_state();
        assert!(try_status_phase58(d.path(), None, false, false, true, false, false, false, false, false, false, false, false, false).is_some());
    }
    #[test]
    fn test_p58_drift_trend() {
        let d = setup_state();
        assert!(try_status_phase58(d.path(), None, false, false, false, true, false, false, false, false, false, false, false, false).is_some());
    }
    #[test]
    fn test_p58_inputs() {
        let d = setup_state();
        assert!(try_status_phase58(d.path(), None, false, false, false, false, true, false, false, false, false, false, false, false).is_some());
    }
    #[test]
    fn test_p58_convergence_history() {
        let d = setup_state();
        assert!(try_status_phase58(d.path(), None, false, false, false, false, false, true, false, false, false, false, false, false).is_some());
    }
    #[test]
    fn test_p58_config_hash() {
        let d = setup_state();
        assert!(try_status_phase58(d.path(), None, false, false, false, false, false, false, true, false, false, false, false, false).is_some());
    }
    #[test]
    fn test_p58_last_apply_duration() {
        let d = setup_state();
        assert!(try_status_phase58(d.path(), None, false, false, false, false, false, false, false, true, false, false, false, false).is_some());
    }
    #[test]
    fn test_p58_drift_details() {
        let d = setup_state();
        assert!(try_status_phase58(d.path(), None, false, false, false, false, false, false, false, false, true, false, false, false).is_some());
    }
    #[test]
    fn test_p58_resource_size() {
        let d = setup_state();
        assert!(try_status_phase58(d.path(), None, false, false, false, false, false, false, false, false, false, true, false, false).is_some());
    }
    #[test]
    fn test_p58_hash_verify() {
        let d = setup_state();
        assert!(try_status_phase58(d.path(), None, false, false, false, false, false, false, false, false, false, false, true, false).is_some());
    }
    #[test]
    fn test_p58_lock_age() {
        let d = setup_state();
        assert!(try_status_phase58(d.path(), None, false, false, false, false, false, false, false, false, false, false, false, true).is_some());
    }
    #[test]
    fn test_p58_none() {
        let d = setup_state();
        assert!(try_status_phase58(d.path(), None, false, false, false, false, false, false, false, false, false, false, false, false).is_none());
    }

    // try_status_analytics — 10 bools
    #[test]
    fn test_analytics_change_frequency() {
        let d = setup_state();
        assert!(try_status_analytics(d.path(), None, false, true, false, false, false, false, false, false, false, false, false).is_some());
    }
    #[test]
    fn test_analytics_machine_summary() {
        let d = setup_state();
        assert!(try_status_analytics(d.path(), None, false, false, true, false, false, false, false, false, false, false, false).is_some());
    }
    #[test]
    fn test_analytics_recommendations() {
        let d = setup_state();
        assert!(try_status_analytics(d.path(), None, false, false, false, true, false, false, false, false, false, false, false).is_some());
    }
    #[test]
    fn test_analytics_uptime() {
        let d = setup_state();
        assert!(try_status_analytics(d.path(), None, false, false, false, false, true, false, false, false, false, false, false).is_some());
    }
    #[test]
    fn test_analytics_diagnostic() {
        let d = setup_state();
        assert!(try_status_analytics(d.path(), None, false, false, false, false, false, true, false, false, false, false, false).is_some());
    }
    #[test]
    fn test_analytics_resource_deps() {
        let d = setup_state();
        assert!(try_status_analytics(d.path(), None, false, false, false, false, false, false, true, false, false, false, false).is_some());
    }
    #[test]
    fn test_analytics_pipeline() {
        let d = setup_state();
        assert!(try_status_analytics(d.path(), None, false, false, false, false, false, false, false, true, false, false, false).is_some());
    }
    #[test]
    fn test_analytics_drift_forecast() {
        let d = setup_state();
        assert!(try_status_analytics(d.path(), None, false, false, false, false, false, false, false, false, true, false, false).is_some());
    }
    #[test]
    fn test_analytics_resource_cost() {
        let d = setup_state();
        assert!(try_status_analytics(d.path(), None, false, false, false, false, false, false, false, false, false, true, false).is_some());
    }
    #[test]
    fn test_analytics_security_posture() {
        let d = setup_state();
        assert!(try_status_analytics(d.path(), None, false, false, false, false, false, false, false, false, false, false, true).is_some());
    }
    #[test]
    fn test_analytics_none() {
        let d = setup_state();
        assert!(try_status_analytics(d.path(), None, false, false, false, false, false, false, false, false, false, false, false).is_none());
    }

    // try_status_fleet — 10 bools
    #[test]
    fn test_fleet_error_summary() {
        let d = setup_state();
        assert!(try_status_fleet(d.path(), None, false, true, false, false, false, false, false, false, false, false, false).is_some());
    }
    #[test]
    fn test_fleet_resource_timeline() {
        let d = setup_state();
        assert!(try_status_fleet(d.path(), None, false, false, true, false, false, false, false, false, false, false, false).is_some());
    }
    #[test]
    fn test_fleet_convergence_time() {
        let d = setup_state();
        assert!(try_status_fleet(d.path(), None, false, false, false, true, false, false, false, false, false, false, false).is_some());
    }
    #[test]
    fn test_fleet_machine_health() {
        let d = setup_state();
        assert!(try_status_fleet(d.path(), None, false, false, false, false, false, true, false, false, false, false, false).is_some());
    }
    #[test]
    fn test_fleet_fleet_overview() {
        let d = setup_state();
        assert!(try_status_fleet(d.path(), None, false, false, false, false, false, false, true, false, false, false, false).is_some());
    }
    #[test]
    fn test_fleet_none() {
        let d = setup_state();
        assert!(try_status_fleet(d.path(), None, false, false, false, false, false, false, false, false, false, false, false).is_none());
    }

    // try_status_reports — health_score, staleness_report: &Option<String>, cost, capacity, prediction, trend: Option<usize>, mttr, compliance_report: &Option<String>, sla, resource_age, drift_summary
    #[test]
    fn test_reports_health_score() {
        let d = setup_state();
        assert!(try_status_reports(d.path(), None, false, true, &None, false, false, false, None, false, &None, false, false, false).is_some());
    }
    #[test]
    fn test_reports_cost() {
        let d = setup_state();
        assert!(try_status_reports(d.path(), None, false, false, &None, true, false, false, None, false, &None, false, false, false).is_some());
    }
    #[test]
    fn test_reports_capacity() {
        let d = setup_state();
        assert!(try_status_reports(d.path(), None, false, false, &None, false, true, false, None, false, &None, false, false, false).is_some());
    }
    #[test]
    fn test_reports_prediction() {
        let d = setup_state();
        assert!(try_status_reports(d.path(), None, false, false, &None, false, false, true, None, false, &None, false, false, false).is_some());
    }
    #[test]
    fn test_reports_mttr() {
        let d = setup_state();
        assert!(try_status_reports(d.path(), None, false, false, &None, false, false, false, None, true, &None, false, false, false).is_some());
    }
    #[test]
    fn test_reports_sla() {
        let d = setup_state();
        assert!(try_status_reports(d.path(), None, false, false, &None, false, false, false, None, false, &None, true, false, false).is_some());
    }
    #[test]
    fn test_reports_resource_age() {
        let d = setup_state();
        assert!(try_status_reports(d.path(), None, false, false, &None, false, false, false, None, false, &None, false, true, false).is_some());
    }
    #[test]
    fn test_reports_drift_summary() {
        let d = setup_state();
        assert!(try_status_reports(d.path(), None, false, false, &None, false, false, false, None, false, &None, false, false, true).is_some());
    }
    #[test]
    fn test_reports_none() {
        let d = setup_state();
        assert!(try_status_reports(d.path(), None, false, false, &None, false, false, false, None, false, &None, false, false, false).is_none());
    }

    // try_status_queries_a — convergence_rate, top_failures, dependency_health, histogram, compliance: &Option<String>, diff_lock: &Option<PathBuf>, alerts, compact, export: &Option<PathBuf>, json_lines
    #[test]
    fn test_queries_a_convergence() {
        let d = setup_state();
        assert!(try_status_queries_a(d.path(), None, false, true, false, false, false, &None, &None, false, false, &None, false).is_some());
    }
    #[test]
    fn test_queries_a_top_failures() {
        let d = setup_state();
        assert!(try_status_queries_a(d.path(), None, false, false, true, false, false, &None, &None, false, false, &None, false).is_some());
    }
    #[test]
    fn test_queries_a_dep_health() {
        let d = setup_state();
        assert!(try_status_queries_a(d.path(), None, false, false, false, true, false, &None, &None, false, false, &None, false).is_some());
    }
    #[test]
    fn test_queries_a_none() {
        let d = setup_state();
        assert!(try_status_queries_a(d.path(), None, false, false, false, false, false, &None, &None, false, false, &None, false).is_none());
    }
}