[feature] Include password strength in error message when password strength is too low (#550)

* When password validation fails, return how close to enough entropy it has.

* Shorter version of low-strength password error message
This commit is contained in:
Eamonn O'Brien-Strain
2022-05-09 01:31:46 -07:00
committed by GitHub
parent 5004e0a9da
commit b24b71c0a4
4 changed files with 18 additions and 8 deletions

View File

@@ -50,22 +50,22 @@ func (suite *ValidationTestSuite) TestCheckPasswordStrength() {
err = validate.NewPassword(terriblePassword)
if assert.Error(suite.T(), err) {
assert.Equal(suite.T(), errors.New("insecure password, try including more special characters, using uppercase letters, using numbers or using a longer password"), err)
assert.Equal(suite.T(), errors.New("password is 62% strength, try including more special characters, using uppercase letters, using numbers or using a longer password"), err)
}
err = validate.NewPassword(weakPassword)
if assert.Error(suite.T(), err) {
assert.Equal(suite.T(), errors.New("insecure password, try including more special characters, using numbers or using a longer password"), err)
assert.Equal(suite.T(), errors.New("password is 95% strength, try including more special characters, using numbers or using a longer password"), err)
}
err = validate.NewPassword(shortPassword)
if assert.Error(suite.T(), err) {
assert.Equal(suite.T(), errors.New("insecure password, try including more special characters or using a longer password"), err)
assert.Equal(suite.T(), errors.New("password is 39% strength, try including more special characters or using a longer password"), err)
}
err = validate.NewPassword(specialPassword)
if assert.Error(suite.T(), err) {
assert.Equal(suite.T(), errors.New("insecure password, try including more special characters or using a longer password"), err)
assert.Equal(suite.T(), errors.New("password is 53% strength, try including more special characters or using a longer password"), err)
}
err = validate.NewPassword(longPassword)