dcgm_test.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. package scrape
  2. import (
  3. "testing"
  4. )
  5. func Test_isDCGM(t *testing.T) {
  6. tests := map[string]struct {
  7. labels map[string]string
  8. want bool
  9. }{
  10. "nil": {
  11. labels: nil,
  12. want: false,
  13. },
  14. "empty": {
  15. labels: map[string]string{},
  16. want: false,
  17. },
  18. "app": {
  19. labels: map[string]string{
  20. "app": "dcgm-exporter",
  21. },
  22. want: true,
  23. },
  24. "app.kubernetes.io/name": {
  25. labels: map[string]string{
  26. "app.kubernetes.io/name": "dcgm-exporter",
  27. },
  28. want: true,
  29. },
  30. "app.kubernetes.io/component": {
  31. labels: map[string]string{
  32. "app.kubernetes.io/name": "dcgm-exporter",
  33. },
  34. want: true,
  35. },
  36. "invalid key": {
  37. labels: map[string]string{
  38. "invalid-key": "dcgm-exporter",
  39. },
  40. want: false,
  41. },
  42. "invalid value": {
  43. labels: map[string]string{
  44. "app.kubernetes.io/name": "dcgmExporter",
  45. },
  46. want: false,
  47. },
  48. "case insensitive": {
  49. labels: map[string]string{
  50. "app.kubernetes.io/name": "jhlkjhlkDcGm-eXpoRterlkjhlkuh",
  51. },
  52. want: true,
  53. },
  54. }
  55. for name, tt := range tests {
  56. t.Run(name, func(t *testing.T) {
  57. if got := isDCGM(tt.labels); got != tt.want {
  58. t.Errorf("isDCGM() = %v, want %v", got, tt.want)
  59. }
  60. })
  61. }
  62. }