From 0def06e39345e741a6d217f2e935ed9459debb2b Mon Sep 17 00:00:00 2001 From: grambbledook Date: Wed, 7 Jan 2026 16:54:29 +0100 Subject: [PATCH] handle enterprise cases --- pkg/setting/setting_feature_toggles.go | 22 +++++++++------------ pkg/setting/setting_feature_toggles_test.go | 6 ++++-- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/pkg/setting/setting_feature_toggles.go b/pkg/setting/setting_feature_toggles.go index f9348a0bf99..6525b6f5856 100644 --- a/pkg/setting/setting_feature_toggles.go +++ b/pkg/setting/setting_feature_toggles.go @@ -81,7 +81,15 @@ func ParseFlag(name, value string) (memprovider.InMemoryFlag, error) { return memprovider.InMemoryFlag{Key: name, Variants: map[string]any{DefaultVariantName: value}}, nil } -func SerializeFlagValue(flag memprovider.InMemoryFlag) string { +func AsStringMap(m map[string]memprovider.InMemoryFlag) map[string]string { + var res = map[string]string{} + for k, v := range m { + res[k] = serializeFlagValue(v) + } + return res +} + +func serializeFlagValue(flag memprovider.InMemoryFlag) string { value, _ := flag.Variants[DefaultVariantName] switch castedValue := value.(type) { @@ -103,15 +111,3 @@ func SerializeFlagValue(flag memprovider.InMemoryFlag) string { return string(val) } } - -func createFlag(name string, value any) memprovider.InMemoryFlag { - return memprovider.InMemoryFlag{ - Key: name, - DefaultVariant: DefaultVariantName, - Variants: map[string]any{ - DefaultVariantName: value, - }, - } -} - -// diff --git a/pkg/setting/setting_feature_toggles_test.go b/pkg/setting/setting_feature_toggles_test.go index 7f58e031c64..6e1cb78aa84 100644 --- a/pkg/setting/setting_feature_toggles_test.go +++ b/pkg/setting/setting_feature_toggles_test.go @@ -99,9 +99,11 @@ func TestFlagValueSerialization(t *testing.T) { } for _, tt := range testCases { - serialized := SerializeFlagValue(tt) - deserialized, err := ParseFlag(tt.Key, serialized) + asStringMap := AsStringMap(map[string]memprovider.InMemoryFlag{tt.Key: tt}) + + deserialized, err := ParseFlag(tt.Key, asStringMap[tt.Key]) assert.NoError(t, err) + if diff := cmp.Diff(tt, deserialized); diff != "" { t.Errorf("(-want, +got) = %v", diff) }