grafana/pkg/setting/setting_openfeature_test.go

61 lines
1.2 KiB
Go
Raw Permalink Normal View History

2025-06-13 23:30:53 +08:00
package setting
import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func Test_CtxAttrs(t *testing.T) {
testCases := []struct {
name string
conf string
expected map[string]string
2025-06-13 23:30:53 +08:00
}{
{
name: "empty config - only default attributes should be present",
expected: map[string]string{
2025-06-13 23:30:53 +08:00
"grafana_version": "",
"namespace": "default",
2025-06-13 23:30:53 +08:00
},
},
{
name: "config with some attributes",
conf: `
[feature_toggles.openfeature.context]
foo = bar
baz = qux
quux = corge`,
expected: map[string]string{
2025-06-13 23:30:53 +08:00
"foo": "bar",
"baz": "qux",
"quux": "corge",
"grafana_version": "",
"namespace": "default",
2025-06-13 23:30:53 +08:00
},
},
{
name: "config with an attribute that overrides a default one",
conf: `
[feature_toggles.openfeature.context]
grafana_version = 10.0.0
foo = bar`,
expected: map[string]string{
2025-06-13 23:30:53 +08:00
"grafana_version": "10.0.0",
"foo": "bar",
"namespace": "default",
2025-06-13 23:30:53 +08:00
},
},
}
for _, tc := range testCases {
t.Run(tc.name, func(t *testing.T) {
cfg, err := NewCfgFromBytes([]byte(tc.conf))
require.NoError(t, err)
assert.Equal(t, tc.expected, cfg.OpenFeature.ContextAttrs)
})
}
}