diff options
Diffstat (limited to 'spec/lib/gitlab/auth/saml/config_spec.rb')
-rw-r--r-- | spec/lib/gitlab/auth/saml/config_spec.rb | 39 |
1 files changed, 38 insertions, 1 deletions
diff --git a/spec/lib/gitlab/auth/saml/config_spec.rb b/spec/lib/gitlab/auth/saml/config_spec.rb index d657622c9f2..c19171bb6f8 100644 --- a/spec/lib/gitlab/auth/saml/config_spec.rb +++ b/spec/lib/gitlab/auth/saml/config_spec.rb @@ -3,6 +3,8 @@ require 'spec_helper' RSpec.describe Gitlab::Auth::Saml::Config do + include LoginHelpers + describe '.enabled?' do subject { described_class.enabled? } @@ -10,13 +12,48 @@ RSpec.describe Gitlab::Auth::Saml::Config do context 'when SAML is enabled' do before do - allow(Gitlab::Auth::OAuth::Provider).to receive(:providers).and_return([:saml]) + stub_basic_saml_config end it { is_expected.to eq(true) } end end + describe '.default_attribute_statements' do + it 'includes upstream defaults, nickname and Microsoft values' do + expect(described_class.default_attribute_statements).to match_array( + { + nickname: %w[username nickname], + name: [ + 'name', + 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name', + 'http://schemas.microsoft.com/ws/2008/06/identity/claims/name' + ], + email: [ + 'email', + 'mail', + 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress', + 'http://schemas.microsoft.com/ws/2008/06/identity/claims/emailaddress' + ], + first_name: [ + 'first_name', + 'firstname', + 'firstName', + 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname', + 'http://schemas.microsoft.com/ws/2008/06/identity/claims/givenname' + ], + last_name: [ + 'last_name', + 'lastname', + 'lastName', + 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname', + 'http://schemas.microsoft.com/ws/2008/06/identity/claims/surname' + ] + } + ) + end + end + describe '#external_groups' do let(:config_1) { described_class.new('saml1') } |