Feature Toggles: Remove use of boolPtr in FeatureFlag struct (#79550)

* remove bool ptr and update docs

* fix silly thing

* merge main

* maybe this time

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
This commit is contained in:
Michael Mandrus
2023-12-18 13:55:21 -05:00
committed by GitHub
co-authored by Ryan McKinley
parent 9c3c49e48e
commit 456939bac4
5 changed files with 52 additions and 70 deletions
+1 -2
View File
@@ -110,8 +110,7 @@ func isFeatureWriteable(flag featuremgmt.FeatureFlag, readOnlyCfg map[string]str
if flag.Name == featuremgmt.FlagFeatureToggleAdminPage {
return false
}
allowSelfServe := flag.AllowSelfServe != nil && *flag.AllowSelfServe
return flag.Stage == featuremgmt.FeatureStageGeneralAvailability && allowSelfServe || flag.Stage == featuremgmt.FeatureStageDeprecated
return (flag.Stage == featuremgmt.FeatureStageGeneralAvailability || flag.Stage == featuremgmt.FeatureStageDeprecated) && flag.AllowSelfServe
}
// isFeatureEditingAllowed checks if the backend is properly configured to allow feature toggle changes from the UI
+6 -15
View File
@@ -20,15 +20,6 @@ import (
"github.com/stretchr/testify/require"
)
func boolPtr(b bool) *bool {
return &b
}
var (
truePtr = boolPtr(true)
falsePtr = boolPtr(false)
)
func TestGetFeatureToggles(t *testing.T) {
readPermissions := []accesscontrol.Permission{{Action: accesscontrol.ActionFeatureManagementRead}}
@@ -118,19 +109,19 @@ func TestGetFeatureToggles(t *testing.T) {
}, {
Name: "toggle4",
Stage: featuremgmt.FeatureStagePublicPreview,
AllowSelfServe: truePtr,
AllowSelfServe: true,
}, {
Name: "toggle5",
Stage: featuremgmt.FeatureStageGeneralAvailability,
AllowSelfServe: truePtr,
AllowSelfServe: true,
}, {
Name: "toggle6",
Stage: featuremgmt.FeatureStageDeprecated,
AllowSelfServe: truePtr,
AllowSelfServe: true,
}, {
Name: "toggle7",
Stage: featuremgmt.FeatureStageGeneralAvailability,
AllowSelfServe: falsePtr,
AllowSelfServe: false,
},
}
@@ -324,12 +315,12 @@ func TestSetFeatureToggles(t *testing.T) {
Name: "toggle4",
Enabled: false,
Stage: featuremgmt.FeatureStageGeneralAvailability,
AllowSelfServe: truePtr,
AllowSelfServe: true,
}, {
Name: "toggle5",
Enabled: false,
Stage: featuremgmt.FeatureStageDeprecated,
AllowSelfServe: truePtr,
AllowSelfServe: true,
},
}