use super::*;
#[test]
fn daemon_row_is_ok_when_reachable() {
let check = daemon_check(DaemonReachability::Reachable);
assert_eq!(check.name, CHECK_NAME);
assert_eq!(check.status, CheckStatus::Ok);
assert!(
check.message.contains("trusty-mpm daemon: reachable"),
"got: {}",
check.message
);
}
#[test]
fn daemon_row_warns_when_not_running() {
let check = daemon_check(DaemonReachability::NotRunning);
assert_eq!(check.status, CheckStatus::Warn);
assert!(
check.message.contains("trusty-mpm daemon: not running"),
"got: {}",
check.message
);
assert!(
check.message.contains("every local check above still ran"),
"got: {}",
check.message
);
}
#[test]
fn daemon_row_is_unknown_when_unresponsive() {
let check = daemon_check(DaemonReachability::Unresponsive);
assert_eq!(check.status, CheckStatus::Unknown);
assert!(
check.message.contains("trusty-mpm daemon: unresponsive"),
"got: {}",
check.message
);
}
#[test]
fn daemon_row_never_names_a_port() {
for reachability in [
DaemonReachability::Reachable,
DaemonReachability::NotRunning,
DaemonReachability::Unresponsive,
] {
let message = daemon_check(reachability).message.to_lowercase();
for forbidden in ["7880", "port", "http", "tcp", "socket"] {
assert!(
!message.contains(forbidden),
"{reachability:?} row names {forbidden:?}: {message}"
);
}
}
}
#[tokio::test]
async fn daemon_probe_reports_not_running_when_nothing_listens() {
let (reachability, snapshot) = probe_daemon("http://127.0.0.1:1").await;
assert_eq!(reachability, DaemonReachability::NotRunning);
assert!(snapshot.is_none());
}