[v10.0.x] Settings: Do not hide sensitive values if it's empty (#68197)

Settings: Do not hide sensitive values if it's empty (#68088)

* Settings: Do not hide sensitive values if it's empty

* Fix implementation

* Add tests for RedactedValue function

(cherry picked from commit 0b6ae0d119)

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
This commit is contained in:
Grot (@grafanabot)
2023-05-10 12:49:25 +02:00
committed by GitHub
co-authored by Alexander Zobnin
parent d5844c35f8
commit fffb133003
2 changed files with 38 additions and 0 deletions
+4
View File
@@ -563,6 +563,10 @@ func ToAbsUrl(relativeUrl string) string {
}
func RedactedValue(key, value string) string {
if value == "" {
return ""
}
uppercased := strings.ToUpper(key)
// Sensitive information: password, secrets etc
for _, pattern := range []string{
+34
View File
@@ -767,3 +767,37 @@ func TestAlertingEnabled(t *testing.T) {
})
}
}
func TestRedactedValue(t *testing.T) {
testCases := []struct {
desc string
key string
value string
expected string
}{
{
desc: "non-sensitive key",
key: "admin_user",
value: "admin",
expected: "admin",
},
{
desc: "sensitive key with non-empty value",
key: "private_key_path",
value: "/path/to/key",
expected: RedactedPassword,
},
{
desc: "sensitive key with empty value",
key: "private_key_path",
value: "",
expected: "",
},
}
for _, tc := range testCases {
t.Run(tc.desc, func(t *testing.T) {
require.Equal(t, tc.expected, RedactedValue(tc.key, tc.value))
})
}
}