Skip to content
Snippets Groups Projects
Commit 92802e51 authored by Rémy Coutable's avatar Rémy Coutable
Browse files

Merge branch 'blackst0ne-replace-sidekiq-inline-with-perform-enqueued-jobs' into 'master'

Replace 'Sidekiq::Testing.inline!' with 'perform_enqueued_jobs'

Closes #22991

See merge request gitlab-org/gitlab-ce!20768
parents 771e9374 4691fd02
No related branches found
No related tags found
1 merge request!10495Merge Requests - Assignee
Showing
with 42 additions and 37 deletions
---
title: Replace 'Sidekiq::Testing.inline!' with 'perform_enqueued_jobs'
merge_request: 20768
author: "@blackst0ne"
type: other
Loading
@@ -7,7 +7,7 @@ describe 'GPG signed commits', :js do
Loading
@@ -7,7 +7,7 @@ describe 'GPG signed commits', :js do
user = create :user, email: 'unrelated.user@example.org' user = create :user, email: 'unrelated.user@example.org'
project.add_maintainer(user) project.add_maintainer(user)
   
Sidekiq::Testing.inline! do perform_enqueued_jobs do
create :gpg_key, key: GpgHelpers::User1.public_key, user: user create :gpg_key, key: GpgHelpers::User1.public_key, user: user
end end
   
Loading
@@ -21,7 +21,7 @@ describe 'GPG signed commits', :js do
Loading
@@ -21,7 +21,7 @@ describe 'GPG signed commits', :js do
end end
   
# user changes his email which makes the gpg key verified # user changes his email which makes the gpg key verified
Sidekiq::Testing.inline! do perform_enqueued_jobs do
user.skip_reconfirmation! user.skip_reconfirmation!
user.update!(email: GpgHelpers::User1.emails.first) user.update!(email: GpgHelpers::User1.emails.first)
end end
Loading
@@ -48,7 +48,7 @@ describe 'GPG signed commits', :js do
Loading
@@ -48,7 +48,7 @@ describe 'GPG signed commits', :js do
end end
   
# user adds the gpg key which makes the signature valid # user adds the gpg key which makes the signature valid
Sidekiq::Testing.inline! do perform_enqueued_jobs do
create :gpg_key, key: GpgHelpers::User1.public_key, user: user create :gpg_key, key: GpgHelpers::User1.public_key, user: user
end end
   
Loading
@@ -66,7 +66,7 @@ describe 'GPG signed commits', :js do
Loading
@@ -66,7 +66,7 @@ describe 'GPG signed commits', :js do
end end
   
let(:user_1_key) do let(:user_1_key) do
Sidekiq::Testing.inline! do perform_enqueued_jobs do
create :gpg_key, key: GpgHelpers::User1.public_key, user: user_1 create :gpg_key, key: GpgHelpers::User1.public_key, user: user_1
end end
end end
Loading
@@ -79,7 +79,7 @@ describe 'GPG signed commits', :js do
Loading
@@ -79,7 +79,7 @@ describe 'GPG signed commits', :js do
end end
   
let(:user_2_key) do let(:user_2_key) do
Sidekiq::Testing.inline! do perform_enqueued_jobs do
create :gpg_key, key: GpgHelpers::User2.public_key, user: user_2 create :gpg_key, key: GpgHelpers::User2.public_key, user: user_2
end end
end end
Loading
Loading
Loading
@@ -65,7 +65,7 @@ describe Gitlab::HashedStorage::Migrator do
Loading
@@ -65,7 +65,7 @@ describe Gitlab::HashedStorage::Migrator do
end end
   
it 'migrate project' do it 'migrate project' do
Sidekiq::Testing.inline! do perform_enqueued_jobs do
subject.migrate(project) subject.migrate(project)
end end
   
Loading
Loading
Loading
@@ -31,7 +31,7 @@ describe ScheduleSetConfidentialNoteEventsOnServices, :migration, :sidekiq do
Loading
@@ -31,7 +31,7 @@ describe ScheduleSetConfidentialNoteEventsOnServices, :migration, :sidekiq do
end end
   
it 'correctly processes services' do it 'correctly processes services' do
Sidekiq::Testing.inline! do perform_enqueued_jobs do
expect(services_table.where(confidential_note_events: nil).count).to eq 4 expect(services_table.where(confidential_note_events: nil).count).to eq 4
expect(services_table.where(confidential_note_events: true).count).to eq 1 expect(services_table.where(confidential_note_events: true).count).to eq 1
   
Loading
Loading
Loading
@@ -44,7 +44,7 @@ describe MigrateStageIdReferenceInBackground, :migration, :sidekiq do
Loading
@@ -44,7 +44,7 @@ describe MigrateStageIdReferenceInBackground, :migration, :sidekiq do
end end
   
it 'schedules background migrations' do it 'schedules background migrations' do
Sidekiq::Testing.inline! do perform_enqueued_jobs do
expect(jobs.where(stage_id: nil).count).to eq 5 expect(jobs.where(stage_id: nil).count).to eq 5
   
migrate! migrate!
Loading
Loading
Loading
@@ -34,7 +34,7 @@ describe MigrateStagesStatuses, :sidekiq, :migration do
Loading
@@ -34,7 +34,7 @@ describe MigrateStagesStatuses, :sidekiq, :migration do
end end
   
it 'correctly migrates stages statuses' do it 'correctly migrates stages statuses' do
Sidekiq::Testing.inline! do perform_enqueued_jobs do
expect(stages.where(status: nil).count).to eq 3 expect(stages.where(status: nil).count).to eq 3
   
migrate! migrate!
Loading
Loading
Loading
@@ -38,7 +38,7 @@ describe NormalizeLdapExternUids, :migration, :sidekiq do
Loading
@@ -38,7 +38,7 @@ describe NormalizeLdapExternUids, :migration, :sidekiq do
end end
   
it 'migrates the LDAP identities' do it 'migrates the LDAP identities' do
Sidekiq::Testing.inline! do perform_enqueued_jobs do
migrate! migrate!
identities.where(id: 1..4).each do |identity| identities.where(id: 1..4).each do |identity|
expect(identity.extern_uid).to eq("uid=foo #{identity.id},ou=people,dc=example,dc=com") expect(identity.extern_uid).to eq("uid=foo #{identity.id},ou=people,dc=example,dc=com")
Loading
@@ -47,7 +47,7 @@ describe NormalizeLdapExternUids, :migration, :sidekiq do
Loading
@@ -47,7 +47,7 @@ describe NormalizeLdapExternUids, :migration, :sidekiq do
end end
   
it 'does not modify non-LDAP identities' do it 'does not modify non-LDAP identities' do
Sidekiq::Testing.inline! do perform_enqueued_jobs do
migrate! migrate!
identity = identities.last identity = identities.last
expect(identity.extern_uid).to eq(" uid = foo 5, ou = People, dc = example, dc = com ") expect(identity.extern_uid).to eq(" uid = foo 5, ou = People, dc = example, dc = com ")
Loading
Loading
Loading
@@ -20,7 +20,7 @@ describe ScheduleCreateGpgKeySubkeysFromGpgKeys, :migration, :sidekiq do
Loading
@@ -20,7 +20,7 @@ describe ScheduleCreateGpgKeySubkeysFromGpgKeys, :migration, :sidekiq do
end end
   
it 'schedules background migrations' do it 'schedules background migrations' do
Sidekiq::Testing.inline! do perform_enqueued_jobs do
expect(GpgKeySubkey.count).to eq(0) expect(GpgKeySubkey.count).to eq(0)
   
migrate! migrate!
Loading
Loading
Loading
@@ -33,7 +33,7 @@ describe ScheduleMergeRequestDiffMigrations, :migration, :sidekiq do
Loading
@@ -33,7 +33,7 @@ describe ScheduleMergeRequestDiffMigrations, :migration, :sidekiq do
end end
   
it 'schedules background migrations' do it 'schedules background migrations' do
Sidekiq::Testing.inline! do perform_enqueued_jobs do
non_empty = 'st_commits IS NOT NULL OR st_diffs IS NOT NULL' non_empty = 'st_commits IS NOT NULL OR st_diffs IS NOT NULL'
   
expect(merge_request_diffs.where(non_empty).count).to eq 3 expect(merge_request_diffs.where(non_empty).count).to eq 3
Loading
Loading
Loading
@@ -33,7 +33,7 @@ describe ScheduleMergeRequestDiffMigrationsTakeTwo, :migration, :sidekiq do
Loading
@@ -33,7 +33,7 @@ describe ScheduleMergeRequestDiffMigrationsTakeTwo, :migration, :sidekiq do
end end
   
it 'migrates the data' do it 'migrates the data' do
Sidekiq::Testing.inline! do perform_enqueued_jobs do
non_empty = 'st_commits IS NOT NULL OR st_diffs IS NOT NULL' non_empty = 'st_commits IS NOT NULL OR st_diffs IS NOT NULL'
   
expect(merge_request_diffs.where(non_empty).count).to eq 3 expect(merge_request_diffs.where(non_empty).count).to eq 3
Loading
Loading
Loading
@@ -53,7 +53,7 @@ describe ScheduleMergeRequestLatestMergeRequestDiffIdMigrations, :migration, :si
Loading
@@ -53,7 +53,7 @@ describe ScheduleMergeRequestLatestMergeRequestDiffIdMigrations, :migration, :si
end end
   
it 'schedules background migrations' do it 'schedules background migrations' do
Sidekiq::Testing.inline! do perform_enqueued_jobs do
expect(merge_requests_table.where(latest_merge_request_diff_id: nil).count).to eq 3 expect(merge_requests_table.where(latest_merge_request_diff_id: nil).count).to eq 3
   
migrate! migrate!
Loading
Loading
Loading
@@ -31,7 +31,7 @@ describe ScheduleSetConfidentialNoteEventsOnWebhooks, :migration, :sidekiq do
Loading
@@ -31,7 +31,7 @@ describe ScheduleSetConfidentialNoteEventsOnWebhooks, :migration, :sidekiq do
end end
   
it 'correctly processes web hooks' do it 'correctly processes web hooks' do
Sidekiq::Testing.inline! do perform_enqueued_jobs do
expect(web_hooks_table.where(confidential_note_events: nil).count).to eq 4 expect(web_hooks_table.where(confidential_note_events: nil).count).to eq 4
expect(web_hooks_table.where(confidential_note_events: true).count).to eq 1 expect(web_hooks_table.where(confidential_note_events: true).count).to eq 1
   
Loading
Loading
Loading
@@ -179,7 +179,7 @@ describe Ci::BuildTraceChunk, :clean_gitlab_redis_shared_state do
Loading
@@ -179,7 +179,7 @@ describe Ci::BuildTraceChunk, :clean_gitlab_redis_shared_state do
end end
   
it 'migrates data to object storage' do it 'migrates data to object storage' do
Sidekiq::Testing.inline! do perform_enqueued_jobs do
subject subject
   
build_trace_chunk.reload build_trace_chunk.reload
Loading
@@ -201,7 +201,7 @@ describe Ci::BuildTraceChunk, :clean_gitlab_redis_shared_state do
Loading
@@ -201,7 +201,7 @@ describe Ci::BuildTraceChunk, :clean_gitlab_redis_shared_state do
end end
   
it 'does not migrate data to object storage' do it 'does not migrate data to object storage' do
Sidekiq::Testing.inline! do perform_enqueued_jobs do
data_store = build_trace_chunk.data_store data_store = build_trace_chunk.data_store
   
subject subject
Loading
Loading
Loading
@@ -22,7 +22,7 @@ describe SpamLog do
Loading
@@ -22,7 +22,7 @@ describe SpamLog do
spam_log = build(:spam_log) spam_log = build(:spam_log)
user = spam_log.user user = spam_log.user
   
Sidekiq::Testing.inline! do perform_enqueued_jobs do
spam_log.remove_user(deleted_by: admin) spam_log.remove_user(deleted_by: admin)
end end
   
Loading
Loading
Loading
@@ -102,7 +102,7 @@ describe API::ProjectImport do
Loading
@@ -102,7 +102,7 @@ describe API::ProjectImport do
it 'correctly overrides params during the import' do it 'correctly overrides params during the import' do
override_params = { 'description' => 'Hello world' } override_params = { 'description' => 'Hello world' }
   
Sidekiq::Testing.inline! do perform_enqueued_jobs do
post api('/projects/import', user), post api('/projects/import', user),
path: 'test-import', path: 'test-import',
file: fixture_file_upload(file), file: fixture_file_upload(file),
Loading
Loading
Loading
@@ -1067,7 +1067,7 @@ describe API::Users do
Loading
@@ -1067,7 +1067,7 @@ describe API::Users do
end end
   
it "deletes user" do it "deletes user" do
Sidekiq::Testing.inline! { delete api("/users/#{user.id}", admin) } perform_enqueued_jobs { delete api("/users/#{user.id}", admin) }
   
expect(response).to have_gitlab_http_status(204) expect(response).to have_gitlab_http_status(204)
expect { User.find(user.id) }.to raise_error ActiveRecord::RecordNotFound expect { User.find(user.id) }.to raise_error ActiveRecord::RecordNotFound
Loading
@@ -1079,30 +1079,30 @@ describe API::Users do
Loading
@@ -1079,30 +1079,30 @@ describe API::Users do
end end
   
it "does not delete for unauthenticated user" do it "does not delete for unauthenticated user" do
Sidekiq::Testing.inline! { delete api("/users/#{user.id}") } perform_enqueued_jobs { delete api("/users/#{user.id}") }
expect(response).to have_gitlab_http_status(401) expect(response).to have_gitlab_http_status(401)
end end
   
it "is not available for non admin users" do it "is not available for non admin users" do
Sidekiq::Testing.inline! { delete api("/users/#{user.id}", user) } perform_enqueued_jobs { delete api("/users/#{user.id}", user) }
expect(response).to have_gitlab_http_status(403) expect(response).to have_gitlab_http_status(403)
end end
   
it "returns 404 for non-existing user" do it "returns 404 for non-existing user" do
Sidekiq::Testing.inline! { delete api("/users/999999", admin) } perform_enqueued_jobs { delete api("/users/999999", admin) }
expect(response).to have_gitlab_http_status(404) expect(response).to have_gitlab_http_status(404)
expect(json_response['message']).to eq('404 User Not Found') expect(json_response['message']).to eq('404 User Not Found')
end end
   
it "returns a 404 for invalid ID" do it "returns a 404 for invalid ID" do
Sidekiq::Testing.inline! { delete api("/users/ASDF", admin) } perform_enqueued_jobs { delete api("/users/ASDF", admin) }
   
expect(response).to have_gitlab_http_status(404) expect(response).to have_gitlab_http_status(404)
end end
   
context "hard delete disabled" do context "hard delete disabled" do
it "moves contributions to the ghost user" do it "moves contributions to the ghost user" do
Sidekiq::Testing.inline! { delete api("/users/#{user.id}", admin) } perform_enqueued_jobs { delete api("/users/#{user.id}", admin) }
   
expect(response).to have_gitlab_http_status(204) expect(response).to have_gitlab_http_status(204)
expect(issue.reload).to be_persisted expect(issue.reload).to be_persisted
Loading
@@ -1112,7 +1112,7 @@ describe API::Users do
Loading
@@ -1112,7 +1112,7 @@ describe API::Users do
   
context "hard delete enabled" do context "hard delete enabled" do
it "removes contributions" do it "removes contributions" do
Sidekiq::Testing.inline! { delete api("/users/#{user.id}?hard_delete=true", admin) } perform_enqueued_jobs { delete api("/users/#{user.id}?hard_delete=true", admin) }
   
expect(response).to have_gitlab_http_status(204) expect(response).to have_gitlab_http_status(204)
expect(Issue.exists?(issue.id)).to be_falsy expect(Issue.exists?(issue.id)).to be_falsy
Loading
Loading
Loading
@@ -49,7 +49,7 @@ describe Groups::DestroyService do
Loading
@@ -49,7 +49,7 @@ describe Groups::DestroyService do
context 'Sidekiq inline' do context 'Sidekiq inline' do
before do before do
# Run sidekiq immediately to check that renamed dir will be removed # Run sidekiq immediately to check that renamed dir will be removed
Sidekiq::Testing.inline! { destroy_group(group, user, async) } perform_enqueued_jobs { destroy_group(group, user, async) }
end end
   
it 'verifies that paths have been deleted' do it 'verifies that paths have been deleted' do
Loading
Loading
Loading
@@ -28,7 +28,7 @@ describe Projects::CreateFromTemplateService do
Loading
@@ -28,7 +28,7 @@ describe Projects::CreateFromTemplateService do
   
context 'the result project' do context 'the result project' do
before do before do
Sidekiq::Testing.inline! do perform_enqueued_jobs do
@project = subject.execute @project = subject.execute
end end
   
Loading
Loading
Loading
@@ -45,18 +45,18 @@ describe Projects::DestroyService do
Loading
@@ -45,18 +45,18 @@ describe Projects::DestroyService do
shared_examples 'handles errors thrown during async destroy' do |error_message| shared_examples 'handles errors thrown during async destroy' do |error_message|
it 'does not allow the error to bubble up' do it 'does not allow the error to bubble up' do
expect do expect do
Sidekiq::Testing.inline! { destroy_project(project, user, {}) } perform_enqueued_jobs { destroy_project(project, user, {}) }
end.not_to raise_error end.not_to raise_error
end end
   
it 'unmarks the project as "pending deletion"' do it 'unmarks the project as "pending deletion"' do
Sidekiq::Testing.inline! { destroy_project(project, user, {}) } perform_enqueued_jobs { destroy_project(project, user, {}) }
   
expect(project.reload.pending_delete).to be(false) expect(project.reload.pending_delete).to be(false)
end end
   
it 'stores an error message in `projects.delete_error`' do it 'stores an error message in `projects.delete_error`' do
Sidekiq::Testing.inline! { destroy_project(project, user, {}) } perform_enqueued_jobs { destroy_project(project, user, {}) }
   
expect(project.reload.delete_error).to be_present expect(project.reload.delete_error).to be_present
expect(project.delete_error).to include(error_message) expect(project.delete_error).to include(error_message)
Loading
@@ -66,7 +66,7 @@ describe Projects::DestroyService do
Loading
@@ -66,7 +66,7 @@ describe Projects::DestroyService do
context 'Sidekiq inline' do context 'Sidekiq inline' do
before do before do
# Run sidekiq immediatly to check that renamed repository will be removed # Run sidekiq immediatly to check that renamed repository will be removed
Sidekiq::Testing.inline! { destroy_project(project, user, {}) } perform_enqueued_jobs { destroy_project(project, user, {}) }
end end
   
context 'when has remote mirrors' do context 'when has remote mirrors' do
Loading
@@ -110,7 +110,7 @@ describe Projects::DestroyService do
Loading
@@ -110,7 +110,7 @@ describe Projects::DestroyService do
end end
   
it 'keeps project team intact upon an error' do it 'keeps project team intact upon an error' do
Sidekiq::Testing.inline! do perform_enqueued_jobs do
begin begin
destroy_project(project, user, {}) destroy_project(project, user, {})
rescue ::Redis::CannotConnectError rescue ::Redis::CannotConnectError
Loading
@@ -128,7 +128,7 @@ describe Projects::DestroyService do
Loading
@@ -128,7 +128,7 @@ describe Projects::DestroyService do
before do before do
project.project_feature.update_attribute("issues_access_level", ProjectFeature::PRIVATE) project.project_feature.update_attribute("issues_access_level", ProjectFeature::PRIVATE)
# Run sidekiq immediately to check that renamed repository will be removed # Run sidekiq immediately to check that renamed repository will be removed
Sidekiq::Testing.inline! { destroy_project(project, user, {}) } perform_enqueued_jobs { destroy_project(project, user, {}) }
end end
   
it_behaves_like 'deleting the project' it_behaves_like 'deleting the project'
Loading
@@ -172,7 +172,7 @@ describe Projects::DestroyService do
Loading
@@ -172,7 +172,7 @@ describe Projects::DestroyService do
   
it 'allows error to bubble up and rolls back project deletion' do it 'allows error to bubble up and rolls back project deletion' do
expect do expect do
Sidekiq::Testing.inline! { destroy_project(project, user, {}) } perform_enqueued_jobs { destroy_project(project, user, {}) }
end.to raise_error(Exception, 'Other error message') end.to raise_error(Exception, 'Other error message')
   
expect(project.reload.pending_delete).to be(false) expect(project.reload.pending_delete).to be(false)
Loading
Loading
Loading
@@ -35,7 +35,7 @@ describe Projects::HousekeepingService do
Loading
@@ -35,7 +35,7 @@ describe Projects::HousekeepingService do
allow(subject).to receive(:gc_period).and_return(1) allow(subject).to receive(:gc_period).and_return(1)
project.increment_pushes_since_gc project.increment_pushes_since_gc
   
Sidekiq::Testing.inline! do perform_enqueued_jobs do
expect { subject.execute }.to change { project.pushes_since_gc }.to(0) expect { subject.execute }.to change { project.pushes_since_gc }.to(0)
end end
end end
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment