generated from VLADIMIR/template
fix
This commit is contained in:
@@ -26,7 +26,10 @@ func TestChangeUserPassword(t *testing.T) {
|
||||
{"bad id", "admin", "123456789012", 1, -1, ErrInvalidPasswordChange},
|
||||
{"missing target", "admin", "123456789012", 1, 4, users_repo.ErrUserNotFound},
|
||||
{"empty", "admin", "", 1, 2, ErrInvalidPasswordChange},
|
||||
{"short unicode", "admin", "яяббввггдде", 1, 2, ErrInvalidPasswordChange},
|
||||
{"8 characters", "admin", "abcdefgh", 1, 2, nil},
|
||||
{"8 unicode characters", "admin", "яяббввгг", 1, 2, nil},
|
||||
{"short", "admin", "abcdefg", 1, 2, ErrInvalidPasswordChange},
|
||||
{"short unicode", "admin", "яяббввг", 1, 2, ErrInvalidPasswordChange},
|
||||
{"too many bytes", "admin", strings.Repeat("я", 37), 1, 2, ErrInvalidPasswordChange},
|
||||
{"72 bytes", "admin", strings.Repeat("я", 36), 1, 2, nil},
|
||||
} {
|
||||
|
||||
@@ -369,7 +369,7 @@ func (s *UsersService) DeleteUserRole(
|
||||
|
||||
var (
|
||||
ErrPasswordChangeForbidden = errors.New("Изменять чужой пароль может только администратор")
|
||||
ErrInvalidPasswordChange = errors.New("Укажите чужой положительный ID и пароль от 12 символов до 72 байт")
|
||||
ErrInvalidPasswordChange = errors.New("Укажите чужой положительный ID и пароль от 8 символов до 72 байт")
|
||||
)
|
||||
|
||||
// ChangeUserPassword сохраняет только хеш; действующие сеансы не изменяются.
|
||||
@@ -384,7 +384,7 @@ func (s *UsersService) ChangeUserPassword(ctx context.Context, actorID, userID i
|
||||
if !slices.Contains(actor.Roles, roles.Admin) {
|
||||
return ErrPasswordChangeForbidden
|
||||
}
|
||||
if userID <= 0 || userID == actorID || !utf8.ValidString(password) || utf8.RuneCountInString(password) < 12 || len(password) > 72 {
|
||||
if userID <= 0 || userID == actorID || !utf8.ValidString(password) || utf8.RuneCountInString(password) < 8 || len(password) > 72 {
|
||||
return ErrInvalidPasswordChange
|
||||
}
|
||||
user, err := s.usersRepo.GetUserByID(ctx, userID)
|
||||
|
||||
@@ -157,7 +157,7 @@ func newTestServiceWithBaseURL(repo usersRepository, sender email_sender.IEmailS
|
||||
}
|
||||
return NewUsersService(
|
||||
repo,
|
||||
password_generator.NewGenerator(12),
|
||||
password_generator.NewGenerator(8),
|
||||
sender,
|
||||
processor_jwt.NewProcessor("test-secret"),
|
||||
refresh_tokens_repo.NewRefreshTokensRepo(pool),
|
||||
|
||||
Reference in New Issue
Block a user