diff options
author | Stan Hu <stanhu@gmail.com> | 2016-06-29 14:28:41 -0700 |
---|---|---|
committer | Stan Hu <stanhu@gmail.com> | 2016-06-29 14:28:41 -0700 |
commit | d10642a4b86d91faf7a3ffa508b4e8067213b14c (patch) | |
tree | 4b094a4d86a66c2f7a6ad03ef9f1eb7a896915ef /spec | |
parent | c600cf83488398cf66b10af85ed9490fe9457bd4 (diff) | |
download | gitlab-ce-d10642a4b86d91faf7a3ffa508b4e8067213b14c.tar.gz |
Handle case when Redis cache returns an empty setting
Diffstat (limited to 'spec')
-rw-r--r-- | spec/lib/gitlab/current_settings_spec.rb | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/spec/lib/gitlab/current_settings_spec.rb b/spec/lib/gitlab/current_settings_spec.rb index f2d2f7b5d31..004341ffd02 100644 --- a/spec/lib/gitlab/current_settings_spec.rb +++ b/spec/lib/gitlab/current_settings_spec.rb @@ -4,7 +4,7 @@ describe Gitlab::CurrentSettings do describe '#current_application_settings' do 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(:cached).and_call_original + expect(ApplicationSetting).to receive(:current).and_return(::ApplicationSetting.create_from_defaults) expect(ApplicationSetting).not_to receive(:last) expect(current_application_settings).to be_a(ApplicationSetting) @@ -18,9 +18,16 @@ describe Gitlab::CurrentSettings do expect(current_application_settings).to eq fake_application_settings 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 + + expect(current_application_settings).to be_a(ApplicationSetting) + end + 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(:cached).and_raise(::Redis::BaseError) + 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) |