diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-12-20 17:22:11 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-12-20 17:22:11 +0300 |
commit | 0c872e02b2c822e3397515ec324051ff540f0cd5 (patch) | |
tree | ce2fb6ce7030e4dad0f4118d21ab6453e5938cdd /spec/services/users/migrate_records_to_ghost_user_service_spec.rb | |
parent | f7e05a6853b12f02911494c4b3fe53d9540d74fc (diff) |
Add latest changes from gitlab-org/gitlab@15-7-stable-eev15.7.0-rc42
Diffstat (limited to 'spec/services/users/migrate_records_to_ghost_user_service_spec.rb')
-rw-r--r-- | spec/services/users/migrate_records_to_ghost_user_service_spec.rb | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/spec/services/users/migrate_records_to_ghost_user_service_spec.rb b/spec/services/users/migrate_records_to_ghost_user_service_spec.rb index 6082c7bd10e..827d6f652a4 100644 --- a/spec/services/users/migrate_records_to_ghost_user_service_spec.rb +++ b/spec/services/users/migrate_records_to_ghost_user_service_spec.rb @@ -3,6 +3,8 @@ require 'spec_helper' RSpec.describe Users::MigrateRecordsToGhostUserService do + include BatchDestroyDependentAssociationsHelper + let!(:user) { create(:user) } let(:service) { described_class.new(user, admin, execution_tracker) } let(:execution_tracker) { instance_double(::Gitlab::Utils::ExecutionTracker, over_limit?: false) } @@ -125,6 +127,12 @@ RSpec.describe Users::MigrateRecordsToGhostUserService do let(:created_record) { create(:review, author: user) } end end + + context 'for releases' do + include_examples 'migrating records to the ghost user', Release, [:author] do + let(:created_record) { create(:release, author: user) } + end + end end context 'on post-migrate cleanups' do @@ -150,12 +158,6 @@ RSpec.describe Users::MigrateRecordsToGhostUserService do def nullify_in_batches_regexp(table, column, user, batch_size: 100) %r{^UPDATE "#{table}" SET "#{column}" = NULL WHERE "#{table}"."id" IN \(SELECT "#{table}"."id" FROM "#{table}" WHERE "#{table}"."#{column}" = #{user.id} LIMIT #{batch_size}\)} end - - def delete_in_batches_regexps(table, column, user, items, batch_size: 1000) - select_query = %r{^SELECT "#{table}".* FROM "#{table}" WHERE "#{table}"."#{column}" = #{user.id}.*ORDER BY "#{table}"."id" ASC LIMIT #{batch_size}} - - [select_query] + items.map { |item| %r{^DELETE FROM "#{table}" WHERE "#{table}"."id" = #{item.id}} } - end # rubocop:enable Layout/LineLength it 'nullifies related associations in batches' do |