diff options
author | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2017-09-18 14:29:43 +0200 |
---|---|---|
committer | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2017-09-18 14:29:43 +0200 |
commit | d79ad28fcb44c35d77de26d428ae61bc6d71e8ec (patch) | |
tree | 0eab721907e46ad6f91b22f719850f32529569f9 /spec/lib | |
parent | 6681ea9cd8d7001a352c95237d625057b6147f0b (diff) | |
download | gitlab-ce-d79ad28fcb44c35d77de26d428ae61bc6d71e8ec.tar.gz |
Do not pass project path from YAML processor
Use project full path that can be received from a pipeline object
Diffstat (limited to 'spec/lib')
-rw-r--r-- | spec/lib/gitlab/ci/build/policy/refs_spec.rb | 6 | ||||
-rw-r--r-- | spec/lib/gitlab/ci/yaml_processor_spec.rb | 33 |
2 files changed, 27 insertions, 12 deletions
diff --git a/spec/lib/gitlab/ci/build/policy/refs_spec.rb b/spec/lib/gitlab/ci/build/policy/refs_spec.rb index 2eb612800fb..7211187e511 100644 --- a/spec/lib/gitlab/ci/build/policy/refs_spec.rb +++ b/spec/lib/gitlab/ci/build/policy/refs_spec.rb @@ -46,13 +46,13 @@ describe Gitlab::Ci::Build::Policy::Refs do end it 'is satisfied when provided patch matches specified one' do - expect(described_class.new(%w[master@some/repository])) - .to be_satisfied_by(pipeline, path: 'some/repository') + expect(described_class.new(%W[master@#{pipeline.project_full_path}])) + .to be_satisfied_by(pipeline) end it 'is not satisfied when path differs' do expect(described_class.new(%w[master@some/fork/repository])) - .not_to be_satisfied_by(pipeline, path: 'some/repository') + .not_to be_satisfied_by(pipeline) end end diff --git a/spec/lib/gitlab/ci/yaml_processor_spec.rb b/spec/lib/gitlab/ci/yaml_processor_spec.rb index 6637a235822..4b166cf3010 100644 --- a/spec/lib/gitlab/ci/yaml_processor_spec.rb +++ b/spec/lib/gitlab/ci/yaml_processor_spec.rb @@ -340,14 +340,20 @@ module Gitlab end it "returns builds if only has current repository path" do + seed_pipeline = pipeline(ref: 'deploy') + config = YAML.dump({ before_script: ["pwd"], - rspec: { script: "rspec", type: type, only: ["branches@path"] } + rspec: { + script: "rspec", + type: type, + only: ["branches@#{seed_pipeline.project_full_path}"] + } }) config_processor = Gitlab::Ci::YamlProcessor.new(config, path) - expect(config_processor.pipeline_stage_builds(type, pipeline(ref: "deploy")).size).to eq(1) + expect(config_processor.pipeline_stage_builds(type, seed_pipeline).size).to eq(1) end it "does not return builds if only has different repository path" do @@ -517,14 +523,19 @@ module Gitlab end it "does not return builds if except has current repository path" do + seed_pipeline = pipeline(ref: 'deploy') + config = YAML.dump({ before_script: ["pwd"], - rspec: { script: "rspec", type: type, except: ["branches@path"] } + rspec: { + script: "rspec", + type: type, + except: ["branches@#{seed_pipeline.project_full_path}"] } }) config_processor = Gitlab::Ci::YamlProcessor.new(config, path) - expect(config_processor.pipeline_stage_builds(type, pipeline(ref: "deploy")).size).to eq(0) + expect(config_processor.pipeline_stage_builds(type, seed_pipeline).size).to eq(0) end it "returns builds if except has different repository path" do @@ -539,18 +550,22 @@ module Gitlab end it "returns build except specified type" do + master_pipeline = pipeline(ref: 'master') + test_pipeline = pipeline(ref: 'test') + deploy_pipeline = pipeline(ref: 'deploy') + config = YAML.dump({ before_script: ["pwd"], - rspec: { script: "rspec", type: "test", except: ["master", "deploy", "test@fork"] }, + rspec: { script: "rspec", type: "test", except: ["master", "deploy", "test@#{test_pipeline.project_full_path}"] }, staging: { script: "deploy", type: "deploy", except: ["master"] }, - production: { script: "deploy", type: "deploy", except: ["master@fork"] } + production: { script: "deploy", type: "deploy", except: ["master@#{master_pipeline.project_full_path}"] } }) config_processor = Gitlab::Ci::YamlProcessor.new(config, 'fork') - expect(config_processor.pipeline_stage_builds("deploy", pipeline(ref: "deploy")).size).to eq(2) - expect(config_processor.pipeline_stage_builds("test", pipeline(ref: "test")).size).to eq(0) - expect(config_processor.pipeline_stage_builds("deploy", pipeline(ref: "master")).size).to eq(0) + expect(config_processor.pipeline_stage_builds("deploy", deploy_pipeline).size).to eq(2) + expect(config_processor.pipeline_stage_builds("test", test_pipeline).size).to eq(0) + expect(config_processor.pipeline_stage_builds("deploy", master_pipeline).size).to eq(0) end context 'for invalid value' do |