pve-exporter/collector/version_test.go
Davíð Steinn Geirsson c8ae97d777 feat: add version collector (pve_version_info)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 11:31:06 +00:00

32 lines
815 B
Go

package collector
import (
"log/slog"
"strings"
"testing"
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/testutil"
)
func TestVersionCollector(t *testing.T) {
client := newTestClient(t, map[string]string{
"/version": "version.json",
})
collector := newVersionCollector(slog.Default())
adapter := &testCollectorAdapter{client: client, collector: collector}
reg := prometheus.NewRegistry()
reg.MustRegister(adapter)
expected := `
# HELP pve_version_info Proxmox VE version information.
# TYPE pve_version_info gauge
pve_version_info{release="9.1",repoid="5ac30304265fbd8e",version="9.1.4"} 1
`
if err := testutil.GatherAndCompare(reg, strings.NewReader(expected), "pve_version_info"); err != nil {
t.Errorf("unexpected metrics: %s", err)
}
}