diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-04-20 13:00:54 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-04-20 13:00:54 +0300 |
commit | 3cccd102ba543e02725d247893729e5c73b38295 (patch) | |
tree | f36a04ec38517f5deaaacb5acc7d949688d1e187 /spec/migrations/finalize_traversal_ids_background_migrations_spec.rb | |
parent | 205943281328046ef7b4528031b90fbda70c75ac (diff) |
Add latest changes from gitlab-org/gitlab@14-10-stable-eev14.10.0-rc42
Diffstat (limited to 'spec/migrations/finalize_traversal_ids_background_migrations_spec.rb')
-rw-r--r-- | spec/migrations/finalize_traversal_ids_background_migrations_spec.rb | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/spec/migrations/finalize_traversal_ids_background_migrations_spec.rb b/spec/migrations/finalize_traversal_ids_background_migrations_spec.rb new file mode 100644 index 00000000000..74d6447e6a7 --- /dev/null +++ b/spec/migrations/finalize_traversal_ids_background_migrations_spec.rb @@ -0,0 +1,60 @@ +# frozen_string_literal: true + +require 'spec_helper' +require_migration!('finalize_traversal_ids_background_migrations') + +RSpec.describe FinalizeTraversalIdsBackgroundMigrations, :migration do + shared_context 'incomplete background migration' do + before do + # Jobs enqueued in Sidekiq. + Sidekiq::Testing.disable! do + BackgroundMigrationWorker.perform_in(10, job_class_name, [1, 2, 100]) + BackgroundMigrationWorker.perform_in(20, job_class_name, [3, 4, 100]) + end + + # Jobs tracked in the database. + # table(:background_migration_jobs).create!( + Gitlab::Database::BackgroundMigrationJob.create!( + class_name: job_class_name, + arguments: [5, 6, 100], + status: Gitlab::Database::BackgroundMigrationJob.statuses['pending'] + ) + # table(:background_migration_jobs).create!( + Gitlab::Database::BackgroundMigrationJob.create!( + class_name: job_class_name, + arguments: [7, 8, 100], + status: Gitlab::Database::BackgroundMigrationJob.statuses['succeeded'] + ) + end + end + + context 'BackfillNamespaceTraversalIdsRoots background migration' do + let(:job_class_name) { 'BackfillNamespaceTraversalIdsRoots' } + + include_context 'incomplete background migration' + + before do + migrate! + end + + it_behaves_like( + 'finalized tracked background migration', + Gitlab::BackgroundMigration::BackfillNamespaceTraversalIdsRoots + ) + end + + context 'BackfillNamespaceTraversalIdsChildren background migration' do + let(:job_class_name) { 'BackfillNamespaceTraversalIdsChildren' } + + include_context 'incomplete background migration' + + before do + migrate! + end + + it_behaves_like( + 'finalized tracked background migration', + Gitlab::BackgroundMigration::BackfillNamespaceTraversalIdsChildren + ) + end +end |