Stabilize publish-path mock fixture proofs

This commit is contained in:
rcourtman
2026-04-12 00:55:44 +01:00
parent f6f41eaab6
commit 269f6ac8a5
2 changed files with 57 additions and 0 deletions
+53
View File
@@ -360,6 +360,7 @@ func buildFixtureState(config MockConfig) models.StateSnapshot {
ensureMockNodeHostLinks(&data)
ensureMockKubernetesNodeHostLinks(&data)
ensureMockFixtureHostIORates(&data)
// Generate physical disks for each node
for _, node := range data.Nodes {
@@ -2812,6 +2813,58 @@ func syncMockKubernetesNodeHosts(data *models.StateSnapshot) {
}
}
func ensureMockFixtureHostIORates(data *models.StateSnapshot) {
if data == nil {
return
}
for i := range data.Hosts {
host := &data.Hosts[i]
if strings.EqualFold(host.Status, "offline") {
host.NetInRate = 0
host.NetOutRate = 0
host.DiskReadRate = 0
host.DiskWriteRate = 0
continue
}
if host.NetInRate <= 0 {
host.NetInRate = generateMockHostRate("network-in")
}
if host.NetOutRate <= 0 {
host.NetOutRate = generateMockHostRate("network-out")
}
if host.DiskReadRate <= 0 {
host.DiskReadRate = generateMockHostRate("disk-read")
}
if host.DiskWriteRate <= 0 {
host.DiskWriteRate = generateMockHostRate("disk-write")
}
}
for i := range data.DockerHosts {
host := &data.DockerHosts[i]
if strings.EqualFold(host.Status, "offline") {
host.NetInRate = 0
host.NetOutRate = 0
host.DiskReadRate = 0
host.DiskWriteRate = 0
continue
}
if host.NetInRate <= 0 {
host.NetInRate = generateMockHostRate("network-in")
}
if host.NetOutRate <= 0 {
host.NetOutRate = generateMockHostRate("network-out")
}
if host.DiskReadRate <= 0 {
host.DiskReadRate = generateMockHostRate("disk-read")
}
if host.DiskWriteRate <= 0 {
host.DiskWriteRate = generateMockHostRate("disk-write")
}
}
}
func buildMockLinkedHostFromNode(node models.Node, hostID string, hostIndex int, now time.Time) models.Host {
if hostID == "" {
hostID = fmt.Sprintf("host-node-%s", node.ID)
@@ -21,6 +21,8 @@ import (
)
func TestMonitor_GetConnectionStatuses_MockMode_Extra(t *testing.T) {
setMockSamplerTestEnv(t, time.Hour, 5*time.Minute)
m := &Monitor{
state: models.NewState(),
alertManager: alerts.NewManager(),
@@ -140,6 +142,8 @@ func TestMonitor_Cleanup_Extra(t *testing.T) {
}
func TestMonitor_SetMockMode_Advanced_Extra(t *testing.T) {
setMockSamplerTestEnv(t, time.Hour, 5*time.Minute)
m := &Monitor{
config: &config.Config{
DiscoveryEnabled: true,