summaryrefslogtreecommitdiff
path: root/spec/models
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-08-13 13:11:04 +0000
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-08-13 13:11:04 +0000
commitffc284301eae53fad65bad36adaa4182c7683f70 (patch)
treef5310c4d6aa6e544b61a586fddbe2cc22febd70f /spec/models
parent67c5d381a975c065afdfbffd45d88320a61c82ad (diff)
parente0fea696c6e4eb007c945d63faca594a70dd45e7 (diff)
downloadgitlab-ce-ffc284301eae53fad65bad36adaa4182c7683f70.tar.gz
Merge branch 'ldap/cache_check' into 'master'
Cache LDAP check everywhere See merge request !1008
Diffstat (limited to 'spec/models')
-rw-r--r--spec/models/user_spec.rb34
1 files changed, 34 insertions, 0 deletions
diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb
index ef6b8a94502..7221328a45f 100644
--- a/spec/models/user_spec.rb
+++ b/spec/models/user_spec.rb
@@ -312,6 +312,40 @@ describe User do
end
end
+ describe :requires_ldap_check? do
+ let(:user) { User.new }
+
+ it 'is false when LDAP is disabled' do
+ # 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
+ end
+
+ context 'when LDAP is enabled' do
+ before { Gitlab.config.ldap.stub(enabled: true) }
+
+ it 'is false for non-LDAP users' do
+ user.stub(ldap_user?: false)
+ expect(user.requires_ldap_check?).to be_false
+ end
+
+ context 'and when the user is an LDAP user' do
+ before { user.stub(ldap_user?: 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
+
describe '#full_website_url' do
let(:user) { create(:user) }