From 8271fac0a97ffbb6cbf5b8cf0ebf618f1ed1b6b7 Mon Sep 17 00:00:00 2001 From: Jan-Willem van der Meer Date: Fri, 10 Oct 2014 10:39:46 +0200 Subject: [PATCH] Make AD check for access work properly --- lib/gitlab/ldap/access.rb | 5 ++--- lib/gitlab/ldap/config.rb | 4 ++++ spec/lib/gitlab/ldap/access_spec.rb | 18 ++++++------------ 3 files changed, 12 insertions(+), 15 deletions(-) diff --git a/lib/gitlab/ldap/access.rb b/lib/gitlab/ldap/access.rb index 191884e03f..e3d2cc065f 100644 --- a/lib/gitlab/ldap/access.rb +++ b/lib/gitlab/ldap/access.rb @@ -36,9 +36,8 @@ module Gitlab def allowed? if Gitlab::LDAP::Person.find_by_dn(user.extern_uid, adapter) - if ldap_config.active_directory - !Gitlab::LDAP::Person.disabled_via_active_directory?(user.extern_uid, adapter) - end + return true unless ldap_config.active_directory + !Gitlab::LDAP::Person.disabled_via_active_directory?(user.extern_uid, adapter) else false end diff --git a/lib/gitlab/ldap/config.rb b/lib/gitlab/ldap/config.rb index bb9b03f370..d0dfbacc32 100644 --- a/lib/gitlab/ldap/config.rb +++ b/lib/gitlab/ldap/config.rb @@ -60,6 +60,10 @@ module Gitlab options['admin_group'] end + def active_directory + options['active_directory'] + end + protected def base_config Gitlab.config.ldap diff --git a/spec/lib/gitlab/ldap/access_spec.rb b/spec/lib/gitlab/ldap/access_spec.rb index 564f4c04a0..4656442a6f 100644 --- a/spec/lib/gitlab/ldap/access_spec.rb +++ b/spec/lib/gitlab/ldap/access_spec.rb @@ -28,19 +28,13 @@ describe Gitlab::LDAP::Access do it { should be_true } end - context 'and has no disabled flag in active diretory' do - before { - Gitlab::LDAP::Person.stub(disabled_via_active_directory?: false) - Gitlab.config.ldap['enabled'] = true - Gitlab.config.ldap['active_directory'] = false - } + context 'withoud ActiveDirectory enabled' do + before do + Gitlab::LDAP::Config.stub(enabled?: true) + Gitlab::LDAP::Config.any_instance.stub(active_directory: false) + end - after { - Gitlab.config.ldap['enabled'] = false - Gitlab.config.ldap['active_directory'] = true - } - - it { should be_false } + it { should be_true } end end end