diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-10-19 15:57:54 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-10-19 15:57:54 +0300 |
commit | 419c53ec62de6e97a517abd5fdd4cbde3a942a34 (patch) | |
tree | 1f43a548b46bca8a5fb8fe0c31cef1883d49c5b6 /spec/lib/gitlab/redis/multi_store_spec.rb | |
parent | 1da20d9135b3ad9e75e65b028bffc921aaf8deb7 (diff) |
Add latest changes from gitlab-org/gitlab@16-5-stable-eev16.5.0-rc42
Diffstat (limited to 'spec/lib/gitlab/redis/multi_store_spec.rb')
-rw-r--r-- | spec/lib/gitlab/redis/multi_store_spec.rb | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/spec/lib/gitlab/redis/multi_store_spec.rb b/spec/lib/gitlab/redis/multi_store_spec.rb index ce21c2269cc..1745a745ec3 100644 --- a/spec/lib/gitlab/redis/multi_store_spec.rb +++ b/spec/lib/gitlab/redis/multi_store_spec.rb @@ -948,6 +948,55 @@ RSpec.describe Gitlab::Redis::MultiStore, feature_category: :redis do end end + describe '#close' do + subject { multi_store.close } + + context 'when using both stores' do + before do + allow(multi_store).to receive(:use_primary_and_secondary_stores?).and_return(true) + end + + it 'closes both stores' do + expect(primary_store).to receive(:close) + expect(secondary_store).to receive(:close) + + subject + end + end + + context 'when using only one store' do + before do + allow(multi_store).to receive(:use_primary_and_secondary_stores?).and_return(false) + end + + context 'when using primary_store as default store' do + before do + allow(multi_store).to receive(:use_primary_store_as_default?).and_return(true) + end + + it 'closes primary store' do + expect(primary_store).to receive(:close) + expect(secondary_store).not_to receive(:close) + + subject + end + end + + context 'when using secondary_store as default store' do + before do + allow(multi_store).to receive(:use_primary_store_as_default?).and_return(false) + end + + it 'closes secondary store' do + expect(primary_store).not_to receive(:close) + expect(secondary_store).to receive(:close) + + subject + end + end + end + end + context 'with unsupported command' do let(:counter) { Gitlab::Metrics::NullMetric.instance } |