package collector import ( "strings" "testing" ) func TestParseNIC_ResolvesModelFromPCIIDs(t *testing.T) { doc := map[string]interface{}{ "Id": "NIC1", "VendorId": "0x8086", "DeviceId": "0x1521", "Model": "0x1521", } nic := parseNIC(doc) if nic.Model == "" { t.Fatalf("expected model resolved from pci.ids") } if !strings.Contains(strings.ToUpper(nic.Model), "I350") { t.Fatalf("expected I350 in model, got %q", nic.Model) } } func TestParsePCIeFunction_ResolvesDeviceClassFromPCIIDs(t *testing.T) { doc := map[string]interface{}{ "Id": "PCIE1", "VendorId": "0x9005", "DeviceId": "0x028f", "ClassCode": "0x010700", } dev := parsePCIeFunction(doc, 0) if dev.DeviceClass == "" || strings.EqualFold(dev.DeviceClass, "PCIe device") { t.Fatalf("expected device class resolved from pci.ids, got %q", dev.DeviceClass) } if strings.HasPrefix(strings.ToLower(strings.TrimSpace(dev.DeviceClass)), "0x") { t.Fatalf("expected resolved name instead of raw hex, got %q", dev.DeviceClass) } }