debian-mirror-gitlab/spec/workers/every_sidekiq_worker_spec.rb

39 lines
1.5 KiB
Ruby
Raw Normal View History

2019-05-18 00:54:41 +05:30
# frozen_string_literal: true
2016-11-03 12:29:30 +05:30
require 'spec_helper'
describe 'Every Sidekiq worker' do
it 'does not use the default queue' do
2018-03-17 18:26:18 +05:30
expect(Gitlab::SidekiqConfig.workers.map(&:queue)).not_to include('default')
2016-11-03 12:29:30 +05:30
end
it 'uses the cronjob queue when the worker runs as a cronjob' do
2018-03-17 18:26:18 +05:30
expect(Gitlab::SidekiqConfig.cron_workers.map(&:queue)).to all(start_with('cronjob:'))
end
2016-11-03 12:29:30 +05:30
2019-02-15 15:39:39 +05:30
it 'has its queue in Gitlab::SidekiqConfig::QUEUE_CONFIG_PATHS', :aggregate_failures do
2018-03-17 18:26:18 +05:30
file_worker_queues = Gitlab::SidekiqConfig.worker_queues.to_set
2016-11-03 12:29:30 +05:30
2018-03-17 18:26:18 +05:30
worker_queues = Gitlab::SidekiqConfig.workers.map(&:queue).to_set
2018-11-08 19:23:39 +05:30
worker_queues << ActionMailer::DeliveryJob.new.queue_name
2018-03-17 18:26:18 +05:30
worker_queues << 'default'
missing_from_file = worker_queues - file_worker_queues
2019-02-15 15:39:39 +05:30
expect(missing_from_file).to be_empty, "expected #{missing_from_file.to_a.inspect} to be in Gitlab::SidekiqConfig::QUEUE_CONFIG_PATHS"
2018-03-17 18:26:18 +05:30
unncessarily_in_file = file_worker_queues - worker_queues
2019-02-15 15:39:39 +05:30
expect(unncessarily_in_file).to be_empty, "expected #{unncessarily_in_file.to_a.inspect} not to be in Gitlab::SidekiqConfig::QUEUE_CONFIG_PATHS"
2016-11-03 12:29:30 +05:30
end
2018-03-17 18:26:18 +05:30
it 'has its queue or namespace in config/sidekiq_queues.yml', :aggregate_failures do
config_queues = Gitlab::SidekiqConfig.config_queues.to_set
Gitlab::SidekiqConfig.workers.each do |worker|
queue = worker.queue
queue_namespace = queue.split(':').first
2016-11-03 12:29:30 +05:30
2018-03-17 18:26:18 +05:30
expect(config_queues).to include(queue).or(include(queue_namespace))
2016-11-03 12:29:30 +05:30
end
end
end