Sha256: d94637fcb17c054a80fed3b161f14807532d356ac55f95fd6b0aaa525105f546
Contents?: true
Size: 1.33 KB
Versions: 2
Compression:
Stored size: 1.33 KB
Contents
require 'spec_helper' describe Sidekiq::Batching::Redis do subject { Sidekiq::Batching::Redis.new } let(:queue_name) { "my_queue" } let(:key) { "batching:#{queue_name}" } let(:unique_key) { "batching:#{queue_name}:unique_messages" } describe "#push_msg" do it "adds message to queue" do subject.push_msg(queue_name, 'My message') expect(redis { |c| c.llen key }).to eq 1 expect(redis { |c| c.lrange key, 0, 1 }).to eq ['My message'] expect(redis { |c| c.smembers unique_key}).to eq [] end it "remembers unique message if specified" do subject.push_msg(queue_name, 'My message', true) expect(redis { |c| c.smembers unique_key}).to eq ['My message'] end end describe "#pluck" do it "removes messages from queue" do subject.push_msg(queue_name, "Message 1") subject.push_msg(queue_name, "Message 2") subject.pluck(queue_name, 2) expect(redis { |c| c.llen key }).to eq 0 end it "forgets unique messages" do subject.push_msg(queue_name, "Message 1", true) subject.push_msg(queue_name, "Message 2", true) expect(redis { |c| c.scard unique_key }).to eq 2 subject.pluck(queue_name, 2) expect(redis { |c| c.smembers unique_key }).to eq [] end end private def redis(&block) Sidekiq.redis(&block) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
sidekiq-batching-0.0.5 | spec/modules/redis_spec.rb |
sidekiq-batching-0.0.4 | spec/modules/redis_spec.rb |