diff options
author | Alexis Reigel <alexis.reigel.ext@siemens.com> | 2017-10-05 13:53:18 +0200 |
---|---|---|
committer | Alexis Reigel <alexis.reigel.ext@siemens.com> | 2018-04-23 09:21:49 +0200 |
commit | a5f5a27df5d3055612fc8c2686ef3b9ab20bd85e (patch) | |
tree | 309bd432d4d520bdc4fe3b4fab1b0f2037b0c308 /spec/models | |
parent | 743c32270e2913a19999bd32d6208e80dd62dc2a (diff) | |
download | gitlab-ce-a5f5a27df5d3055612fc8c2686ef3b9ab20bd85e.tar.gz |
include group runners in Project#any_runners?
Diffstat (limited to 'spec/models')
-rw-r--r-- | spec/models/project_spec.rb | 87 |
1 files changed, 61 insertions, 26 deletions
diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb index 2675c2f52c1..9657e5011b1 100644 --- a/spec/models/project_spec.rb +++ b/spec/models/project_spec.rb @@ -1139,44 +1139,79 @@ describe Project do end describe '#any_runners' do - let(:project) { create(:project, shared_runners_enabled: shared_runners_enabled) } - let(:specific_runner) { create(:ci_runner) } - let(:shared_runner) { create(:ci_runner, :shared) } + context 'shared runners' do + let(:project) { create :project, shared_runners_enabled: shared_runners_enabled } + let(:specific_runner) { create :ci_runner } + let(:shared_runner) { create :ci_runner, :shared } - context 'for shared runners disabled' do - let(:shared_runners_enabled) { false } + context 'for shared runners disabled' do + let(:shared_runners_enabled) { false } - it 'has no runners available' do - expect(project.any_runners?).to be_falsey - end + it 'has no runners available' do + expect(project.any_runners?).to be_falsey + end - it 'has a specific runner' do - project.runners << specific_runner - expect(project.any_runners?).to be_truthy - end + it 'has a specific runner' do + project.runners << specific_runner + expect(project.any_runners?).to be_truthy + end + + it 'has a shared runner, but they are prohibited to use' do + shared_runner + expect(project.any_runners?).to be_falsey + end - it 'has a shared runner, but they are prohibited to use' do - shared_runner - expect(project.any_runners?).to be_falsey + it 'checks the presence of specific runner' do + project.runners << specific_runner + expect(project.any_runners? { |runner| runner == specific_runner }).to be_truthy + end end - it 'checks the presence of specific runner' do - project.runners << specific_runner - expect(project.any_runners? { |runner| runner == specific_runner }).to be_truthy + context 'for shared runners enabled' do + let(:shared_runners_enabled) { true } + + it 'has a shared runner' do + shared_runner + expect(project.any_runners?).to be_truthy + end + + it 'checks the presence of shared runner' do + shared_runner + expect(project.any_runners? { |runner| runner == shared_runner }).to be_truthy + end end end - context 'for shared runners enabled' do - let(:shared_runners_enabled) { true } + context 'group runners' do + let(:project) { create :project, group_runners_enabled: group_runners_enabled } + let(:group) { create :group, projects: [project] } + let(:group_runner) { create :ci_runner, groups: [group] } + + context 'for group runners disabled' do + let(:group_runners_enabled) { false } - it 'has a shared runner' do - shared_runner - expect(project.any_runners?).to be_truthy + it 'has no runners available' do + expect(project.any_runners?).to be_falsey + end + + it 'has a group runner, but they are prohibited to use' do + group_runner + expect(project.any_runners?).to be_falsey + end end - it 'checks the presence of shared runner' do - shared_runner - expect(project.any_runners? { |runner| runner == shared_runner }).to be_truthy + context 'for group runners enabled' do + let(:group_runners_enabled) { true } + + it 'has a group runner' do + group_runner + expect(project.any_runners?).to be_truthy + end + + it 'checks the presence of group runner' do + group_runner + expect(project.any_runners? { |runner| runner == group_runner }).to be_truthy + end end end end |