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
Loading
@@ -7,7 +7,7 @@ describe 'GPG signed commits', :js do
user = create :user, email: 'unrelated.user@example.org'
project.add_maintainer(user)
 
Sidekiq::Testing.inline! do
perform_enqueued_jobs do
create :gpg_key, key: GpgHelpers::User1.public_key, user: user
end
 
Loading
Loading
@@ -21,7 +21,7 @@ describe 'GPG signed commits', :js do
end
 
# user changes his email which makes the gpg key verified
Sidekiq::Testing.inline! do
perform_enqueued_jobs do
user.skip_reconfirmation!
user.update!(email: GpgHelpers::User1.emails.first)
end
Loading
Loading
@@ -48,7 +48,7 @@ describe 'GPG signed commits', :js do
end
 
# 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
end
 
Loading
Loading
@@ -66,7 +66,7 @@ describe 'GPG signed commits', :js do
end
 
let(:user_1_key) do
Sidekiq::Testing.inline! do
perform_enqueued_jobs do
create :gpg_key, key: GpgHelpers::User1.public_key, user: user_1
end
end
Loading
Loading
@@ -79,7 +79,7 @@ describe 'GPG signed commits', :js do
end
 
let(:user_2_key) do
Sidekiq::Testing.inline! do
perform_enqueued_jobs do
create :gpg_key, key: GpgHelpers::User2.public_key, user: user_2
end
end
Loading
Loading
Loading
Loading
@@ -65,7 +65,7 @@ describe Gitlab::HashedStorage::Migrator do
end
 
it 'migrate project' do
Sidekiq::Testing.inline! do
perform_enqueued_jobs do
subject.migrate(project)
end
 
Loading
Loading
Loading
Loading
@@ -31,7 +31,7 @@ describe ScheduleSetConfidentialNoteEventsOnServices, :migration, :sidekiq do
end
 
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: true).count).to eq 1
 
Loading
Loading
Loading
Loading
@@ -44,7 +44,7 @@ describe MigrateStageIdReferenceInBackground, :migration, :sidekiq do
end
 
it 'schedules background migrations' do
Sidekiq::Testing.inline! do
perform_enqueued_jobs do
expect(jobs.where(stage_id: nil).count).to eq 5
 
migrate!
Loading
Loading
Loading
Loading
@@ -34,7 +34,7 @@ describe MigrateStagesStatuses, :sidekiq, :migration do
end
 
it 'correctly migrates stages statuses' do
Sidekiq::Testing.inline! do
perform_enqueued_jobs do
expect(stages.where(status: nil).count).to eq 3
 
migrate!
Loading
Loading
Loading
Loading
@@ -38,7 +38,7 @@ describe NormalizeLdapExternUids, :migration, :sidekiq do
end
 
it 'migrates the LDAP identities' do
Sidekiq::Testing.inline! do
perform_enqueued_jobs do
migrate!
identities.where(id: 1..4).each do |identity|
expect(identity.extern_uid).to eq("uid=foo #{identity.id},ou=people,dc=example,dc=com")
Loading
Loading
@@ -47,7 +47,7 @@ describe NormalizeLdapExternUids, :migration, :sidekiq do
end
 
it 'does not modify non-LDAP identities' do
Sidekiq::Testing.inline! do
perform_enqueued_jobs do
migrate!
identity = identities.last
expect(identity.extern_uid).to eq(" uid = foo 5, ou = People, dc = example, dc = com ")
Loading
Loading
Loading
Loading
@@ -20,7 +20,7 @@ describe ScheduleCreateGpgKeySubkeysFromGpgKeys, :migration, :sidekiq do
end
 
it 'schedules background migrations' do
Sidekiq::Testing.inline! do
perform_enqueued_jobs do
expect(GpgKeySubkey.count).to eq(0)
 
migrate!
Loading
Loading
Loading
Loading
@@ -33,7 +33,7 @@ describe ScheduleMergeRequestDiffMigrations, :migration, :sidekiq do
end
 
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'
 
expect(merge_request_diffs.where(non_empty).count).to eq 3
Loading
Loading
Loading
Loading
@@ -33,7 +33,7 @@ describe ScheduleMergeRequestDiffMigrationsTakeTwo, :migration, :sidekiq do
end
 
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'
 
expect(merge_request_diffs.where(non_empty).count).to eq 3
Loading
Loading
Loading
Loading
@@ -53,7 +53,7 @@ describe ScheduleMergeRequestLatestMergeRequestDiffIdMigrations, :migration, :si
end
 
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
 
migrate!
Loading
Loading
Loading
Loading
@@ -31,7 +31,7 @@ describe ScheduleSetConfidentialNoteEventsOnWebhooks, :migration, :sidekiq do
end
 
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: true).count).to eq 1
 
Loading
Loading
Loading
Loading
@@ -179,7 +179,7 @@ describe Ci::BuildTraceChunk, :clean_gitlab_redis_shared_state do
end
 
it 'migrates data to object storage' do
Sidekiq::Testing.inline! do
perform_enqueued_jobs do
subject
 
build_trace_chunk.reload
Loading
Loading
@@ -201,7 +201,7 @@ describe Ci::BuildTraceChunk, :clean_gitlab_redis_shared_state do
end
 
it 'does not migrate data to object storage' do
Sidekiq::Testing.inline! do
perform_enqueued_jobs do
data_store = build_trace_chunk.data_store
 
subject
Loading
Loading
Loading
Loading
@@ -22,7 +22,7 @@ describe SpamLog do
spam_log = build(:spam_log)
user = spam_log.user
 
Sidekiq::Testing.inline! do
perform_enqueued_jobs do
spam_log.remove_user(deleted_by: admin)
end
 
Loading
Loading
Loading
Loading
@@ -102,7 +102,7 @@ describe API::ProjectImport do
it 'correctly overrides params during the import' do
override_params = { 'description' => 'Hello world' }
 
Sidekiq::Testing.inline! do
perform_enqueued_jobs do
post api('/projects/import', user),
path: 'test-import',
file: fixture_file_upload(file),
Loading
Loading
Loading
Loading
@@ -1067,7 +1067,7 @@ describe API::Users do
end
 
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 { User.find(user.id) }.to raise_error ActiveRecord::RecordNotFound
Loading
Loading
@@ -1079,30 +1079,30 @@ describe API::Users do
end
 
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)
end
 
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)
end
 
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(json_response['message']).to eq('404 User Not Found')
end
 
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)
end
 
context "hard delete disabled" 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(issue.reload).to be_persisted
Loading
Loading
@@ -1112,7 +1112,7 @@ describe API::Users do
 
context "hard delete enabled" 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(Issue.exists?(issue.id)).to be_falsy
Loading
Loading
Loading
Loading
@@ -49,7 +49,7 @@ describe Groups::DestroyService do
context 'Sidekiq inline' do
before do
# 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
 
it 'verifies that paths have been deleted' do
Loading
Loading
Loading
Loading
@@ -28,7 +28,7 @@ describe Projects::CreateFromTemplateService do
 
context 'the result project' do
before do
Sidekiq::Testing.inline! do
perform_enqueued_jobs do
@project = subject.execute
end
 
Loading
Loading
Loading
Loading
@@ -45,18 +45,18 @@ describe Projects::DestroyService do
shared_examples 'handles errors thrown during async destroy' do |error_message|
it 'does not allow the error to bubble up' do
expect do
Sidekiq::Testing.inline! { destroy_project(project, user, {}) }
perform_enqueued_jobs { destroy_project(project, user, {}) }
end.not_to raise_error
end
 
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)
end
 
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.delete_error).to include(error_message)
Loading
Loading
@@ -66,7 +66,7 @@ describe Projects::DestroyService do
context 'Sidekiq inline' do
before do
# 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
 
context 'when has remote mirrors' do
Loading
Loading
@@ -110,7 +110,7 @@ describe Projects::DestroyService do
end
 
it 'keeps project team intact upon an error' do
Sidekiq::Testing.inline! do
perform_enqueued_jobs do
begin
destroy_project(project, user, {})
rescue ::Redis::CannotConnectError
Loading
Loading
@@ -128,7 +128,7 @@ describe Projects::DestroyService do
before do
project.project_feature.update_attribute("issues_access_level", ProjectFeature::PRIVATE)
# 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
 
it_behaves_like 'deleting the project'
Loading
Loading
@@ -172,7 +172,7 @@ describe Projects::DestroyService do
 
it 'allows error to bubble up and rolls back project deletion' 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')
 
expect(project.reload.pending_delete).to be(false)
Loading
Loading
Loading
Loading
@@ -35,7 +35,7 @@ describe Projects::HousekeepingService do
allow(subject).to receive(:gc_period).and_return(1)
project.increment_pushes_since_gc
 
Sidekiq::Testing.inline! do
perform_enqueued_jobs do
expect { subject.execute }.to change { project.pushes_since_gc }.to(0)
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