Commit 228926da authored by Rémy Coutable's avatar Rémy Coutable

Merge branch 'dm-oauth-config-for' into 'master'

Return nil when looking up config for unknown LDAP provider

Closes #29342

See merge request !11804
parents 32dde25a 04bb8fe9
---
title: Return nil when looking up config for unknown LDAP provider
merge_request:
author:
...@@ -22,7 +22,11 @@ module Gitlab ...@@ -22,7 +22,11 @@ module Gitlab
def self.config_for(name) def self.config_for(name)
name = name.to_s name = name.to_s
if ldap_provider?(name) if ldap_provider?(name)
if Gitlab::LDAP::Config.valid_provider?(name)
Gitlab::LDAP::Config.new(name).options Gitlab::LDAP::Config.new(name).options
else
nil
end
else else
Gitlab.config.omniauth.providers.find { |provider| provider.name == name } Gitlab.config.omniauth.providers.find { |provider| provider.name == name }
end end
......
require 'spec_helper'
describe Gitlab::OAuth::Provider, lib: true do
describe '#config_for' do
context 'for an LDAP provider' do
context 'when the provider exists' do
it 'returns the config' do
expect(described_class.config_for('ldapmain')).to be_a(Hash)
end
end
context 'when the provider does not exist' do
it 'returns nil' do
expect(described_class.config_for('ldapfoo')).to be_nil
end
end
end
context 'for an OmniAuth provider' do
before do
provider = OpenStruct.new(
name: 'google',
app_id: 'asd123',
app_secret: 'asd123'
)
allow(Gitlab.config.omniauth).to receive(:providers).and_return([provider])
end
context 'when the provider exists' do
it 'returns the config' do
expect(described_class.config_for('google')).to be_a(OpenStruct)
end
end
context 'when the provider does not exist' do
it 'returns nil' do
expect(described_class.config_for('foo')).to be_nil
end
end
end
end
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment