Make new `allow_single_sign_on` feature backwards compatible

This commit is contained in:
Patricio Cano 2016-02-18 17:02:43 -05:00
parent 06376be56a
commit bb4fa3a185
3 changed files with 28 additions and 4 deletions

View File

@ -106,7 +106,11 @@ module Gitlab
def signup_enabled?
providers = Gitlab.config.omniauth.allow_single_sign_on
providers.include?(auth_hash.provider)
if providers.is_a?(Array)
providers.include?(auth_hash.provider)
else
providers
end
end
def block_after_signup?

View File

@ -41,7 +41,7 @@ describe Gitlab::OAuth::User, lib: true do
describe 'signup' do
shared_examples "to verify compliance with allow_single_sign_on" do
context "with allow_single_sign_on enabled" do
context "with new allow_single_sign_on enabled syntax" do
before { stub_omniauth_config(allow_single_sign_on: ['twitter']) }
it "creates a user from Omniauth" do
@ -54,12 +54,32 @@ describe Gitlab::OAuth::User, lib: true do
end
end
context "with allow_single_sign_on disabled (Default)" do
context "with old allow_single_sign_on enabled syntax" do
before { stub_omniauth_config(allow_single_sign_on: true) }
it "creates a user from Omniauth" do
oauth_user.save
expect(gl_user).to be_valid
identity = gl_user.identities.first
expect(identity.extern_uid).to eql uid
expect(identity.provider).to eql 'twitter'
end
end
context "with new allow_single_sign_on disabled syntax" do
before { stub_omniauth_config(allow_single_sign_on: []) }
it "throws an error" do
expect{ oauth_user.save }.to raise_error StandardError
end
end
context "with old allow_single_sign_on disabled (Default)" do
before { stub_omniauth_config(allow_single_sign_on: false) }
it "throws an error" do
expect{ oauth_user.save }.to raise_error StandardError
end
end
end
context "with auto_link_ldap_user disabled (default)" do

View File

@ -61,7 +61,7 @@ describe Gitlab::Saml::User, lib: true do
end
context 'with allow_single_sign_on disabled' do
before { stub_omniauth_config(allow_single_sign_on: []) }
before { stub_omniauth_config(allow_single_sign_on: false) }
it 'should throw an error' do
expect{ saml_user.save }.to raise_error StandardError
end