summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-04-20 21:09:48 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2023-04-20 21:09:48 +0000
commit7fbb996fde20a9905177e253491f858870cd5882 (patch)
tree159c692eb50b7eb273fd4013217ceb5fab3296a4 /spec
parent4faa270685797bd689d2035efe7c7e724950eb82 (diff)
downloadgitlab-ce-7fbb996fde20a9905177e253491f858870cd5882.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec')
-rw-r--r--spec/frontend/super_sidebar/components/super_sidebar_spec.js28
-rw-r--r--spec/lib/gitlab/ci/secure_files/cer_spec.rb2
-rw-r--r--spec/lib/gitlab/ci/secure_files/mobile_provision_spec.rb2
-rw-r--r--spec/models/ci/secure_file_spec.rb2
-rw-r--r--spec/services/concerns/exclusive_lease_guard_spec.rb46
-rw-r--r--spec/services/merge_requests/add_todo_when_build_fails_service_spec.rb22
-rw-r--r--spec/services/merge_requests/assign_issues_service_spec.rb14
-rw-r--r--spec/services/merge_requests/conflicts/resolve_service_spec.rb19
-rw-r--r--spec/services/merge_requests/create_service_spec.rb17
-rw-r--r--spec/services/merge_requests/ff_merge_service_spec.rb12
-rw-r--r--spec/services/merge_requests/merge_orchestration_service_spec.rb7
-rw-r--r--spec/services/merge_requests/merge_service_spec.rb120
-rw-r--r--spec/services/merge_requests/merge_to_ref_service_spec.rb26
-rw-r--r--spec/services/merge_requests/mergeability/detailed_merge_status_service_spec.rb11
-rw-r--r--spec/services/merge_requests/mergeability_check_service_spec.rb20
-rw-r--r--spec/services/merge_requests/rebase_service_spec.rb28
-rw-r--r--spec/services/merge_requests/refresh_service_spec.rb230
-rw-r--r--spec/services/merge_requests/reload_diffs_service_spec.rb9
-rw-r--r--spec/services/merge_requests/squash_service_spec.rb24
-rw-r--r--spec/services/merge_requests/update_assignees_service_spec.rb34
-rw-r--r--spec/services/merge_requests/update_reviewers_service_spec.rb18
-rw-r--r--spec/services/merge_requests/update_service_spec.rb44
-rw-r--r--spec/services/projects/git_deduplication_service_spec.rb2
-rw-r--r--spec/support/helpers/usage_data_helpers.rb4
-rw-r--r--spec/support/shared_examples/db/seeds/awesome_co_shared_examples.rb111
-rw-r--r--spec/workers/deployments/drop_older_deployments_worker_spec.rb18
26 files changed, 590 insertions, 280 deletions
diff --git a/spec/frontend/super_sidebar/components/super_sidebar_spec.js b/spec/frontend/super_sidebar/components/super_sidebar_spec.js
index 85f2a63943d..cd2f3c89ed9 100644
--- a/spec/frontend/super_sidebar/components/super_sidebar_spec.js
+++ b/spec/frontend/super_sidebar/components/super_sidebar_spec.js
@@ -1,5 +1,6 @@
import { nextTick } from 'vue';
import { GlCollapse } from '@gitlab/ui';
+import Mousetrap from 'mousetrap';
import { shallowMountExtended } from 'helpers/vue_test_utils_helper';
import SuperSidebar from '~/super_sidebar/components/super_sidebar.vue';
import HelpCenter from '~/super_sidebar/components/help_center.vue';
@@ -10,9 +11,14 @@ import {
SUPER_SIDEBAR_PEEK_OPEN_DELAY,
SUPER_SIDEBAR_PEEK_CLOSE_DELAY,
} from '~/super_sidebar/constants';
+import {
+ toggleSuperSidebarCollapsed,
+ isCollapsed,
+} from '~/super_sidebar/super_sidebar_collapsed_state_manager';
import { stubComponent } from 'helpers/stub_component';
import { sidebarData } from '../mock_data';
+jest.mock('~/super_sidebar/super_sidebar_collapsed_state_manager');
const focusInputMock = jest.fn();
describe('SuperSidebar component', () => {
@@ -85,6 +91,28 @@ describe('SuperSidebar component', () => {
expect(link.attributes('href')).toBe(linkAttrs.href);
expect(link.attributes('class')).toContain('gl-display-none');
});
+
+ it('sets up the sidebar toggle shortcut', () => {
+ createWrapper();
+
+ isCollapsed.mockReturnValue(false);
+ Mousetrap.trigger('mod+\\');
+
+ expect(toggleSuperSidebarCollapsed).toHaveBeenCalledTimes(1);
+ expect(toggleSuperSidebarCollapsed).toHaveBeenCalledWith(true, true);
+
+ isCollapsed.mockReturnValue(true);
+ Mousetrap.trigger('mod+\\');
+
+ expect(toggleSuperSidebarCollapsed).toHaveBeenCalledTimes(2);
+ expect(toggleSuperSidebarCollapsed).toHaveBeenCalledWith(false, true);
+
+ jest.spyOn(Mousetrap, 'unbind');
+
+ wrapper.destroy();
+
+ expect(Mousetrap.unbind).toHaveBeenCalledWith(['mod+\\']);
+ });
});
describe('when peeking on hover', () => {
diff --git a/spec/lib/gitlab/ci/secure_files/cer_spec.rb b/spec/lib/gitlab/ci/secure_files/cer_spec.rb
index 6b9cd0e3bfc..1393e8d2efd 100644
--- a/spec/lib/gitlab/ci/secure_files/cer_spec.rb
+++ b/spec/lib/gitlab/ci/secure_files/cer_spec.rb
@@ -9,7 +9,7 @@ RSpec.describe Gitlab::Ci::SecureFiles::Cer do
describe '#certificate_data' do
it 'assigns the error message and returns nil' do
expect(invalid_certificate.certificate_data).to be nil
- expect(invalid_certificate.error).to eq('not enough data')
+ expect(invalid_certificate.error).to eq('PEM_read_bio_X509: no start line')
end
end
diff --git a/spec/lib/gitlab/ci/secure_files/mobile_provision_spec.rb b/spec/lib/gitlab/ci/secure_files/mobile_provision_spec.rb
index fb382174c64..1812b90df8b 100644
--- a/spec/lib/gitlab/ci/secure_files/mobile_provision_spec.rb
+++ b/spec/lib/gitlab/ci/secure_files/mobile_provision_spec.rb
@@ -10,7 +10,7 @@ RSpec.describe Gitlab::Ci::SecureFiles::MobileProvision do
describe '#decoded_plist' do
it 'assigns the error message and returns nil' do
expect(invalid_profile.decoded_plist).to be nil
- expect(invalid_profile.error).to eq('Could not parse the PKCS7: not enough data')
+ expect(invalid_profile.error).to eq('Could not parse the PKCS7: no start line')
end
end
diff --git a/spec/models/ci/secure_file_spec.rb b/spec/models/ci/secure_file_spec.rb
index e526e90e250..478af41266d 100644
--- a/spec/models/ci/secure_file_spec.rb
+++ b/spec/models/ci/secure_file_spec.rb
@@ -194,7 +194,7 @@ RSpec.describe Ci::SecureFile do
it 'logs an error when something goes wrong with the file parsing' do
corrupt_file = create(:ci_secure_file, name: 'file1.cer', file: CarrierWaveStringFile.new('11111111'))
- message = 'Validation failed: Metadata must be a valid json schema - not enough data.'
+ message = 'Validation failed: Metadata must be a valid json schema - PEM_read_bio_X509: no start line.'
expect(Gitlab::AppLogger).to receive(:error).with("Secure File Parser Failure (#{corrupt_file.id}): #{message}")
corrupt_file.update_metadata!
end
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
diff --git a/spec/support/helpers/usage_data_helpers.rb b/spec/support/helpers/usage_data_helpers.rb
index 9abfc39e31f..beee663fbc6 100644
--- a/spec/support/helpers/usage_data_helpers.rb
+++ b/spec/support/helpers/usage_data_helpers.rb
@@ -120,14 +120,14 @@ module UsageDataHelpers
end
def stub_prometheus_queries
- stub_request(:get, %r{^https?://::1:9090/-/ready})
+ stub_request(:get, %r{^https?://.*:9090/-/ready})
.to_return(
status: 200,
body: [{}].to_json,
headers: { 'Content-Type' => 'application/json' }
)
- stub_request(:get, %r{^https?://::1:9090/api/v1/query\?query=.*})
+ stub_request(:get, %r{^https?://.*:9090/api/v1/query\?query=.*})
.to_return(
status: 200,
body: [{}].to_json,
diff --git a/spec/support/shared_examples/db/seeds/awesome_co_shared_examples.rb b/spec/support/shared_examples/db/seeds/awesome_co_shared_examples.rb
new file mode 100644
index 00000000000..ae0fe19f6b9
--- /dev/null
+++ b/spec/support/shared_examples/db/seeds/awesome_co_shared_examples.rb
@@ -0,0 +1,111 @@
+# frozen_string_literal: true
+
+RSpec.shared_examples 'raises an error when specifying an invalid factory' do
+ it 'raises an error' do
+ expect { parser.parse }.to raise_error(RuntimeError, /invalids.*to a valid registered Factory/)
+ end
+end
+
+RSpec.shared_examples 'specifying invalid traits to a factory' do
+ it 'raises an error', :aggregate_failures do
+ expect { parser.parse }.to raise_error do |error|
+ expect(error).to be_a(RuntimeError)
+ expect(error.message).to include('Trait not registered: \\"invalid\\"')
+ expect(error.message).to include('for Factory \\"issue\\"')
+ end
+ end
+end
+
+RSpec.shared_examples 'specifying invalid attributes to a factory' do
+ it 'raises an error' do
+ expect { parser.parse }.to raise_error(RuntimeError, /is not a valid attribute/)
+ end
+
+ it 'contains possible alternatives' do
+ expect { parser.parse }.to raise_error(RuntimeError, /Did you mean/)
+ end
+end
+
+RSpec.shared_examples 'an id already exists' do
+ it 'raises a validation error' do
+ expect { parser.parse }.to raise_error(/id `my_label` must be unique/)
+ end
+end
+
+RSpec.shared_examples 'name is not specified' do
+ it 'raises an error when name is not specified' do
+ expect { parser.parse }.to raise_error(/Seed file must specify a name/)
+ end
+end
+
+RSpec.shared_examples 'factory definitions' do
+ it 'has exactly two definitions' do
+ parser.parse
+
+ expect(parser.definitions.size).to eq(2)
+ end
+
+ it 'creates the group label' do
+ expect { parser.parse }.to change { GroupLabel.count }.by(1)
+ end
+
+ it 'creates the project' do
+ expect { parser.parse }.to change { Project.count }.by(1)
+ end
+end
+
+RSpec.shared_examples 'passes traits' do
+ it 'passes traits' do
+ expect_next_instance_of(AwesomeCo::FactoryDefinitions::FactoryDefinition) do |instance|
+ # `described` trait will automaticaly generate a description
+ expect(instance.build(binding).description).to eq('Description of Test Label')
+ end
+
+ parser.parse
+ end
+end
+
+RSpec.shared_examples 'has a name' do
+ it 'has a name' do
+ parser.parse
+
+ expect(parser.name).to eq('Test')
+ end
+end
+
+RSpec.shared_examples 'definition has an id' do
+ it 'binds the object', :aggregate_failures do
+ parser.parse
+
+ expect(group_labels).to be_a(OpenStruct) # rubocop:disable Style/OpenStructUse
+ expect(group_labels.my_label).to be_a(GroupLabel)
+ expect(group_labels.my_label.title).to eq('My Label')
+ end
+end
+
+RSpec.shared_examples 'id has spaces' do
+ it 'binds to an underscored variable', :aggregate_failures do
+ parser.parse
+
+ expect(group_labels).to respond_to(:id_with_spaces)
+ expect(group_labels.id_with_spaces.title).to eq('With Spaces')
+ end
+
+ it 'renders a warning' do
+ expect { parser.parse }.to output(%(parsing id "id with spaces" as "id_with_spaces"\n)).to_stderr
+ end
+end
+
+RSpec.shared_examples 'definition does not have an id' do
+ it 'does not bind the object' do
+ parser.parse
+
+ expect(group_labels.to_h).to be_empty
+ end
+end
+
+RSpec.shared_examples 'invalid id' do |message|
+ it 'raises an error' do
+ expect { parser.parse }.to raise_error(message)
+ end
+end
diff --git a/spec/workers/deployments/drop_older_deployments_worker_spec.rb b/spec/workers/deployments/drop_older_deployments_worker_spec.rb
deleted file mode 100644
index 8637a7788cc..00000000000
--- a/spec/workers/deployments/drop_older_deployments_worker_spec.rb
+++ /dev/null
@@ -1,18 +0,0 @@
-# frozen_string_literal: true
-
-require 'spec_helper'
-
-RSpec.describe Deployments::DropOlderDeploymentsWorker, feature_category: :continuous_delivery do
- subject { described_class.new.perform(deployment&.id) }
-
- describe '#perform' do
- let(:deployment) { create(:deployment, :success) }
-
- it 'executes Deployments::OlderDeploymentsDropService' do
- expect(Deployments::OlderDeploymentsDropService)
- .to receive(:new).with(deployment.id).and_call_original
-
- subject
- end
- end
-end