diff options
author | Grzegorz Bizon <grzegorz@gitlab.com> | 2017-01-22 01:55:35 +0300 |
---|---|---|
committer | Grzegorz Bizon <grzegorz@gitlab.com> | 2017-01-22 01:55:35 +0300 |
commit | baeaa97ef49558a303b0bd7b6cc9ce4ccfc13d1d (patch) | |
tree | c009601bc21af2f88f0d246427d5fbe3db5e5bb2 /spec | |
parent | f6f52b43b59641f5e0c6f7aa47b1354ca3aeee32 (diff) |
Revert "Merge branch 'dont-persist-application-settings-in-test-env' into 'master'"
This reverts merge request !8573
Diffstat (limited to 'spec')
-rw-r--r-- | spec/controllers/health_check_controller_spec.rb | 6 | ||||
-rw-r--r-- | spec/features/admin/admin_disables_git_access_protocol_spec.rb | 3 | ||||
-rw-r--r-- | spec/features/admin/admin_health_check_spec.rb | 9 | ||||
-rw-r--r-- | spec/features/admin/admin_runners_spec.rb | 3 | ||||
-rw-r--r-- | spec/features/admin/admin_settings_spec.rb | 5 | ||||
-rw-r--r-- | spec/features/admin/admin_uses_repository_checks_spec.rb | 9 | ||||
-rw-r--r-- | spec/lib/gitlab/current_settings_spec.rb | 68 | ||||
-rw-r--r-- | spec/requests/api/internal_spec.rb | 9 | ||||
-rw-r--r-- | spec/spec_helper.rb | 1 |
9 files changed, 32 insertions, 81 deletions
diff --git a/spec/controllers/health_check_controller_spec.rb b/spec/controllers/health_check_controller_spec.rb index cfe18dd4b6c..56ecf2bb644 100644 --- a/spec/controllers/health_check_controller_spec.rb +++ b/spec/controllers/health_check_controller_spec.rb @@ -1,16 +1,10 @@ require 'spec_helper' describe HealthCheckController do - include StubENV - let(:token) { current_application_settings.health_check_access_token } let(:json_response) { JSON.parse(response.body) } let(:xml_response) { Hash.from_xml(response.body)['hash'] } - before do - stub_env('IN_MEMORY_APPLICATION_SETTINGS', 'false') - end - describe 'GET #index' do context 'when services are up but NO access token' do it 'returns a not found page' do diff --git a/spec/features/admin/admin_disables_git_access_protocol_spec.rb b/spec/features/admin/admin_disables_git_access_protocol_spec.rb index e8e080ce3e2..66044b44495 100644 --- a/spec/features/admin/admin_disables_git_access_protocol_spec.rb +++ b/spec/features/admin/admin_disables_git_access_protocol_spec.rb @@ -1,13 +1,10 @@ require 'rails_helper' feature 'Admin disables Git access protocol', feature: true do - include StubENV - let(:project) { create(:empty_project, :empty_repo) } let(:admin) { create(:admin) } background do - stub_env('IN_MEMORY_APPLICATION_SETTINGS', 'false') login_as(admin) end diff --git a/spec/features/admin/admin_health_check_spec.rb b/spec/features/admin/admin_health_check_spec.rb index f7e49a56deb..dec2dedf2b5 100644 --- a/spec/features/admin/admin_health_check_spec.rb +++ b/spec/features/admin/admin_health_check_spec.rb @@ -1,11 +1,9 @@ require 'spec_helper' feature "Admin Health Check", feature: true do - include StubENV include WaitForAjax before do - stub_env('IN_MEMORY_APPLICATION_SETTINGS', 'false') login_as :admin end @@ -14,12 +12,11 @@ feature "Admin Health Check", feature: true do visit admin_health_check_path end - it 'has a health check access token' do - page.has_text? 'Health Check' - page.has_text? 'Health information can be retrieved' + it { page.has_text? 'Health Check' } + it { page.has_text? 'Health information can be retrieved' } + it 'has a health check access token' do token = current_application_settings.health_check_access_token - expect(page).to have_content("Access token is #{token}") expect(page).to have_selector('#health-check-token', text: token) end diff --git a/spec/features/admin/admin_runners_spec.rb b/spec/features/admin/admin_runners_spec.rb index f05fbe3d062..d92c66b689d 100644 --- a/spec/features/admin/admin_runners_spec.rb +++ b/spec/features/admin/admin_runners_spec.rb @@ -1,10 +1,7 @@ require 'spec_helper' describe "Admin Runners" do - include StubENV - before do - stub_env('IN_MEMORY_APPLICATION_SETTINGS', 'false') login_as :admin end diff --git a/spec/features/admin/admin_settings_spec.rb b/spec/features/admin/admin_settings_spec.rb index de42ab81fac..47fa2f14307 100644 --- a/spec/features/admin/admin_settings_spec.rb +++ b/spec/features/admin/admin_settings_spec.rb @@ -1,10 +1,7 @@ require 'spec_helper' feature 'Admin updates settings', feature: true do - include StubENV - - before do - stub_env('IN_MEMORY_APPLICATION_SETTINGS', 'false') + before(:each) do login_as :admin visit admin_application_settings_path end diff --git a/spec/features/admin/admin_uses_repository_checks_spec.rb b/spec/features/admin/admin_uses_repository_checks_spec.rb index 855247de2ea..661fb761809 100644 --- a/spec/features/admin/admin_uses_repository_checks_spec.rb +++ b/spec/features/admin/admin_uses_repository_checks_spec.rb @@ -1,12 +1,7 @@ require 'rails_helper' feature 'Admin uses repository checks', feature: true do - include StubENV - - before do - stub_env('IN_MEMORY_APPLICATION_SETTINGS', 'false') - login_as :admin - end + before { login_as :admin } scenario 'to trigger a single check' do project = create(:empty_project) @@ -34,7 +29,7 @@ feature 'Admin uses repository checks', feature: true do scenario 'to clear all repository checks', js: true do visit admin_application_settings_path - + expect(RepositoryCheck::ClearWorker).to receive(:perform_async) click_link 'Clear all repository checks' diff --git a/spec/lib/gitlab/current_settings_spec.rb b/spec/lib/gitlab/current_settings_spec.rb index b01c4805a34..004341ffd02 100644 --- a/spec/lib/gitlab/current_settings_spec.rb +++ b/spec/lib/gitlab/current_settings_spec.rb @@ -1,64 +1,36 @@ require 'spec_helper' describe Gitlab::CurrentSettings do - include StubENV - - before do - stub_env('IN_MEMORY_APPLICATION_SETTINGS', 'false') - end - describe '#current_application_settings' do - context 'with DB available' do - before do - allow_any_instance_of(Gitlab::CurrentSettings).to receive(:connect_to_db?).and_return(true) - end - - it 'attempts to use cached values first' do - expect(ApplicationSetting).to receive(:current) - expect(ApplicationSetting).not_to receive(:last) - - expect(current_application_settings).to be_a(ApplicationSetting) - end + it 'attempts to use cached values first' do + allow_any_instance_of(Gitlab::CurrentSettings).to receive(:connect_to_db?).and_return(true) + expect(ApplicationSetting).to receive(:current).and_return(::ApplicationSetting.create_from_defaults) + expect(ApplicationSetting).not_to receive(:last) - it 'falls back to DB if Redis returns an empty value' do - expect(ApplicationSetting).to receive(:last).and_call_original - - expect(current_application_settings).to be_a(ApplicationSetting) - end + expect(current_application_settings).to be_a(ApplicationSetting) + end - it 'falls back to DB if Redis fails' do - expect(ApplicationSetting).to receive(:current).and_raise(::Redis::BaseError) - expect(ApplicationSetting).to receive(:last).and_call_original + it 'does not attempt to connect to DB or Redis' do + allow_any_instance_of(Gitlab::CurrentSettings).to receive(:connect_to_db?).and_return(false) + expect(ApplicationSetting).not_to receive(:current) + expect(ApplicationSetting).not_to receive(:last) - expect(current_application_settings).to be_a(ApplicationSetting) - end + expect(current_application_settings).to eq fake_application_settings end - context 'with DB unavailable' do - before do - allow_any_instance_of(Gitlab::CurrentSettings).to receive(:connect_to_db?).and_return(false) - end + it 'falls back to DB if Redis returns an empty value' do + allow_any_instance_of(Gitlab::CurrentSettings).to receive(:connect_to_db?).and_return(true) + expect(ApplicationSetting).to receive(:last).and_call_original - it 'returns an in-memory ApplicationSetting object' do - expect(ApplicationSetting).not_to receive(:current) - expect(ApplicationSetting).not_to receive(:last) - - expect(current_application_settings).to be_a(OpenStruct) - end + expect(current_application_settings).to be_a(ApplicationSetting) end - context 'when ENV["IN_MEMORY_APPLICATION_SETTINGS"] is true' do - before do - stub_env('IN_MEMORY_APPLICATION_SETTINGS', 'true') - end - - it 'returns an in-memory ApplicationSetting object' do - expect(ApplicationSetting).not_to receive(:current) - expect(ApplicationSetting).not_to receive(:last) + it 'falls back to DB if Redis fails' do + allow_any_instance_of(Gitlab::CurrentSettings).to receive(:connect_to_db?).and_return(true) + expect(ApplicationSetting).to receive(:current).and_raise(::Redis::BaseError) + expect(ApplicationSetting).to receive(:last).and_call_original - expect(current_application_settings).to be_a(ApplicationSetting) - expect(current_application_settings).not_to be_persisted - end + expect(current_application_settings).to be_a(ApplicationSetting) end end end diff --git a/spec/requests/api/internal_spec.rb b/spec/requests/api/internal_spec.rb index 91202244227..a3798c8cd6c 100644 --- a/spec/requests/api/internal_spec.rb +++ b/spec/requests/api/internal_spec.rb @@ -337,7 +337,8 @@ describe API::Internal, api: true do context 'ssh access has been disabled' do before do - stub_application_setting(enabled_git_access_protocol: 'http') + settings = ::ApplicationSetting.create_from_defaults + settings.update_attribute(:enabled_git_access_protocol, 'http') end it 'rejects the SSH push' do @@ -359,7 +360,8 @@ describe API::Internal, api: true do context 'http access has been disabled' do before do - stub_application_setting(enabled_git_access_protocol: 'ssh') + settings = ::ApplicationSetting.create_from_defaults + settings.update_attribute(:enabled_git_access_protocol, 'ssh') end it 'rejects the HTTP push' do @@ -381,7 +383,8 @@ describe API::Internal, api: true do context 'web actions are always allowed' do it 'allows WEB push' do - stub_application_setting(enabled_git_access_protocol: 'ssh') + settings = ::ApplicationSetting.create_from_defaults + settings.update_attribute(:enabled_git_access_protocol, 'ssh') project.team << [user, :developer] push(key, project, 'web') diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index f78899134d5..6ee3307512d 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -2,7 +2,6 @@ require './spec/simplecov_env' SimpleCovEnv.start! ENV["RAILS_ENV"] ||= 'test' -ENV["IN_MEMORY_APPLICATION_SETTINGS"] = 'true' require File.expand_path("../../config/environment", __FILE__) require 'rspec/rails' |