52 lines
1.5 KiB
Rust
52 lines
1.5 KiB
Rust
// Capture power lease manager for keeping remote capture devices awake only when needed.
|
|
#[cfg(coverage)]
|
|
use lesavka_common::lesavka::CapturePowerState;
|
|
|
|
#[cfg(not(coverage))]
|
|
include!("capture_power/lease_manager.rs");
|
|
include!("capture_power/systemd_units.rs");
|
|
|
|
#[cfg(all(test, coverage))]
|
|
mod tests {
|
|
use super::*;
|
|
|
|
#[tokio::test]
|
|
async fn coverage_stub_supports_preview_and_session_leases() {
|
|
let manager = CapturePowerManager::new();
|
|
let _preview = manager.acquire().await;
|
|
let _session = manager.acquire_session().await;
|
|
}
|
|
|
|
#[tokio::test]
|
|
async fn coverage_stub_reports_auto_snapshot() {
|
|
let state = CapturePowerManager::new()
|
|
.snapshot()
|
|
.await
|
|
.expect("snapshot");
|
|
assert!(state.available);
|
|
assert!(!state.enabled);
|
|
assert_eq!(state.mode, "auto");
|
|
}
|
|
|
|
#[tokio::test]
|
|
async fn coverage_stub_toggles_manual_modes() {
|
|
let manager = CapturePowerManager::new();
|
|
let on = manager.set_manual(true).await.expect("on");
|
|
assert!(on.enabled);
|
|
assert_eq!(on.mode, "forced-on");
|
|
|
|
let off = manager.set_manual(false).await.expect("off");
|
|
assert!(!off.enabled);
|
|
assert_eq!(off.mode, "forced-off");
|
|
}
|
|
|
|
#[tokio::test]
|
|
async fn coverage_stub_returns_to_auto_mode() {
|
|
let manager = CapturePowerManager::new();
|
|
let state = manager.set_auto().await.expect("auto");
|
|
assert!(state.available);
|
|
assert!(!state.enabled);
|
|
assert_eq!(state.mode, "auto");
|
|
}
|
|
}
|