disk_test.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package node
  2. import (
  3. "github.com/stretchr/testify/assert"
  4. "sort"
  5. "testing"
  6. )
  7. func TestGetNodeDisks(t *testing.T) {
  8. procRoot = "fixtures"
  9. d, err := GetDisks()
  10. assert.Nil(t, err)
  11. assert.Equal(t,
  12. DevStat{
  13. Name: "vda",
  14. MajorMinor: "254:0",
  15. ReadOps: 10.,
  16. WriteOps: 50.,
  17. BytesRead: 30. * 512,
  18. BytesWritten: 70. * 512,
  19. ReadTimeSeconds: 40. / 1000,
  20. WriteTimeSeconds: 80. / 1000,
  21. IoTimeSeconds: 100. / 1000,
  22. },
  23. *d.GetParentBlockDevice("254:0"),
  24. )
  25. assert.Equal(t,
  26. DevStat{
  27. Name: "nvme0n1",
  28. MajorMinor: "259:0",
  29. ReadOps: 11146,
  30. WriteOps: 2.3639172e+07,
  31. BytesRead: 3.60193536e+08,
  32. BytesWritten: 3.80286784512e+11,
  33. ReadTimeSeconds: 1.614,
  34. WriteTimeSeconds: 5380.297,
  35. IoTimeSeconds: 26059.968},
  36. *d.GetParentBlockDevice("259:4"),
  37. )
  38. names := func(devices []DevStat) []string {
  39. var res []string
  40. for _, d := range devices {
  41. res = append(res, d.Name)
  42. }
  43. sort.Strings(res)
  44. return res
  45. }
  46. assert.Equal(t,
  47. []string{"dm-0", "md1", "nvme0n1", "nvme1n1", "sda", "sdb", "vda", "xvda"},
  48. names(d.BlockDevices()),
  49. )
  50. }