summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzesiek.bizon@gmail.com>2018-03-23 12:26:21 +0100
committerGrzegorz Bizon <grzesiek.bizon@gmail.com>2018-03-23 12:26:21 +0100
commit0335d09e5886288de19e5320e13607e4c70fb4ab (patch)
treedda1e5127314d15dce3a8011a82beb1398e8f0be
parentf2ec6c1c344b09b3a911c1fbb69aacb7f15082c5 (diff)
downloadgitlab-ce-0335d09e5886288de19e5320e13607e4c70fb4ab.tar.gz
Integrate variables policy with new pipeline services
-rw-r--r--lib/gitlab/ci/build/policy/kubernetes.rb2
-rw-r--r--lib/gitlab/ci/build/policy/refs.rb2
-rw-r--r--lib/gitlab/ci/build/policy/specification.rb2
-rw-r--r--lib/gitlab/ci/build/policy/variables.rb2
-rw-r--r--lib/gitlab/ci/pipeline/expression/statement.rb6
-rw-r--r--spec/lib/gitlab/ci/build/policy/variables_spec.rb14
6 files changed, 14 insertions, 14 deletions
diff --git a/lib/gitlab/ci/build/policy/kubernetes.rb b/lib/gitlab/ci/build/policy/kubernetes.rb
index 29a7fa24921..5d2c1163665 100644
--- a/lib/gitlab/ci/build/policy/kubernetes.rb
+++ b/lib/gitlab/ci/build/policy/kubernetes.rb
@@ -9,7 +9,7 @@ module Gitlab
end
end
- def satisfied_by?(pipeline, _attributes = nil)
+ def satisfied_by?(pipeline, _build = nil)
pipeline.has_kubernetes_active?
end
end
diff --git a/lib/gitlab/ci/build/policy/refs.rb b/lib/gitlab/ci/build/policy/refs.rb
index 379671f1f4f..9bee5ba43c0 100644
--- a/lib/gitlab/ci/build/policy/refs.rb
+++ b/lib/gitlab/ci/build/policy/refs.rb
@@ -7,7 +7,7 @@ module Gitlab
@patterns = Array(refs)
end
- def satisfied_by?(pipeline, _attributes = nil)
+ def satisfied_by?(pipeline, _build = nil)
@patterns.any? do |pattern|
pattern, path = pattern.split('@', 2)
diff --git a/lib/gitlab/ci/build/policy/specification.rb b/lib/gitlab/ci/build/policy/specification.rb
index 31c444b55f5..937d8504ef7 100644
--- a/lib/gitlab/ci/build/policy/specification.rb
+++ b/lib/gitlab/ci/build/policy/specification.rb
@@ -15,7 +15,7 @@ module Gitlab
@spec = spec
end
- def satisfied_by?(pipeline, attributes = nil)
+ def satisfied_by?(pipeline, build = nil)
raise NotImplementedError
end
end
diff --git a/lib/gitlab/ci/build/policy/variables.rb b/lib/gitlab/ci/build/policy/variables.rb
index 7c0fe6f367d..ec6c64d9547 100644
--- a/lib/gitlab/ci/build/policy/variables.rb
+++ b/lib/gitlab/ci/build/policy/variables.rb
@@ -7,7 +7,7 @@ module Gitlab
@expressions = Array(expressions)
end
- def satisfied_by?(pipeline, attributes)
+ def satisfied_by?(pipeline, build)
statements = @expressions.map do |statement|
::Gitlab::Ci::Pipeline::Expression::Statement
.new(statement, pipeline)
diff --git a/lib/gitlab/ci/pipeline/expression/statement.rb b/lib/gitlab/ci/pipeline/expression/statement.rb
index 21675065c2b..f0f3d760b70 100644
--- a/lib/gitlab/ci/pipeline/expression/statement.rb
+++ b/lib/gitlab/ci/pipeline/expression/statement.rb
@@ -19,10 +19,10 @@ module Gitlab
return if pipeline.nil?
- # temporary refactoring stubs
+ # REFACTORING, temporary refactoring stubs
#
@variables = pipeline.project.predefined_variables.map do |variable|
- [variable.fetch(:key), variable.fetch(:value)]
+ [variable[:key], variable[:value]]
end
@variables += pipeline.variables.map do |variable|
@@ -30,7 +30,7 @@ module Gitlab
end
@variables += pipeline.predefined_variables.map do |variable|
- [variable.fetch(:key), variable.fetch(:value)]
+ [variable[:key], variable[:value]]
end
end
diff --git a/spec/lib/gitlab/ci/build/policy/variables_spec.rb b/spec/lib/gitlab/ci/build/policy/variables_spec.rb
index 95a3ab8b329..ce229ed256a 100644
--- a/spec/lib/gitlab/ci/build/policy/variables_spec.rb
+++ b/spec/lib/gitlab/ci/build/policy/variables_spec.rb
@@ -1,8 +1,8 @@
require 'spec_helper'
describe Gitlab::Ci::Build::Policy::Variables do
- let(:pipeline) { build(:ci_pipeline, ref: 'master') }
- let(:attributes) { double(:attributes) }
+ let(:pipeline) { build_stubbed(:ci_empty_pipeline, ref: 'master') }
+ let(:build) { build_stubbed(:ci_build, pipeline: pipeline, ref: 'master') }
before do
pipeline.variables.build(key: 'CI_PROJECT_NAME', value: '')
@@ -12,31 +12,31 @@ describe Gitlab::Ci::Build::Policy::Variables do
it 'is satisfied by a defined and existing variable' do
policy = described_class.new(['$CI_PROJECT_ID', '$UNDEFINED'])
- expect(policy).to be_satisfied_by(pipeline, attributes)
+ expect(policy).to be_satisfied_by(pipeline, build)
end
it 'is not satisfied by an overriden empty variable' do
policy = described_class.new(['$CI_PROJECT_NAME'])
- expect(policy).not_to be_satisfied_by(pipeline, attributes)
+ expect(policy).not_to be_satisfied_by(pipeline, build)
end
it 'is satisfied by a truthy pipeline expression' do
policy = described_class.new([%($CI_PIPELINE_SOURCE == "#{pipeline.source}")])
- expect(policy).to be_satisfied_by(pipeline, attributes)
+ expect(policy).to be_satisfied_by(pipeline, build)
end
it 'is not satisfied by a falsy pipeline expression' do
policy = described_class.new([%($CI_PIPELINE_SOURCE == "invalid source")])
- expect(policy).not_to be_satisfied_by(pipeline, attributes)
+ expect(policy).not_to be_satisfied_by(pipeline, build)
end
it 'is satisfied by a truthy expression using undefined variable' do
policy = described_class.new(['$UNDEFINED', '$UNDEFINED == null'])
- expect(policy).to be_satisfied_by(pipeline, attributes)
+ expect(policy).to be_satisfied_by(pipeline, build)
end
end
end