1
0
Fork 0
mirror of https://github.com/mperham/sidekiq.git synced 2022-11-09 13:52:34 -05:00
mperham--sidekiq/test/test_manager.rb
Mike Perham 67daa7a408
Prepare for upcoming Sidekiq::Config redesign (#5340)
* Prepare for upcoming Sidekiq::Config redesign

Adjust the server internals to use a config object rather than refering directly to the Sidekiq module.
2022-05-31 13:37:31 -07:00

41 lines
900 B
Ruby

# frozen_string_literal: true
require_relative "helper"
require "sidekiq/manager"
describe Sidekiq::Manager do
before do
Sidekiq.redis { |c| c.flushdb }
Sidekiq.reset!
@config = Sidekiq
@config[:fetch] = Sidekiq::BasicFetch.new(@config)
end
def new_manager
Sidekiq::Manager.new(@config)
end
it "creates N processor instances" do
mgr = new_manager
assert_equal @config[:concurrency], mgr.workers.size
end
it "shuts down the system" do
mgr = new_manager
mgr.stop(::Process.clock_gettime(::Process::CLOCK_MONOTONIC))
end
it "throws away dead processors" do
mgr = new_manager
init_size = mgr.workers.size
processor = mgr.workers.first
begin
mgr.processor_result(processor, "ignored")
assert_equal init_size, mgr.workers.size
refute mgr.workers.include?(processor)
ensure
mgr.quiet
end
end
end