summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Doits <markus.doits@stellenticket.de>2018-11-07 14:21:44 +0100
committerMarkus Doits <markus.doits@stellenticket.de>2018-11-07 14:21:44 +0100
commit0c59fdaab69e93e2f00fdf70f2a31bb095e3d8d0 (patch)
tree7442fe6d661b4275a89b99b2b18289527f55bd03
parent1c807d01d461e391d1d0ef56d198784c1884eacc (diff)
downloadgitlab-ce-0c59fdaab69e93e2f00fdf70f2a31bb095e3d8d0.tar.gz
fix merge conflict
-rw-r--r--spec/lib/gitlab/ci/config/entry/job_spec.rb356
1 files changed, 0 insertions, 356 deletions
diff --git a/spec/lib/gitlab/ci/config/entry/job_spec.rb b/spec/lib/gitlab/ci/config/entry/job_spec.rb
index 79e50d7152d..ac9b0c674a5 100644
--- a/spec/lib/gitlab/ci/config/entry/job_spec.rb
+++ b/spec/lib/gitlab/ci/config/entry/job_spec.rb
@@ -98,183 +98,6 @@ describe Gitlab::Ci::Config::Entry::Job do
end
end
-<<<<<<< HEAD
- context 'when retry value is correct' do
- context 'when it is a numeric' do
- let(:config) { { script: 'rspec', retry: 2 } }
-
- it 'is valid' do
- expect(entry).to be_valid
- end
- end
-
- context 'when it is a hash without when' do
- let(:config) { { script: 'rspec', retry: { max: 2 } } }
-
- it 'is valid' do
- expect(entry).to be_valid
- end
- end
-
- context 'when it is a hash with string when' do
- let(:config) { { script: 'rspec', retry: { max: 2, when: 'unknown_failure' } } }
-
- it 'is valid' do
- expect(entry).to be_valid
- end
- end
-
- context 'when it is a hash with string when always' do
- let(:config) { { script: 'rspec', retry: { max: 2, when: 'always' } } }
-
- it 'is valid' do
- expect(entry).to be_valid
- end
- end
-
- context 'when it is a hash with array when' do
- let(:config) { { script: 'rspec', retry: { max: 2, when: %w[unknown_failure runner_system_failure] } } }
-
- it 'is valid' do
- expect(entry).to be_valid
- end
- end
-
- # Those values are documented at `doc/ci/yaml/README.md`. If any of
- # those values gets invalid, documentation must be updated. To make
- # sure this is catched, check explicitly that all of the documented
- # values are valid. If they are not it means the documentation and this
- # array must be updated.
- RETRY_WHEN_IN_DOCUMENTATION = %w[
- always
- unknown_failure
- script_failure
- api_failure
- stuck_or_timeout_failure
- runner_system_failure
- missing_dependency_failure
- runner_unsupported
- ].freeze
-
- RETRY_WHEN_IN_DOCUMENTATION.each do |reason|
- context "when it is a hash with value from documentation `#{reason}`" do
- let(:config) { { script: 'rspec', retry: { max: 2, when: reason } } }
-
- it 'is valid' do
- expect(entry).to be_valid
- end
- end
- end
- end
-
- context 'when retry value is not correct' do
- context 'when it is not a numeric nor an array' do
- let(:config) { { retry: true } }
-
- it 'returns error about invalid type' do
- expect(entry).not_to be_valid
- expect(entry.errors).to include 'job retry should be a hash or an integer'
- end
- end
-
- context 'not defined as a hash' do
- context 'when it is lower than zero' do
- let(:config) { { retry: -1 } }
-
- it 'returns error about value too low' do
- expect(entry).not_to be_valid
- expect(entry.errors)
- .to include 'job retry max must be greater than or equal to 0'
- end
- end
-
- context 'when it is not an integer' do
- let(:config) { { retry: 1.5 } }
-
- it 'returns error about wrong value' do
- expect(entry).not_to be_valid
- expect(entry.errors).to include 'job retry should be a hash or an integer'
- end
- end
-
- context 'when the value is too high' do
- let(:config) { { retry: 10 } }
-
- it 'returns error about value too high' do
- expect(entry).not_to be_valid
- expect(entry.errors).to include 'job retry max must be less than or equal to 2'
- end
- end
- end
-
- context 'defined as a hash' do
- context 'with unknown keys' do
- let(:config) { { retry: { max: 2, unknown_key: :something, one_more: :key } } }
-
- it 'returns error about the unknown key' do
- expect(entry).not_to be_valid
- expect(entry.errors)
- .to include 'job retry contains unknown keys: unknown_key, one_more'
- end
- end
-
- context 'when max is lower than zero' do
- let(:config) { { retry: { max: -1 } } }
-
- it 'returns error about value too low' do
- expect(entry).not_to be_valid
- expect(entry.errors)
- .to include 'job retry max must be greater than or equal to 0'
- end
- end
-
- context 'when max is not an integer' do
- let(:config) { { retry: { max: 1.5 } } }
-
- it 'returns error about wrong value' do
- expect(entry).not_to be_valid
- expect(entry.errors).to include 'job retry max must be an integer'
- end
- end
-
- context 'when max is too high' do
- let(:config) { { retry: { max: 10 } } }
-
- it 'returns error about value too high' do
- expect(entry).not_to be_valid
- expect(entry.errors).to include 'job retry max must be less than or equal to 2'
- end
- end
-
- context 'when when has the wrong format' do
- let(:config) { { retry: { when: true } } }
-
- it 'returns error about the wrong format' do
- expect(entry).not_to be_valid
- expect(entry.errors).to include 'job retry max must be an integer'
- end
- end
-
- context 'when when is a string and unknown' do
- let(:config) { { retry: { when: 'unknown_reason' } } }
-
- it 'returns error about the wrong format' do
- expect(entry).not_to be_valid
- expect(entry.errors).to include 'job retry when is unknown'
- end
- end
-
- context 'when when is an array and includes unknown failures' do
- let(:config) { { retry: { when: %w[unknown_reason runner_system_failure] } } }
-
- it 'returns error about the wrong format' do
- expect(entry).not_to be_valid
- expect(entry.errors).to include 'job retry when contains unknown values: unknown_reason'
- end
- end
- end
- end
-
context 'when parallel value is not correct' do
context 'when it is not a numeric value' do
let(:config) { { parallel: true } }
@@ -305,185 +128,6 @@ describe Gitlab::Ci::Config::Entry::Job do
end
end
-||||||| merged common ancestors
- context 'when retry value is correct' do
- context 'when it is a numeric' do
- let(:config) { { script: 'rspec', retry: 2 } }
-
- it 'is valid' do
- expect(entry).to be_valid
- end
- end
-
- context 'when it is a hash without when' do
- let(:config) { { script: 'rspec', retry: { max: 2 } } }
-
- it 'is valid' do
- expect(entry).to be_valid
- end
- end
-
- context 'when it is a hash with string when' do
- let(:config) { { script: 'rspec', retry: { max: 2, when: 'unknown_failure' } } }
-
- it 'is valid' do
- expect(entry).to be_valid
- end
- end
-
- context 'when it is a hash with string when always' do
- let(:config) { { script: 'rspec', retry: { max: 2, when: 'always' } } }
-
- it 'is valid' do
- expect(entry).to be_valid
- end
- end
-
- context 'when it is a hash with array when' do
- let(:config) { { script: 'rspec', retry: { max: 2, when: %w[unknown_failure runner_system_failure] } } }
-
- it 'is valid' do
- expect(entry).to be_valid
- end
- end
-
- # Those values are documented at `doc/ci/yaml/README.md`. If any of
- # those values gets invalid, documentation must be updated. To make
- # sure this is catched, check explicitly that all of the documented
- # values are valid. If they are not it means the documentation and this
- # array must be updated.
- RETRY_WHEN_IN_DOCUMENTATION = %w[
- always
- unknown_failure
- script_failure
- api_failure
- stuck_or_timeout_failure
- runner_system_failure
- missing_dependency_failure
- runner_unsupported
- ].freeze
-
- RETRY_WHEN_IN_DOCUMENTATION.each do |reason|
- context "when it is a hash with value from documentation `#{reason}`" do
- let(:config) { { script: 'rspec', retry: { max: 2, when: reason } } }
-
- it 'is valid' do
- expect(entry).to be_valid
- end
- end
- end
- end
-
- context 'when retry value is not correct' do
- context 'when it is not a numeric nor an array' do
- let(:config) { { retry: true } }
-
- it 'returns error about invalid type' do
- expect(entry).not_to be_valid
- expect(entry.errors).to include 'job retry should be a hash or an integer'
- end
- end
-
- context 'not defined as a hash' do
- context 'when it is lower than zero' do
- let(:config) { { retry: -1 } }
-
- it 'returns error about value too low' do
- expect(entry).not_to be_valid
- expect(entry.errors)
- .to include 'job retry max must be greater than or equal to 0'
- end
- end
-
- context 'when it is not an integer' do
- let(:config) { { retry: 1.5 } }
-
- it 'returns error about wrong value' do
- expect(entry).not_to be_valid
- expect(entry.errors).to include 'job retry should be a hash or an integer'
- end
- end
-
- context 'when the value is too high' do
- let(:config) { { retry: 10 } }
-
- it 'returns error about value too high' do
- expect(entry).not_to be_valid
- expect(entry.errors).to include 'job retry max must be less than or equal to 2'
- end
- end
- end
-
- context 'defined as a hash' do
- context 'with unknown keys' do
- let(:config) { { retry: { max: 2, unknown_key: :something, one_more: :key } } }
-
- it 'returns error about the unknown key' do
- expect(entry).not_to be_valid
- expect(entry.errors)
- .to include 'job retry contains unknown keys: unknown_key, one_more'
- end
- end
-
- context 'when max is lower than zero' do
- let(:config) { { retry: { max: -1 } } }
-
- it 'returns error about value too low' do
- expect(entry).not_to be_valid
- expect(entry.errors)
- .to include 'job retry max must be greater than or equal to 0'
- end
- end
-
- context 'when max is not an integer' do
- let(:config) { { retry: { max: 1.5 } } }
-
- it 'returns error about wrong value' do
- expect(entry).not_to be_valid
- expect(entry.errors).to include 'job retry max must be an integer'
- end
- end
-
- context 'when max is too high' do
- let(:config) { { retry: { max: 10 } } }
-
- it 'returns error about value too high' do
- expect(entry).not_to be_valid
- expect(entry.errors).to include 'job retry max must be less than or equal to 2'
- end
- end
-
- context 'when when has the wrong format' do
- let(:config) { { retry: { when: true } } }
-
- it 'returns error about the wrong format' do
- expect(entry).not_to be_valid
- expect(entry.errors).to include 'job retry max must be an integer'
- end
- end
-
- context 'when when is a string and unknown' do
- let(:config) { { retry: { when: 'unknown_reason' } } }
-
- it 'returns error about the wrong format' do
- expect(entry).not_to be_valid
- expect(entry.errors).to include 'job retry when is unknown'
- end
- end
-
- context 'when when is an array and includes unknown failures' do
- let(:config) { { retry: { when: %w[unknown_reason runner_system_failure] } } }
-
- it 'returns error about the wrong format' do
- expect(entry).not_to be_valid
- expect(entry.errors).to include 'job retry when contains unknown values: unknown_reason'
- end
- end
- end
- end
-
-=======
->>>>>>> refactor validations to a Entry::Retry class
context 'when delayed job' do
context 'when start_in is specified' do
let(:config) { { script: 'echo', when: 'delayed', start_in: '1 day' } }