Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/factories')
-rw-r--r--spec/factories/ci/build_trace_chunks.rb4
-rw-r--r--spec/factories/ci/builds.rb20
-rw-r--r--spec/factories/ci/job_artifacts.rb33
-rw-r--r--spec/factories/ci/pipeline_artifacts.rb2
-rw-r--r--spec/factories/ci/reports/sbom/components.rb19
-rw-r--r--spec/factories/ci/reports/sbom/sources.rb34
-rw-r--r--spec/factories/commit_statuses.rb13
-rw-r--r--spec/factories/design_management/designs.rb2
-rw-r--r--spec/factories/design_management/versions.rb4
-rw-r--r--spec/factories/emails.rb2
-rw-r--r--spec/factories/environments.rb2
-rw-r--r--spec/factories/external_pull_requests.rb2
-rw-r--r--spec/factories/generic_commit_statuses.rb8
-rw-r--r--spec/factories/gitlab/database/postgres_index.rb2
-rw-r--r--spec/factories/group_members.rb1
-rw-r--r--spec/factories/groups.rb4
-rw-r--r--spec/factories/ml/candidates.rb7
-rw-r--r--spec/factories/ml/experiments.rb8
-rw-r--r--spec/factories/namespaces/sync_events.rb7
-rw-r--r--spec/factories/onboarding/progresses.rb (renamed from spec/factories/onboarding_progresses.rb)2
-rw-r--r--spec/factories/packages/debian/component_file.rb8
-rw-r--r--spec/factories/packages/dependencies.rb4
-rw-r--r--spec/factories/packages/package_files.rb8
-rw-r--r--spec/factories/packages/package_tags.rb2
-rw-r--r--spec/factories/packages/packages.rb20
-rw-r--r--spec/factories/packages/rpm/metadata.rb12
-rw-r--r--spec/factories/project_members.rb1
-rw-r--r--spec/factories/projects.rb1
-rw-r--r--spec/factories/prometheus_alert.rb2
-rw-r--r--spec/factories/prometheus_metrics.rb2
-rw-r--r--spec/factories/protected_branches.rb52
-rw-r--r--spec/factories/users/ghost_user_migrations.rb9
-rw-r--r--spec/factories/work_items.rb4
33 files changed, 219 insertions, 82 deletions
diff --git a/spec/factories/ci/build_trace_chunks.rb b/spec/factories/ci/build_trace_chunks.rb
index 115eb32111c..64a297932de 100644
--- a/spec/factories/ci/build_trace_chunks.rb
+++ b/spec/factories/ci/build_trace_chunks.rb
@@ -23,7 +23,7 @@ FactoryBot.define do
end
trait :database_with_data do
- data_store { :database}
+ data_store { :database }
transient do
initial_data { 'test data' }
@@ -55,7 +55,7 @@ FactoryBot.define do
end
trait :persisted do
- data_store { :database}
+ data_store { :database }
transient do
initial_data { 'test data' }
diff --git a/spec/factories/ci/builds.rb b/spec/factories/ci/builds.rb
index d684f79a518..8c2edc8cd9f 100644
--- a/spec/factories/ci/builds.rb
+++ b/spec/factories/ci/builds.rb
@@ -129,8 +129,8 @@ FactoryBot.define do
{
script: %w(ls),
environment: { name: 'staging',
- action: 'stop',
- url: 'http://staging.example.com/$CI_JOB_NAME' }
+ action: 'stop',
+ url: 'http://staging.example.com/$CI_JOB_NAME' }
}
end
end
@@ -141,9 +141,9 @@ FactoryBot.define do
{
script: %w(ls),
environment: { name: 'test_portal',
- action: 'start',
- url: 'http://staging.example.com/$CI_JOB_NAME',
- deployment_tier: 'testing' }
+ action: 'start',
+ url: 'http://staging.example.com/$CI_JOB_NAME',
+ deployment_tier: 'testing' }
}
end
end
@@ -155,7 +155,7 @@ FactoryBot.define do
{
script: %w(ls),
environment: { name: 'production',
- url: 'http://prd.example.com/$CI_JOB_NAME' }
+ url: 'http://prd.example.com/$CI_JOB_NAME' }
}
end
end
@@ -167,8 +167,8 @@ FactoryBot.define do
{
script: %w(ls),
environment: { name: 'review/$CI_COMMIT_REF_NAME',
- url: 'http://staging.example.com/$CI_JOB_NAME',
- on_stop: 'stop_review_app' }
+ url: 'http://staging.example.com/$CI_JOB_NAME',
+ on_stop: 'stop_review_app' }
}
end
end
@@ -181,8 +181,8 @@ FactoryBot.define do
{
script: %w(ls),
environment: { name: 'review/$CI_COMMIT_REF_NAME',
- url: 'http://staging.example.com/$CI_JOB_NAME',
- action: 'stop' }
+ url: 'http://staging.example.com/$CI_JOB_NAME',
+ action: 'stop' }
}
end
end
diff --git a/spec/factories/ci/job_artifacts.rb b/spec/factories/ci/job_artifacts.rb
index 114ad3a5847..f8b964cf8e0 100644
--- a/spec/factories/ci/job_artifacts.rb
+++ b/spec/factories/ci/job_artifacts.rb
@@ -15,7 +15,7 @@ FactoryBot.define do
end
trait :remote_store do
- file_store { JobArtifactUploader::Store::REMOTE}
+ file_store { JobArtifactUploader::Store::REMOTE }
end
after :build do |artifact|
@@ -102,28 +102,6 @@ FactoryBot.define do
end
end
- trait :zip_with_single_file do
- file_type { :archive }
- file_format { :zip }
-
- after(:build) do |artifact, evaluator|
- artifact.file = fixture_file_upload(
- Rails.root.join('spec/fixtures/lib/gitlab/ci/build/artifacts/adapters/zip_stream/single_file.zip'),
- 'application/zip')
- end
- end
-
- trait :zip_with_multiple_files do
- file_type { :archive }
- file_format { :zip }
-
- after(:build) do |artifact, evaluator|
- artifact.file = fixture_file_upload(
- Rails.root.join('spec/fixtures/lib/gitlab/ci/build/artifacts/adapters/zip_stream/multiple_files.zip'),
- 'application/zip')
- end
- end
-
trait :junit do
file_type { :junit }
file_format { :gzip }
@@ -384,6 +362,15 @@ FactoryBot.define do
end
end
+ trait :common_security_report_without_top_level_scanner do
+ common_security_report
+
+ after(:build) do |artifact, _|
+ artifact.file = fixture_file_upload(
+ Rails.root.join('spec/fixtures/security_reports/master/gl-common-scanning-report-without-top-level-scanner.json'), 'application/json')
+ end
+ end
+
trait :common_security_report_with_blank_names do
file_format { :raw }
file_type { :dependency_scanning }
diff --git a/spec/factories/ci/pipeline_artifacts.rb b/spec/factories/ci/pipeline_artifacts.rb
index 85277ce6fbf..d096f149c3a 100644
--- a/spec/factories/ci/pipeline_artifacts.rb
+++ b/spec/factories/ci/pipeline_artifacts.rb
@@ -30,7 +30,7 @@ FactoryBot.define do
end
trait :remote_store do
- file_store { ::ObjectStorage::Store::REMOTE}
+ file_store { ::ObjectStorage::Store::REMOTE }
end
trait :with_coverage_report do
diff --git a/spec/factories/ci/reports/sbom/components.rb b/spec/factories/ci/reports/sbom/components.rb
new file mode 100644
index 00000000000..317e1c863cf
--- /dev/null
+++ b/spec/factories/ci/reports/sbom/components.rb
@@ -0,0 +1,19 @@
+# frozen_string_literal: true
+
+FactoryBot.define do
+ factory :ci_reports_sbom_component, class: '::Gitlab::Ci::Reports::Sbom::Component' do
+ type { :library }
+ sequence(:name) { |n| "component-#{n}" }
+ sequence(:version) { |n| "v0.0.#{n}" }
+
+ skip_create
+
+ initialize_with do
+ ::Gitlab::Ci::Reports::Sbom::Component.new(
+ type: type,
+ name: name,
+ version: version
+ )
+ end
+ end
+end
diff --git a/spec/factories/ci/reports/sbom/sources.rb b/spec/factories/ci/reports/sbom/sources.rb
new file mode 100644
index 00000000000..9093aba86a6
--- /dev/null
+++ b/spec/factories/ci/reports/sbom/sources.rb
@@ -0,0 +1,34 @@
+# frozen_string_literal: true
+
+FactoryBot.define do
+ factory :ci_reports_sbom_source, class: '::Gitlab::Ci::Reports::Sbom::Source' do
+ type { :dependency_scanning }
+
+ transient do
+ sequence(:input_file_path) { |n| "subproject-#{n}/package-lock.json" }
+ sequence(:source_file_path) { |n| "subproject-#{n}/package.json" }
+ end
+
+ data do
+ {
+ 'category' => 'development',
+ 'input_file' => { 'path' => input_file_path },
+ 'source_file' => { 'path' => source_file_path },
+ 'package_manager' => { 'name' => 'npm' },
+ 'language' => { 'name' => 'JavaScript' }
+ }
+ end
+
+ fingerprint { Digest::SHA256.hexdigest(data.to_json) }
+
+ skip_create
+
+ initialize_with do
+ ::Gitlab::Ci::Reports::Sbom::Source.new(
+ type: type,
+ data: data,
+ fingerprint: fingerprint
+ )
+ end
+ end
+end
diff --git a/spec/factories/commit_statuses.rb b/spec/factories/commit_statuses.rb
index fa10b37cdbf..a60f0a3879a 100644
--- a/spec/factories/commit_statuses.rb
+++ b/spec/factories/commit_statuses.rb
@@ -6,10 +6,10 @@ FactoryBot.define do
stage { 'test' }
stage_idx { 0 }
status { 'success' }
- description { 'commit status'}
+ description { 'commit status' }
pipeline factory: :ci_pipeline
- started_at { 'Tue, 26 Jan 2016 08:21:42 +0100'}
- finished_at { 'Tue, 26 Jan 2016 08:23:42 +0100'}
+ started_at { 'Tue, 26 Jan 2016 08:21:42 +0100' }
+ finished_at { 'Tue, 26 Jan 2016 08:23:42 +0100' }
trait :success do
status { 'success' }
@@ -56,12 +56,7 @@ FactoryBot.define do
end
after(:build) do |build, evaluator|
- build.project = build.pipeline.project
- end
-
- factory :generic_commit_status, class: 'GenericCommitStatus' do
- name { 'generic' }
- description { 'external commit status' }
+ build.project ||= build.pipeline.project
end
end
end
diff --git a/spec/factories/design_management/designs.rb b/spec/factories/design_management/designs.rb
index 56a1b55b969..3d95c754a96 100644
--- a/spec/factories/design_management/designs.rb
+++ b/spec/factories/design_management/designs.rb
@@ -109,7 +109,7 @@ FactoryBot.define do
repository = project.design_repository
commit_version = ->(action) do
- repository.multi_action(
+ repository.commit_files(
evaluator.author,
branch_name: 'master',
message: "#{action.action} for #{design.filename}",
diff --git a/spec/factories/design_management/versions.rb b/spec/factories/design_management/versions.rb
index e505a77d6bd..9d965c6e86c 100644
--- a/spec/factories/design_management/versions.rb
+++ b/spec/factories/design_management/versions.rb
@@ -102,7 +102,7 @@ FactoryBot.define do
end
if actions.present?
- repository.multi_action(
+ repository.commit_files(
evaluator.author,
branch_name: 'master',
message: "created #{actions.size} files",
@@ -123,7 +123,7 @@ FactoryBot.define do
end
end
- sha = repository.multi_action(
+ sha = repository.commit_files(
evaluator.author,
branch_name: 'master',
message: "edited #{version_actions.size} files",
diff --git a/spec/factories/emails.rb b/spec/factories/emails.rb
index b30fa8a5896..e51c3358a9b 100644
--- a/spec/factories/emails.rb
+++ b/spec/factories/emails.rb
@@ -6,6 +6,6 @@ FactoryBot.define do
email { generate(:email_alias) }
trait(:confirmed) { confirmed_at { Time.now } }
- trait(:skip_validate) { to_create {|instance| instance.save!(validate: false) } }
+ trait(:skip_validate) { to_create { |instance| instance.save!(validate: false) } }
end
end
diff --git a/spec/factories/environments.rb b/spec/factories/environments.rb
index ccd2011eb8d..34843dab0fe 100644
--- a/spec/factories/environments.rb
+++ b/spec/factories/environments.rb
@@ -47,7 +47,7 @@ FactoryBot.define do
pipeline = create(:ci_pipeline, project: environment.project)
deployable = create(:ci_build, :success, name: "#{environment.name}:deploy",
- pipeline: pipeline)
+ pipeline: pipeline)
deployment = create(:deployment,
:success,
diff --git a/spec/factories/external_pull_requests.rb b/spec/factories/external_pull_requests.rb
index 7a6e77f8572..470814f4360 100644
--- a/spec/factories/external_pull_requests.rb
+++ b/spec/factories/external_pull_requests.rb
@@ -12,6 +12,6 @@ FactoryBot.define do
target_sha { 'a09386439ca39abe575675ffd4b89ae824fec22f' }
status { :open }
- trait(:closed) { status { 'closed'} }
+ trait(:closed) { status { 'closed' } }
end
end
diff --git a/spec/factories/generic_commit_statuses.rb b/spec/factories/generic_commit_statuses.rb
new file mode 100644
index 00000000000..ea86dddcaf8
--- /dev/null
+++ b/spec/factories/generic_commit_statuses.rb
@@ -0,0 +1,8 @@
+# frozen_string_literal: true
+
+FactoryBot.define do
+ factory :generic_commit_status, class: 'GenericCommitStatus', parent: :commit_status do
+ name { 'generic' }
+ description { 'external commit status' }
+ end
+end
diff --git a/spec/factories/gitlab/database/postgres_index.rb b/spec/factories/gitlab/database/postgres_index.rb
index 54bbb738512..8492b44c404 100644
--- a/spec/factories/gitlab/database/postgres_index.rb
+++ b/spec/factories/gitlab/database/postgres_index.rb
@@ -13,7 +13,7 @@ FactoryBot.define do
exclusion { false }
expression { false }
partial { false }
- definition { "CREATE INDEX #{identifier} ON #{tablename} (bar)"}
+ definition { "CREATE INDEX #{identifier} ON #{tablename} (bar)" }
ondisk_size_bytes { 100.megabytes }
end
end
diff --git a/spec/factories/group_members.rb b/spec/factories/group_members.rb
index 4b1bf9a7d11..702db45554e 100644
--- a/spec/factories/group_members.rb
+++ b/spec/factories/group_members.rb
@@ -4,6 +4,7 @@ FactoryBot.define do
factory :group_member do
access_level { GroupMember::OWNER }
source { association(:group) }
+ member_namespace_id { source.id }
user
trait(:guest) { access_level { GroupMember::GUEST } }
diff --git a/spec/factories/groups.rb b/spec/factories/groups.rb
index 152ae061605..6f9cf0ef895 100644
--- a/spec/factories/groups.rb
+++ b/spec/factories/groups.rb
@@ -106,9 +106,9 @@ FactoryBot.define do
end
create_graph(
- parent: group,
+ parent: group,
children: evaluator.children,
- depth: evaluator.depth
+ depth: evaluator.depth
)
end
end
diff --git a/spec/factories/ml/candidates.rb b/spec/factories/ml/candidates.rb
new file mode 100644
index 00000000000..b5644ee3841
--- /dev/null
+++ b/spec/factories/ml/candidates.rb
@@ -0,0 +1,7 @@
+# frozen_string_literal: true
+FactoryBot.define do
+ factory :ml_candidates, class: '::Ml::Candidate' do
+ association :experiment, factory: :ml_experiments
+ association :user
+ end
+end
diff --git a/spec/factories/ml/experiments.rb b/spec/factories/ml/experiments.rb
new file mode 100644
index 00000000000..043ca712e60
--- /dev/null
+++ b/spec/factories/ml/experiments.rb
@@ -0,0 +1,8 @@
+# frozen_string_literal: true
+FactoryBot.define do
+ factory :ml_experiments, class: '::Ml::Experiment' do
+ sequence(:name) { |n| "experiment#{n}" }
+ association :project
+ association :user
+ end
+end
diff --git a/spec/factories/namespaces/sync_events.rb b/spec/factories/namespaces/sync_events.rb
new file mode 100644
index 00000000000..63bb16958a3
--- /dev/null
+++ b/spec/factories/namespaces/sync_events.rb
@@ -0,0 +1,7 @@
+# frozen_string_literal: true
+
+FactoryBot.define do
+ factory :sync_event, class: 'Namespaces::SyncEvent' do
+ association :namespace, factory: :namespace, strategy: :build
+ end
+end
diff --git a/spec/factories/onboarding_progresses.rb b/spec/factories/onboarding/progresses.rb
index e39bad91b19..15f58b482d3 100644
--- a/spec/factories/onboarding_progresses.rb
+++ b/spec/factories/onboarding/progresses.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
FactoryBot.define do
- factory :onboarding_progress do
+ factory :onboarding_progress, class: 'Onboarding::Progress' do
namespace
end
end
diff --git a/spec/factories/packages/debian/component_file.rb b/spec/factories/packages/debian/component_file.rb
index eeba64ba5d2..a2422e4a126 100644
--- a/spec/factories/packages/debian/component_file.rb
+++ b/spec/factories/packages/debian/component_file.rb
@@ -30,10 +30,18 @@ FactoryBot.define do
trait(:sources) do
file_type { :sources }
architecture { nil }
+ file_fixture { 'spec/fixtures/packages/debian/distribution/Sources' }
end
trait(:di_packages) do
file_type { :di_packages }
+ file_fixture { 'spec/fixtures/packages/debian/distribution/D-I-Packages' }
+ end
+
+ trait(:older_sha256) do
+ created_at { '2020-01-24T08:00:00Z' }
+ file_sha256 { '157a1ad2b9102038560eea56771913b312ebf25093f5ef3b9842021c639c880d' }
+ file_fixture { 'spec/fixtures/packages/debian/distribution/OtherSHA256' }
end
trait(:object_storage) do
diff --git a/spec/factories/packages/dependencies.rb b/spec/factories/packages/dependencies.rb
index a62d48c2e73..c99f11d6db3 100644
--- a/spec/factories/packages/dependencies.rb
+++ b/spec/factories/packages/dependencies.rb
@@ -2,11 +2,11 @@
FactoryBot.define do
factory :packages_dependency, class: 'Packages::Dependency' do
- sequence(:name) { |n| "@test/package-#{n}"}
+ sequence(:name) { |n| "@test/package-#{n}" }
sequence(:version_pattern) { |n| "~6.2.#{n}" }
trait(:rubygems) do
- sequence(:name) { |n| "gem-dependency-#{n}"}
+ sequence(:name) { |n| "gem-dependency-#{n}" }
end
end
end
diff --git a/spec/factories/packages/package_files.rb b/spec/factories/packages/package_files.rb
index 5eac0036b91..7d3dd274777 100644
--- a/spec/factories/packages/package_files.rb
+++ b/spec/factories/packages/package_files.rb
@@ -337,6 +337,14 @@ FactoryBot.define do
size { 3989.bytes }
end
+ trait(:rpm) do
+ package
+ file_fixture { 'spec/fixtures/packages/rpm/hello-0.0.1-1.fc29.x86_64.rpm' }
+ file_name { 'hello-0.0.1-1.fc29.x86_64.rpm' }
+ file_sha1 { '5fe852b2a6abd96c22c11fa1ff2fb19d9ce58b57' }
+ size { 115.kilobytes }
+ end
+
trait(:object_storage) do
file_store { Packages::PackageFileUploader::Store::REMOTE }
end
diff --git a/spec/factories/packages/package_tags.rb b/spec/factories/packages/package_tags.rb
index 3d2eea4a73b..1a40d5d600f 100644
--- a/spec/factories/packages/package_tags.rb
+++ b/spec/factories/packages/package_tags.rb
@@ -3,6 +3,6 @@
FactoryBot.define do
factory :packages_tag, class: 'Packages::Tag' do
package
- sequence(:name) { |n| "tag-#{n}"}
+ sequence(:name) { |n| "tag-#{n}" }
end
end
diff --git a/spec/factories/packages/packages.rb b/spec/factories/packages/packages.rb
index 90c68074a3b..8074e505243 100644
--- a/spec/factories/packages/packages.rb
+++ b/spec/factories/packages/packages.rb
@@ -24,6 +24,10 @@ FactoryBot.define do
status { :pending_destruction }
end
+ trait :last_downloaded_at do
+ last_downloaded_at { 2.days.ago }
+ end
+
factory :maven_package do
maven_metadatum
@@ -55,6 +59,12 @@ FactoryBot.define do
end
end
+ factory :rpm_package do
+ sequence(:name) { |n| "package-#{n}" }
+ sequence(:version) { |n| "v1.0.#{n}" }
+ package_type { :rpm }
+ end
+
factory :debian_package do
sequence(:name) { |n| "package-#{n}" }
sequence(:version) { |n| "1.0-#{n}" }
@@ -115,7 +125,7 @@ FactoryBot.define do
end
factory :npm_package do
- sequence(:name) { |n| "@#{project.root_namespace.path}/package-#{n}"}
+ sequence(:name) { |n| "@#{project.root_namespace.path}/package-#{n}" }
sequence(:version) { |n| "1.0.#{n}" }
package_type { :npm }
@@ -153,7 +163,7 @@ FactoryBot.define do
end
factory :nuget_package do
- sequence(:name) { |n| "NugetPackage#{n}"}
+ sequence(:name) { |n| "NugetPackage#{n}" }
sequence(:version) { |n| "1.0.#{n}" }
package_type { :nuget }
@@ -175,7 +185,7 @@ FactoryBot.define do
end
factory :pypi_package do
- sequence(:name) { |n| "pypi-package-#{n}"}
+ sequence(:name) { |n| "pypi-package-#{n}" }
sequence(:version) { |n| "1.0.#{n}" }
package_type { :pypi }
@@ -193,7 +203,7 @@ FactoryBot.define do
end
factory :composer_package do
- sequence(:name) { |n| "composer-package-#{n}"}
+ sequence(:name) { |n| "composer-package-#{n}" }
sequence(:version) { |n| "1.0.#{n}" }
package_type { :composer }
@@ -210,7 +220,7 @@ FactoryBot.define do
end
factory :golang_package do
- sequence(:name) { |n| "golang.org/x/pkg-#{n}"}
+ sequence(:name) { |n| "golang.org/x/pkg-#{n}" }
sequence(:version) { |n| "v1.0.#{n}" }
package_type { :golang }
end
diff --git a/spec/factories/packages/rpm/metadata.rb b/spec/factories/packages/rpm/metadata.rb
new file mode 100644
index 00000000000..5ee85aed3bb
--- /dev/null
+++ b/spec/factories/packages/rpm/metadata.rb
@@ -0,0 +1,12 @@
+# frozen_string_literal: true
+
+FactoryBot.define do
+ factory :rpm_metadatum, class: 'Packages::Rpm::Metadatum' do
+ package { association(:rpm_package) }
+ release { "#{rand(10)}.#{rand(10)}" }
+ summary { FFaker::Lorem.sentences(2).join }
+ description { FFaker::Lorem.sentences(4).join }
+ arch { FFaker::Lorem.word }
+ epoch { 0 }
+ end
+end
diff --git a/spec/factories/project_members.rb b/spec/factories/project_members.rb
index ab1e45acc15..57f228650a1 100644
--- a/spec/factories/project_members.rb
+++ b/spec/factories/project_members.rb
@@ -4,6 +4,7 @@ FactoryBot.define do
factory :project_member do
user
source { association(:project) }
+ member_namespace_id { source.id }
maintainer
trait(:guest) { access_level { ProjectMember::GUEST } }
diff --git a/spec/factories/projects.rb b/spec/factories/projects.rb
index 95b72648cf5..871917a725e 100644
--- a/spec/factories/projects.rb
+++ b/spec/factories/projects.rb
@@ -35,6 +35,7 @@ FactoryBot.define do
end
metrics_dashboard_access_level { ProjectFeature::PRIVATE }
operations_access_level { ProjectFeature::ENABLED }
+ monitor_access_level { ProjectFeature::ENABLED }
container_registry_access_level { ProjectFeature::ENABLED }
security_and_compliance_access_level { ProjectFeature::PRIVATE }
environments_access_level { ProjectFeature::ENABLED }
diff --git a/spec/factories/prometheus_alert.rb b/spec/factories/prometheus_alert.rb
index ad3868c38ed..14fdd993c7a 100644
--- a/spec/factories/prometheus_alert.rb
+++ b/spec/factories/prometheus_alert.rb
@@ -15,7 +15,7 @@ FactoryBot.define do
end
trait :with_runbook_url do
- runbook_url { 'https://runbooks.gitlab.com/metric_gt_1'}
+ runbook_url { 'https://runbooks.gitlab.com/metric_gt_1' }
end
end
end
diff --git a/spec/factories/prometheus_metrics.rb b/spec/factories/prometheus_metrics.rb
index 503d392a524..e785bf2ac9d 100644
--- a/spec/factories/prometheus_metrics.rb
+++ b/spec/factories/prometheus_metrics.rb
@@ -9,7 +9,7 @@ FactoryBot.define do
group { :business }
project
legend { 'legend' }
- dashboard_path { '.gitlab/dashboards/dashboard_path.yml'}
+ dashboard_path { '.gitlab/dashboards/dashboard_path.yml' }
trait :common do
common { true }
diff --git a/spec/factories/protected_branches.rb b/spec/factories/protected_branches.rb
index bac1cf21596..425352783dd 100644
--- a/spec/factories/protected_branches.rb
+++ b/spec/factories/protected_branches.rb
@@ -6,11 +6,25 @@ FactoryBot.define do
project
transient do
+ ee { false }
default_push_level { true }
default_merge_level { true }
default_access_level { true }
end
+ after(:create) do |protected_branch, evaluator|
+ break unless protected_branch.project&.persisted?
+
+ ProtectedBranches::CacheService.new(protected_branch.project).refresh
+ end
+
+ after(:build) do |obj, ctx|
+ next if ctx.ee || !ctx.default_access_level
+
+ obj.push_access_levels.new(access_level: Gitlab::Access::MAINTAINER) if ctx.default_push_level
+ obj.merge_access_levels.new(access_level: Gitlab::Access::MAINTAINER) if ctx.default_merge_level
+ end
+
trait :create_branch_on_repository do
association :project, factory: [:project, :repository]
@@ -25,59 +39,63 @@ FactoryBot.define do
end
end
- trait :developers_can_push do
+ trait :maintainers_can_push do
transient do
default_push_level { false }
end
after(:build) do |protected_branch|
- protected_branch.push_access_levels.new(access_level: Gitlab::Access::DEVELOPER)
+ protected_branch.push_access_levels.new(access_level: Gitlab::Access::MAINTAINER)
end
end
- trait :developers_can_merge do
+ trait :maintainers_can_merge do
transient do
- default_merge_level { false }
+ default_push_level { false }
end
after(:build) do |protected_branch|
- protected_branch.merge_access_levels.new(access_level: Gitlab::Access::DEVELOPER)
+ protected_branch.push_access_levels.new(access_level: Gitlab::Access::MAINTAINER)
end
end
- trait :no_one_can_push do
+ trait :developers_can_push do
transient do
default_push_level { false }
end
after(:build) do |protected_branch|
- protected_branch.push_access_levels.new(access_level: Gitlab::Access::NO_ACCESS)
+ protected_branch.push_access_levels.new(access_level: Gitlab::Access::DEVELOPER)
end
end
- trait :maintainers_can_push do
+ trait :developers_can_merge do
transient do
- default_push_level { false }
+ default_merge_level { false }
end
after(:build) do |protected_branch|
- protected_branch.push_access_levels.new(access_level: Gitlab::Access::MAINTAINER)
+ protected_branch.merge_access_levels.new(access_level: Gitlab::Access::DEVELOPER)
end
end
- after(:build) do |protected_branch, evaluator|
- if evaluator.default_access_level && evaluator.default_push_level
- protected_branch.push_access_levels.new(access_level: Gitlab::Access::MAINTAINER)
+ trait :no_one_can_push do
+ transient do
+ default_push_level { false }
end
- if evaluator.default_access_level && evaluator.default_merge_level
- protected_branch.merge_access_levels.new(access_level: Gitlab::Access::MAINTAINER)
+ after(:build) do |protected_branch|
+ protected_branch.push_access_levels.new(access_level: Gitlab::Access::NO_ACCESS)
end
end
trait :no_one_can_merge do
- after(:create) do |protected_branch|
- protected_branch.merge_access_levels.first.update!(access_level: Gitlab::Access::NO_ACCESS)
+ transient do
+ default_merge_level { false }
+ end
+
+ after(:build) do |protected_branch|
+ protected_branch.merge_access_levels.new(access_level: Gitlab::Access::NO_ACCESS)
end
end
end
diff --git a/spec/factories/users/ghost_user_migrations.rb b/spec/factories/users/ghost_user_migrations.rb
new file mode 100644
index 00000000000..0fe7cded4f3
--- /dev/null
+++ b/spec/factories/users/ghost_user_migrations.rb
@@ -0,0 +1,9 @@
+# frozen_string_literal: true
+
+FactoryBot.define do
+ factory :ghost_user_migration, class: 'Users::GhostUserMigration' do
+ association :user
+ initiator_user { association(:user) }
+ hard_delete { false }
+ end
+end
diff --git a/spec/factories/work_items.rb b/spec/factories/work_items.rb
index 267ea9710b3..205b071a5d4 100644
--- a/spec/factories/work_items.rb
+++ b/spec/factories/work_items.rb
@@ -23,5 +23,9 @@ FactoryBot.define do
issue_type { :incident }
association :work_item_type, :default, :incident
end
+
+ trait :last_edited_by_user do
+ association :last_edited_by, factory: :user
+ end
end
end