From 433b6d2c65f0018fa67e2d8905d1cba75e7990fa Mon Sep 17 00:00:00 2001 From: Grzegorz Bizon Date: Thu, 13 Jul 2017 12:00:23 +0200 Subject: [PATCH] Add more specs for background migrations queue processing --- spec/lib/gitlab/background_migration_spec.rb | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/spec/lib/gitlab/background_migration_spec.rb b/spec/lib/gitlab/background_migration_spec.rb index d823c5342ae..55bf7040ef3 100644 --- a/spec/lib/gitlab/background_migration_spec.rb +++ b/spec/lib/gitlab/background_migration_spec.rb @@ -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