use denet::{DenetConfig, MonitorConfig, OutputConfig, Result};
#[test]
fn test_reexports() {
let monitor_config = MonitorConfig::builder()
.base_interval_ms(200)
.max_interval_ms(2000)
.build()
.unwrap();
let output_config = OutputConfig::builder()
.store_in_memory(true)
.quiet(false)
.build();
let config = DenetConfig {
monitor: monitor_config,
output: output_config,
};
assert_eq!(
config.monitor.base_interval,
std::time::Duration::from_millis(200)
);
assert_eq!(
config.monitor.max_interval,
std::time::Duration::from_millis(2000)
);
assert!(config.output.store_in_memory);
assert!(!config.output.quiet);
let _result: Result<()> = Ok(());
}
#[cfg(not(feature = "python"))]
#[test]
fn test_run_monitor_basic() {
use denet::run_monitor;
let result = run_monitor(vec!["non_existent_command".to_string()], 100, 1000, false);
assert!(result.is_err());
#[cfg(target_family = "unix")]
{
let result = run_monitor(vec!["true".to_string()], 100, 1000, false);
assert!(result.is_ok());
}
}
#[test]
fn test_process_monitor_reexport() {
use denet::ProcessMonitor;
use std::time::Duration;
let pid = std::process::id() as usize;
let monitor_result = ProcessMonitor::from_pid_with_options(
pid,
Duration::from_millis(100),
Duration::from_millis(1000),
false,
);
assert!(monitor_result.is_ok());
let mut monitor = monitor_result.unwrap();
assert_eq!(monitor.get_pid(), pid);
assert!(monitor.is_running());
}
#[test]
fn test_process_monitor_legacy_reexport() {
use denet::ProcessMonitor;
use std::time::Duration;
let pid = std::process::id() as usize;
let monitor_result =
ProcessMonitor::from_pid(pid, Duration::from_millis(100), Duration::from_millis(1000));
assert!(monitor_result.is_ok());
let mut monitor = monitor_result.unwrap();
assert!(monitor.is_running());
assert_eq!(monitor.get_pid(), pid);
}