Use Gitlab::CurrentSettings in UrlValidator

Gitlab::CurrentSettings will create ApplicationSetting.current if not
present which means we don't have to use `&.`. We can also more easily
use stub_application_setting in specs
This commit is contained in:
Thong Kuah 2019-02-19 10:55:13 +13:00
parent fe10964a68
commit 8a1b6041c8
3 changed files with 5 additions and 8 deletions

View File

@ -93,6 +93,6 @@ class UrlValidator < ActiveModel::EachValidator
end
def allow_setting_local_requests?
ApplicationSetting.current&.allow_local_requests_from_hooks_and_services?
Gitlab::CurrentSettings.allow_local_requests_from_hooks_and_services?
end
end

View File

@ -14,9 +14,8 @@ describe Gitlab::CurrentSettings do
describe '#current_application_settings', :use_clean_rails_memory_store_caching do
it 'allows keys to be called directly' do
db_settings = create(:application_setting,
home_page_url: 'http://mydomain.com',
signup_enabled: false)
db_settings = ApplicationSetting.first || create(:application_setting)
db_settings.update!(home_page_url: 'http://mydomain.com', signup_enabled: false)
expect(described_class.home_page_url).to eq(db_settings.home_page_url)
expect(described_class.signup_enabled?).to be_falsey
@ -109,7 +108,7 @@ describe Gitlab::CurrentSettings do
context 'with pending migrations' do
before do
expect(ActiveRecord::Migrator).to receive(:needs_migration?).and_return(true)
allow(ActiveRecord::Migrator).to receive(:needs_migration?).and_return(true)
end
shared_examples 'a non-persisted ApplicationSetting object' do

View File

@ -46,9 +46,7 @@ describe LfsDownloadObject do
subject { described_class.new(oid: oid, size: size, link: 'http://192.168.1.1') }
before do
allow(ApplicationSetting)
.to receive(:current)
.and_return(ApplicationSetting.build_from_defaults(allow_local_requests_from_hooks_and_services: setting))
stub_application_setting(allow_local_requests_from_hooks_and_services: setting)
end
context 'are allowed' do