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-02-18 12:45:46 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2022-02-18 12:45:46 +0300
commita7b3560714b4d9cc4ab32dffcd1f74a284b93580 (patch)
tree7452bd5c3545c2fa67a28aa013835fb4fa071baf /spec/factories
parentee9173579ae56a3dbfe5afe9f9410c65bb327ca7 (diff)
Add latest changes from gitlab-org/gitlab@14-8-stable-eev14.8.0-rc42
Diffstat (limited to 'spec/factories')
-rw-r--r--spec/factories/ci/build_metadata.rb7
-rw-r--r--spec/factories/ci/runners.rb5
-rw-r--r--spec/factories/container_repositories.rb46
-rw-r--r--spec/factories/gitlab/database/background_migration/batched_jobs.rb16
-rw-r--r--spec/factories/go_module_commits.rb4
-rw-r--r--spec/factories/group_members.rb12
-rw-r--r--spec/factories/issues.rb9
-rw-r--r--spec/factories/keys.rb25
-rw-r--r--spec/factories/labels.rb7
-rw-r--r--spec/factories/namespace_statistics.rb7
-rw-r--r--spec/factories/project_members.rb12
-rw-r--r--spec/factories/projects.rb2
-rw-r--r--spec/factories/usage_data.rb8
-rw-r--r--spec/factories/work_items.rb13
14 files changed, 151 insertions, 22 deletions
diff --git a/spec/factories/ci/build_metadata.rb b/spec/factories/ci/build_metadata.rb
new file mode 100644
index 00000000000..cfc86c4ef4b
--- /dev/null
+++ b/spec/factories/ci/build_metadata.rb
@@ -0,0 +1,7 @@
+# frozen_string_literal: true
+
+FactoryBot.define do
+ factory :ci_build_metadata, class: 'Ci::BuildMetadata' do
+ build { association(:ci_build, strategy: :build, metadata: instance) }
+ end
+end
diff --git a/spec/factories/ci/runners.rb b/spec/factories/ci/runners.rb
index 6665b7b76a0..18026412261 100644
--- a/spec/factories/ci/runners.rb
+++ b/spec/factories/ci/runners.rb
@@ -13,6 +13,7 @@ FactoryBot.define do
transient do
groups { [] }
projects { [] }
+ token_expires_at { nil }
end
after(:build) do |runner, evaluator|
@@ -25,6 +26,10 @@ FactoryBot.define do
end
end
+ after(:create) do |runner, evaluator|
+ runner.update!(token_expires_at: evaluator.token_expires_at) if evaluator.token_expires_at
+ end
+
trait :online do
contacted_at { Time.now }
end
diff --git a/spec/factories/container_repositories.rb b/spec/factories/container_repositories.rb
index 86bb129067f..ce83e9e8006 100644
--- a/spec/factories/container_repositories.rb
+++ b/spec/factories/container_repositories.rb
@@ -33,6 +33,52 @@ FactoryBot.define do
expiration_policy_cleanup_status { :cleanup_ongoing }
end
+ trait :default do
+ migration_state { 'default' }
+ end
+
+ trait :pre_importing do
+ migration_state { 'pre_importing' }
+ migration_pre_import_started_at { Time.zone.now }
+ end
+
+ trait :pre_import_done do
+ migration_state { 'pre_import_done' }
+ migration_pre_import_started_at { Time.zone.now }
+ migration_pre_import_done_at { Time.zone.now }
+ end
+
+ trait :importing do
+ migration_state { 'importing' }
+ migration_pre_import_started_at { Time.zone.now }
+ migration_pre_import_done_at { Time.zone.now }
+ migration_import_started_at { Time.zone.now }
+ end
+
+ trait :import_done do
+ migration_state { 'import_done' }
+ migration_pre_import_started_at { Time.zone.now }
+ migration_pre_import_done_at { Time.zone.now }
+ migration_import_started_at { Time.zone.now }
+ migration_import_done_at { Time.zone.now }
+ end
+
+ trait :import_aborted do
+ migration_state { 'import_aborted' }
+ migration_pre_import_started_at { Time.zone.now }
+ migration_pre_import_done_at { Time.zone.now }
+ migration_import_started_at { Time.zone.now }
+ migration_aborted_at { Time.zone.now }
+ migration_aborted_in_state { 'importing' }
+ migration_retries_count { 1 }
+ end
+
+ trait :import_skipped do
+ migration_state { 'import_skipped' }
+ migration_skipped_at { Time.zone.now }
+ migration_skipped_reason { :too_many_tags }
+ end
+
after(:build) do |repository, evaluator|
next if evaluator.tags.to_a.none?
diff --git a/spec/factories/gitlab/database/background_migration/batched_jobs.rb b/spec/factories/gitlab/database/background_migration/batched_jobs.rb
index cec20616f7f..3c7dcd03701 100644
--- a/spec/factories/gitlab/database/background_migration/batched_jobs.rb
+++ b/spec/factories/gitlab/database/background_migration/batched_jobs.rb
@@ -9,5 +9,21 @@ FactoryBot.define do
batch_size { 5 }
sub_batch_size { 1 }
pause_ms { 100 }
+
+ trait(:pending) do
+ status { 0 }
+ end
+
+ trait(:running) do
+ status { 1 }
+ end
+
+ trait(:failed) do
+ status { 2 }
+ end
+
+ trait(:succeeded) do
+ status { 3 }
+ end
end
end
diff --git a/spec/factories/go_module_commits.rb b/spec/factories/go_module_commits.rb
index 514a5559344..4f86d38954c 100644
--- a/spec/factories/go_module_commits.rb
+++ b/spec/factories/go_module_commits.rb
@@ -17,7 +17,7 @@ FactoryBot.define do
service do
Files::MultiService.new(
project,
- project.owner,
+ project.first_owner,
commit_message: message,
start_branch: project.repository.root_ref || 'master',
branch_name: project.repository.root_ref || 'master',
@@ -38,7 +38,7 @@ FactoryBot.define do
commit = project.repository.commit_by(oid: r[:result])
if tag
- r = Tags::CreateService.new(project, project.owner).execute(tag, commit.sha, tag_message)
+ r = Tags::CreateService.new(project, project.first_owner).execute(tag, commit.sha, tag_message)
raise "operation failed: #{r}" unless r[:status] == :success
end
diff --git a/spec/factories/group_members.rb b/spec/factories/group_members.rb
index ab2321c81c4..4b1bf9a7d11 100644
--- a/spec/factories/group_members.rb
+++ b/spec/factories/group_members.rb
@@ -35,6 +35,18 @@ FactoryBot.define do
access_level { GroupMember::MINIMAL_ACCESS }
end
+ trait :awaiting do
+ after(:create) do |member|
+ member.update!(state: ::Member::STATE_AWAITING)
+ end
+ end
+
+ trait :active do
+ after(:create) do |member|
+ member.update!(state: ::Member::STATE_ACTIVE)
+ end
+ end
+
transient do
tasks_to_be_done { [] }
end
diff --git a/spec/factories/issues.rb b/spec/factories/issues.rb
index 8b53732a3c1..26c858665a8 100644
--- a/spec/factories/issues.rb
+++ b/spec/factories/issues.rb
@@ -61,6 +61,15 @@ FactoryBot.define do
factory :incident do
issue_type { :incident }
association :work_item_type, :default, :incident
+
+ # An escalation status record is created for all incidents
+ # in app code. This is a trait to avoid creating escalation
+ # status records in specs which do not need them.
+ trait :with_escalation_status do
+ after(:create) do |incident|
+ create(:incident_management_issuable_escalation_status, issue: incident)
+ end
+ end
end
end
end
diff --git a/spec/factories/keys.rb b/spec/factories/keys.rb
index cf52e772ae0..2af1c6cc62d 100644
--- a/spec/factories/keys.rb
+++ b/spec/factories/keys.rb
@@ -1,14 +1,12 @@
# frozen_string_literal: true
-require_relative '../support/helpers/key_generator_helper'
-
FactoryBot.define do
factory :key do
title
- key { Spec::Support::Helpers::KeyGeneratorHelper.new(1024).generate + ' dummy@gitlab.com' }
+ key { SSHData::PrivateKey::RSA.generate(1024, unsafe_allow_small_key: true).public_key.openssh(comment: 'dummy@gitlab.com') }
factory :key_without_comment do
- key { Spec::Support::Helpers::KeyGeneratorHelper.new(1024).generate }
+ key { SSHData::PrivateKey::RSA.generate(1024, unsafe_allow_small_key: true).public_key.openssh }
end
factory :deploy_key, class: 'DeployKey'
@@ -148,5 +146,24 @@ FactoryBot.define do
KEY
end
end
+
+ factory :ecdsa_sk_key_256 do
+ key do
+ <<~KEY.delete("\n")
+ sk-ecdsa-sha2-nistp256@openssh.com AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyN
+ TZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBDZ+f5tSRhlB7EN39f93SscTN5PUv
+ bD3UQsNrlE1ZdbwPMMRul2zlPiUvwAvnJitW0jlD/vwZOW2YN+q+iZ5c0MAAAAEc3NoOg== dummy@gitlab.com
+ KEY
+ end
+ end
+
+ factory :ed25519_sk_key_256 do
+ key do
+ <<~KEY.delete("\n")
+ sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tA
+ AAAIEX/dQ0v4127bEo8eeG1EV0ApO2lWbSnN6RWusn/NjqIAAAABHNzaDo= dummy@gitlab.com
+ KEY
+ end
+ end
end
end
diff --git a/spec/factories/labels.rb b/spec/factories/labels.rb
index f0cef41db69..250c92c0038 100644
--- a/spec/factories/labels.rb
+++ b/spec/factories/labels.rb
@@ -18,13 +18,6 @@ FactoryBot.define do
title { "#{prefix}::#{generate(:label_title)}" }
end
- trait :incident do
- properties = IncidentManagement::CreateIncidentLabelService::LABEL_PROPERTIES
- title { properties.fetch(:title) }
- description { properties.fetch(:description) }
- color { properties.fetch(:color) }
- end
-
factory :label, traits: [:base_label], class: 'ProjectLabel' do
project
diff --git a/spec/factories/namespace_statistics.rb b/spec/factories/namespace_statistics.rb
new file mode 100644
index 00000000000..49e2c8957c5
--- /dev/null
+++ b/spec/factories/namespace_statistics.rb
@@ -0,0 +1,7 @@
+# frozen_string_literal: true
+
+FactoryBot.define do
+ factory :namespace_statistics do
+ namespace factory: :namespace
+ end
+end
diff --git a/spec/factories/project_members.rb b/spec/factories/project_members.rb
index f2dedc178c7..c38257b06b6 100644
--- a/spec/factories/project_members.rb
+++ b/spec/factories/project_members.rb
@@ -24,6 +24,18 @@ FactoryBot.define do
after(:build) { |project_member, _| project_member.user.block! }
end
+ trait :awaiting do
+ after(:create) do |member|
+ member.update!(state: ::Member::STATE_AWAITING)
+ end
+ end
+
+ trait :active do
+ after(:create) do |member|
+ member.update!(state: ::Member::STATE_ACTIVE)
+ end
+ end
+
transient do
tasks_to_be_done { [] }
end
diff --git a/spec/factories/projects.rb b/spec/factories/projects.rb
index c345fa0c8b4..8a406f95f58 100644
--- a/spec/factories/projects.rb
+++ b/spec/factories/projects.rb
@@ -82,7 +82,7 @@ FactoryBot.define do
# user have access to the project. Our specs don't use said service class,
# thus we must manually refresh things here.
unless project.group || project.pending_delete
- project.add_maintainer(project.owner)
+ project.add_maintainer(project.first_owner)
end
project.group&.refresh_members_authorized_projects
diff --git a/spec/factories/usage_data.rb b/spec/factories/usage_data.rb
index f00d1f8b808..86799af1719 100644
--- a/spec/factories/usage_data.rb
+++ b/spec/factories/usage_data.rb
@@ -58,14 +58,6 @@ FactoryBot.define do
# Tracing
create(:project_tracing_setting, project: projects[0])
- # Incident Labeled Issues
- incident_label = create(:label, :incident, project: projects[0])
- create(:labeled_issue, project: projects[0], labels: [incident_label])
- incident_label_scoped_to_project = create(:label, :incident, project: projects[1])
- incident_label_scoped_to_group = create(:group_label, :incident, group: group)
- create(:labeled_issue, project: projects[1], labels: [incident_label_scoped_to_project])
- create(:labeled_issue, project: projects[1], labels: [incident_label_scoped_to_group])
-
# Alert Issues
create(:alert_management_alert, issue: issues[0], project: projects[0])
create(:alert_management_alert, issue: alert_bot_issues[0], project: projects[0])
diff --git a/spec/factories/work_items.rb b/spec/factories/work_items.rb
new file mode 100644
index 00000000000..6d9dcac6165
--- /dev/null
+++ b/spec/factories/work_items.rb
@@ -0,0 +1,13 @@
+# frozen_string_literal: true
+
+FactoryBot.define do
+ factory :work_item, traits: [:has_internal_id] do
+ title { generate(:title) }
+ project
+ author { project.creator }
+ updated_by { author }
+ relative_position { RelativePositioning::START_POSITION }
+ issue_type { :issue }
+ association :work_item_type, :default
+ end
+end