diff options
author | Olivier Gonzalez <ogonzalez@gitlab.com> | 2018-09-27 21:15:08 +0000 |
---|---|---|
committer | Kamil TrzciĆski <ayufan@ayufan.eu> | 2018-09-27 21:15:08 +0000 |
commit | cfedc0a9f4732afbf39fdf96e9b6a8598faeba5f (patch) | |
tree | 001b6eb5fd448bc6389842bbe1d03b8587a6b55b /spec/presenters | |
parent | 79498893832db7a88e07d8f3e7a629944c80705b (diff) | |
download | gitlab-ce-cfedc0a9f4732afbf39fdf96e9b6a8598faeba5f.tar.gz |
Extend reports to support security features
Diffstat (limited to 'spec/presenters')
-rw-r--r-- | spec/presenters/ci/build_runner_presenter_spec.rb | 49 |
1 files changed, 31 insertions, 18 deletions
diff --git a/spec/presenters/ci/build_runner_presenter_spec.rb b/spec/presenters/ci/build_runner_presenter_spec.rb index e7019b990dd..a42d1f3d399 100644 --- a/spec/presenters/ci/build_runner_presenter_spec.rb +++ b/spec/presenters/ci/build_runner_presenter_spec.rb @@ -3,7 +3,6 @@ require 'spec_helper' describe Ci::BuildRunnerPresenter do let(:presenter) { described_class.new(build) } let(:archive) { { paths: ['sample.txt'] } } - let(:junit) { { junit: ['junit.xml'] } } let(:archive_expectation) do { @@ -14,16 +13,6 @@ describe Ci::BuildRunnerPresenter do } end - let(:junit_expectation) do - { - name: 'junit.xml', - artifact_type: :junit, - artifact_format: :gzip, - paths: ['junit.xml'], - when: 'always' - } - end - describe '#artifacts' do context "when option contains archive-type artifacts" do let(:build) { create(:ci_build, options: { artifacts: archive } ) } @@ -49,20 +38,44 @@ describe Ci::BuildRunnerPresenter do end end - context "when option has 'junit' keyword" do - let(:build) { create(:ci_build, options: { artifacts: { reports: junit } } ) } + context "with reports" do + Ci::JobArtifact::DEFAULT_FILE_NAMES.each do |file_type, filename| + let(:report) { { "#{file_type}": [filename] } } + let(:build) { create(:ci_build, options: { artifacts: { reports: report } } ) } + + let(:report_expectation) do + { + name: filename, + artifact_type: :"#{file_type}", + artifact_format: :gzip, + paths: [filename], + when: 'always' + } + end - it 'presents correct hash' do - expect(presenter.artifacts.first).to include(junit_expectation) + it 'presents correct hash' do + expect(presenter.artifacts.first).to include(report_expectation) + end end end context "when option has both archive and reports specification" do - let(:build) { create(:ci_build, options: { script: 'echo', artifacts: { **archive, reports: junit } } ) } + let(:report) { { junit: ['junit.xml'] } } + let(:build) { create(:ci_build, options: { script: 'echo', artifacts: { **archive, reports: report } } ) } + + let(:report_expectation) do + { + name: 'junit.xml', + artifact_type: :junit, + artifact_format: :gzip, + paths: ['junit.xml'], + when: 'always' + } + end it 'presents correct hash' do expect(presenter.artifacts.first).to include(archive_expectation) - expect(presenter.artifacts.second).to include(junit_expectation) + expect(presenter.artifacts.second).to include(report_expectation) end context "when archive specifies 'expire_in' keyword" do @@ -70,7 +83,7 @@ describe Ci::BuildRunnerPresenter do it 'inherits expire_in from archive' do expect(presenter.artifacts.first).to include({ **archive_expectation, expire_in: '3 mins 4 sec' }) - expect(presenter.artifacts.second).to include({ **junit_expectation, expire_in: '3 mins 4 sec' }) + expect(presenter.artifacts.second).to include({ **report_expectation, expire_in: '3 mins 4 sec' }) end end end |