Redact passwords in error messages (#145)

Fixes #144
This commit is contained in:
Adrian Macneil 2020-07-19 15:04:45 -07:00 committed by GitHub
parent 2b61b4375a
commit 11c251bd25
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 30 additions and 1 deletions

View file

@ -35,3 +35,23 @@ func TestGetDatabaseUrl(t *testing.T) {
require.Equal(t, "example.org", u.Host)
require.Equal(t, "/db", u.Path)
}
func TestRedactLogString(t *testing.T) {
examples := []struct {
in string
expected string
}{
{"normal string",
"normal string"},
// malformed URL example (note forward slash in password)
{"parse \"mysql://username:otS33+tb/e4=@localhost:3306/database\": invalid",
"parse \"mysql://username:********@localhost:3306/database\": invalid"},
// invalid port, but probably not a password since there is no @
{"parse \"mysql://localhost:abc/database\": invalid",
"parse \"mysql://localhost:abc/database\": invalid"},
}
for _, ex := range examples {
require.Equal(t, ex.expected, redactLogString(ex.in))
}
}