diff options
Diffstat (limited to 'spec/lib/gitlab/ldap/user_spec.rb')
-rw-r--r-- | spec/lib/gitlab/ldap/user_spec.rb | 106 |
1 files changed, 0 insertions, 106 deletions
diff --git a/spec/lib/gitlab/ldap/user_spec.rb b/spec/lib/gitlab/ldap/user_spec.rb deleted file mode 100644 index 42015c28c81..00000000000 --- a/spec/lib/gitlab/ldap/user_spec.rb +++ /dev/null @@ -1,106 +0,0 @@ -require 'spec_helper' - -describe Gitlab::LDAP::User do - let(:ldap_user) { Gitlab::LDAP::User.new(auth_hash) } - let(:gl_user) { ldap_user.gl_user } - let(:info) do - { - name: 'John', - email: 'john@example.com', - nickname: 'john' - } - end - let(:auth_hash) do - double(uid: 'my-uid', provider: 'ldapmain', info: double(info)) - end - - describe :changed? do - it "marks existing ldap user as changed" do - existing_user = create(:omniauth_user, extern_uid: 'my-uid', provider: 'ldapmain') - expect(ldap_user.changed?).to be_truthy - end - - it "marks existing non-ldap user if the email matches as changed" do - existing_user = create(:user, email: 'john@example.com') - expect(ldap_user.changed?).to be_truthy - end - - it "dont marks existing ldap user as changed" do - existing_user = create(:omniauth_user, email: 'john@example.com', extern_uid: 'my-uid', provider: 'ldapmain') - expect(ldap_user.changed?).to be_falsey - end - end - - describe :find_or_create do - it "finds the user if already existing" do - existing_user = create(:omniauth_user, extern_uid: 'my-uid', provider: 'ldapmain') - - expect{ ldap_user.save }.to_not change{ User.count } - end - - it "connects to existing non-ldap user if the email matches" do - existing_user = create(:omniauth_user, email: 'john@example.com', provider: "twitter") - expect{ ldap_user.save }.to_not change{ User.count } - - existing_user.reload - expect(existing_user.ldap_identity.extern_uid).to eql 'my-uid' - expect(existing_user.ldap_identity.provider).to eql 'ldapmain' - end - - it "creates a new user if not found" do - expect{ ldap_user.save }.to change{ User.count }.by(1) - end - end - - - describe 'blocking' do - context 'signup' do - context 'dont block on create' do - before { Gitlab::LDAP::Config.any_instance.stub block_auto_created_users: false } - - it do - ldap_user.save - expect(gl_user).to be_valid - expect(gl_user).not_to be_blocked - end - end - - context 'block on create' do - before { Gitlab::LDAP::Config.any_instance.stub block_auto_created_users: true } - - it do - ldap_user.save - expect(gl_user).to be_valid - expect(gl_user).to be_blocked - end - end - end - - context 'sign-in' do - before do - ldap_user.save - ldap_user.gl_user.activate - end - - context 'dont block on create' do - before { Gitlab::LDAP::Config.any_instance.stub block_auto_created_users: false } - - it do - ldap_user.save - expect(gl_user).to be_valid - expect(gl_user).not_to be_blocked - end - end - - context 'block on create' do - before { Gitlab::LDAP::Config.any_instance.stub block_auto_created_users: true } - - it do - ldap_user.save - expect(gl_user).to be_valid - expect(gl_user).not_to be_blocked - end - end - end - end -end |