DEV: Update the rubocop-discourse gem

This enables cops related to RSpec `subject`.

See https://github.com/discourse/rubocop-discourse/pull/32
This commit is contained in:
Loïc Guitaut
2023-06-21 16:00:19 +02:00
committed by Loïc Guitaut
parent 8e1d049e6b
commit 0f4beab0fb
129 changed files with 1697 additions and 1506 deletions

View File

@ -3,9 +3,9 @@
require_relative "shared_context_for_backup_restore"
RSpec.describe BackupRestore::SystemInterface do
include_context "with shared stuff"
subject(:system_interface) { BackupRestore::SystemInterface.new(logger) }
subject { BackupRestore::SystemInterface.new(logger) }
include_context "with shared stuff"
describe "readonly mode" do
after { Discourse::READONLY_KEYS.each { |key| Discourse.redis.del(key) } }
@ -13,26 +13,26 @@ RSpec.describe BackupRestore::SystemInterface do
describe "#enable_readonly_mode" do
it "enables readonly mode" do
Discourse.expects(:enable_readonly_mode).once
subject.enable_readonly_mode
system_interface.enable_readonly_mode
end
it "does not enable readonly mode when it is already in readonly mode" do
Discourse.enable_readonly_mode
Discourse.expects(:enable_readonly_mode).never
subject.enable_readonly_mode
system_interface.enable_readonly_mode
end
end
describe "#disable_readonly_mode" do
it "disables readonly mode" do
Discourse.expects(:disable_readonly_mode).once
subject.disable_readonly_mode
system_interface.disable_readonly_mode
end
it "does not disable readonly mode when readonly mode was explicitly enabled" do
Discourse.enable_readonly_mode
Discourse.expects(:disable_readonly_mode).never
subject.disable_readonly_mode
system_interface.disable_readonly_mode
end
end
end
@ -40,14 +40,14 @@ RSpec.describe BackupRestore::SystemInterface do
describe "#mark_restore_as_running" do
it "calls mark_restore_as_running" do
BackupRestore.expects(:mark_as_running!).once
subject.mark_restore_as_running
system_interface.mark_restore_as_running
end
end
describe "#mark_restore_as_not_running" do
it "calls mark_restore_as_not_running" do
BackupRestore.expects(:mark_as_not_running!).once
subject.mark_restore_as_not_running
system_interface.mark_restore_as_not_running
end
end
@ -61,7 +61,7 @@ RSpec.describe BackupRestore::SystemInterface do
it "exits the process when shutdown signal is set" do
expect do
thread = subject.listen_for_shutdown_signal
thread = system_interface.listen_for_shutdown_signal
BackupRestore.set_shutdown_signal!
thread.join
end.to raise_error(SystemExit)
@ -71,7 +71,7 @@ RSpec.describe BackupRestore::SystemInterface do
BackupRestore.set_shutdown_signal!
expect(BackupRestore.should_shutdown?).to eq(true)
thread = subject.listen_for_shutdown_signal
thread = system_interface.listen_for_shutdown_signal
expect(BackupRestore.should_shutdown?).to eq(false)
Thread.kill(thread)
end
@ -82,7 +82,7 @@ RSpec.describe BackupRestore::SystemInterface do
it "calls pause!" do
expect(Sidekiq.paused?).to eq(false)
subject.pause_sidekiq("my reason")
system_interface.pause_sidekiq("my reason")
expect(Sidekiq.paused?).to eq(true)
expect(Discourse.redis.get(SidekiqPauser::PAUSED_KEY)).to eq("my reason")
end
@ -93,15 +93,15 @@ RSpec.describe BackupRestore::SystemInterface do
Sidekiq.pause!
expect(Sidekiq.paused?).to eq(true)
subject.unpause_sidekiq
system_interface.unpause_sidekiq
expect(Sidekiq.paused?).to eq(false)
end
end
describe "#wait_for_sidekiq" do
it "waits 6 seconds even when there are no running Sidekiq jobs" do
subject.expects(:sleep).with(6).once
subject.wait_for_sidekiq
system_interface.expects(:sleep).with(6).once
system_interface.wait_for_sidekiq
end
context "with Sidekiq workers" do
@ -146,22 +146,26 @@ RSpec.describe BackupRestore::SystemInterface do
end
it "waits up to 60 seconds for jobs running for the current site to finish" do
subject.expects(:sleep).with(6).times(10)
system_interface.expects(:sleep).with(6).times(10)
create_workers
expect { subject.wait_for_sidekiq }.to raise_error(BackupRestore::RunningSidekiqJobsError)
expect { system_interface.wait_for_sidekiq }.to raise_error(
BackupRestore::RunningSidekiqJobsError,
)
end
it "waits up to 60 seconds for jobs running on all sites to finish" do
subject.expects(:sleep).with(6).times(10)
system_interface.expects(:sleep).with(6).times(10)
create_workers(all_sites: true)
expect { subject.wait_for_sidekiq }.to raise_error(BackupRestore::RunningSidekiqJobsError)
expect { system_interface.wait_for_sidekiq }.to raise_error(
BackupRestore::RunningSidekiqJobsError,
)
end
it "ignores jobs of other sites" do
subject.expects(:sleep).with(6).once
system_interface.expects(:sleep).with(6).once
create_workers(site_id: "another_site")
subject.wait_for_sidekiq
system_interface.wait_for_sidekiq
end
end
end
@ -172,7 +176,7 @@ RSpec.describe BackupRestore::SystemInterface do
it "doesn't unpause Sidekiq" do
Sidekiq.pause!
subject.flush_redis
system_interface.flush_redis
expect(Sidekiq.paused?).to eq(true)
end