From 9dc93a4519d9d5d7be48ff274127136236a3adb3 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Tue, 20 Apr 2021 23:50:22 +0000 Subject: Add latest changes from gitlab-org/gitlab@13-11-stable-ee --- .../schedule_migrate_pages_to_zip_storage_spec.rb | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 spec/migrations/schedule_migrate_pages_to_zip_storage_spec.rb (limited to 'spec/migrations/schedule_migrate_pages_to_zip_storage_spec.rb') diff --git a/spec/migrations/schedule_migrate_pages_to_zip_storage_spec.rb b/spec/migrations/schedule_migrate_pages_to_zip_storage_spec.rb new file mode 100644 index 00000000000..1d35da528e4 --- /dev/null +++ b/spec/migrations/schedule_migrate_pages_to_zip_storage_spec.rb @@ -0,0 +1,46 @@ +# frozen_string_literal: true + +require 'spec_helper' +require Rails.root.join('db', 'post_migrate', '20210302150310_schedule_migrate_pages_to_zip_storage.rb') + +RSpec.describe ScheduleMigratePagesToZipStorage, :sidekiq_might_not_need_inline, schema: 20201231133921 do + let(:migration_class) { described_class::MIGRATION } + let(:migration_name) { migration_class.to_s.demodulize } + + let(:namespaces_table) { table(:namespaces) } + let(:projects_table) { table(:projects) } + let(:metadata_table) { table(:project_pages_metadata) } + let(:deployments_table) { table(:pages_deployments) } + + let(:namespace) { namespaces_table.create!(path: "group", name: "group") } + + def create_project_metadata(path, deployed, with_deployment) + project = projects_table.create!(path: path, namespace_id: namespace.id) + + deployment_id = nil + + if with_deployment + deployment_id = deployments_table.create!(project_id: project.id, file_store: 1, file: '1', file_count: 1, file_sha256: '123', size: 1).id + end + + metadata_table.create!(project_id: project.id, deployed: deployed, pages_deployment_id: deployment_id) + end + + it 'correctly schedules background migrations' do + Sidekiq::Testing.fake! do + freeze_time do + create_project_metadata("not-deployed-project", false, false) + + first_id = create_project_metadata("project1", true, false).id + last_id = create_project_metadata("project2", true, false).id + + create_project_metadata("project-with-deployment", true, true) + + migrate! + + expect(migration_name).to be_scheduled_delayed_migration(5.minutes, first_id, last_id) + expect(BackgroundMigrationWorker.jobs.size).to eq(1) + end + end + end +end -- cgit v1.2.1