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>2020-04-01 18:07:45 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-04-01 18:07:45 +0300
commit1219a9dce91f4edbc135dfc08299b4122b4825a8 (patch)
treee7d12a55d75a2d56e60d9527bef3724e3578866d /spec/migrations
parent1a0d6dbdc2ac3047f4953a359ef27ba6e26074ae (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/migrations')
-rw-r--r--spec/migrations/schedule_populate_user_highest_roles_table_spec.rb46
1 files changed, 46 insertions, 0 deletions
diff --git a/spec/migrations/schedule_populate_user_highest_roles_table_spec.rb b/spec/migrations/schedule_populate_user_highest_roles_table_spec.rb
new file mode 100644
index 00000000000..67e0b994265
--- /dev/null
+++ b/spec/migrations/schedule_populate_user_highest_roles_table_spec.rb
@@ -0,0 +1,46 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+require Rails.root.join('db', 'post_migrate', '20200311130802_schedule_populate_user_highest_roles_table.rb')
+
+describe SchedulePopulateUserHighestRolesTable do
+ let(:users) { table(:users) }
+
+ def create_user(id, params = {})
+ user_params = {
+ id: id,
+ state: 'active',
+ user_type: nil,
+ bot_type: nil,
+ ghost: nil,
+ email: "user#{id}@example.com",
+ projects_limit: 0
+ }.merge(params)
+
+ users.create!(user_params)
+ end
+
+ it 'correctly schedules background migrations' do
+ create_user(1)
+ create_user(2, state: 'blocked')
+ create_user(3, user_type: 2)
+ create_user(4)
+ create_user(5, bot_type: 1)
+ create_user(6, ghost: true)
+ create_user(7, ghost: false)
+
+ stub_const("#{described_class.name}::BATCH_SIZE", 2)
+
+ Sidekiq::Testing.fake! do
+ Timecop.freeze do
+ migrate!
+
+ expect(described_class::MIGRATION).to be_scheduled_delayed_migration(5.minutes, 1, 4)
+
+ expect(described_class::MIGRATION).to be_scheduled_delayed_migration(10.minutes, 7, 7)
+
+ expect(BackgroundMigrationWorker.jobs.size).to eq(2)
+ end
+ end
+ end
+end