nodelabelprovider_test.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package external
  2. import (
  3. "testing"
  4. "github.com/stretchr/testify/assert"
  5. "github.com/stretchr/testify/require"
  6. )
  7. func TestNodeLabelProvider_Labels(t *testing.T) {
  8. p := NewNodeLabelProvider()
  9. require.NoError(t, p.Update("external-labels", map[string]string{
  10. "cluster": "1de3e77b-266d-48c1-91cb-ec5e22902af7",
  11. "env": "dev",
  12. "region": "nam",
  13. }))
  14. labels, err := p.Labels()
  15. require.NoError(t, err)
  16. assert.Equal(t, "1de3e77b-266d-48c1-91cb-ec5e22902af7", labels["cluster"])
  17. assert.Equal(t, "dev", labels["env"])
  18. assert.Equal(t, "nam", labels["region"])
  19. }
  20. func TestNodeLabelProvider_EmptyOnNoUpdates(t *testing.T) {
  21. p := NewNodeLabelProvider()
  22. labels, err := p.Labels()
  23. require.NoError(t, err)
  24. assert.Empty(t, labels)
  25. }
  26. func TestNodeLabelProvider_UpdateDropsRemovedKeys(t *testing.T) {
  27. p := NewNodeLabelProvider()
  28. require.NoError(t, p.Update("cm", map[string]string{"a": "1", "b": "2"}))
  29. // second update removes "b" — the whole map is replaced
  30. require.NoError(t, p.Update("cm", map[string]string{"a": "1"}))
  31. labels, err := p.Labels()
  32. require.NoError(t, err)
  33. assert.Equal(t, map[string]string{"a": "1"}, labels)
  34. }