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
This commit is contained in:
Alexander Zobnin 2023-05-10 13:30:50 +03:00 committed by GitHub
parent e059ce9c8a
commit 0b6ae0d119
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 38 additions and 0 deletions

View File

@ -561,6 +561,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{

View File

@ -782,3 +782,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))
})
}
}