diff options
author | Douwe Maan <douwe@selenight.nl> | 2017-12-12 17:21:00 +0100 |
---|---|---|
committer | Douwe Maan <douwe@selenight.nl> | 2017-12-13 16:28:26 +0100 |
commit | 3cad04cd51fb2453e33044a0eb2923dd389c2d20 (patch) | |
tree | b3169a93b7f4d3dc1429fa98cf09abb4a3a5c61a /spec/rubocop | |
parent | 0ec81dd5ac480120e7ac2b76189ee7978d5c48e8 (diff) | |
download | gitlab-ce-3cad04cd51fb2453e33044a0eb2923dd389c2d20.tar.gz |
Add rubocops to ensure Sidekiq workers include ApplicationWorker and don't manually set their queue
Diffstat (limited to 'spec/rubocop')
-rw-r--r-- | spec/rubocop/cop/include_sidekiq_worker_spec.rb | 31 | ||||
-rw-r--r-- | spec/rubocop/cop/sidekiq_options_queue_spec.rb | 26 |
2 files changed, 57 insertions, 0 deletions
diff --git a/spec/rubocop/cop/include_sidekiq_worker_spec.rb b/spec/rubocop/cop/include_sidekiq_worker_spec.rb new file mode 100644 index 00000000000..7f406535dda --- /dev/null +++ b/spec/rubocop/cop/include_sidekiq_worker_spec.rb @@ -0,0 +1,31 @@ +require 'spec_helper' +require 'rubocop' +require 'rubocop/rspec/support' +require_relative '../../../rubocop/cop/include_sidekiq_worker' + +describe RuboCop::Cop::IncludeSidekiqWorker do + include CopHelper + + subject(:cop) { described_class.new } + + context 'when `Sidekiq::Worker` is included' do + let(:source) { 'include Sidekiq::Worker' } + let(:correct_source) { 'include ApplicationWorker' } + + it 'registers an offense ' do + inspect_source(cop, source) + + aggregate_failures do + expect(cop.offenses.size).to eq(1) + expect(cop.offenses.map(&:line)).to eq([1]) + expect(cop.highlights).to eq(['Sidekiq::Worker']) + end + end + + it 'autocorrects to the right version' do + autocorrected = autocorrect_source(cop, source) + + expect(autocorrected).to eq(correct_source) + end + end +end diff --git a/spec/rubocop/cop/sidekiq_options_queue_spec.rb b/spec/rubocop/cop/sidekiq_options_queue_spec.rb new file mode 100644 index 00000000000..a31de381631 --- /dev/null +++ b/spec/rubocop/cop/sidekiq_options_queue_spec.rb @@ -0,0 +1,26 @@ +require 'spec_helper' +require 'rubocop' +require 'rubocop/rspec/support' +require_relative '../../../rubocop/cop/sidekiq_options_queue' + +describe RuboCop::Cop::SidekiqOptionsQueue do + include CopHelper + + subject(:cop) { described_class.new } + + it 'registers an offense when `sidekiq_options` is used with the `queue` option' do + inspect_source(cop, 'sidekiq_options queue: "some_queue"') + + aggregate_failures do + expect(cop.offenses.size).to eq(1) + expect(cop.offenses.map(&:line)).to eq([1]) + expect(cop.highlights).to eq(['queue: "some_queue"']) + end + end + + it 'does not register an offense when `sidekiq_options` is used with another option' do + inspect_source(cop, 'sidekiq_options retry: false') + + expect(cop.offenses).to be_empty + end +end |