This commit is contained in:
Mateusz Gruszczyński committed 2026-10-10 00:18:06 +02:00
1 parent ad95bfb050
commit 1431dd47f0
62 files changed
+1360 -198

No files matched your search

+23
View File
@@ -52,6 +52,29 @@ fn select(pool: &Pool) -> Selection {
.unwrap()
}
#[test]
fn per_backend_monitoring_can_be_disabled_or_overridden() {
let mut defaults: crate::vhost::PoolMember = serde_json::from_value(serde_json::json!({
"id": "error_404", "url": "http://127.0.0.1:8282", "pool_eligible": false
})).unwrap();
let mut settings = Settings::default();
settings.passive_health.enabled = true;
assert!(defaults.health_check_enabled);
assert_eq!(settings.health_for(&defaults).mode, HealthMode::Tcp);
assert!(settings.passive_for(&defaults).enabled);
defaults.health_check_enabled = false;
assert_eq!(settings.health_for(&defaults).mode, HealthMode::Off);
assert!(!settings.passive_for(&defaults).enabled);
assert!(!defaults.pool_eligible); // routing intent is independent
defaults.health_check_enabled = true;
defaults.health_check = Some(HealthCheck { mode: HealthMode::Http, path: "/healthz".into(), ..Default::default() });
let effective = settings.health_for(&defaults);
assert_eq!(effective.mode, HealthMode::Http);
assert_eq!(effective.path, "/healthz");
assert_eq!(effective.host, settings.health_check.host);
let restored: crate::vhost::PoolMember = serde_json::from_str(&serde_json::to_string(&defaults).unwrap()).unwrap();
assert_eq!(settings.health_for(&restored).path, "/healthz");
}
#[test]
fn default_health_check_uses_tcp() {
assert_eq!(HealthMode::default(), HealthMode::Tcp);
assert_eq!(HealthCheck::default().mode, HealthMode::Tcp);