2026-04-03 01:43:16 -03:00
|
|
|
package ups
|
|
|
|
|
|
|
|
|
|
import "testing"
|
|
|
|
|
|
|
|
|
|
func TestParseNUT(t *testing.T) {
|
2026-04-03 20:43:27 -03:00
|
|
|
raw := `battery.runtime: 384
|
2026-04-03 17:50:05 -03:00
|
|
|
battery.charge: 72
|
|
|
|
|
ups.load: 19
|
2026-04-03 20:43:27 -03:00
|
|
|
ups.realpower.nominal: 510
|
2026-04-03 01:43:16 -03:00
|
|
|
ups.status: OB LB
|
|
|
|
|
`
|
|
|
|
|
s, err := parseNUT(raw)
|
|
|
|
|
if err != nil {
|
|
|
|
|
t.Fatalf("parseNUT returned error: %v", err)
|
|
|
|
|
}
|
|
|
|
|
if !s.OnBattery {
|
|
|
|
|
t.Fatalf("expected OnBattery=true")
|
|
|
|
|
}
|
|
|
|
|
if !s.LowBattery {
|
|
|
|
|
t.Fatalf("expected LowBattery=true")
|
|
|
|
|
}
|
|
|
|
|
if s.RuntimeSeconds != 384 {
|
|
|
|
|
t.Fatalf("expected runtime 384, got %d", s.RuntimeSeconds)
|
|
|
|
|
}
|
2026-04-03 17:50:05 -03:00
|
|
|
if s.BatteryCharge != 72 {
|
|
|
|
|
t.Fatalf("expected battery charge 72, got %.2f", s.BatteryCharge)
|
|
|
|
|
}
|
|
|
|
|
if s.LoadPercent != 19 {
|
|
|
|
|
t.Fatalf("expected load 19, got %.2f", s.LoadPercent)
|
|
|
|
|
}
|
2026-04-03 20:43:27 -03:00
|
|
|
if s.NominalPowerW != 510 {
|
|
|
|
|
t.Fatalf("expected nominal power 510, got %.2f", s.NominalPowerW)
|
|
|
|
|
}
|
2026-04-03 01:43:16 -03:00
|
|
|
}
|