Skip to content

Commit

Permalink
Merge pull request #168 from tpitale/sh-update-redis-v5-gem
Browse files Browse the repository at this point in the history
  • Loading branch information
tpitale authored Jun 4, 2024
2 parents 8a8d302 + 80d2347 commit b4e8e97
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 17 deletions.
2 changes: 1 addition & 1 deletion mail_room.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ Gem::Specification.new do |gem|
gem.add_development_dependency "faraday"
gem.add_development_dependency "mail"
gem.add_development_dependency "letter_opener"
gem.add_development_dependency "redis", "~> 4"
gem.add_development_dependency "redis", "~> 5"
gem.add_development_dependency "redis-namespace"
gem.add_development_dependency "pg"
gem.add_development_dependency "charlock_holmes"
Expand Down
13 changes: 7 additions & 6 deletions spec/lib/arbitration/redis_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@
it 'client has same specified url' do
subject.deliver?(123)

expect(raw_client.options[:url]).to eq redis_url
expect(raw_client.config.server_url).to eq redis_url
end

it 'client is a instance of Redis class' do
Expand Down Expand Up @@ -135,13 +135,14 @@
)
}

before { ::Redis::Client::Connector::Sentinel.any_instance.stubs(:resolve).returns(sentinels) }
before { ::RedisClient::SentinelConfig.any_instance.stubs(:resolve_master).returns(RedisClient::Config.new(**sentinels.first)) }

it 'client has same specified sentinel params' do
expect(raw_client.instance_variable_get(:@connector)).to be_a Redis::Client::Connector::Sentinel
expect(raw_client.options[:host]).to eq('sentinel-master')
expect(raw_client.options[:password]).to eq('mypassword')
expect(raw_client.options[:sentinels]).to eq(sentinels)
expect(raw_client.config).to be_a RedisClient::SentinelConfig
expect(raw_client.config.name).to eq('sentinel-master')
expect(raw_client.config.host).to eq('10.0.0.1')
expect(raw_client.config.password).to eq('mypassword')
expect(raw_client.config.sentinels.map(&:server_url)).to eq(["redis://10.0.0.1:26379"])
end
end
end
Expand Down
21 changes: 11 additions & 10 deletions spec/lib/delivery/sidekiq_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
let(:options) { MailRoom::Delivery::Sidekiq::Options.new(mailbox) }

describe '#options' do
let(:redis_url) { 'redis://localhost' }
let(:redis_url) { 'redis://localhost:6379' }
let(:redis_options) { { redis_url: redis_url } }

context 'when only redis_url is specified' do
Expand All @@ -21,7 +21,7 @@

context 'with simple redis url' do
it 'client has same specified redis_url' do
expect(raw_client.options[:url]).to eq(redis_url)
expect(raw_client.config.server_url).to eq(redis_url)
end

it 'client is a instance of RedisNamespace class' do
Expand All @@ -40,12 +40,12 @@
end

it 'client has correct redis_url' do
expect(raw_client.options[:url]).to eq(redis_url)
expect(raw_client.config.server_url).to eq("#{redis_url}/4")
end

it 'connection has correct values' do
expect(redis.connection[:host]).to eq('localhost')
expect(redis.connection[:db]).to eq(4)
expect(raw_client.config.host).to eq('localhost')
expect(raw_client.config.db).to eq(4)
end
end
end
Expand Down Expand Up @@ -84,13 +84,14 @@
)
}

before { ::Redis::Client::Connector::Sentinel.any_instance.stubs(:resolve).returns(sentinels) }
before { ::RedisClient::SentinelConfig.any_instance.stubs(:resolve_master).returns(RedisClient::Config.new(**sentinels.first)) }

it 'client has same specified sentinel params' do
expect(raw_client.instance_variable_get(:@connector)).to be_a Redis::Client::Connector::Sentinel
expect(raw_client.options[:host]).to eq('sentinel-master')
expect(raw_client.options[:password]).to eq('mypassword')
expect(raw_client.options[:sentinels]).to eq(sentinels)
expect(raw_client.config).to be_a RedisClient::SentinelConfig
expect(raw_client.config.host).to eq('10.0.0.1')
expect(raw_client.config.name).to eq('sentinel-master')
expect(raw_client.config.password).to eq('mypassword')
expect(raw_client.config.sentinels.map(&:server_url)).to eq(["redis://10.0.0.1:26379"])
end
end

Expand Down

0 comments on commit b4e8e97

Please sign in to comment.