Add more specs for background migrations queue processing

This commit is contained in:
Grzegorz Bizon 2017-07-13 12:00:23 +02:00
parent 2a0ead2c47
commit 433b6d2c65

View file

@ -36,9 +36,10 @@ describe Gitlab::BackgroundMigration do
end
context 'when there are scheduled jobs present', :sidekiq, :redis do
it 'steals all jobs from the schedule sets' do
it 'steals all jobs from the scheduled sets' do
Sidekiq::Testing.disable! do
BackgroundMigrationWorker.perform_in(10.minutes, 'Object')
expect(Sidekiq::ScheduledSet.new).to be_one
expect(described_class).to receive(:perform).with('Object', any_args)
@ -48,6 +49,22 @@ describe Gitlab::BackgroundMigration do
end
end
end
context 'when there are enqueued and scheduled jobs present', :sidekiq, :redis do
it 'steals from the scheduled sets queue first' do
Sidekiq::Testing.disable! do
expect(described_class).to receive(:perform)
.with('Object', [1]).ordered
expect(described_class).to receive(:perform)
.with('Object', [2]).ordered
BackgroundMigrationWorker.perform_async('Object', [2])
BackgroundMigrationWorker.perform_in(10.minutes, 'Object', [1])
described_class.steal('Object')
end
end
end
end
describe '.perform' do