0
0
Fork 0

Add coverage for UnreservedUsernameValidator (#25590)

This commit is contained in:
Matt Jankowski 2023-10-17 07:05:28 -04:00 committed by GitHub
parent 1084703417
commit 19900f647e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 122 additions and 30 deletions

View file

@ -11,16 +11,31 @@ class UnreservedUsernameValidator < ActiveModel::Validator
private
def pam_controlled?
return false unless Devise.pam_authentication && Devise.pam_controlled_service
Rpam2.account(Devise.pam_controlled_service, @username).present?
def reserved_username?
pam_username_reserved? || settings_username_reserved?
end
def reserved_username?
return true if pam_controlled?
return false unless Setting.reserved_usernames
def pam_username_reserved?
pam_controlled? && pam_reserves_username?
end
def pam_controlled?
Devise.pam_authentication && Devise.pam_controlled_service
end
def pam_reserves_username?
Rpam2.account(Devise.pam_controlled_service, @username)
end
def settings_username_reserved?
settings_has_reserved_usernames? && settings_reserves_username?
end
def settings_has_reserved_usernames?
Setting.reserved_usernames.present?
end
def settings_reserves_username?
Setting.reserved_usernames.include?(@username.downcase)
end
end