diff options
author | Robert Speicher <robert@gitlab.com> | 2016-06-22 22:12:09 +0000 |
---|---|---|
committer | Robert Speicher <robert@gitlab.com> | 2016-06-22 22:12:09 +0000 |
commit | cef021917f0fdf0fd3c24c41d6fd9ee1ed79e8d8 (patch) | |
tree | 087eb869527fda6da0902a318cd946acd6a7c6b9 /spec | |
parent | 69479d3615df62c0c6c22fe20263413505b2ef8f (diff) | |
parent | 938f2b9979e8aae74307571d2c56df3f9b2981f5 (diff) | |
download | gitlab-ce-cef021917f0fdf0fd3c24c41d6fd9ee1ed79e8d8.tar.gz |
Merge branch 'fix_saml_signin' into 'master'
Fix subsequent SAML sign ins
Fixes a bug when `auto_link_ldap_user` is `true` that causes SAML users to be unable to sign in a second time.
Fix the problem for https://gitlab.zendesk.com/agent/tickets/22546
See merge request !4718
Diffstat (limited to 'spec')
-rw-r--r-- | spec/lib/gitlab/saml/user_spec.rb | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/spec/lib/gitlab/saml/user_spec.rb b/spec/lib/gitlab/saml/user_spec.rb index 84c21ceefd9..2753aecc1f4 100644 --- a/spec/lib/gitlab/saml/user_spec.rb +++ b/spec/lib/gitlab/saml/user_spec.rb @@ -164,7 +164,14 @@ describe Gitlab::Saml::User, lib: true do end context 'and LDAP user has an account already' do - let!(:existing_user) { create(:omniauth_user, email: 'john@mail.com', extern_uid: 'uid=user1,ou=People,dc=example', provider: 'ldapmain', username: 'john') } + before do + create(:omniauth_user, + email: 'john@mail.com', + extern_uid: 'uid=user1,ou=People,dc=example', + provider: 'ldapmain', + username: 'john') + end + it 'adds the omniauth identity to the LDAP account' do saml_user.save @@ -177,6 +184,15 @@ describe Gitlab::Saml::User, lib: true do { provider: 'saml', extern_uid: uid } ]) end + + it 'saves successfully on subsequent tries, when both identities are present' do + saml_user.save + local_saml_user = described_class.new(auth_hash) + local_saml_user.save + + expect(local_saml_user.gl_user).to be_valid + expect(local_saml_user.gl_user).to be_persisted + end end context 'user has SAML user, and wants to add their LDAP identity' do |