mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-10-22 11:45:52 +00:00
477c1e3da6
Refs #1508
57 lines
1.4 KiB
Go
57 lines
1.4 KiB
Go
package monitoring
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/rcourtman/pulse-go-rewrite/internal/models"
|
|
)
|
|
|
|
func TestHasRecentGuestAgentEvidenceAcceptsUnifiedReadStateStatus(t *testing.T) {
|
|
now := time.Now()
|
|
|
|
prev := &models.VM{
|
|
Type: "qemu",
|
|
Status: "online",
|
|
IPAddresses: []string{"192.168.1.50"},
|
|
AgentVersion: "8.1.0",
|
|
LastSeen: now.Add(-time.Minute),
|
|
}
|
|
|
|
if !hasRecentGuestAgentEvidence(prev, now) {
|
|
t.Fatal("expected unified read-state VM snapshot to count as recent guest-agent evidence")
|
|
}
|
|
}
|
|
|
|
func TestHasRecentGuestAgentEvidenceAcceptsGuestAgentStatus(t *testing.T) {
|
|
now := time.Now()
|
|
|
|
prev := &models.VM{
|
|
Type: "qemu",
|
|
Status: "running",
|
|
GuestAgentStatus: "available",
|
|
GuestAgentExpected: true,
|
|
LastSeen: now.Add(-time.Minute),
|
|
}
|
|
|
|
if !hasRecentGuestAgentEvidence(prev, now) {
|
|
t.Fatal("expected previous guest-agent available status to count as recent evidence")
|
|
}
|
|
}
|
|
|
|
func TestHasRecentGuestAgentEvidenceRejectsStaleSnapshots(t *testing.T) {
|
|
now := time.Now()
|
|
|
|
prev := &models.VM{
|
|
Type: "qemu",
|
|
Status: "online",
|
|
IPAddresses: []string{"192.168.1.50"},
|
|
AgentVersion: "8.1.0",
|
|
LastSeen: now.Add(-recentGuestAgentEvidenceMaxAge - time.Second),
|
|
}
|
|
|
|
if hasRecentGuestAgentEvidence(prev, now) {
|
|
t.Fatal("expected stale guest-agent evidence to be rejected")
|
|
}
|
|
}
|