summaryrefslogtreecommitdiff
path: root/spec/factories/ci
diff options
context:
space:
mode:
Diffstat (limited to 'spec/factories/ci')
-rw-r--r--spec/factories/ci/bridge.rb9
-rw-r--r--spec/factories/ci/build_pending_states.rb9
-rw-r--r--spec/factories/ci/pipeline_artifacts.rb23
-rw-r--r--spec/factories/ci/pipelines.rb6
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 }