diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-04-01 15:07:45 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-04-01 15:07:45 +0000 |
commit | 1219a9dce91f4edbc135dfc08299b4122b4825a8 (patch) | |
tree | e7d12a55d75a2d56e60d9527bef3724e3578866d /spec/migrations | |
parent | 1a0d6dbdc2ac3047f4953a359ef27ba6e26074ae (diff) | |
download | gitlab-ce-1219a9dce91f4edbc135dfc08299b4122b4825a8.tar.gz |
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.rb | 46 |
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 |