Sha256: 415199809da0ad64cb296932dc87ce64fb8d067199ca93e6e3000c0e36ee84bd
Contents?: true
Size: 1.74 KB
Versions: 1
Compression:
Stored size: 1.74 KB
Contents
describe Sidekiq::QueueMetrics::Storage do let(:redis_connection) { Redis.new } let(:queue) { 'mailer_queue' } let(:job) { {'queue' => queue, 'args' => [1]} } before(:all) do Sidekiq.redis = ConnectionPool.new { redis_connection } end before { redis_connection.flushall } describe '#add_failed_job' do it 'should add first failed job' do expect do Sidekiq::QueueMetrics::Storage.add_failed_job(job) end.to change{ Sidekiq::QueueMetrics::Storage.failed_jobs(queue).length }.from(0).to(1) end it 'should add failed job to existing jobs' do Sidekiq::QueueMetrics::Storage.add_failed_job(job) expect do Sidekiq::QueueMetrics::Storage.add_failed_job({'queue' => queue, 'args' => [2]}) end.to change{ Sidekiq::QueueMetrics::Storage.failed_jobs(queue).length }.from(1).to(2) end it 'should delete old job when failed jobs limit has reached' do Sidekiq::QueueMetrics::Storage.add_failed_job(job) Sidekiq::QueueMetrics::Storage.add_failed_job({'queue' => queue, 'args' => [2]}) expect do Sidekiq::QueueMetrics::Storage.add_failed_job({'queue' => queue, 'args' => [3]}, 2) end.to_not change { Sidekiq::QueueMetrics::Storage.failed_jobs(queue).length } end end describe '#failed_jobs' do context 'when failed jobs are not present' do it 'should return failed jobs for a given queue' do expect(Sidekiq::QueueMetrics::Storage.failed_jobs(queue)).to be_empty end end context 'when failed jobs are present' do it 'should return failed jobs for a given queue' do Sidekiq::QueueMetrics::Storage.add_failed_job(job) expect(Sidekiq::QueueMetrics::Storage.failed_jobs(queue)).to eq([job]) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
sidekiq_queue_metrics-3.0.0 | spec/lib/sidekiq_queue_metrics/storage_spec.rb |