diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-07-20 18:40:28 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-07-20 18:40:28 +0300 |
commit | b595cb0c1dec83de5bdee18284abe86614bed33b (patch) | |
tree | 8c3d4540f193c5ff98019352f554e921b3a41a72 /spec/factories | |
parent | 2f9104a328fc8a4bddeaa4627b595166d24671d0 (diff) |
Add latest changes from gitlab-org/gitlab@15-2-stable-eev15.2.0-rc42
Diffstat (limited to 'spec/factories')
21 files changed, 137 insertions, 65 deletions
diff --git a/spec/factories/ci/runner_versions.rb b/spec/factories/ci/runner_versions.rb new file mode 100644 index 00000000000..69127aa6e54 --- /dev/null +++ b/spec/factories/ci/runner_versions.rb @@ -0,0 +1,7 @@ +# frozen_string_literal: true + +FactoryBot.define do + factory :ci_runner_version, class: 'Ci::RunnerVersion' do + sequence(:version) { |n| "1.0.#{n}" } + end +end diff --git a/spec/factories/ci/stages.rb b/spec/factories/ci/stages.rb index 4751c04584e..41297b01f92 100644 --- a/spec/factories/ci/stages.rb +++ b/spec/factories/ci/stages.rb @@ -1,24 +1,7 @@ # frozen_string_literal: true FactoryBot.define do - factory :ci_stage, class: 'Ci::LegacyStage' do - skip_create - - transient do - name { 'test' } - status { nil } - warnings { nil } - pipeline factory: :ci_empty_pipeline - end - - initialize_with do - Ci::LegacyStage.new(pipeline, name: name, - status: status, - warnings: warnings) - end - end - - factory :ci_stage_entity, class: 'Ci::Stage' do + factory :ci_stage, class: 'Ci::Stage' do project factory: :project pipeline factory: :ci_empty_pipeline diff --git a/spec/factories/clusters/applications/helm.rb b/spec/factories/clusters/applications/helm.rb index 919b45e57e2..6a21df943f5 100644 --- a/spec/factories/clusters/applications/helm.rb +++ b/spec/factories/clusters/applications/helm.rb @@ -103,10 +103,6 @@ FactoryBot.define do cluster factory: %i(cluster with_installed_helm provided_by_gcp) end - factory :clusters_applications_elastic_stack, class: 'Clusters::Applications::ElasticStack' do - cluster factory: %i(cluster with_installed_helm provided_by_gcp) - end - factory :clusters_applications_crossplane, class: 'Clusters::Applications::Crossplane' do stack { 'gcp' } cluster factory: %i(cluster with_installed_helm provided_by_gcp) diff --git a/spec/factories/clusters/clusters.rb b/spec/factories/clusters/clusters.rb index 7666533691e..72424a3c321 100644 --- a/spec/factories/clusters/clusters.rb +++ b/spec/factories/clusters/clusters.rb @@ -100,7 +100,6 @@ FactoryBot.define do application_runner factory: %i(clusters_applications_runner installed) application_jupyter factory: %i(clusters_applications_jupyter installed) application_knative factory: %i(clusters_applications_knative installed) - application_elastic_stack factory: %i(clusters_applications_elastic_stack installed) application_cilium factory: %i(clusters_applications_cilium installed) end diff --git a/spec/factories/clusters/integrations/elastic_stack.rb b/spec/factories/clusters/integrations/elastic_stack.rb deleted file mode 100644 index 1ab3256845b..00000000000 --- a/spec/factories/clusters/integrations/elastic_stack.rb +++ /dev/null @@ -1,12 +0,0 @@ -# frozen_string_literal: true - -FactoryBot.define do - factory :clusters_integrations_elastic_stack, class: 'Clusters::Integrations::ElasticStack' do - cluster factory: %i(cluster provided_by_gcp) - enabled { true } - - trait :disabled do - enabled { false } - end - end -end diff --git a/spec/factories/error_tracking/open_api.rb b/spec/factories/error_tracking/open_api.rb new file mode 100644 index 00000000000..ad134701fd0 --- /dev/null +++ b/spec/factories/error_tracking/open_api.rb @@ -0,0 +1,41 @@ +# frozen_string_literal: true + +FactoryBot.define do + factory :error_tracking_open_api_error, class: 'ErrorTrackingOpenAPI::Error' do + fingerprint { 1 } + project_id { 2 } + name { 'ActionView::MissingTemplate' } + description { 'Missing template posts/edit' } + actor { 'PostsController#edit' } + event_count { 3 } + approximated_user_count { 4 } + first_seen_at { Time.now.iso8601 } + last_seen_at { Time.now.iso8601 } + status { 'unresolved' } + + skip_create + end + + factory :error_tracking_open_api_error_event, class: 'ErrorTrackingOpenAPI::ErrorEvent' do + fingerprint { 1 } + project_id { 2 } + payload { File.read(Rails.root.join('spec/fixtures/error_tracking/parsed_event.json')) } + name { 'ActionView::MissingTemplate' } + description { 'Missing template posts/edit' } + actor { 'PostsController#edit' } + environment { 'development' } + platform { 'ruby' } + + trait :golang do + payload { File.read(Rails.root.join('spec/fixtures/error_tracking/go_parsed_event.json')) } + platform { 'go' } + end + + trait :browser do + payload { File.read(Rails.root.join('spec/fixtures/error_tracking/browser_event.json')) } + platform { 'javascript' } + end + + skip_create + end +end diff --git a/spec/factories/gitlab/database/postgres_autovacuum_activity.rb b/spec/factories/gitlab/database/postgres_autovacuum_activity.rb new file mode 100644 index 00000000000..a770da19a43 --- /dev/null +++ b/spec/factories/gitlab/database/postgres_autovacuum_activity.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +FactoryBot.define do + factory :postgres_autovacuum_activity, class: 'Gitlab::Database::PostgresAutovacuumActivity' do + table_identifier { "#{schema}.#{table}" } + schema { 'public' } + table { 'projects' } + vacuum_start { Time.zone.now - 3.minutes } + end +end diff --git a/spec/factories/import_states.rb b/spec/factories/import_states.rb index 4dca78b1059..0c73082be57 100644 --- a/spec/factories/import_states.rb +++ b/spec/factories/import_states.rb @@ -34,6 +34,10 @@ FactoryBot.define do status { :failed } end + trait :canceled do + status { :canceled } + end + after(:create) do |import_state, evaluator| columns = {} columns[:import_url] = evaluator.import_url unless evaluator.import_url.blank? diff --git a/spec/factories/integrations.rb b/spec/factories/integrations.rb index 3945637c2c3..5ac26b7a260 100644 --- a/spec/factories/integrations.rb +++ b/spec/factories/integrations.rb @@ -233,7 +233,7 @@ FactoryBot.define do factory :harbor_integration, class: 'Integrations::Harbor' do project active { true } - type { 'HarborService' } + type { 'Integrations::Harbor' } url { 'https://demo.goharbor.io' } project_name { 'testproject' } diff --git a/spec/factories/keys.rb b/spec/factories/keys.rb index a7478ce2657..f6f06a99494 100644 --- a/spec/factories/keys.rb +++ b/spec/factories/keys.rb @@ -3,8 +3,13 @@ FactoryBot.define do factory :key do title - key { SSHData::PrivateKey::RSA.generate(1024, unsafe_allow_small_key: true).public_key.openssh(comment: 'dummy@gitlab.com') } - + key do + # Larger keys take longer to generate, and since this factory gets called frequently, + # let's only create the smallest one we need. + SSHData::PrivateKey::RSA.generate( + ::Gitlab::SSHPublicKey.supported_sizes(:rsa).min, unsafe_allow_small_key: true + ).public_key.openssh(comment: 'dummy@gitlab.com') + end trait :expired do to_create { |key| key.save!(validate: false) } expires_at { 2.days.ago } @@ -15,8 +20,14 @@ FactoryBot.define do expires_at { Date.today.beginning_of_day + 3.hours } end + trait :without_md5_fingerprint do + after(:create) do |key| + key.update_column(:fingerprint, nil) + end + end + factory :key_without_comment do - key { SSHData::PrivateKey::RSA.generate(1024, unsafe_allow_small_key: true).public_key.openssh } + key { SSHData::PrivateKey::RSA.generate(3072, unsafe_allow_small_key: true).public_key.openssh } end factory :deploy_key, class: 'DeployKey' diff --git a/spec/factories/oauth_access_tokens.rb b/spec/factories/oauth_access_tokens.rb index 8d1075dacbb..8fd8aef9b49 100644 --- a/spec/factories/oauth_access_tokens.rb +++ b/spec/factories/oauth_access_tokens.rb @@ -5,6 +5,7 @@ FactoryBot.define do resource_owner application token { Doorkeeper::OAuth::Helpers::UniqueToken.generate } + refresh_token { Doorkeeper::OAuth::Helpers::UniqueToken.generate } scopes { application.scopes } end end diff --git a/spec/factories/project_group_links.rb b/spec/factories/project_group_links.rb index b1b0f04d84c..84c590e3ea1 100644 --- a/spec/factories/project_group_links.rb +++ b/spec/factories/project_group_links.rb @@ -13,7 +13,7 @@ FactoryBot.define do trait(:maintainer) { group_access { Gitlab::Access::MAINTAINER } } after(:create) do |project_group_link, evaluator| - project_group_link.group.refresh_members_authorized_projects + AuthorizedProjectUpdate::ProjectRecalculateService.new(project_group_link.project).execute end end end diff --git a/spec/factories/project_hooks.rb b/spec/factories/project_hooks.rb index e0b61526ba0..dbb5c357acb 100644 --- a/spec/factories/project_hooks.rb +++ b/spec/factories/project_hooks.rb @@ -7,7 +7,7 @@ FactoryBot.define do project trait :token do - token { SecureRandom.hex(10) } + token { generate(:token) } end trait :all_events_enabled do @@ -29,5 +29,9 @@ FactoryBot.define do trait :with_push_branch_filter do push_events_branch_filter { 'my-branch-*' } end + + trait :permanently_disabled do + recent_failures { WebHook::FAILURE_THRESHOLD + 1 } + end end end diff --git a/spec/factories/project_tracing_settings.rb b/spec/factories/project_tracing_settings.rb deleted file mode 100644 index 05c1529c18e..00000000000 --- a/spec/factories/project_tracing_settings.rb +++ /dev/null @@ -1,8 +0,0 @@ -# frozen_string_literal: true - -FactoryBot.define do - factory :project_tracing_setting do - project - external_url { 'https://example.com' } - end -end diff --git a/spec/factories/projects.rb b/spec/factories/projects.rb index 86321350962..d60512e2b2a 100644 --- a/spec/factories/projects.rb +++ b/spec/factories/projects.rb @@ -98,7 +98,9 @@ FactoryBot.define do project.add_owner(project.first_owner) end - project.group&.refresh_members_authorized_projects + if project.group + AuthorizedProjectUpdate::ProjectRecalculateService.new(project).execute + end # assign the delegated `#ci_cd_settings` attributes after create project.group_runners_enabled = evaluator.group_runners_enabled unless evaluator.group_runners_enabled.nil? @@ -151,6 +153,10 @@ FactoryBot.define do import_status { :failed } end + trait :import_canceled do + import_status { :canceled } + end + trait :jira_dvcs_cloud do before(:create) do |project| create(:project_feature_usage, :dvcs_cloud, project: project) @@ -328,9 +334,10 @@ FactoryBot.define do trait :test_repo do after :create do |project| - TestEnv.copy_repo(project, - bare_repo: TestEnv.factory_repo_path_bare, - refs: TestEnv::BRANCH_SHA) + # There are various tests that rely on there being no repository cache. + # Using raw avoids caching. + repo = Gitlab::GlRepository::PROJECT.repository_for(project).raw + repo.create_from_bundle(TestEnv.factory_repo_bundle_path) end end @@ -428,9 +435,10 @@ FactoryBot.define do path { 'forked-gitlabhq' } after :create do |project| - TestEnv.copy_repo(project, - bare_repo: TestEnv.forked_repo_path_bare, - refs: TestEnv::FORKED_BRANCH_SHA) + # There are various tests that rely on there being no repository cache. + # Using raw avoids caching. + repo = Gitlab::GlRepository::PROJECT.repository_for(project).raw + repo.create_from_bundle(TestEnv.forked_repo_bundle_path) end end diff --git a/spec/factories/projects/import_export/export_relation.rb b/spec/factories/projects/import_export/export_relation.rb new file mode 100644 index 00000000000..2b6419dcecb --- /dev/null +++ b/spec/factories/projects/import_export/export_relation.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +FactoryBot.define do + factory :project_relation_export, class: 'Projects::ImportExport::RelationExport' do + project_export_job factory: :project_export_job + + relation { 'labels' } + status { 0 } + sequence(:jid) { |n| "project_relation_export_#{n}" } + end +end diff --git a/spec/factories/sequences.rb b/spec/factories/sequences.rb index c10fab8588d..fd7f9223965 100644 --- a/spec/factories/sequences.rb +++ b/spec/factories/sequences.rb @@ -22,4 +22,5 @@ FactoryBot.define do sequence(:job_name) { |n| "job #{n}" } sequence(:work_item_type_name) { |n| "bug#{n}" } sequence(:short_text) { |n| "someText#{n}" } + sequence(:token) { SecureRandom.hex(10) } end diff --git a/spec/factories/snippets.rb b/spec/factories/snippets.rb index 21e1d911f96..75e2ef3db02 100644 --- a/spec/factories/snippets.rb +++ b/spec/factories/snippets.rb @@ -9,6 +9,10 @@ FactoryBot.define do file_name { generate(:filename) } secret { false } + transient do + repository_storage { 'default' } + end + trait :public do visibility_level { Snippet::PUBLIC } end @@ -23,12 +27,13 @@ FactoryBot.define do # Test repository - https://gitlab.com/gitlab-org/gitlab-test trait :repository do - after :create do |snippet| - TestEnv.copy_repo(snippet, - bare_repo: TestEnv.factory_repo_path_bare, - refs: TestEnv::BRANCH_SHA) + after :create do |snippet, evaluator| + snippet.track_snippet_repository(evaluator.repository_storage) - snippet.track_snippet_repository(snippet.repository.storage) + # There are various tests that rely on there being no repository cache. + # Using raw avoids caching. + repo = Gitlab::GlRepository::SNIPPET.repository_for(snippet).raw + repo.create_from_bundle(TestEnv.factory_repo_bundle_path) end end diff --git a/spec/factories/usage_data.rb b/spec/factories/usage_data.rb index 316e0c2b8d6..0e944b90d0c 100644 --- a/spec/factories/usage_data.rb +++ b/spec/factories/usage_data.rb @@ -59,9 +59,6 @@ FactoryBot.define do create(:alert_management_http_integration, project: projects[0], name: 'DataCat') create(:alert_management_http_integration, :inactive, project: projects[1], name: 'DataFox') - # Tracing - create(:project_tracing_setting, project: projects[0]) - # Alert Issues create(:alert_management_alert, issue: issues[0], project: projects[0]) create(:alert_management_alert, issue: alert_bot_issues[0], project: projects[0]) @@ -86,7 +83,6 @@ FactoryBot.define do # Cluster Integrations create(:clusters_integrations_prometheus, cluster: gcp_cluster) - create(:clusters_integrations_elastic_stack, cluster: gcp_cluster) create(:grafana_integration, project: projects[0], enabled: true) create(:grafana_integration, project: projects[1], enabled: true) diff --git a/spec/factories/users/namespace_user_callouts.rb b/spec/factories/users/namespace_user_callouts.rb new file mode 100644 index 00000000000..fded63d0cce --- /dev/null +++ b/spec/factories/users/namespace_user_callouts.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +FactoryBot.define do + factory :namespace_callout, class: 'Users::NamespaceCallout' do + feature_name { :invite_members_banner } + + user + namespace + end +end diff --git a/spec/factories/work_items.rb b/spec/factories/work_items.rb index e80aa9cc008..81c9fb6ed87 100644 --- a/spec/factories/work_items.rb +++ b/spec/factories/work_items.rb @@ -14,5 +14,10 @@ FactoryBot.define do issue_type { :task } association :work_item_type, :default, :task end + + trait :incident do + issue_type { :incident } + association :work_item_type, :default, :incident + end end end |