Files
YMhut-box-C-/server/unified-management/internal/reference/reference_test.go
T

47 lines
1.1 KiB
Go

package reference
import (
"os"
"path/filepath"
"testing"
)
func TestReadUsesBundledSnapshot(t *testing.T) {
service := NewService(t.TempDir())
payload, err := service.Read("gpu")
if err != nil {
t.Fatal(err)
}
if payload["kind"] != "gpu" {
t.Fatalf("kind = %#v", payload["kind"])
}
items, ok := payload["items"].([]any)
if !ok || len(items) < 10 {
t.Fatalf("unexpected items: %#v", payload["items"])
}
}
func TestReadPrefersValidOverride(t *testing.T) {
root := t.TempDir()
dir := filepath.Join(root, "reference-data")
if err := os.MkdirAll(dir, 0o750); err != nil {
t.Fatal(err)
}
if err := os.WriteFile(filepath.Join(dir, "cpu-ranking.json"), []byte(`{"schemaVersion":1,"kind":"cpu","version":"override","items":[]}`), 0o640); err != nil {
t.Fatal(err)
}
payload, err := NewService(root).Read("cpu")
if err != nil {
t.Fatal(err)
}
if payload["version"] != "override" {
t.Fatalf("version = %#v", payload["version"])
}
}
func TestReadRejectsUnknownKind(t *testing.T) {
if _, err := NewService("").Read("unknown"); err != ErrNotFound {
t.Fatalf("err = %v", err)
}
}