diff options
Diffstat (limited to 'spec/factories/ci')
-rw-r--r-- | spec/factories/ci/bridge.rb | 9 | ||||
-rw-r--r-- | spec/factories/ci/build_pending_states.rb | 9 | ||||
-rw-r--r-- | spec/factories/ci/pipeline_artifacts.rb | 23 | ||||
-rw-r--r-- | spec/factories/ci/pipelines.rb | 6 |
4 files changed, 46 insertions, 1 deletions
diff --git a/spec/factories/ci/bridge.rb b/spec/factories/ci/bridge.rb index 4c1d5f07a42..5a33a30921b 100644 --- a/spec/factories/ci/bridge.rb +++ b/spec/factories/ci/bridge.rb @@ -53,5 +53,14 @@ FactoryBot.define do finished status { 'failed' } end + + trait :skipped do + started + status { 'skipped' } + end + + trait :strategy_depend do + options { { trigger: { strategy: 'depend' } } } + end end end diff --git a/spec/factories/ci/build_pending_states.rb b/spec/factories/ci/build_pending_states.rb new file mode 100644 index 00000000000..765b7f005b9 --- /dev/null +++ b/spec/factories/ci/build_pending_states.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +FactoryBot.define do + factory :ci_build_pending_state, class: 'Ci::BuildPendingState' do + build factory: :ci_build + trace_checksum { 'crc32:12345678' } + state { 'success' } + end +end diff --git a/spec/factories/ci/pipeline_artifacts.rb b/spec/factories/ci/pipeline_artifacts.rb index ecfd1e79e78..fa33609dd6c 100644 --- a/spec/factories/ci/pipeline_artifacts.rb +++ b/spec/factories/ci/pipeline_artifacts.rb @@ -6,12 +6,33 @@ FactoryBot.define do project { pipeline.project } file_type { :code_coverage } file_format { :raw } - file_store { Ci::PipelineArtifact::FILE_STORE_SUPPORTED.first } + file_store { ObjectStorage::SUPPORTED_STORES.first } size { 1.megabytes } after(:build) do |artifact, _evaluator| artifact.file = fixture_file_upload( Rails.root.join('spec/fixtures/pipeline_artifacts/code_coverage.json'), 'application/json') end + + trait :with_multibyte_characters do + size { { "utf8" => "✓" }.to_json.bytesize } + after(:build) do |artifact, _evaluator| + artifact.file = CarrierWaveStringFile.new_file( + file_content: { "utf8" => "✓" }.to_json, + filename: 'filename', + content_type: 'application/json' + ) + end + end + + trait :with_code_coverage_with_multiple_files do + after(:build) do |artifact, _evaluator| + artifact.file = fixture_file_upload( + Rails.root.join('spec/fixtures/pipeline_artifacts/code_coverage_with_multiple_files.json'), 'application/json' + ) + end + + size { file.size } + end end end diff --git a/spec/factories/ci/pipelines.rb b/spec/factories/ci/pipelines.rb index 2790be8b70d..6174bfbfbb7 100644 --- a/spec/factories/ci/pipelines.rb +++ b/spec/factories/ci/pipelines.rb @@ -121,6 +121,12 @@ FactoryBot.define do end end + trait :with_coverage_report_artifact do + after(:build) do |pipeline, evaluator| + pipeline.pipeline_artifacts << build(:ci_pipeline_artifact, pipeline: pipeline, project: pipeline.project) + end + end + trait :with_terraform_reports do status { :success } |