1
0

meta_test.go 850 B

12345678910111213141516171819202122232425262728293031323334353637
  1. package monitoring
  2. import (
  3. "testing"
  4. "github.com/stretchr/testify/require"
  5. )
  6. func TestMetaFilter(t *testing.T) {
  7. // Create a Meta with some test data
  8. meta := Meta{
  9. "key1": "value1",
  10. "key2": "value2",
  11. "key3": "value3",
  12. "key4": 42,
  13. }
  14. // Test filtering with existing keys
  15. filtered := meta.Filter("key1", "key3")
  16. // Check that filtered meta has the correct keys
  17. require.Len(t, filtered, 2)
  18. require.Equal(t, "value1", filtered["key1"])
  19. require.Equal(t, "value3", filtered["key3"])
  20. // Check that non-requested keys are not present
  21. require.NotContains(t, filtered, "key2")
  22. require.NotContains(t, filtered, "key4")
  23. // Test filtering with non-existing keys
  24. filtered2 := meta.Filter("nonexistent")
  25. require.Empty(t, filtered2)
  26. // Test filtering with empty parameters
  27. filtered3 := meta.Filter()
  28. require.Empty(t, filtered3)
  29. }