Commit e0fea696 authored by Jacob Vosmaer's avatar Jacob Vosmaer

Skip LDAP cache check when LDAP is disabled

parent 1118a6fd
...@@ -403,7 +403,9 @@ class User < ActiveRecord::Base ...@@ -403,7 +403,9 @@ class User < ActiveRecord::Base
end end
def requires_ldap_check? def requires_ldap_check?
if ldap_user? if !Gitlab.config.ldap.enabled
false
elsif ldap_user?
!last_credential_check_at || (last_credential_check_at + 1.hour) < Time.now !last_credential_check_at || (last_credential_check_at + 1.hour) < Time.now
else else
false false
......
...@@ -315,22 +315,33 @@ describe User do ...@@ -315,22 +315,33 @@ describe User do
describe :requires_ldap_check? do describe :requires_ldap_check? do
let(:user) { User.new } let(:user) { User.new }
it 'is false for non-LDAP users' do it 'is false when LDAP is disabled' do
user.stub(ldap_user?: false) # Create a condition which would otherwise cause 'true' to be returned
user.stub(ldap_user?: true)
user.last_credential_check_at = nil
expect(user.requires_ldap_check?).to be_false expect(user.requires_ldap_check?).to be_false
end end
context 'when the user is an LDAP user' do context 'when LDAP is enabled' do
before { user.stub(ldap_user?: true) } before { Gitlab.config.ldap.stub(enabled: true) }
it 'is true when the user has never had an LDAP check before' do it 'is false for non-LDAP users' do
user.last_credential_check_at = nil user.stub(ldap_user?: false)
expect(user.requires_ldap_check?).to be_true expect(user.requires_ldap_check?).to be_false
end end
it 'is true when the last LDAP check happened over 1 hour ago' do context 'and when the user is an LDAP user' do
user.last_credential_check_at = 2.hours.ago before { user.stub(ldap_user?: true) }
expect(user.requires_ldap_check?).to be_true
it 'is true when the user has never had an LDAP check before' do
user.last_credential_check_at = nil
expect(user.requires_ldap_check?).to be_true
end
it 'is true when the last LDAP check happened over 1 hour ago' do
user.last_credential_check_at = 2.hours.ago
expect(user.requires_ldap_check?).to be_true
end
end end
end end
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment