From 7fbb996fde20a9905177e253491f858870cd5882 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Thu, 20 Apr 2023 21:09:48 +0000 Subject: Add latest changes from gitlab-org/gitlab@master --- .../concerns/exclusive_lease_guard_spec.rb | 46 ++++- .../add_todo_when_build_fails_service_spec.rb | 22 +- .../merge_requests/assign_issues_service_spec.rb | 14 +- .../conflicts/resolve_service_spec.rb | 19 +- .../services/merge_requests/create_service_spec.rb | 17 +- .../merge_requests/ff_merge_service_spec.rb | 12 +- .../merge_orchestration_service_spec.rb | 7 +- spec/services/merge_requests/merge_service_spec.rb | 120 +++++++---- .../merge_requests/merge_to_ref_service_spec.rb | 26 ++- .../detailed_merge_status_service_spec.rb | 11 +- .../mergeability_check_service_spec.rb | 20 +- .../services/merge_requests/rebase_service_spec.rb | 28 ++- .../merge_requests/refresh_service_spec.rb | 230 ++++++++++++--------- .../merge_requests/reload_diffs_service_spec.rb | 9 +- .../services/merge_requests/squash_service_spec.rb | 24 ++- .../update_assignees_service_spec.rb | 34 +-- .../update_reviewers_service_spec.rb | 18 +- .../services/merge_requests/update_service_spec.rb | 44 ++-- .../projects/git_deduplication_service_spec.rb | 2 +- 19 files changed, 446 insertions(+), 257 deletions(-) (limited to 'spec/services') diff --git a/spec/services/concerns/exclusive_lease_guard_spec.rb b/spec/services/concerns/exclusive_lease_guard_spec.rb index b081d2642c0..ca8bff4ecc4 100644 --- a/spec/services/concerns/exclusive_lease_guard_spec.rb +++ b/spec/services/concerns/exclusive_lease_guard_spec.rb @@ -49,11 +49,49 @@ RSpec.describe ExclusiveLeaseGuard, :clean_gitlab_redis_shared_state, feature_ca subject.exclusive_lease.cancel end - it 'does not call internal_method but logs error', :aggregate_failures do - expect(subject).not_to receive(:internal_method) - expect(Gitlab::AppLogger).to receive(:error).with("Cannot obtain an exclusive lease for #{subject.lease_key}. There must be another instance already in execution.") + context 'when the class does not override lease_taken_log_level' do + it 'does not call internal_method but logs error', :aggregate_failures do + expect(subject).not_to receive(:internal_method) + expect(Gitlab::AppJsonLogger).to receive(:error).with({ message: "Cannot obtain an exclusive lease. There must be another instance already in execution.", lease_key: 'exclusive_lease_guard_test_class', class_name: 'ExclusiveLeaseGuardTestClass', lease_timeout: 1.second }) - subject.call + subject.call + end + end + + context 'when the class overrides lease_taken_log_level to return :info' do + subject :overwritten_subject_class do + Class.new(subject_class) do + def lease_taken_log_level + :info + end + end + end + + let(:subject) { overwritten_subject_class.new } + + it 'logs info', :aggregate_failures do + expect(Gitlab::AppJsonLogger).to receive(:info).with({ message: "Cannot obtain an exclusive lease. There must be another instance already in execution.", lease_key: 'exclusive_lease_guard_test_class', class_name: 'ExclusiveLeaseGuardTestClass', lease_timeout: 1.second }) + + subject.call + end + end + + context 'when the class overrides lease_taken_log_level to return :debug' do + subject :overwritten_subject_class do + Class.new(subject_class) do + def lease_taken_log_level + :debug + end + end + end + + let(:subject) { overwritten_subject_class.new } + + it 'logs debug', :aggregate_failures do + expect(Gitlab::AppJsonLogger).to receive(:debug).with({ message: "Cannot obtain an exclusive lease. There must be another instance already in execution.", lease_key: 'exclusive_lease_guard_test_class', class_name: 'ExclusiveLeaseGuardTestClass', lease_timeout: 1.second }) + + subject.call + end end end diff --git a/spec/services/merge_requests/add_todo_when_build_fails_service_spec.rb b/spec/services/merge_requests/add_todo_when_build_fails_service_spec.rb index 3c37792b576..1307e2be3be 100644 --- a/spec/services/merge_requests/add_todo_when_build_fails_service_spec.rb +++ b/spec/services/merge_requests/add_todo_when_build_fails_service_spec.rb @@ -74,10 +74,13 @@ RSpec.describe ::MergeRequests::AddTodoWhenBuildFailsService, feature_category: context 'when build belongs to a merge request pipeline' do let(:pipeline) do - create(:ci_pipeline, source: :merge_request_event, - ref: merge_request.merge_ref_path, - merge_request: merge_request, - merge_requests_as_head_pipeline: [merge_request]) + create( + :ci_pipeline, + source: :merge_request_event, + ref: merge_request.merge_ref_path, + merge_request: merge_request, + merge_requests_as_head_pipeline: [merge_request] + ) end let(:commit_status) { create(:ci_build, ref: merge_request.merge_ref_path, pipeline: pipeline) } @@ -119,10 +122,13 @@ RSpec.describe ::MergeRequests::AddTodoWhenBuildFailsService, feature_category: context 'when build belongs to a merge request pipeline' do let(:pipeline) do - create(:ci_pipeline, source: :merge_request_event, - ref: merge_request.merge_ref_path, - merge_request: merge_request, - merge_requests_as_head_pipeline: [merge_request]) + create( + :ci_pipeline, + source: :merge_request_event, + ref: merge_request.merge_ref_path, + merge_request: merge_request, + merge_requests_as_head_pipeline: [merge_request] + ) end let(:commit_status) { create(:ci_build, ref: merge_request.merge_ref_path, pipeline: pipeline) } diff --git a/spec/services/merge_requests/assign_issues_service_spec.rb b/spec/services/merge_requests/assign_issues_service_spec.rb index f5fb88b6161..9f82207086b 100644 --- a/spec/services/merge_requests/assign_issues_service_spec.rb +++ b/spec/services/merge_requests/assign_issues_service_spec.rb @@ -37,12 +37,14 @@ RSpec.describe MergeRequests::AssignIssuesService, feature_category: :code_revie it 'accepts precomputed data for closes_issues' do issue2 = create(:issue, project: project) - service2 = described_class.new(project: project, - current_user: user, - params: { - merge_request: merge_request, - closes_issues: [issue, issue2] - }) + service2 = described_class.new( + project: project, + current_user: user, + params: { + merge_request: merge_request, + closes_issues: [issue, issue2] + } + ) expect(service2.assignable_issues.count).to eq 2 end diff --git a/spec/services/merge_requests/conflicts/resolve_service_spec.rb b/spec/services/merge_requests/conflicts/resolve_service_spec.rb index e11cccaa54a..002a07ff14e 100644 --- a/spec/services/merge_requests/conflicts/resolve_service_spec.rb +++ b/spec/services/merge_requests/conflicts/resolve_service_spec.rb @@ -12,15 +12,22 @@ RSpec.describe MergeRequests::Conflicts::ResolveService, feature_category: :code end let(:merge_request) do - create(:merge_request, - source_branch: 'conflict-resolvable', source_project: project, - target_branch: 'conflict-start') + create( + :merge_request, + source_branch: 'conflict-resolvable', + source_project: project, + target_branch: 'conflict-start' + ) end let(:merge_request_from_fork) do - create(:merge_request, - source_branch: 'conflict-resolvable-fork', source_project: forked_project, - target_branch: 'conflict-start', target_project: project) + create( + :merge_request, + source_branch: 'conflict-resolvable-fork', + source_project: forked_project, + target_branch: 'conflict-start', + target_project: project + ) end describe '#execute' do diff --git a/spec/services/merge_requests/create_service_spec.rb b/spec/services/merge_requests/create_service_spec.rb index efbd693fc82..c4de56f39dd 100644 --- a/spec/services/merge_requests/create_service_spec.rb +++ b/spec/services/merge_requests/create_service_spec.rb @@ -249,10 +249,13 @@ RSpec.describe MergeRequests::CreateService, :clean_gitlab_redis_shared_state, f context "when branch pipeline was created before a merge request pipline has been created" do before do - create(:ci_pipeline, project: merge_request.source_project, - sha: merge_request.diff_head_sha, - ref: merge_request.source_branch, - tag: false) + create( + :ci_pipeline, + project: merge_request.source_project, + sha: merge_request.diff_head_sha, + ref: merge_request.source_branch, + tag: false + ) merge_request end @@ -464,8 +467,10 @@ RSpec.describe MergeRequests::CreateService, :clean_gitlab_redis_shared_state, f context "when issuable feature is private" do before do - project.project_feature.update!(issues_access_level: ProjectFeature::PRIVATE, - merge_requests_access_level: ProjectFeature::PRIVATE) + project.project_feature.update!( + issues_access_level: ProjectFeature::PRIVATE, + merge_requests_access_level: ProjectFeature::PRIVATE + ) end levels = [Gitlab::VisibilityLevel::INTERNAL, Gitlab::VisibilityLevel::PUBLIC] diff --git a/spec/services/merge_requests/ff_merge_service_spec.rb b/spec/services/merge_requests/ff_merge_service_spec.rb index 993b7cfa85b..f2dbc02f12c 100644 --- a/spec/services/merge_requests/ff_merge_service_spec.rb +++ b/spec/services/merge_requests/ff_merge_service_spec.rb @@ -6,11 +6,13 @@ RSpec.describe MergeRequests::FfMergeService, feature_category: :code_review_wor let(:user) { create(:user) } let(:user2) { create(:user) } let(:merge_request) do - create(:merge_request, - source_branch: 'flatten-dir', - target_branch: 'improve/awesome', - assignees: [user2], - author: create(:user)) + create( + :merge_request, + source_branch: 'flatten-dir', + target_branch: 'improve/awesome', + assignees: [user2], + author: create(:user) + ) end let(:project) { merge_request.project } diff --git a/spec/services/merge_requests/merge_orchestration_service_spec.rb b/spec/services/merge_requests/merge_orchestration_service_spec.rb index 41da7abfeab..389956bf258 100644 --- a/spec/services/merge_requests/merge_orchestration_service_spec.rb +++ b/spec/services/merge_requests/merge_orchestration_service_spec.rb @@ -10,8 +10,11 @@ RSpec.describe MergeRequests::MergeOrchestrationService, feature_category: :code let(:service) { described_class.new(project, user, merge_params) } let!(:merge_request) do - create(:merge_request, source_project: project, source_branch: 'feature', - target_project: project, target_branch: 'master') + create( + :merge_request, + source_project: project, source_branch: 'feature', + target_project: project, target_branch: 'master' + ) end shared_context 'fresh repository' do diff --git a/spec/services/merge_requests/merge_service_spec.rb b/spec/services/merge_requests/merge_service_spec.rb index f380357a659..c77cf288f56 100644 --- a/spec/services/merge_requests/merge_service_spec.rb +++ b/spec/services/merge_requests/merge_service_spec.rb @@ -69,12 +69,15 @@ RSpec.describe MergeRequests::MergeService, feature_category: :code_review_workf let(:merge_request) do # A merge request with 5 commits - create(:merge_request, :simple, - author: user2, - assignees: [user2], - squash: true, - source_branch: 'improve/awesome', - target_branch: 'fix') + create( + :merge_request, + :simple, + author: user2, + assignees: [user2], + squash: true, + source_branch: 'improve/awesome', + target_branch: 'fix' + ) end it 'merges the merge request with squashed commits' do @@ -147,12 +150,15 @@ RSpec.describe MergeRequests::MergeService, feature_category: :code_review_workf context 'when an invalid sha is passed' do let(:merge_request) do - create(:merge_request, :simple, - author: user2, - assignees: [user2], - squash: true, - source_branch: 'improve/awesome', - target_branch: 'fix') + create( + :merge_request, + :simple, + author: user2, + assignees: [user2], + squash: true, + source_branch: 'improve/awesome', + target_branch: 'fix' + ) end let(:merge_params) do @@ -351,9 +357,12 @@ RSpec.describe MergeRequests::MergeService, feature_category: :code_review_workf service.execute(merge_request) expect(merge_request.merge_error).to eq(error_message) - expect(Gitlab::AppLogger).to have_received(:error) - .with(hash_including(merge_request_info: merge_request.to_reference(full: true), - message: a_string_matching(error_message))) + expect(Gitlab::AppLogger).to have_received(:error).with( + hash_including( + merge_request_info: merge_request.to_reference(full: true), + message: a_string_matching(error_message) + ) + ) end end @@ -366,9 +375,12 @@ RSpec.describe MergeRequests::MergeService, feature_category: :code_review_workf service.execute(merge_request) expect(merge_request.merge_error).to eq(described_class::GENERIC_ERROR_MESSAGE) - expect(Gitlab::AppLogger).to have_received(:error) - .with(hash_including(merge_request_info: merge_request.to_reference(full: true), - message: a_string_matching(error_message))) + expect(Gitlab::AppLogger).to have_received(:error).with( + hash_including( + merge_request_info: merge_request.to_reference(full: true), + message: a_string_matching(error_message) + ) + ) end it 'logs and saves error if user is not authorized' do @@ -394,9 +406,12 @@ RSpec.describe MergeRequests::MergeService, feature_category: :code_review_workf service.execute(merge_request) expect(merge_request.merge_error).to include('Something went wrong during merge pre-receive hook') - expect(Gitlab::AppLogger).to have_received(:error) - .with(hash_including(merge_request_info: merge_request.to_reference(full: true), - message: a_string_matching(error_message))) + expect(Gitlab::AppLogger).to have_received(:error).with( + hash_including( + merge_request_info: merge_request.to_reference(full: true), + message: a_string_matching(error_message) + ) + ) end it 'logs and saves error if commit is not created' do @@ -408,9 +423,12 @@ RSpec.describe MergeRequests::MergeService, feature_category: :code_review_workf expect(merge_request).to be_open expect(merge_request.merge_commit_sha).to be_nil expect(merge_request.merge_error).to include(described_class::GENERIC_ERROR_MESSAGE) - expect(Gitlab::AppLogger).to have_received(:error) - .with(hash_including(merge_request_info: merge_request.to_reference(full: true), - message: a_string_matching(described_class::GENERIC_ERROR_MESSAGE))) + expect(Gitlab::AppLogger).to have_received(:error).with( + hash_including( + merge_request_info: merge_request.to_reference(full: true), + message: a_string_matching(described_class::GENERIC_ERROR_MESSAGE) + ) + ) end context 'when squashing is required' do @@ -429,9 +447,12 @@ RSpec.describe MergeRequests::MergeService, feature_category: :code_review_workf expect(merge_request.merge_commit_sha).to be_nil expect(merge_request.squash_commit_sha).to be_nil expect(merge_request.merge_error).to include(error_message) - expect(Gitlab::AppLogger).to have_received(:error) - .with(hash_including(merge_request_info: merge_request.to_reference(full: true), - message: a_string_matching(error_message))) + expect(Gitlab::AppLogger).to have_received(:error).with( + hash_including( + merge_request_info: merge_request.to_reference(full: true), + message: a_string_matching(error_message) + ) + ) end end @@ -452,9 +473,12 @@ RSpec.describe MergeRequests::MergeService, feature_category: :code_review_workf expect(merge_request.merge_commit_sha).to be_nil expect(merge_request.squash_commit_sha).to be_nil expect(merge_request.merge_error).to include(error_message) - expect(Gitlab::AppLogger).to have_received(:error) - .with(hash_including(merge_request_info: merge_request.to_reference(full: true), - message: a_string_matching(error_message))) + expect(Gitlab::AppLogger).to have_received(:error).with( + hash_including( + merge_request_info: merge_request.to_reference(full: true), + message: a_string_matching(error_message) + ) + ) end it 'logs and saves error if there is an PreReceiveError exception' do @@ -470,9 +494,12 @@ RSpec.describe MergeRequests::MergeService, feature_category: :code_review_workf expect(merge_request.merge_commit_sha).to be_nil expect(merge_request.squash_commit_sha).to be_nil expect(merge_request.merge_error).to include('Something went wrong during merge pre-receive hook') - expect(Gitlab::AppLogger).to have_received(:error) - .with(hash_including(merge_request_info: merge_request.to_reference(full: true), - message: a_string_matching(error_message))) + expect(Gitlab::AppLogger).to have_received(:error).with( + hash_including( + merge_request_info: merge_request.to_reference(full: true), + message: a_string_matching(error_message) + ) + ) end context 'when fast-forward merge is not allowed' do @@ -494,9 +521,12 @@ RSpec.describe MergeRequests::MergeService, feature_category: :code_review_workf expect(merge_request.merge_commit_sha).to be_nil expect(merge_request.squash_commit_sha).to be_nil expect(merge_request.merge_error).to include(error_message) - expect(Gitlab::AppLogger).to have_received(:error) - .with(hash_including(merge_request_info: merge_request.to_reference(full: true), - message: a_string_matching(error_message))) + expect(Gitlab::AppLogger).to have_received(:error).with( + hash_including( + merge_request_info: merge_request.to_reference(full: true), + message: a_string_matching(error_message) + ) + ) end end end @@ -513,9 +543,12 @@ RSpec.describe MergeRequests::MergeService, feature_category: :code_review_workf it 'logs and saves error' do service.execute(merge_request) - expect(Gitlab::AppLogger).to have_received(:error) - .with(hash_including(merge_request_info: merge_request.to_reference(full: true), - message: a_string_matching(error_message))) + expect(Gitlab::AppLogger).to have_received(:error).with( + hash_including( + merge_request_info: merge_request.to_reference(full: true), + message: a_string_matching(error_message) + ) + ) end end @@ -527,9 +560,12 @@ RSpec.describe MergeRequests::MergeService, feature_category: :code_review_workf it 'logs and saves error' do service.execute(merge_request) - expect(Gitlab::AppLogger).to have_received(:error) - .with(hash_including(merge_request_info: merge_request.to_reference(full: true), - message: a_string_matching(error_message))) + expect(Gitlab::AppLogger).to have_received(:error).with( + hash_including( + merge_request_info: merge_request.to_reference(full: true), + message: a_string_matching(error_message) + ) + ) end context 'when passing `skip_discussions_check: true` as `options` parameter' do diff --git a/spec/services/merge_requests/merge_to_ref_service_spec.rb b/spec/services/merge_requests/merge_to_ref_service_spec.rb index 8428848c3c8..8200f60b072 100644 --- a/spec/services/merge_requests/merge_to_ref_service_spec.rb +++ b/spec/services/merge_requests/merge_to_ref_service_spec.rb @@ -210,11 +210,14 @@ RSpec.describe MergeRequests::MergeToRefService, feature_category: :code_review_ let(:merge_request) { create(:merge_request, assignees: [user], author: user) } let(:project) { merge_request.project } let!(:todo) do - create(:todo, :assigned, - project: project, - author: user, - user: user, - target: merge_request) + create( + :todo, + :assigned, + project: project, + author: user, + user: user, + target: merge_request + ) end before do @@ -258,8 +261,10 @@ RSpec.describe MergeRequests::MergeToRefService, feature_category: :code_review_ context 'when first merge happens' do let(:merge_request) do - create(:merge_request, source_project: project, source_branch: 'feature', - target_project: project, target_branch: 'master') + create( + :merge_request, source_project: project, source_branch: 'feature', + target_project: project, target_branch: 'master' + ) end it_behaves_like 'successfully merges to ref with merge method' do @@ -269,8 +274,11 @@ RSpec.describe MergeRequests::MergeToRefService, feature_category: :code_review_ context 'when second merge happens' do let(:merge_request) do - create(:merge_request, source_project: project, source_branch: 'improve/awesome', - target_project: project, target_branch: 'master') + create( + :merge_request, + source_project: project, source_branch: 'improve/awesome', + target_project: project, target_branch: 'master' + ) end it_behaves_like 'successfully merges to ref with merge method' do diff --git a/spec/services/merge_requests/mergeability/detailed_merge_status_service_spec.rb b/spec/services/merge_requests/mergeability/detailed_merge_status_service_spec.rb index 876b1e7f23a..a037d21bd94 100644 --- a/spec/services/merge_requests/mergeability/detailed_merge_status_service_spec.rb +++ b/spec/services/merge_requests/mergeability/detailed_merge_status_service_spec.rb @@ -72,9 +72,14 @@ RSpec.describe ::MergeRequests::Mergeability::DetailedMergeStatusService, featur context 'when pipeline exists' do before do - create(:ci_pipeline, ci_status, merge_request: merge_request, - project: merge_request.project, sha: merge_request.source_branch_sha, - head_pipeline_of: merge_request) + create( + :ci_pipeline, + ci_status, + merge_request: merge_request, + project: merge_request.project, + sha: merge_request.source_branch_sha, + head_pipeline_of: merge_request + ) end context 'when the pipeline is running' do diff --git a/spec/services/merge_requests/mergeability_check_service_spec.rb b/spec/services/merge_requests/mergeability_check_service_spec.rb index 881157e7f11..82ef8440380 100644 --- a/spec/services/merge_requests/mergeability_check_service_spec.rb +++ b/spec/services/merge_requests/mergeability_check_service_spec.rb @@ -158,9 +158,11 @@ RSpec.describe MergeRequests::MergeabilityCheckService, :clean_gitlab_redis_shar threads = execute_within_threads(amount: 3, retry_lease: false) results = threads.map { |t| [t.value.status, t.value.message] } - expect(results).to contain_exactly([:error, 'Failed to obtain a lock'], - [:error, 'Failed to obtain a lock'], - [:success, nil]) + expect(results).to contain_exactly( + [:error, 'Failed to obtain a lock'], + [:error, 'Failed to obtain a lock'], + [:success, nil] + ) end end end @@ -183,11 +185,13 @@ RSpec.describe MergeRequests::MergeabilityCheckService, :clean_gitlab_redis_shar context 'when it cannot be merged on git' do let(:merge_request) do - create(:merge_request, - merge_status: :unchecked, - source_branch: 'conflict-resolvable', - source_project: project, - target_branch: 'conflict-start') + create( + :merge_request, + merge_status: :unchecked, + source_branch: 'conflict-resolvable', + source_project: project, + target_branch: 'conflict-start' + ) end it 'returns ServiceResponse.error and keeps merge status as cannot_be_merged' do diff --git a/spec/services/merge_requests/rebase_service_spec.rb b/spec/services/merge_requests/rebase_service_spec.rb index 704dc1f9000..c8b9ab5a34e 100644 --- a/spec/services/merge_requests/rebase_service_spec.rb +++ b/spec/services/merge_requests/rebase_service_spec.rb @@ -8,10 +8,12 @@ RSpec.describe MergeRequests::RebaseService, feature_category: :source_code_mana let(:user) { create(:user) } let(:rebase_jid) { 'fake-rebase-jid' } let(:merge_request) do - create :merge_request, - source_branch: 'feature_conflict', - target_branch: 'master', - rebase_jid: rebase_jid + create( + :merge_request, + source_branch: 'feature_conflict', + target_branch: 'master', + rebase_jid: rebase_jid + ) end let(:project) { merge_request.project } @@ -102,8 +104,9 @@ RSpec.describe MergeRequests::RebaseService, feature_category: :source_code_mana end it 'returns an error' do - expect(service.execute(merge_request)).to match(status: :error, - message: described_class::REBASE_ERROR) + expect(service.execute(merge_request)).to match( + status: :error, message: described_class::REBASE_ERROR + ) end it 'logs the error' do @@ -154,8 +157,9 @@ RSpec.describe MergeRequests::RebaseService, feature_category: :source_code_mana end it 'returns an error' do - expect(service.execute(merge_request)).to match(status: :error, - message: described_class::REBASE_ERROR) + expect(service.execute(merge_request)).to match( + status: :error, message: described_class::REBASE_ERROR + ) end end @@ -215,9 +219,11 @@ RSpec.describe MergeRequests::RebaseService, feature_category: :source_code_mana message: 'Add new file to target', branch_name: 'master') - create(:merge_request, - source_branch: 'master', source_project: forked_project, - target_branch: 'master', target_project: project) + create( + :merge_request, + source_branch: 'master', source_project: forked_project, + target_branch: 'master', target_project: project + ) end it 'rebases source branch', :sidekiq_might_not_need_inline do diff --git a/spec/services/merge_requests/refresh_service_spec.rb b/spec/services/merge_requests/refresh_service_spec.rb index d8e5eb3bcde..4d533b67690 100644 --- a/spec/services/merge_requests/refresh_service_spec.rb +++ b/spec/services/merge_requests/refresh_service_spec.rb @@ -19,43 +19,53 @@ RSpec.describe MergeRequests::RefreshService, feature_category: :code_review_wor @project = create(:project, :repository, namespace: group) @fork_project = fork_project(@project, @user, repository: true) - @merge_request = create(:merge_request, - source_project: @project, - source_branch: 'master', - target_branch: 'feature', - target_project: @project, - auto_merge_enabled: true, - auto_merge_strategy: AutoMergeService::STRATEGY_MERGE_WHEN_PIPELINE_SUCCEEDS, - merge_user: @user) - - @another_merge_request = create(:merge_request, - source_project: @project, - source_branch: 'master', - target_branch: 'test', - target_project: @project, - auto_merge_enabled: true, - auto_merge_strategy: AutoMergeService::STRATEGY_MERGE_WHEN_PIPELINE_SUCCEEDS, - merge_user: @user) - - @fork_merge_request = create(:merge_request, - source_project: @fork_project, - source_branch: 'master', - target_branch: 'feature', - target_project: @project) - - @build_failed_todo = create(:todo, - :build_failed, - user: @user, - project: @project, - target: @merge_request, - author: @user) - - @fork_build_failed_todo = create(:todo, - :build_failed, - user: @user, - project: @project, - target: @merge_request, - author: @user) + @merge_request = create( + :merge_request, + source_project: @project, + source_branch: 'master', + target_branch: 'feature', + target_project: @project, + auto_merge_enabled: true, + auto_merge_strategy: AutoMergeService::STRATEGY_MERGE_WHEN_PIPELINE_SUCCEEDS, + merge_user: @user + ) + + @another_merge_request = create( + :merge_request, + source_project: @project, + source_branch: 'master', + target_branch: 'test', + target_project: @project, + auto_merge_enabled: true, + auto_merge_strategy: AutoMergeService::STRATEGY_MERGE_WHEN_PIPELINE_SUCCEEDS, + merge_user: @user + ) + + @fork_merge_request = create( + :merge_request, + source_project: @fork_project, + source_branch: 'master', + target_branch: 'feature', + target_project: @project + ) + + @build_failed_todo = create( + :todo, + :build_failed, + user: @user, + project: @project, + target: @merge_request, + author: @user + ) + + @fork_build_failed_todo = create( + :todo, + :build_failed, + user: @user, + project: @project, + target: @merge_request, + author: @user + ) @commits = @merge_request.commits @@ -306,10 +316,13 @@ RSpec.describe MergeRequests::RefreshService, feature_category: :code_review_wor context "when branch pipeline was created before a detaced merge request pipeline has been created" do before do - create(:ci_pipeline, project: @merge_request.source_project, - sha: @merge_request.diff_head_sha, - ref: @merge_request.source_branch, - tag: false) + create( + :ci_pipeline, + project: @merge_request.source_project, + sha: @merge_request.diff_head_sha, + ref: @merge_request.source_branch, + tag: false + ) subject end @@ -340,9 +353,11 @@ RSpec.describe MergeRequests::RefreshService, feature_category: :code_review_wor context 'when the pipeline should be skipped' do it 'saves a skipped detached merge request pipeline' do - project.repository.create_file(@user, 'new-file.txt', 'A new file', - message: '[skip ci] This is a test', - branch_name: 'master') + project.repository.create_file( + @user, 'new-file.txt', 'A new file', + message: '[skip ci] This is a test', + branch_name: 'master' + ) expect { subject } .to change { @merge_request.pipelines_for_merge_request.count }.by(1) @@ -452,11 +467,13 @@ RSpec.describe MergeRequests::RefreshService, feature_category: :code_review_wor context 'when an MR to be closed was empty already' do let!(:empty_fork_merge_request) do - create(:merge_request, - source_project: @fork_project, - source_branch: 'master', - target_branch: 'master', - target_project: @project) + create( + :merge_request, + source_project: @fork_project, + source_branch: 'master', + target_branch: 'master', + target_project: @project + ) end before do @@ -597,23 +614,33 @@ RSpec.describe MergeRequests::RefreshService, feature_category: :code_review_wor context 'forked projects with the same source branch name as target branch' do let!(:first_commit) do - @fork_project.repository.create_file(@user, 'test1.txt', 'Test data', - message: 'Test commit', - branch_name: 'master') + @fork_project.repository.create_file( + @user, + 'test1.txt', + 'Test data', + message: 'Test commit', + branch_name: 'master' + ) end let!(:second_commit) do - @fork_project.repository.create_file(@user, 'test2.txt', 'More test data', - message: 'Second test commit', - branch_name: 'master') + @fork_project.repository.create_file( + @user, + 'test2.txt', + 'More test data', + message: 'Second test commit', + branch_name: 'master' + ) end let!(:forked_master_mr) do - create(:merge_request, - source_project: @fork_project, - source_branch: 'master', - target_branch: 'master', - target_project: @project) + create( + :merge_request, + source_project: @fork_project, + source_branch: 'master', + target_branch: 'master', + target_project: @project + ) end let(:force_push_commit) { @project.commit('feature').id } @@ -647,9 +674,13 @@ RSpec.describe MergeRequests::RefreshService, feature_category: :code_review_wor end it 'does not increase the diff count for a new push to target branch' do - new_commit = @project.repository.create_file(@user, 'new-file.txt', 'A new file', - message: 'This is a test', - branch_name: 'master') + new_commit = @project.repository.create_file( + @user, + 'new-file.txt', + 'A new file', + message: 'This is a test', + branch_name: 'master' + ) expect do service.new(project: @project, current_user: @user).execute(@newrev, new_commit, 'refs/heads/master') @@ -721,10 +752,12 @@ RSpec.describe MergeRequests::RefreshService, feature_category: :code_review_wor CommitCollection.new(project, [commit], 'close-by-commit') ) - merge_request = create(:merge_request, - target_branch: 'master', - source_branch: 'close-by-commit', - source_project: project) + merge_request = create( + :merge_request, + target_branch: 'master', + source_branch: 'close-by-commit', + source_project: project + ) refresh_service = service.new(project: project, current_user: user) allow(refresh_service).to receive(:execute_hooks) @@ -743,11 +776,13 @@ RSpec.describe MergeRequests::RefreshService, feature_category: :code_review_wor CommitCollection.new(forked_project, [commit], 'close-by-commit') ) - merge_request = create(:merge_request, - target_branch: 'master', - target_project: project, - source_branch: 'close-by-commit', - source_project: forked_project) + merge_request = create( + :merge_request, + target_branch: 'master', + target_project: project, + source_branch: 'close-by-commit', + source_project: forked_project + ) refresh_service = service.new(project: forked_project, current_user: user) allow(refresh_service).to receive(:execute_hooks) @@ -767,11 +802,13 @@ RSpec.describe MergeRequests::RefreshService, feature_category: :code_review_wor end it 'marks the merge request as draft from fixup commits' do - fixup_merge_request = create(:merge_request, - source_project: @project, - source_branch: 'wip', - target_branch: 'master', - target_project: @project) + fixup_merge_request = create( + :merge_request, + source_project: @project, + source_branch: 'wip', + target_branch: 'master', + target_project: @project + ) commits = fixup_merge_request.commits oldrev = commits.last.id newrev = commits.first.id @@ -786,11 +823,13 @@ RSpec.describe MergeRequests::RefreshService, feature_category: :code_review_wor end it 'references the commit that caused the draft status' do - draft_merge_request = create(:merge_request, - source_project: @project, - source_branch: 'wip', - target_branch: 'master', - target_project: @project) + draft_merge_request = create( + :merge_request, + source_project: @project, + source_branch: 'wip', + target_branch: 'master', + target_project: @project + ) commits = draft_merge_request.commits oldrev = commits.last.id @@ -904,22 +943,23 @@ RSpec.describe MergeRequests::RefreshService, feature_category: :code_review_wor end let_it_be(:merge_request, refind: true) do - create(:merge_request, - author: author, - source_project: source_project, - source_branch: 'feature', - target_branch: 'master', - target_project: target_project, - auto_merge_enabled: true, - auto_merge_strategy: AutoMergeService::STRATEGY_MERGE_WHEN_PIPELINE_SUCCEEDS, - merge_user: user) + create( + :merge_request, + author: author, + source_project: source_project, + source_branch: 'feature', + target_branch: 'master', + target_project: target_project, + auto_merge_enabled: true, + auto_merge_strategy: AutoMergeService::STRATEGY_MERGE_WHEN_PIPELINE_SUCCEEDS, + merge_user: user + ) end let_it_be(:newrev) do - target_project - .repository - .create_file(user, 'test1.txt', 'Test data', - message: 'Test commit', branch_name: 'master') + target_project.repository.create_file( + user, 'test1.txt', 'Test data', message: 'Test commit', branch_name: 'master' + ) end let_it_be(:oldrev) do diff --git a/spec/services/merge_requests/reload_diffs_service_spec.rb b/spec/services/merge_requests/reload_diffs_service_spec.rb index 4dd05f75a3e..675b458c435 100644 --- a/spec/services/merge_requests/reload_diffs_service_spec.rb +++ b/spec/services/merge_requests/reload_diffs_service_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' RSpec.describe MergeRequests::ReloadDiffsService, :use_clean_rails_memory_store_caching, -feature_category: :code_review_workflow do + feature_category: :code_review_workflow do let(:current_user) { create(:user) } let(:merge_request) { create(:merge_request) } let(:subject) { described_class.new(merge_request, current_user) } @@ -19,10 +19,9 @@ feature_category: :code_review_workflow do new_diff_refs = merge_request.diff_refs expect(merge_request).to receive(:create_merge_request_diff).and_return(new_diff) - expect(merge_request).to receive(:update_diff_discussion_positions) - .with(old_diff_refs: old_diff_refs, - new_diff_refs: new_diff_refs, - current_user: current_user) + expect(merge_request).to receive(:update_diff_discussion_positions).with( + old_diff_refs: old_diff_refs, new_diff_refs: new_diff_refs, current_user: current_user + ) subject.execute end diff --git a/spec/services/merge_requests/squash_service_spec.rb b/spec/services/merge_requests/squash_service_spec.rb index 26e225db9fc..1afca466fb5 100644 --- a/spec/services/merge_requests/squash_service_spec.rb +++ b/spec/services/merge_requests/squash_service_spec.rb @@ -13,21 +13,27 @@ RSpec.describe MergeRequests::SquashService, feature_category: :source_code_mana end let(:merge_request_with_one_commit) do - create(:merge_request, - source_branch: 'feature', source_project: project, - target_branch: 'master', target_project: project) + create( + :merge_request, + source_branch: 'feature', source_project: project, + target_branch: 'master', target_project: project + ) end let(:merge_request_with_only_new_files) do - create(:merge_request, - source_branch: 'video', source_project: project, - target_branch: 'master', target_project: project) + create( + :merge_request, + source_branch: 'video', source_project: project, + target_branch: 'master', target_project: project + ) end let(:merge_request_with_large_files) do - create(:merge_request, - source_branch: 'squash-large-files', source_project: project, - target_branch: 'master', target_project: project) + create( + :merge_request, + source_branch: 'squash-large-files', source_project: project, + target_branch: 'master', target_project: project + ) end shared_examples 'the squash succeeds' do diff --git a/spec/services/merge_requests/update_assignees_service_spec.rb b/spec/services/merge_requests/update_assignees_service_spec.rb index 7d08eb86441..85d749de83c 100644 --- a/spec/services/merge_requests/update_assignees_service_spec.rb +++ b/spec/services/merge_requests/update_assignees_service_spec.rb @@ -12,13 +12,17 @@ RSpec.describe MergeRequests::UpdateAssigneesService, feature_category: :code_re let_it_be(:user3) { create(:user) } let_it_be_with_reload(:merge_request) do - create(:merge_request, :simple, :unique_branches, - title: 'Old title', - description: "FYI #{user2.to_reference}", - assignee_ids: [user3.id], - source_project: project, - target_project: project, - author: create(:user)) + create( + :merge_request, + :simple, + :unique_branches, + title: 'Old title', + description: "FYI #{user2.to_reference}", + assignee_ids: [user3.id], + source_project: project, + target_project: project, + author: create(:user) + ) end before do @@ -107,12 +111,16 @@ RSpec.describe MergeRequests::UpdateAssigneesService, feature_category: :code_re .with(merge_request, [user3], execute_hooks: true) end - other_mr = create(:merge_request, :simple, :unique_branches, - title: merge_request.title, - description: merge_request.description, - assignee_ids: merge_request.assignee_ids, - source_project: merge_request.project, - author: merge_request.author) + other_mr = create( + :merge_request, + :simple, + :unique_branches, + title: merge_request.title, + description: merge_request.description, + assignee_ids: merge_request.assignee_ids, + source_project: merge_request.project, + author: merge_request.author + ) update_service = ::MergeRequests::UpdateService.new(project: project, current_user: user, params: opts) diff --git a/spec/services/merge_requests/update_reviewers_service_spec.rb b/spec/services/merge_requests/update_reviewers_service_spec.rb index ed2d448b523..1ae20e8c29c 100644 --- a/spec/services/merge_requests/update_reviewers_service_spec.rb +++ b/spec/services/merge_requests/update_reviewers_service_spec.rb @@ -12,13 +12,17 @@ RSpec.describe MergeRequests::UpdateReviewersService, feature_category: :code_re let_it_be(:user3) { create(:user) } let_it_be_with_reload(:merge_request) do - create(:merge_request, :simple, :unique_branches, - title: 'Old title', - description: "FYI #{user2.to_reference}", - reviewer_ids: [user3.id], - source_project: project, - target_project: project, - author: create(:user)) + create( + :merge_request, + :simple, + :unique_branches, + title: 'Old title', + description: "FYI #{user2.to_reference}", + reviewer_ids: [user3.id], + source_project: project, + target_project: project, + author: create(:user) + ) end before do diff --git a/spec/services/merge_requests/update_service_spec.rb b/spec/services/merge_requests/update_service_spec.rb index 000c85fd1f8..012eb5f6fca 100644 --- a/spec/services/merge_requests/update_service_spec.rb +++ b/spec/services/merge_requests/update_service_spec.rb @@ -15,11 +15,15 @@ RSpec.describe MergeRequests::UpdateService, :mailer, feature_category: :code_re let(:milestone) { create(:milestone, project: project) } let(:merge_request) do - create(:merge_request, :simple, title: 'Old title', - description: "FYI #{user2.to_reference}", - assignee_ids: [user3.id], - source_project: project, - author: create(:user)) + create( + :merge_request, + :simple, + title: 'Old title', + description: "FYI #{user2.to_reference}", + assignee_ids: [user3.id], + source_project: project, + author: create(:user) + ) end before do @@ -1187,10 +1191,12 @@ RSpec.describe MergeRequests::UpdateService, :mailer, feature_category: :code_re let(:source_project) { fork_project(target_project, nil, repository: true) } let(:user) { create(:user) } let(:merge_request) do - create(:merge_request, - source_project: source_project, - source_branch: 'fixes', - target_project: target_project) + create( + :merge_request, + source_project: source_project, + source_branch: 'fixes', + target_project: target_project + ) end before do @@ -1222,10 +1228,12 @@ RSpec.describe MergeRequests::UpdateService, :mailer, feature_category: :code_re let(:source_project) { fork_project(target_project, nil, repository: true) } let(:user) { target_project.first_owner } let(:merge_request) do - create(:merge_request, - source_project: source_project, - source_branch: 'fixes', - target_project: target_project) + create( + :merge_request, + source_project: source_project, + source_branch: 'fixes', + target_project: target_project + ) end it "cannot be done by members of the target project when they don't have access" do @@ -1243,10 +1251,12 @@ RSpec.describe MergeRequests::UpdateService, :mailer, feature_category: :code_re context 'updating `target_branch`' do let(:merge_request) do - create(:merge_request, - source_project: project, - source_branch: 'mr-b', - target_branch: 'mr-a') + create( + :merge_request, + source_project: project, + source_branch: 'mr-b', + target_branch: 'mr-a' + ) end it 'updates to master' do diff --git a/spec/services/projects/git_deduplication_service_spec.rb b/spec/services/projects/git_deduplication_service_spec.rb index 314c9d160dd..2b9f0974ae2 100644 --- a/spec/services/projects/git_deduplication_service_spec.rb +++ b/spec/services/projects/git_deduplication_service_spec.rb @@ -139,7 +139,7 @@ RSpec.describe Projects::GitDeduplicationService, feature_category: :source_code end it 'fails when a lease is already out' do - expect(service).to receive(:log_error).with("Cannot obtain an exclusive lease for #{lease_key}. There must be another instance already in execution.") + expect(Gitlab::AppJsonLogger).to receive(:error).with({ message: "Cannot obtain an exclusive lease. There must be another instance already in execution.", lease_key: lease_key, class_name: described_class.name, lease_timeout: lease_timeout }) service.execute end -- cgit v1.2.1