Skip to content
Snippets Groups Projects
Commit a5ab418c authored by Grzegorz Bizon's avatar Grzegorz Bizon
Browse files

Add missing specs for update build queue service

parent ecb9f978
No related branches found
No related tags found
No related merge requests found
Loading
@@ -7,11 +7,13 @@ module Ci
Loading
@@ -7,11 +7,13 @@ module Ci
end end
end end
   
return unless build.project.shared_runners_enabled?
Ci::Runner.shared.each do |runner| Ci::Runner.shared.each do |runner|
if runner.can_pick?(build) if runner.can_pick?(build)
runner.tick_runner_queue runner.tick_runner_queue
end end
end if build.project.shared_runners_enabled? end
end end
end end
end end
require 'spec_helper'
describe Ci::UpdateBuildQueueService, :services do
let(:project) { create(:project) }
let(:build) { create(:ci_build, pipeline: pipeline) }
let(:pipeline) { create(:ci_pipeline, project: project) }
context 'when updating specific runners' do
let(:runner) { create(:ci_runner) }
context 'when there are runner that can pick build' do
before { build.project.runners << runner }
it 'ticks runner queue value' do
expect { subject.execute(build) }
.to change { runner.ensure_runner_queue_value }
end
end
context 'when there are no runners that can pick build' do
it 'does not tick runner queue value' do
expect { subject.execute(build) }
.not_to change { runner.ensure_runner_queue_value }
end
end
end
context 'when updating shared runners' do
let(:runner) { create(:ci_runner, :shared) }
context 'when there are runner that can pick build' do
it 'ticks runner queue value' do
expect { subject.execute(build) }
.to change { runner.ensure_runner_queue_value }
end
end
context 'when there are no runners that can pick build' do
before { build.tag_list = [:docker] }
it 'does not tick runner queue value' do
expect { subject.execute(build) }
.not_to change { runner.ensure_runner_queue_value }
end
end
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment