diff options
author | James Lopez <james@jameslopez.es> | 2016-07-11 18:00:19 +0200 |
---|---|---|
committer | James Lopez <james@jameslopez.es> | 2016-07-11 18:00:19 +0200 |
commit | feecb4afde4cde116bcdca9c9c5059cf201720f8 (patch) | |
tree | a71159a68d6a98731e21307849e82acbfb089f97 /spec/lib/gitlab/o_auth/user_spec.rb | |
parent | 0e5f0276eae25c975078f825ea10ff2c8d05563c (diff) | |
parent | 36c60b4c269a3d60f6b3e0df3bf1bfc7d44a6b54 (diff) | |
download | gitlab-ce-feecb4afde4cde116bcdca9c9c5059cf201720f8.tar.gz |
Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ce into fix/import-event-error
Diffstat (limited to 'spec/lib/gitlab/o_auth/user_spec.rb')
-rw-r--r-- | spec/lib/gitlab/o_auth/user_spec.rb | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/spec/lib/gitlab/o_auth/user_spec.rb b/spec/lib/gitlab/o_auth/user_spec.rb index 5ec5ab40b6f..1fca8a13037 100644 --- a/spec/lib/gitlab/o_auth/user_spec.rb +++ b/spec/lib/gitlab/o_auth/user_spec.rb @@ -51,12 +51,25 @@ describe Gitlab::OAuth::User, lib: true do end context 'provider was external, now has been removed' do - it 'should mark existing user internal' do + it 'should not mark external user as internal' do create(:omniauth_user, extern_uid: 'my-uid', provider: 'twitter', external: true) stub_omniauth_config(allow_single_sign_on: ['twitter'], external_providers: ['facebook']) oauth_user.save expect(gl_user).to be_valid - expect(gl_user.external).to be_falsey + expect(gl_user.external).to be_truthy + end + end + + context 'provider is not external' do + context 'when adding a new OAuth identity' do + it 'should not promote an external user to internal' do + user = create(:user, email: 'john@mail.com', external: true) + user.identities.create(provider: provider, extern_uid: uid) + + oauth_user.save + expect(gl_user).to be_valid + expect(gl_user.external).to be_truthy + end end end @@ -128,7 +141,6 @@ describe Gitlab::OAuth::User, lib: true do end context "and no account for the LDAP user" do - it "creates a user with dual LDAP and omniauth identities" do oauth_user.save @@ -169,7 +181,6 @@ describe Gitlab::OAuth::User, lib: true do end end end - end describe 'blocking' do @@ -255,7 +266,6 @@ describe Gitlab::OAuth::User, lib: true do end end - context 'sign-in' do before do oauth_user.save |