diff options
author | Tiago Botelho <tiagonbotelho@hotmail.com> | 2017-03-08 16:50:55 +0000 |
---|---|---|
committer | Tiago Botelho <tiagonbotelho@hotmail.com> | 2017-03-10 10:13:59 +0000 |
commit | 5a135264ae62fc1884118ea600691df666aa9780 (patch) | |
tree | 0e4c7a5fe754ce60a5806d221e05047801230115 /spec | |
parent | 130fd255bc0735d4175f2db2770a9092882fa3a4 (diff) | |
download | gitlab-ce-5a135264ae62fc1884118ea600691df666aa9780.tar.gz |
adds queue option to push bulk in authorized projects worker29137-bulk-perform-async-should-specify-queue
Diffstat (limited to 'spec')
-rw-r--r-- | spec/workers/authorized_projects_worker_spec.rb | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/spec/workers/authorized_projects_worker_spec.rb b/spec/workers/authorized_projects_worker_spec.rb index 97c4bfcd248..bd5cc651c2b 100644 --- a/spec/workers/authorized_projects_worker_spec.rb +++ b/spec/workers/authorized_projects_worker_spec.rb @@ -1,12 +1,10 @@ require 'spec_helper' describe AuthorizedProjectsWorker do - let(:worker) { described_class.new } + let(:project) { create(:empty_project) } describe '.bulk_perform_and_wait' do it 'schedules the ids and waits for the jobs to complete' do - project = create(:project) - project.owner.project_authorizations.delete_all described_class.bulk_perform_and_wait([[project.owner.id]]) @@ -15,20 +13,37 @@ describe AuthorizedProjectsWorker do end end + describe '.bulk_perform_async' do + it "uses it's respective sidekiq queue" do + args = [[project.owner.id]] + push_bulk_args = { + 'class' => described_class, + 'queue' => described_class.sidekiq_options['queue'], + 'args' => args + } + + expect(Sidekiq::Client).to receive(:push_bulk).with(push_bulk_args).once + + described_class.bulk_perform_async(args) + end + end + describe '#perform' do + subject { described_class.new } + it "refreshes user's authorized projects" do user = create(:user) expect_any_instance_of(User).to receive(:refresh_authorized_projects) - worker.perform(user.id) + subject.perform(user.id) end context "when the user is not found" do it "does nothing" do expect_any_instance_of(User).not_to receive(:refresh_authorized_projects) - described_class.new.perform(-1) + subject.perform(-1) end end end |