diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-08-18 13:50:51 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-08-18 13:50:51 +0300 |
commit | db384e6b19af03b4c3c82a5760d83a3fd79f7982 (patch) | |
tree | 34beaef37df5f47ccbcf5729d7583aae093cffa0 /spec/support/helpers/migrations_helpers/project_statistics_helper.rb | |
parent | 54fd7b1bad233e3944434da91d257fa7f63c3996 (diff) |
Add latest changes from gitlab-org/gitlab@16-3-stable-eev16.3.0-rc42
Diffstat (limited to 'spec/support/helpers/migrations_helpers/project_statistics_helper.rb')
-rw-r--r-- | spec/support/helpers/migrations_helpers/project_statistics_helper.rb | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/spec/support/helpers/migrations_helpers/project_statistics_helper.rb b/spec/support/helpers/migrations_helpers/project_statistics_helper.rb new file mode 100644 index 00000000000..4e7d83a38ac --- /dev/null +++ b/spec/support/helpers/migrations_helpers/project_statistics_helper.rb @@ -0,0 +1,37 @@ +# frozen_string_literal: true + +module MigrationHelpers + module ProjectStatisticsHelper + def generate_records(projects, table, values = {}) + projects.map do |proj| + table.create!( + values.merge({ + project_id: proj.id, + namespace_id: proj.namespace_id + }) + ) + end + end + + def create_migration(end_id:) + described_class.new(start_id: 1, end_id: end_id, + batch_table: 'project_statistics', batch_column: 'project_id', + sub_batch_size: 1_000, pause_ms: 0, + connection: ApplicationRecord.connection) + end + + def create_project_stats(project_table, namespace, default_stats, override_stats = {}) + stats = default_stats.merge(override_stats) + + group = namespace.create!(name: 'group_a', path: 'group-a', type: 'Group') + project_namespace = namespace.create!(name: 'project_a', path: 'project_a', type: 'Project', parent_id: group.id) + proj = project_table.create!(name: 'project_a', path: 'project-a', namespace_id: group.id, + project_namespace_id: project_namespace.id) + project_statistics_table.create!( + project_id: proj.id, + namespace_id: group.id, + **stats + ) + end + end +end |