-
Notifications
You must be signed in to change notification settings - Fork 1
/
exporter_test.go
65 lines (53 loc) · 1.84 KB
/
exporter_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
// -*- coding: utf-8 -*-
//
// © Copyright 2023 GSI Helmholtzzentrum für Schwerionenforschung
//
// This software is distributed under
// the terms of the GNU General Public Licence version 3 (GPL Version 3),
// copied verbatim in the file "LICENCE".
package main
import (
"prometheus-smcipmi-exporter/collector"
"prometheus-smcipmi-exporter/util"
"testing"
)
var (
testPminfoFile = "pminfo.txt"
)
func TestParsePminfoModule(t *testing.T) {
var collector collector.PminfoCollector
pminfoData := util.MustReadFile(&testPminfoFile)
metrics, err := collector.CreateMetrics(pminfoData)
if err != nil {
t.Errorf("No error expected, but received: %e", err)
}
if len(metrics) == 0 {
t.Error("No pminfo metrics received")
}
expected := 12
received := len(metrics)
if received != expected {
t.Errorf("Incomplete count of pminfo metrics - "+
"expected: %d - received: %d", expected, received)
}
}
func TestPminfoConvertPowerSupplyStatusValue(t *testing.T) {
m := make(map[string]float64) // [PSU-Status]expectedValue
m[" OK"] = collector.PminfoPsuStateOK
m[" Power Supply OK"] = collector.PminfoPsuStateOK
m[" [UNIT IS OFF] (40h)"] = collector.PminfoPsuStateOff
m[" (00h)"] = collector.PminfoPsuStateOff
m[" [Over Current Fault] (08h)"] = collector.PminfoPsuStateFaulty
m[" [IOUT_OC_FAULT][UNIT IS OFF] (50h)"] = collector.PminfoPsuStateError
m[" [VIN_UV_FAULT][UNIT IS OFF] (48h)"] = collector.PminfoPsuStateError
for psuStatus, expected := range m {
received, err := collector.ConvertPowerSupplyStatusValue(psuStatus)
if err != nil {
t.Error("No error expected - but received: ", err)
}
if received != float64(expected) {
t.Errorf("Convertion of PSU value vailed for: %s, "+
"expected: %v - received: %v", psuStatus, expected, received)
}
}
}