diff options
author | Alexis Reigel <alexis.reigel.ext@siemens.com> | 2017-10-04 13:55:34 +0200 |
---|---|---|
committer | Alexis Reigel <alexis.reigel.ext@siemens.com> | 2018-02-28 09:50:48 +0100 |
commit | 244654fd82b0b8f97446f7c70b9986da1ed91209 (patch) | |
tree | f0f451204c21ba3264a5e230f35aecbb9ce9ff83 | |
parent | cbb60bf9567e74b63afc7763da3e31eee1786b56 (diff) | |
download | gitlab-ce-244654fd82b0b8f97446f7c70b9986da1ed91209.tar.gz |
add method CI::Runner.project?
-rw-r--r-- | app/models/ci/runner.rb | 4 | ||||
-rw-r--r-- | spec/models/ci/runner_spec.rb | 26 |
2 files changed, 27 insertions, 3 deletions
diff --git a/app/models/ci/runner.rb b/app/models/ci/runner.rb index e56a8d15b9a..bad601c9121 100644 --- a/app/models/ci/runner.rb +++ b/app/models/ci/runner.rb @@ -139,6 +139,10 @@ module Ci runner_groups.present? end + def project? + runner_projects.present? + end + def can_pick?(build) return false if self.ref_protected? && !build.protected? diff --git a/spec/models/ci/runner_spec.rb b/spec/models/ci/runner_spec.rb index d599bc30666..78b5db026be 100644 --- a/spec/models/ci/runner_spec.rb +++ b/spec/models/ci/runner_spec.rb @@ -660,9 +660,7 @@ describe Ci::Runner do describe 'group?' do it 'returns false when the runner is a project runner' do project = create :project - runner = create(:ci_runner, description: 'Project runner').tap do |r| - create :ci_runner_project, runner: r, project: project - end + runner = create :ci_runner, description: 'Project runner', projects: [project] expect(runner.group?).to be false end @@ -680,4 +678,26 @@ describe Ci::Runner do expect(runner.group?).to be true end end + + describe 'project?' do + it 'returns false when the runner is a group prunner' do + group = create :group + runner = create :ci_runner, description: 'Group runner', groups: [group] + + expect(runner.project?).to be false + end + + it 'returns false when the runner is a shared runner' do + runner = create :ci_runner, :shared, description: 'Shared runner' + + expect(runner.project?).to be false + end + + it 'returns true when the runner is assigned to a project' do + project = create :project + runner = create :ci_runner, description: 'Group runner', projects: [project] + + expect(runner.project?).to be true + end + end end |