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>2022-07-20 18:40:28 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2022-07-20 18:40:28 +0300
commitb595cb0c1dec83de5bdee18284abe86614bed33b (patch)
tree8c3d4540f193c5ff98019352f554e921b3a41a72 /spec/factories
parent2f9104a328fc8a4bddeaa4627b595166d24671d0 (diff)
Add latest changes from gitlab-org/gitlab@15-2-stable-eev15.2.0-rc42
Diffstat (limited to 'spec/factories')
-rw-r--r--spec/factories/ci/runner_versions.rb7
-rw-r--r--spec/factories/ci/stages.rb19
-rw-r--r--spec/factories/clusters/applications/helm.rb4
-rw-r--r--spec/factories/clusters/clusters.rb1
-rw-r--r--spec/factories/clusters/integrations/elastic_stack.rb12
-rw-r--r--spec/factories/error_tracking/open_api.rb41
-rw-r--r--spec/factories/gitlab/database/postgres_autovacuum_activity.rb10
-rw-r--r--spec/factories/import_states.rb4
-rw-r--r--spec/factories/integrations.rb2
-rw-r--r--spec/factories/keys.rb17
-rw-r--r--spec/factories/oauth_access_tokens.rb1
-rw-r--r--spec/factories/project_group_links.rb2
-rw-r--r--spec/factories/project_hooks.rb6
-rw-r--r--spec/factories/project_tracing_settings.rb8
-rw-r--r--spec/factories/projects.rb22
-rw-r--r--spec/factories/projects/import_export/export_relation.rb11
-rw-r--r--spec/factories/sequences.rb1
-rw-r--r--spec/factories/snippets.rb15
-rw-r--r--spec/factories/usage_data.rb4
-rw-r--r--spec/factories/users/namespace_user_callouts.rb10
-rw-r--r--spec/factories/work_items.rb5
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