Files
ProxmoxDash/alerts_test.go
2026-08-06 19:35:33 +03:00

28 lines
980 B
Go

package main
import "testing"
func TestEvaluateAlerts(t *testing.T) {
metrics := dashboardMetrics{
Memory: MemoryMetrics{UsagePercent: 91},
Storage: StorageMetrics{UsagePercent: 96},
Backups: BackupMetrics{}, Guests: GuestsMetrics{},
}
alerts := evaluateAlerts(metrics, defaultThresholds())
if len(alerts) != 2 {
t.Fatalf("ожидалось два уведомления, получено: %+v", alerts)
}
if alerts[0].Severity != "critical" || alerts[1].Severity != "warning" {
t.Fatalf("неверная сортировка уведомлений: %+v", alerts)
}
}
func TestSlowCollectionDoesNotCreateAlert(t *testing.T) {
metrics := dashboardMetrics{Monitor: MonitorHealth{SlowCollector: true, CollectionDurationMs: 12308}}
for _, alert := range evaluateAlerts(metrics, defaultThresholds()) {
if alert.ID == "monitor-slow" {
t.Fatalf("медленный цикл не должен создавать уведомление: %+v", alert)
}
}
}