diff options
Diffstat (limited to 'spec/lib/gitlab/redis')
-rw-r--r-- | spec/lib/gitlab/redis/boolean_spec.rb | 2 | ||||
-rw-r--r-- | spec/lib/gitlab/redis/cache_spec.rb | 4 | ||||
-rw-r--r-- | spec/lib/gitlab/redis/duplicate_jobs_spec.rb | 2 | ||||
-rw-r--r-- | spec/lib/gitlab/redis/multi_store_spec.rb | 44 | ||||
-rw-r--r-- | spec/lib/gitlab/redis/sidekiq_status_spec.rb | 2 |
5 files changed, 37 insertions, 17 deletions
diff --git a/spec/lib/gitlab/redis/boolean_spec.rb b/spec/lib/gitlab/redis/boolean_spec.rb index 9c233ba089f..661261c79da 100644 --- a/spec/lib/gitlab/redis/boolean_spec.rb +++ b/spec/lib/gitlab/redis/boolean_spec.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -require "spec_helper" +require 'fast_spec_helper' RSpec.describe Gitlab::Redis::Boolean do subject(:redis_boolean) { described_class.new(bool) } diff --git a/spec/lib/gitlab/redis/cache_spec.rb b/spec/lib/gitlab/redis/cache_spec.rb index 1f0ebbe107f..82ff8a26199 100644 --- a/spec/lib/gitlab/redis/cache_spec.rb +++ b/spec/lib/gitlab/redis/cache_spec.rb @@ -17,8 +17,8 @@ RSpec.describe Gitlab::Redis::Cache do end describe '.active_support_config' do - it 'has a default ttl of 2 weeks' do - expect(described_class.active_support_config[:expires_in]).to eq(2.weeks) + it 'has a default ttl of 8 hours' do + expect(described_class.active_support_config[:expires_in]).to eq(8.hours) end it 'allows configuring the TTL through an env variable' do diff --git a/spec/lib/gitlab/redis/duplicate_jobs_spec.rb b/spec/lib/gitlab/redis/duplicate_jobs_spec.rb index 53e3d73d17e..be20e6dcdaf 100644 --- a/spec/lib/gitlab/redis/duplicate_jobs_spec.rb +++ b/spec/lib/gitlab/redis/duplicate_jobs_spec.rb @@ -46,7 +46,7 @@ RSpec.describe Gitlab::Redis::DuplicateJobs do expect(redis_instance.primary_store.connection[:id]).to eq("redis://test-host:6379/99") expect(redis_instance.primary_store.connection[:namespace]).to be_nil - expect(redis_instance.secondary_store.connection[:id]).to eq("redis:///path/to/redis.sock/0") + expect(redis_instance.secondary_store.connection[:id]).to eq("unix:///path/to/redis.sock/0") expect(redis_instance.secondary_store.connection[:namespace]).to eq("resque:gitlab") expect(redis_instance.instance_name).to eq('DuplicateJobs') diff --git a/spec/lib/gitlab/redis/multi_store_spec.rb b/spec/lib/gitlab/redis/multi_store_spec.rb index ef8549548d7..8b73b5e03c0 100644 --- a/spec/lib/gitlab/redis/multi_store_spec.rb +++ b/spec/lib/gitlab/redis/multi_store_spec.rb @@ -264,13 +264,20 @@ RSpec.describe Gitlab::Redis::MultiStore do context 'when the command is executed within pipelined block' do subject do - multi_store.pipelined do - multi_store.send(name, *args) + multi_store.pipelined do |pipeline| + pipeline.send(name, *args) end end - it 'is executed only 1 time on primary instance' do - expect(primary_store).to receive(name).with(*args).once + it 'is executed only 1 time on primary and secondary instance' do + expect(primary_store).to receive(:pipelined).and_call_original + expect(secondary_store).to receive(:pipelined).and_call_original + + 2.times do + expect_next_instance_of(Redis::PipelinedConnection) do |pipeline| + expect(pipeline).to receive(name).with(*args).once.and_call_original + end + end subject end @@ -438,14 +445,21 @@ RSpec.describe Gitlab::Redis::MultiStore do context 'when the command is executed within pipelined block' do subject do - multi_store.pipelined do - multi_store.send(name, *args) + multi_store.pipelined do |pipeline| + pipeline.send(name, *args) end end it 'is executed only 1 time on each instance', :aggregate_errors do - expect(primary_store).to receive(name).with(*expected_args).once - expect(secondary_store).to receive(name).with(*expected_args).once + expect(primary_store).to receive(:pipelined).and_call_original + expect_next_instance_of(Redis::PipelinedConnection) do |pipeline| + expect(pipeline).to receive(name).with(*expected_args).once.and_call_original + end + + expect(secondary_store).to receive(:pipelined).and_call_original + expect_next_instance_of(Redis::PipelinedConnection) do |pipeline| + expect(pipeline).to receive(name).with(*expected_args).once.and_call_original + end subject end @@ -781,14 +795,20 @@ RSpec.describe Gitlab::Redis::MultiStore do context 'when the command is executed within pipelined block' do subject do - multi_store.pipelined do - multi_store.incr(key) + multi_store.pipelined do |pipeline| + pipeline.incr(key) end end it 'is executed only 1 time on each instance', :aggregate_errors do - expect(primary_store).to receive(:incr).with(key).once - expect(secondary_store).to receive(:incr).with(key).once + expect(primary_store).to receive(:pipelined).once.and_call_original + expect(secondary_store).to receive(:pipelined).once.and_call_original + + 2.times do + expect_next_instance_of(Redis::PipelinedConnection) do |pipeline| + expect(pipeline).to receive(:incr).with(key).once + end + end subject end diff --git a/spec/lib/gitlab/redis/sidekiq_status_spec.rb b/spec/lib/gitlab/redis/sidekiq_status_spec.rb index f641ea40efd..76d130d67f7 100644 --- a/spec/lib/gitlab/redis/sidekiq_status_spec.rb +++ b/spec/lib/gitlab/redis/sidekiq_status_spec.rb @@ -42,7 +42,7 @@ RSpec.describe Gitlab::Redis::SidekiqStatus do expect(redis_instance).to be_instance_of(::Gitlab::Redis::MultiStore) expect(redis_instance.primary_store.connection[:id]).to eq("redis://test-host:6379/99") - expect(redis_instance.secondary_store.connection[:id]).to eq("redis:///path/to/redis.sock/0") + expect(redis_instance.secondary_store.connection[:id]).to eq("unix:///path/to/redis.sock/0") expect(redis_instance.instance_name).to eq('SidekiqStatus') end |