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:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-06-20 13:43:29 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-06-20 13:43:29 +0300
commit3b1af5cc7ed2666ff18b718ce5d30fa5a2756674 (patch)
tree3bc4a40e0ee51ec27eabf917c537033c0c5b14d4 /spec/factories
parent9bba14be3f2c211bf79e15769cd9b77bc73a13bc (diff)
Add latest changes from gitlab-org/gitlab@16-1-stable-eev16.1.0-rc42
Diffstat (limited to 'spec/factories')
-rw-r--r--spec/factories/abuse/event.rb13
-rw-r--r--spec/factories/abuse_reports.rb22
-rw-r--r--spec/factories/alert_management/http_integrations.rb6
-rw-r--r--spec/factories/broadcast_messages.rb1
-rw-r--r--spec/factories/ci/group_variables.rb5
-rw-r--r--spec/factories/ci/job_annotations.rb12
-rw-r--r--spec/factories/ci/pipeline_schedule_variables.rb4
-rw-r--r--spec/factories/ci/pipeline_variables.rb5
-rw-r--r--spec/factories/ci/variables.rb4
-rw-r--r--spec/factories/deploy_keys_projects.rb4
-rw-r--r--spec/factories/deployment_clusters.rb8
-rw-r--r--spec/factories/deployments.rb6
-rw-r--r--spec/factories/design_management/designs.rb2
-rw-r--r--spec/factories/error_tracking/open_api.rb9
-rw-r--r--spec/factories/gitlab/database/background_migration/schema_inconsistencies.rb1
-rw-r--r--spec/factories/integrations.rb16
-rw-r--r--spec/factories/merge_request_diffs.rb2
-rw-r--r--spec/factories/merge_requests.rb8
-rw-r--r--spec/factories/merge_requests_diff_llm_summary.rb2
-rw-r--r--spec/factories/organizations.rb16
-rw-r--r--spec/factories/organizations/organizations.rb23
-rw-r--r--spec/factories/packages/helm/file_metadatum.rb6
-rw-r--r--spec/factories/packages/npm/metadata.rb10
-rw-r--r--spec/factories/packages/nuget/metadata.rb2
-rw-r--r--spec/factories/packages/packages.rb33
-rw-r--r--spec/factories/personal_access_tokens.rb2
-rw-r--r--spec/factories/projects.rb4
-rw-r--r--spec/factories/service_desk/custom_email_credential.rb2
-rw-r--r--spec/factories/users.rb4
-rw-r--r--spec/factories/wiki_pages.rb4
30 files changed, 201 insertions, 35 deletions
diff --git a/spec/factories/abuse/event.rb b/spec/factories/abuse/event.rb
new file mode 100644
index 00000000000..4bd1b97410e
--- /dev/null
+++ b/spec/factories/abuse/event.rb
@@ -0,0 +1,13 @@
+# frozen_string_literal: true
+
+FactoryBot.define do
+ factory :abuse_event, class: 'Abuse::Event' do
+ user
+ category { :spam }
+ source { :spamcheck }
+
+ trait(:with_abuse_report) do
+ abuse_report
+ end
+ end
+end
diff --git a/spec/factories/abuse_reports.rb b/spec/factories/abuse_reports.rb
index 699da744fab..14a44d1108a 100644
--- a/spec/factories/abuse_reports.rb
+++ b/spec/factories/abuse_reports.rb
@@ -10,10 +10,32 @@ FactoryBot.define do
trait :closed do
status { 'closed' }
+ resolved_by factory: :user
end
trait :with_screenshot do
screenshot { fixture_file_upload('spec/fixtures/dk.png') }
end
+
+ trait :with_assignee do
+ assignee factory: :user
+ end
+
+ trait :with_evidence do
+ evidence do
+ {
+ "user" => {
+ "login_count" => rand(0..1000),
+ "account_age" => rand(0..1000),
+ "spam_score" => rand(0.0..1.0),
+ "telesign_score" => rand(0.0..1.0),
+ "arkos_score" => rand(0.0..1.0),
+ "pvs_score" => rand(0.0..1.0),
+ "product_coverage" => rand(0.0..1.0),
+ "virus_total_score" => rand(0.0..1.0)
+ }
+ }
+ end
+ end
end
end
diff --git a/spec/factories/alert_management/http_integrations.rb b/spec/factories/alert_management/http_integrations.rb
index 405ec09251f..43cf8b3c6db 100644
--- a/spec/factories/alert_management/http_integrations.rb
+++ b/spec/factories/alert_management/http_integrations.rb
@@ -19,6 +19,12 @@ FactoryBot.define do
endpoint_identifier { 'legacy' }
end
+ trait :prometheus do
+ type_identifier { :prometheus }
+ end
+
initialize_with { new(**attributes) }
+
+ factory :alert_management_prometheus_integration, traits: [:prometheus]
end
end
diff --git a/spec/factories/broadcast_messages.rb b/spec/factories/broadcast_messages.rb
index fa8d255ae79..0602ce31136 100644
--- a/spec/factories/broadcast_messages.rb
+++ b/spec/factories/broadcast_messages.rb
@@ -5,6 +5,7 @@ FactoryBot.define do
message { "MyText" }
starts_at { 1.day.ago }
ends_at { 1.day.from_now }
+ show_in_cli { true }
broadcast_type { :banner }
diff --git a/spec/factories/ci/group_variables.rb b/spec/factories/ci/group_variables.rb
index d3b891eb1e3..44c0d10b3c1 100644
--- a/spec/factories/ci/group_variables.rb
+++ b/spec/factories/ci/group_variables.rb
@@ -5,11 +5,16 @@ FactoryBot.define do
sequence(:key) { |n| "VARIABLE_#{n}" }
value { 'VARIABLE_VALUE' }
masked { false }
+ variable_type { :env_var }
trait(:protected) do
add_attribute(:protected) { true }
end
+ trait(:file) do
+ variable_type { :file }
+ end
+
group factory: :group
end
end
diff --git a/spec/factories/ci/job_annotations.rb b/spec/factories/ci/job_annotations.rb
new file mode 100644
index 00000000000..4569b7eea0a
--- /dev/null
+++ b/spec/factories/ci/job_annotations.rb
@@ -0,0 +1,12 @@
+# frozen_string_literal: true
+
+FactoryBot.define do
+ factory :ci_job_annotation, class: 'Ci::JobAnnotation' do
+ sequence(:name) { |n| "annotation_#{n}" }
+ job factory: :ci_build
+
+ trait :external_link do
+ data { [{ external_link: { label: 'Example URL', url: 'https://example.com/' } }] }
+ end
+ end
+end
diff --git a/spec/factories/ci/pipeline_schedule_variables.rb b/spec/factories/ci/pipeline_schedule_variables.rb
index d598ba1b1b9..dd8e6b9226d 100644
--- a/spec/factories/ci/pipeline_schedule_variables.rb
+++ b/spec/factories/ci/pipeline_schedule_variables.rb
@@ -7,5 +7,9 @@ FactoryBot.define do
variable_type { 'env_var' }
pipeline_schedule factory: :ci_pipeline_schedule
+
+ trait(:file) do
+ variable_type { :file }
+ end
end
end
diff --git a/spec/factories/ci/pipeline_variables.rb b/spec/factories/ci/pipeline_variables.rb
index 17aa9962e0b..c0935d341ad 100644
--- a/spec/factories/ci/pipeline_variables.rb
+++ b/spec/factories/ci/pipeline_variables.rb
@@ -4,7 +4,12 @@ FactoryBot.define do
factory :ci_pipeline_variable, class: 'Ci::PipelineVariable' do
sequence(:key) { |n| "VARIABLE_#{n}" }
value { 'VARIABLE_VALUE' }
+ variable_type { :env_var }
pipeline factory: :ci_empty_pipeline
+
+ trait(:file) do
+ variable_type { :file }
+ end
end
end
diff --git a/spec/factories/ci/variables.rb b/spec/factories/ci/variables.rb
index 1f9c12ecbce..7ae01d95f63 100644
--- a/spec/factories/ci/variables.rb
+++ b/spec/factories/ci/variables.rb
@@ -11,6 +11,10 @@ FactoryBot.define do
add_attribute(:protected) { true }
end
+ trait(:file) do
+ variable_type { :file }
+ end
+
project
end
end
diff --git a/spec/factories/deploy_keys_projects.rb b/spec/factories/deploy_keys_projects.rb
index 2a429bf8e56..11833691329 100644
--- a/spec/factories/deploy_keys_projects.rb
+++ b/spec/factories/deploy_keys_projects.rb
@@ -8,5 +8,9 @@ FactoryBot.define do
trait :write_access do
can_push { true }
end
+
+ trait :readonly_access do
+ can_push { false }
+ end
end
end
diff --git a/spec/factories/deployment_clusters.rb b/spec/factories/deployment_clusters.rb
index 1bdfff79aaf..cfc40b85d26 100644
--- a/spec/factories/deployment_clusters.rb
+++ b/spec/factories/deployment_clusters.rb
@@ -6,4 +6,12 @@ FactoryBot.define do
deployment
kubernetes_namespace { 'the-namespace' }
end
+
+ trait :provided_by_gcp do
+ cluster factory: %i[cluster provided_by_gcp]
+ end
+
+ trait :not_managed do
+ cluster factory: %i[cluster not_managed]
+ end
end
diff --git a/spec/factories/deployments.rb b/spec/factories/deployments.rb
index 204b917fa4a..cbecaadff77 100644
--- a/spec/factories/deployments.rb
+++ b/spec/factories/deployments.rb
@@ -29,7 +29,11 @@ FactoryBot.define do
end
trait :on_cluster do
- cluster factory: %i(cluster provided_by_gcp)
+ deployment_cluster factory: %i(deployment_cluster provided_by_gcp)
+ end
+
+ trait :on_cluster_not_managed do
+ deployment_cluster factory: %i(deployment_cluster not_managed)
end
trait :running do
diff --git a/spec/factories/design_management/designs.rb b/spec/factories/design_management/designs.rb
index d16fd0c297b..b284c7f5737 100644
--- a/spec/factories/design_management/designs.rb
+++ b/spec/factories/design_management/designs.rb
@@ -26,7 +26,7 @@ FactoryBot.define do
sequence(:relative_position) { |n| n * 1000 }
end
- create_versions = ->(design, evaluator, commit_version) do
+ create_versions = ->(design, evaluator, commit_version) do # rubocop:disable RSpec/FactoryBot/LocalStaticAssignment
unless evaluator.versions_count == 0
project = design.project
issue = design.issue
diff --git a/spec/factories/error_tracking/open_api.rb b/spec/factories/error_tracking/open_api.rb
index ad134701fd0..db39ef5feb1 100644
--- a/spec/factories/error_tracking/open_api.rb
+++ b/spec/factories/error_tracking/open_api.rb
@@ -12,6 +12,15 @@ FactoryBot.define do
first_seen_at { Time.now.iso8601 }
last_seen_at { Time.now.iso8601 }
status { 'unresolved' }
+ stats do
+ association(:error_tracking_open_api_error_stats)
+ end
+
+ skip_create
+ end
+
+ factory :error_tracking_open_api_error_stats, class: 'ErrorTrackingOpenAPI::ErrorStats' do
+ frequency { { '24h': [[1, 2], [3, 4]] } }
skip_create
end
diff --git a/spec/factories/gitlab/database/background_migration/schema_inconsistencies.rb b/spec/factories/gitlab/database/background_migration/schema_inconsistencies.rb
index b71b0971417..1d2c460144d 100644
--- a/spec/factories/gitlab/database/background_migration/schema_inconsistencies.rb
+++ b/spec/factories/gitlab/database/background_migration/schema_inconsistencies.rb
@@ -7,5 +7,6 @@ FactoryBot.define do
object_name { 'name' }
table_name { 'table' }
valitador_name { 'validator' }
+ diff { 'diff' }
end
end
diff --git a/spec/factories/integrations.rb b/spec/factories/integrations.rb
index 10568d7f1cd..a927f0fb501 100644
--- a/spec/factories/integrations.rb
+++ b/spec/factories/integrations.rb
@@ -197,6 +197,12 @@ FactoryBot.define do
issue_tracker
end
+ factory :clickup_integration, class: 'Integrations::Clickup' do
+ project
+ active { true }
+ issue_tracker
+ end
+
trait :issue_tracker do
transient do
create_data { true }
@@ -291,6 +297,7 @@ FactoryBot.define do
app_store_key_id { 'ABC1' }
app_store_private_key_file_name { 'auth_key.p8' }
app_store_private_key { File.read('spec/fixtures/auth_key.p8') }
+ app_store_protected_refs { true }
end
factory :google_play_integration, class: 'Integrations::GooglePlay' do
@@ -312,6 +319,15 @@ FactoryBot.define do
token { 'squash_tm_token' }
end
+ factory :telegram_integration, class: 'Integrations::Telegram' do
+ project
+ type { 'Integrations::Telegram' }
+ active { true }
+
+ token { '123456:ABC-DEF1234' }
+ room { '@channel' }
+ end
+
# this is for testing storing values inside properties, which is deprecated and will be removed in
# https://gitlab.com/gitlab-org/gitlab/issues/29404
trait :without_properties_callback do
diff --git a/spec/factories/merge_request_diffs.rb b/spec/factories/merge_request_diffs.rb
index f93f3f22109..d81f355737e 100644
--- a/spec/factories/merge_request_diffs.rb
+++ b/spec/factories/merge_request_diffs.rb
@@ -2,7 +2,7 @@
FactoryBot.define do
factory :merge_request_diff do
- association :merge_request, factory: :merge_request_without_merge_request_diff
+ association :merge_request, :skip_diff_creation
state { :collected }
commits_count { 1 }
diff --git a/spec/factories/merge_requests.rb b/spec/factories/merge_requests.rb
index 4941a31982f..390db24dde8 100644
--- a/spec/factories/merge_requests.rb
+++ b/spec/factories/merge_requests.rb
@@ -313,6 +313,12 @@ FactoryBot.define do
sequence(:source_branch) { |n| "feature#{n}" }
end
+ trait :skip_diff_creation do
+ before(:create) do |merge_request, _|
+ merge_request.skip_ensure_merge_request_diff = true
+ end
+ end
+
after(:build) do |merge_request|
target_project = merge_request.target_project
source_project = merge_request.source_project
@@ -357,7 +363,5 @@ FactoryBot.define do
merge_request.update!(labels: evaluator.labels)
end
end
-
- factory :merge_request_without_merge_request_diff, class: 'MergeRequestWithoutMergeRequestDiff'
end
end
diff --git a/spec/factories/merge_requests_diff_llm_summary.rb b/spec/factories/merge_requests_diff_llm_summary.rb
index c72ce97efcb..fc67f8442ca 100644
--- a/spec/factories/merge_requests_diff_llm_summary.rb
+++ b/spec/factories/merge_requests_diff_llm_summary.rb
@@ -5,6 +5,6 @@ FactoryBot.define do
association :user, factory: :user
association :merge_request_diff, factory: :merge_request_diff
provider { 0 }
- content { 'test' }
+ content { FFaker::Lorem.sentence }
end
end
diff --git a/spec/factories/organizations.rb b/spec/factories/organizations.rb
deleted file mode 100644
index 7ff0493d140..00000000000
--- a/spec/factories/organizations.rb
+++ /dev/null
@@ -1,16 +0,0 @@
-# frozen_string_literal: true
-
-FactoryBot.define do
- factory :organization do
- sequence(:name) { |n| "Organization ##{n}" }
-
- trait :default do
- id { Organization::DEFAULT_ORGANIZATION_ID }
- name { 'Default' }
- initialize_with do
- # Ensure we only use one default organization
- Organization.find_by(id: Organization::DEFAULT_ORGANIZATION_ID) || new(**attributes)
- end
- end
- end
-end
diff --git a/spec/factories/organizations/organizations.rb b/spec/factories/organizations/organizations.rb
new file mode 100644
index 00000000000..f88ef046248
--- /dev/null
+++ b/spec/factories/organizations/organizations.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+# When adding or changing attributes, consider changing the database importer as well
+# lib/gitlab/database_importers/default_organization_importer.rb
+FactoryBot.define do
+ factory :organization, class: 'Organizations::Organization' do
+ sequence(:name) { |n| "Organization ##{n}" }
+ path { name.parameterize }
+
+ trait :default do
+ id { Organizations::Organization::DEFAULT_ORGANIZATION_ID }
+ name { 'Default' }
+ initialize_with do
+ # Ensure we only use one default organization
+ default_org = Organizations::Organization
+ .where(id: Organizations::Organization::DEFAULT_ORGANIZATION_ID)
+ .first_or_initialize
+ default_org.attributes = attributes.except(:id)
+ default_org
+ end
+ end
+ end
+end
diff --git a/spec/factories/packages/helm/file_metadatum.rb b/spec/factories/packages/helm/file_metadatum.rb
index 590956e5d49..a15f9f386d5 100644
--- a/spec/factories/packages/helm/file_metadatum.rb
+++ b/spec/factories/packages/helm/file_metadatum.rb
@@ -10,9 +10,9 @@ FactoryBot.define do
sequence(:channel) { |n| "#{FFaker::Lorem.word}-#{n}" }
metadata do
{
- 'name': package_file.package.name,
- 'version': package_file.package.version,
- 'apiVersion': 'v2'
+ name: package_file.package.name,
+ version: package_file.package.version,
+ apiVersion: 'v2'
}.tap do |defaults|
defaults['description'] = description if description
end
diff --git a/spec/factories/packages/npm/metadata.rb b/spec/factories/packages/npm/metadata.rb
index c8acaa10199..dfdcc3409f9 100644
--- a/spec/factories/packages/npm/metadata.rb
+++ b/spec/factories/packages/npm/metadata.rb
@@ -6,11 +6,11 @@ FactoryBot.define do
package_json do
{
- 'name': package.name,
- 'version': package.version,
- 'dist': {
- 'tarball': 'http://localhost/tarball.tgz',
- 'shasum': '1234567890'
+ name: package.name,
+ version: package.version,
+ dist: {
+ tarball: 'http://localhost/tarball.tgz',
+ shasum: '1234567890'
}
}
end
diff --git a/spec/factories/packages/nuget/metadata.rb b/spec/factories/packages/nuget/metadata.rb
index d2a2a666928..08a52997786 100644
--- a/spec/factories/packages/nuget/metadata.rb
+++ b/spec/factories/packages/nuget/metadata.rb
@@ -4,6 +4,8 @@ FactoryBot.define do
factory :nuget_metadatum, class: 'Packages::Nuget::Metadatum' do
package { association(:nuget_package) }
+ authors { 'Authors' }
+ description { 'Description' }
license_url { 'http://www.gitlab.com' }
project_url { 'http://www.gitlab.com' }
icon_url { 'http://www.gitlab.com' }
diff --git a/spec/factories/packages/packages.rb b/spec/factories/packages/packages.rb
index 283df3428db..75f540fabbe 100644
--- a/spec/factories/packages/packages.rb
+++ b/spec/factories/packages/packages.rb
@@ -1,4 +1,5 @@
# frozen_string_literal: true
+
FactoryBot.define do
factory :package, class: 'Packages::Package' do
project
@@ -72,6 +73,7 @@ FactoryBot.define do
transient do
without_package_files { false }
+ with_changes_file { false }
file_metadatum_trait { processing? ? :unknown : :keep }
published_in { :create }
end
@@ -97,6 +99,9 @@ FactoryBot.define do
create :debian_package_file, :udeb, evaluator.file_metadatum_trait, package: package
create :debian_package_file, :ddeb, evaluator.file_metadatum_trait, package: package
create :debian_package_file, :buildinfo, evaluator.file_metadatum_trait, package: package
+ end
+
+ if evaluator.with_changes_file
create :debian_package_file, :changes, evaluator.file_metadatum_trait, package: package
end
end
@@ -111,6 +116,28 @@ FactoryBot.define do
published_in { nil }
end
end
+
+ factory :debian_temporary_with_files do
+ status { :processing }
+
+ transient do
+ without_package_files { false }
+ with_changes_file { false }
+ file_metadatum_trait { :unknown }
+ published_in { nil }
+ end
+ end
+
+ factory :debian_temporary_with_changes do
+ status { :processing }
+
+ transient do
+ without_package_files { true }
+ with_changes_file { true }
+ file_metadatum_trait { :unknown }
+ published_in { nil }
+ end
+ end
end
factory :helm_package do
@@ -273,5 +300,11 @@ FactoryBot.define do
end
end
end
+
+ factory :ml_model_package do
+ sequence(:name) { |n| "mlmodel-package-#{n}" }
+ version { '1.0.0' }
+ package_type { :ml_model }
+ end
end
end
diff --git a/spec/factories/personal_access_tokens.rb b/spec/factories/personal_access_tokens.rb
index a140011941f..c7361b11633 100644
--- a/spec/factories/personal_access_tokens.rb
+++ b/spec/factories/personal_access_tokens.rb
@@ -5,7 +5,7 @@ FactoryBot.define do
user
sequence(:name) { |n| "PAT #{n}" }
revoked { false }
- expires_at { 5.days.from_now }
+ expires_at { 30.days.from_now }
scopes { ['api'] }
impersonation { false }
diff --git a/spec/factories/projects.rb b/spec/factories/projects.rb
index 856f0f6cd05..6e3e119ddab 100644
--- a/spec/factories/projects.rb
+++ b/spec/factories/projects.rb
@@ -42,6 +42,7 @@ FactoryBot.define do
feature_flags_access_level { ProjectFeature::ENABLED }
releases_access_level { ProjectFeature::ENABLED }
infrastructure_access_level { ProjectFeature::ENABLED }
+ model_experiments_access_level { ProjectFeature::ENABLED }
# we can't assign the delegated `#ci_cd_settings` attributes directly, as the
# `#ci_cd_settings` relation needs to be created first
@@ -57,6 +58,7 @@ FactoryBot.define do
restrict_user_defined_variables { nil }
ci_outbound_job_token_scope_enabled { nil }
ci_inbound_job_token_scope_enabled { nil }
+ runners_token { nil }
runner_token_expiration_interval { nil }
runner_token_expiration_interval_human_readable { nil }
end
@@ -93,6 +95,8 @@ FactoryBot.define do
project.build_project_namespace(project_namespace_hash)
project.build_project_feature(project_feature_hash)
+
+ project.set_runners_token(evaluator.runners_token) if evaluator.runners_token.present?
end
after(:create) do |project, evaluator|
diff --git a/spec/factories/service_desk/custom_email_credential.rb b/spec/factories/service_desk/custom_email_credential.rb
index da131dd8250..f1da12327a2 100644
--- a/spec/factories/service_desk/custom_email_credential.rb
+++ b/spec/factories/service_desk/custom_email_credential.rb
@@ -4,7 +4,7 @@ FactoryBot.define do
factory :service_desk_custom_email_credential, class: '::ServiceDesk::CustomEmailCredential' do
project
smtp_address { "smtp.example.com" }
- smtp_username { "text@example.com" }
+ smtp_username { "user@example.com" }
smtp_port { 587 }
smtp_password { "supersecret" }
end
diff --git a/spec/factories/users.rb b/spec/factories/users.rb
index 9cf755b2842..a9d5da93bc5 100644
--- a/spec/factories/users.rb
+++ b/spec/factories/users.rb
@@ -65,7 +65,9 @@ FactoryBot.define do
end
trait :service_account do
+ name { 'Service account user' }
user_type { :service_account }
+ skip_confirmation { true }
end
trait :migration_bot do
@@ -128,6 +130,8 @@ FactoryBot.define do
transient { registrations_count { 5 } }
after(:create) do |user, evaluator|
+ user.generate_otp_backup_codes!
+
create_list(:webauthn_registration, evaluator.registrations_count, user: user)
end
end
diff --git a/spec/factories/wiki_pages.rb b/spec/factories/wiki_pages.rb
index 9b4c8a4fced..093a2e9148f 100644
--- a/spec/factories/wiki_pages.rb
+++ b/spec/factories/wiki_pages.rb
@@ -1,7 +1,5 @@
# frozen_string_literal: true
-require 'ostruct'
-
FactoryBot.define do
factory :wiki_page do
transient do
@@ -12,7 +10,7 @@ FactoryBot.define do
project { association(:project) }
container { project }
wiki { association(:wiki, container: container) }
- page { OpenStruct.new(url_path: title) }
+ page { ActiveSupport::InheritableOptions.new(url_path: title) }
end
initialize_with do