From 8b573c94895dc0ac0e1d9d59cf3e8745e8b539ca Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Thu, 17 Dec 2020 11:59:07 +0000 Subject: Add latest changes from gitlab-org/gitlab@13-7-stable-ee --- spec/config/object_store_settings_spec.rb | 29 +++++++++++++++++++++++++++++ spec/config/settings_spec.rb | 16 ++++++++++++++++ 2 files changed, 45 insertions(+) (limited to 'spec/config') diff --git a/spec/config/object_store_settings_spec.rb b/spec/config/object_store_settings_spec.rb index 1777213f481..9e7dfa043c3 100644 --- a/spec/config/object_store_settings_spec.rb +++ b/spec/config/object_store_settings_spec.rb @@ -59,6 +59,7 @@ RSpec.describe ObjectStoreSettings do expect(settings.artifacts['object_store']['background_upload']).to be false expect(settings.artifacts['object_store']['proxy_download']).to be false expect(settings.artifacts['object_store']['remote_directory']).to eq('artifacts') + expect(settings.artifacts['object_store']['consolidated_settings']).to be true expect(settings.lfs['enabled']).to be true expect(settings.lfs['object_store']['enabled']).to be true @@ -67,15 +68,18 @@ RSpec.describe ObjectStoreSettings do expect(settings.lfs['object_store']['background_upload']).to be false expect(settings.lfs['object_store']['proxy_download']).to be true expect(settings.lfs['object_store']['remote_directory']).to eq('lfs-objects') + expect(settings.lfs['object_store']['consolidated_settings']).to be true expect(settings.pages['enabled']).to be true expect(settings.pages['object_store']['enabled']).to be true expect(settings.pages['object_store']['connection']).to eq(connection) expect(settings.pages['object_store']['remote_directory']).to eq('pages') + expect(settings.pages['object_store']['consolidated_settings']).to be true expect(settings.external_diffs['enabled']).to be false expect(settings.external_diffs['object_store']['enabled']).to be false expect(settings.external_diffs['object_store']['remote_directory']).to eq('external_diffs') + expect(settings.external_diffs['object_store']['consolidated_settings']).to be true end it 'raises an error when a bucket is missing' do @@ -91,6 +95,31 @@ RSpec.describe ObjectStoreSettings do expect(settings.pages['object_store']).to eq(nil) end + it 'allows pages to define its own connection' do + pages_connection = { 'provider' => 'Google', 'google_application_default' => true } + config['pages'] = { + 'enabled' => true, + 'object_store' => { + 'enabled' => true, + 'connection' => pages_connection + } + } + + expect { subject }.not_to raise_error + + described_class::WORKHORSE_ACCELERATED_TYPES.each do |object_type| + section = settings.try(object_type) + + next unless section + + expect(section['object_store']['connection']).to eq(connection) + expect(section['object_store']['consolidated_settings']).to be true + end + + expect(settings.pages['object_store']['connection']).to eq(pages_connection) + expect(settings.pages['object_store']['consolidated_settings']).to be_falsey + end + context 'with legacy config' do let(:legacy_settings) do { diff --git a/spec/config/settings_spec.rb b/spec/config/settings_spec.rb index ed873478fc9..6525ae653c9 100644 --- a/spec/config/settings_spec.rb +++ b/spec/config/settings_spec.rb @@ -134,4 +134,20 @@ RSpec.describe Settings do end end end + + describe '.encrypted' do + before do + allow(Gitlab::Application.secrets).to receive(:encryped_settings_key_base).and_return(SecureRandom.hex(64)) + end + + it 'defaults to using the encrypted_settings_key_base for the key' do + expect(Gitlab::EncryptedConfiguration).to receive(:new).with(hash_including(base_key: Gitlab::Application.secrets.encrypted_settings_key_base)) + Settings.encrypted('tmp/tests/test.enc') + end + + it 'returns empty encrypted config when a key has not been set' do + allow(Gitlab::Application.secrets).to receive(:encrypted_settings_key_base).and_return(nil) + expect(Settings.encrypted('tmp/tests/test.enc').read).to be_empty + end + end end -- cgit v1.2.3