43 lines
1.2 KiB
Go
43 lines
1.2 KiB
Go
package collector
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"bee/audit/internal/schema"
|
|
)
|
|
|
|
func TestEnrichPSUsWithTelemetry(t *testing.T) {
|
|
slot0 := "0"
|
|
slot1 := "1"
|
|
psus := []schema.HardwarePowerSupply{
|
|
{Slot: &slot0},
|
|
{Slot: &slot1},
|
|
}
|
|
|
|
doc := sensorsDoc{
|
|
"psu-hwmon-0": {
|
|
"PSU1 Temp": map[string]any{"temp1_input": 39.5},
|
|
"PSU2 Temp": map[string]any{"temp2_input": 41.0},
|
|
"PSU1 Health": map[string]any{"health1_input": 98.0},
|
|
"PSU2 Remaining Life": map[string]any{"life2_input": 95.0},
|
|
},
|
|
}
|
|
|
|
got := enrichPSUsWithTelemetry(psus, doc)
|
|
if got[0].TemperatureC == nil || *got[0].TemperatureC != 39.5 {
|
|
t.Fatalf("psu0 temperature mismatch: %#v", got[0].TemperatureC)
|
|
}
|
|
if got[1].TemperatureC == nil || *got[1].TemperatureC != 41.0 {
|
|
t.Fatalf("psu1 temperature mismatch: %#v", got[1].TemperatureC)
|
|
}
|
|
if got[0].LifeRemainingPct == nil || *got[0].LifeRemainingPct != 98.0 {
|
|
t.Fatalf("psu0 life remaining mismatch: %#v", got[0].LifeRemainingPct)
|
|
}
|
|
if got[0].LifeUsedPct == nil || *got[0].LifeUsedPct != 2.0 {
|
|
t.Fatalf("psu0 life used mismatch: %#v", got[0].LifeUsedPct)
|
|
}
|
|
if got[1].LifeRemainingPct == nil || *got[1].LifeRemainingPct != 95.0 {
|
|
t.Fatalf("psu1 life remaining mismatch: %#v", got[1].LifeRemainingPct)
|
|
}
|
|
}
|