1
0
mirror of https://github.com/SAP/jenkins-library.git synced 2025-09-16 09:26:22 +02:00

add feature flag pkg

This commit is contained in:
Christopher Fenner
2025-08-29 12:52:14 +02:00
parent 9fa5227141
commit 81966b0ec6
2 changed files with 37 additions and 0 deletions

17
pkg/feature/feature.go Normal file
View File

@@ -0,0 +1,17 @@
package feature
import (
"os"
"github.com/SAP/jenkins-library/pkg/log"
)
const prefix = "com_sap_piper_featureFlag_"
func IsFeatureEnabled(flag string) bool {
if os.Getenv(prefix+flag) == "true" {
log.Entry().Infof("Feature '%s%s' is enabled", prefix, flag)
return true
}
return false
}

View File

@@ -0,0 +1,20 @@
package feature
import (
"os"
"testing"
"github.com/stretchr/testify/assert"
)
func TestIsFeatureEnabled(t *testing.T) {
t.Run("Azure - BranchBuild", func(t *testing.T) {
assert.False(t, IsFeatureEnabled("newFeature"))
// defer resetEnv(os.Environ())
os.Setenv(prefix+"newFeature", "true")
defer os.Setenv(prefix+"newFeature", "")
assert.True(t, IsFeatureEnabled("newFeature"))
})
}