Added ldap tests
Change-Id: Ifd77615b3b92d7d8bca92b8875aa8204356cfd85
This commit is contained in:
parent
4fcc17e667
commit
75b2ff8f43
|
@ -1,7 +1,7 @@
|
||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
|
|
||||||
describe Gitlab::Auth do
|
describe Gitlab::LDAP do
|
||||||
let(:gl_auth) { Gitlab::Auth.new }
|
let(:gl_auth) { Gitlab::LDAP::User }
|
||||||
|
|
||||||
before do
|
before do
|
||||||
Gitlab.config.stub(omniauth: {})
|
Gitlab.config.stub(omniauth: {})
|
||||||
|
@ -22,17 +22,12 @@ describe Gitlab::Auth do
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
it "should find by uid & provider" do
|
|
||||||
User.should_receive :find_by_extern_uid_and_provider
|
|
||||||
gl_auth.find_for_ldap_auth(@auth)
|
|
||||||
end
|
|
||||||
|
|
||||||
it "should update credentials by email if missing uid" do
|
it "should update credentials by email if missing uid" do
|
||||||
user = double('User')
|
user = double('User')
|
||||||
User.stub find_by_extern_uid_and_provider: nil
|
User.stub find_by_extern_uid_and_provider: nil
|
||||||
User.stub find_by_email: user
|
User.stub find_by_email: user
|
||||||
user.should_receive :update_attributes
|
user.should_receive :update_attributes
|
||||||
gl_auth.find_for_ldap_auth(@auth)
|
gl_auth.find_or_create(@auth)
|
||||||
end
|
end
|
||||||
|
|
||||||
it "should update credentials by username if missing uid and Gitlab.config.ldap.allow_username_or_email_login is true" do
|
it "should update credentials by username if missing uid and Gitlab.config.ldap.allow_username_or_email_login is true" do
|
||||||
|
@ -43,7 +38,7 @@ describe Gitlab::Auth do
|
||||||
User.stub find_by_email: nil
|
User.stub find_by_email: nil
|
||||||
User.stub find_by_username: user
|
User.stub find_by_username: user
|
||||||
user.should_receive :update_attributes
|
user.should_receive :update_attributes
|
||||||
gl_auth.find_for_ldap_auth(@auth)
|
gl_auth.find_or_create(@auth)
|
||||||
Gitlab.config.ldap['allow_username_or_email_login'] = value
|
Gitlab.config.ldap['allow_username_or_email_login'] = value
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -55,44 +50,8 @@ describe Gitlab::Auth do
|
||||||
User.stub find_by_email: nil
|
User.stub find_by_email: nil
|
||||||
User.stub find_by_username: user
|
User.stub find_by_username: user
|
||||||
user.should_not_receive :update_attributes
|
user.should_not_receive :update_attributes
|
||||||
gl_auth.find_for_ldap_auth(@auth)
|
gl_auth.find_or_create(@auth)
|
||||||
Gitlab.config.ldap['allow_username_or_email_login'] = value
|
Gitlab.config.ldap['allow_username_or_email_login'] = value
|
||||||
end
|
end
|
||||||
|
|
||||||
it "should create from auth if user does not exist"do
|
|
||||||
User.stub find_by_extern_uid_and_provider: nil
|
|
||||||
User.stub find_by_email: nil
|
|
||||||
gl_auth.should_receive :create_from_omniauth
|
|
||||||
gl_auth.find_for_ldap_auth(@auth)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
describe :find_or_new_for_omniauth do
|
|
||||||
before do
|
|
||||||
@auth = mock(
|
|
||||||
info: @info,
|
|
||||||
provider: 'twitter',
|
|
||||||
uid: '12djsak321',
|
|
||||||
)
|
|
||||||
end
|
|
||||||
|
|
||||||
it "should find user"do
|
|
||||||
User.should_receive :find_by_provider_and_extern_uid
|
|
||||||
gl_auth.should_not_receive :create_from_omniauth
|
|
||||||
gl_auth.find_or_new_for_omniauth(@auth)
|
|
||||||
end
|
|
||||||
|
|
||||||
it "should not create user"do
|
|
||||||
User.stub find_by_provider_and_extern_uid: nil
|
|
||||||
gl_auth.should_not_receive :create_from_omniauth
|
|
||||||
gl_auth.find_or_new_for_omniauth(@auth)
|
|
||||||
end
|
|
||||||
|
|
||||||
it "should create user if single_sing_on"do
|
|
||||||
Gitlab.config.omniauth['allow_single_sign_on'] = true
|
|
||||||
User.stub find_by_provider_and_extern_uid: nil
|
|
||||||
gl_auth.should_receive :create_from_omniauth
|
|
||||||
gl_auth.find_or_new_for_omniauth(@auth)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
Loading…
Reference in New Issue