diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-06-20 13:43:29 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-06-20 13:43:29 +0300 |
commit | 3b1af5cc7ed2666ff18b718ce5d30fa5a2756674 (patch) | |
tree | 3bc4a40e0ee51ec27eabf917c537033c0c5b14d4 /spec/factories | |
parent | 9bba14be3f2c211bf79e15769cd9b77bc73a13bc (diff) |
Add latest changes from gitlab-org/gitlab@16-1-stable-eev16.1.0-rc42
Diffstat (limited to 'spec/factories')
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 |