diff options
Diffstat (limited to 'spec/lib')
75 files changed, 129 insertions, 24 deletions
diff --git a/spec/lib/api/helpers/related_resources_helpers_spec.rb b/spec/lib/api/helpers/related_resources_helpers_spec.rb index fb26cc417e8..eeeb22abd10 100644 --- a/spec/lib/api/helpers/related_resources_helpers_spec.rb +++ b/spec/lib/api/helpers/related_resources_helpers_spec.rb @@ -43,6 +43,7 @@ describe API::Helpers::RelatedResourcesHelpers do describe '#expose_url' do let(:path) { '/api/v4/awesome_endpoint' } + subject(:url) { helpers.expose_url(path) } def stub_default_url_options(protocol: 'http', host: 'example.com', port: nil, script_name: '') diff --git a/spec/lib/backup/repository_spec.rb b/spec/lib/backup/repository_spec.rb index 82ae535e100..32e718d4b3b 100644 --- a/spec/lib/backup/repository_spec.rb +++ b/spec/lib/backup/repository_spec.rb @@ -5,6 +5,7 @@ require 'spec_helper' describe Backup::Repository do let(:progress) { StringIO.new } let!(:project) { create(:project, :wiki_repo) } + subject { described_class.new(progress) } before do diff --git a/spec/lib/backup/uploads_spec.rb b/spec/lib/backup/uploads_spec.rb index 55b69f29812..1f49baeff69 100644 --- a/spec/lib/backup/uploads_spec.rb +++ b/spec/lib/backup/uploads_spec.rb @@ -4,6 +4,7 @@ require 'spec_helper' describe Backup::Uploads do let(:progress) { StringIO.new } + subject(:backup) { described_class.new(progress) } describe '#initialize' do diff --git a/spec/lib/banzai/filter/relative_link_filter_spec.rb b/spec/lib/banzai/filter/relative_link_filter_spec.rb index 371c7a2347c..a17a645d4d0 100644 --- a/spec/lib/banzai/filter/relative_link_filter_spec.rb +++ b/spec/lib/banzai/filter/relative_link_filter_spec.rb @@ -96,21 +96,25 @@ describe Banzai::Filter::RelativeLinkFilter do context 'with a project_wiki' do let(:project_wiki) { double('ProjectWiki') } + include_examples :preserve_unchanged end context 'without a repository' do let(:project) { create(:project) } + include_examples :preserve_unchanged end context 'with an empty repository' do let(:project) { create(:project_empty_repo) } + include_examples :preserve_unchanged end context 'without project repository access' do let(:project) { create(:project, :repository, repository_access_level: ProjectFeature::PRIVATE) } + include_examples :preserve_unchanged end @@ -269,6 +273,7 @@ describe Banzai::Filter::RelativeLinkFilter do context 'when requested path is a file in the repo' do let(:requested_path) { 'doc/api/README.md' } + it 'rebuilds URL relative to the containing directory' do doc = filter(link('users.md')) expect(doc.at_css('a')['href']).to eq "/#{project_path}/blob/#{Addressable::URI.escape(ref)}/doc/api/users.md" @@ -277,6 +282,7 @@ describe Banzai::Filter::RelativeLinkFilter do context 'when requested path is a directory in the repo' do let(:requested_path) { 'doc/api/' } + it 'rebuilds URL relative to the directory' do doc = filter(link('users.md')) expect(doc.at_css('a')['href']).to eq "/#{project_path}/blob/#{Addressable::URI.escape(ref)}/doc/api/users.md" @@ -287,6 +293,7 @@ describe Banzai::Filter::RelativeLinkFilter do let(:ref) { '100%branch' } let(:commit) { project.commit('1b12f15a11fc6e62177bef08f47bc7b5ce50b141') } let(:requested_path) { 'foo/bar/' } + it 'correctly escapes the ref' do doc = filter(link('.gitkeep')) expect(doc.at_css('a')['href']).to eq "/#{project_path}/blob/#{Addressable::URI.escape(ref)}/foo/bar/.gitkeep" @@ -316,6 +323,7 @@ describe Banzai::Filter::RelativeLinkFilter do let(:ref) { 'master' } let(:commit) { project.commit('38008cb17ce1466d8fec2dfa6f6ab8dcfe5cf49e') } let(:requested_path) { 'with space/' } + it 'does not escape the space twice' do doc = filter(link('README.md')) expect(doc.at_css('a')['href']).to eq "/#{project_path}/blob/#{Addressable::URI.escape(ref)}/with%20space/README.md" @@ -328,7 +336,9 @@ describe Banzai::Filter::RelativeLinkFilter do end context 'with a valid ref' do - let(:commit) { nil } # force filter to use ref instead of commit + # force filter to use ref instead of commit + let(:commit) { nil } + include_examples :valid_repository end diff --git a/spec/lib/banzai/reference_parser/issue_parser_spec.rb b/spec/lib/banzai/reference_parser/issue_parser_spec.rb index a925d294b1b..ac321aca5e9 100644 --- a/spec/lib/banzai/reference_parser/issue_parser_spec.rb +++ b/spec/lib/banzai/reference_parser/issue_parser_spec.rb @@ -9,6 +9,7 @@ describe Banzai::ReferenceParser::IssueParser do let(:user) { create(:user) } let(:issue) { create(:issue, project: project) } let(:link) { empty_html_link } + subject { described_class.new(Banzai::RenderContext.new(project, user)) } describe '#nodes_visible_to_user' do diff --git a/spec/lib/banzai/reference_parser/snippet_parser_spec.rb b/spec/lib/banzai/reference_parser/snippet_parser_spec.rb index 05dc1cb4d2d..6581ed0d7c3 100644 --- a/spec/lib/banzai/reference_parser/snippet_parser_spec.rb +++ b/spec/lib/banzai/reference_parser/snippet_parser_spec.rb @@ -200,6 +200,7 @@ describe Banzai::ReferenceParser::SnippetParser do describe '#referenced_by' do let(:snippet) { create(:snippet, project: project) } + describe 'when the link has a data-snippet attribute' do context 'using an existing snippet ID' do it 'returns an Array of snippets' do diff --git a/spec/lib/banzai/reference_redactor_spec.rb b/spec/lib/banzai/reference_redactor_spec.rb index 9e1a389d2db..0dec6395fb3 100644 --- a/spec/lib/banzai/reference_redactor_spec.rb +++ b/spec/lib/banzai/reference_redactor_spec.rb @@ -36,6 +36,7 @@ describe Banzai::ReferenceRedactor do context 'when data-original attribute provided' do let(:original_content) { '<code>foo</code>' } + it 'replaces redacted reference with original content' do doc = Nokogiri::HTML.fragment("<a class='gfm' href='https://www.gitlab.com' data-reference-type='issue' data-original='#{original_content}'>bar</a>") redactor.redact([doc]) diff --git a/spec/lib/constraints/project_url_constrainer_spec.rb b/spec/lib/constraints/project_url_constrainer_spec.rb index ac3221ecab7..963e1d5b8e0 100644 --- a/spec/lib/constraints/project_url_constrainer_spec.rb +++ b/spec/lib/constraints/project_url_constrainer_spec.rb @@ -37,11 +37,13 @@ describe Constraints::ProjectUrlConstrainer do context 'and is a GET request' do let(:request) { build_request(namespace.full_path, old_project_path) } + it { expect(subject.matches?(request)).to be_truthy } end context 'and is NOT a GET request' do let(:request) { build_request(namespace.full_path, old_project_path, 'POST') } + it { expect(subject.matches?(request)).to be_falsey } end end diff --git a/spec/lib/constraints/user_url_constrainer_spec.rb b/spec/lib/constraints/user_url_constrainer_spec.rb index 15ef930420c..4f665def3bf 100644 --- a/spec/lib/constraints/user_url_constrainer_spec.rb +++ b/spec/lib/constraints/user_url_constrainer_spec.rb @@ -24,11 +24,13 @@ describe Constraints::UserUrlConstrainer do context 'and is a GET request' do let(:request) { build_request(redirect_route.path) } + it { expect(subject.matches?(request)).to be_truthy } end context 'and is NOT a GET request' do let(:request) { build_request(redirect_route.path, 'POST') } + it { expect(subject.matches?(request)).to be_falsey } end end diff --git a/spec/lib/gitlab/asciidoc_spec.rb b/spec/lib/gitlab/asciidoc_spec.rb index 415a6e62374..38ec04ebe81 100644 --- a/spec/lib/gitlab/asciidoc_spec.rb +++ b/spec/lib/gitlab/asciidoc_spec.rb @@ -451,6 +451,7 @@ module Gitlab context 'with path to a binary file' do let(:blob) { fake_blob(path: 'dk.png', binary: true) } + include_examples :invalid_include end @@ -500,6 +501,7 @@ module Gitlab context 'without a commit (only ref)' do let(:commit) { nil } + include_examples :valid_include end end @@ -511,6 +513,7 @@ module Gitlab context 'without a commit (only ref)' do let(:commit) { nil } + include_examples :valid_include end end diff --git a/spec/lib/gitlab/auth/o_auth/user_spec.rb b/spec/lib/gitlab/auth/o_auth/user_spec.rb index 3b490646b6e..c621c0aa935 100644 --- a/spec/lib/gitlab/auth/o_auth/user_spec.rb +++ b/spec/lib/gitlab/auth/o_auth/user_spec.rb @@ -253,6 +253,7 @@ describe Gitlab::Auth::OAuth::User do context "and LDAP user has an account already" do let!(:existing_user) { create(:omniauth_user, name: 'John Doe', email: 'john@example.com', extern_uid: dn, provider: 'ldapmain', username: 'john') } + it "adds the omniauth identity to the LDAP account" do allow(Gitlab::Auth::LDAP::Person).to receive(:find_by_uid).and_return(ldap_user) diff --git a/spec/lib/gitlab/auth_spec.rb b/spec/lib/gitlab/auth_spec.rb index 0a54a72abad..311cbd4dd7e 100644 --- a/spec/lib/gitlab/auth_spec.rb +++ b/spec/lib/gitlab/auth_spec.rb @@ -4,6 +4,7 @@ require 'spec_helper' describe Gitlab::Auth, :use_clean_rails_memory_store_caching do let(:gl_auth) { described_class } + set(:project) { create(:project) } describe 'constants' do diff --git a/spec/lib/gitlab/background_migration/backfill_project_fullpath_in_repo_config_spec.rb b/spec/lib/gitlab/background_migration/backfill_project_fullpath_in_repo_config_spec.rb index c66d7cd6148..5cad479ff05 100644 --- a/spec/lib/gitlab/background_migration/backfill_project_fullpath_in_repo_config_spec.rb +++ b/spec/lib/gitlab/background_migration/backfill_project_fullpath_in_repo_config_spec.rb @@ -10,6 +10,7 @@ describe Gitlab::BackgroundMigration::BackfillProjectFullpathInRepoConfig, :migr describe described_class::Storage::HashedProject do let(:project) { double(id: 555) } + subject(:project_storage) { described_class.new(project) } it 'has the correct disk_path' do @@ -19,6 +20,7 @@ describe Gitlab::BackgroundMigration::BackfillProjectFullpathInRepoConfig, :migr describe described_class::Storage::LegacyProject do let(:project) { double(full_path: 'this/is/the/full/path') } + subject(:project_storage) { described_class.new(project) } it 'has the correct disk_path' do @@ -28,6 +30,7 @@ describe Gitlab::BackgroundMigration::BackfillProjectFullpathInRepoConfig, :migr describe described_class::Project do let(:project_record) { projects.create!(namespace_id: subgroup.id, name: 'baz', path: 'baz') } + subject(:project) { described_class.find(project_record.id) } describe '#full_path' do diff --git a/spec/lib/gitlab/branch_push_merge_commit_analyzer_spec.rb b/spec/lib/gitlab/branch_push_merge_commit_analyzer_spec.rb index 1e969542975..a27f14cd621 100644 --- a/spec/lib/gitlab/branch_push_merge_commit_analyzer_spec.rb +++ b/spec/lib/gitlab/branch_push_merge_commit_analyzer_spec.rb @@ -49,6 +49,7 @@ describe Gitlab::BranchPushMergeCommitAnalyzer do context 'when relevant_commit_ids is provided' do let(:relevant_commit_id) { '8a994512e8c8f0dfcf22bb16df6e876be7a61036' } + subject { described_class.new(commits, relevant_commit_ids: [relevant_commit_id]) } it 'returns correct merge commit' do diff --git a/spec/lib/gitlab/ci/build/artifacts/metadata/entry_spec.rb b/spec/lib/gitlab/ci/build/artifacts/metadata/entry_spec.rb index 73c3cad88bc..243c6f06324 100644 --- a/spec/lib/gitlab/ci/build/artifacts/metadata/entry_spec.rb +++ b/spec/lib/gitlab/ci/build/artifacts/metadata/entry_spec.rb @@ -152,6 +152,7 @@ describe Gitlab::Ci::Build::Artifacts::Metadata::Entry do describe '#blob' do let(:file_entry) { |example| path(example) } + subject { file_entry.blob } it 'returns a blob representing the entry data' do diff --git a/spec/lib/gitlab/ci/status/build/factory_spec.rb b/spec/lib/gitlab/ci/status/build/factory_spec.rb index de489fa4664..11be17bfc53 100644 --- a/spec/lib/gitlab/ci/status/build/factory_spec.rb +++ b/spec/lib/gitlab/ci/status/build/factory_spec.rb @@ -31,10 +31,10 @@ describe Gitlab::Ci::Status::Build::Factory do end it 'fabricates status with correct details' do - expect(status.text).to eq 'passed' + expect(status.text).to eq s_('CiStatusText|passed') expect(status.icon).to eq 'status_success' expect(status.favicon).to eq 'favicon_status_success' - expect(status.label).to eq 'passed' + expect(status.label).to eq s_('CiStatusLabel|passed') expect(status).to have_details expect(status).to have_action end @@ -58,10 +58,10 @@ describe Gitlab::Ci::Status::Build::Factory do end it 'fabricates status with correct details' do - expect(status.text).to eq 'passed' + expect(status.text).to eq s_('CiStatusText|passed') expect(status.icon).to eq 'status_success' expect(status.favicon).to eq 'favicon_status_success' - expect(status.label).to eq 'passed' + expect(status.label).to eq s_('CiStatusLabel|passed') expect(status).to have_details expect(status).to have_action end @@ -86,11 +86,11 @@ describe Gitlab::Ci::Status::Build::Factory do end it 'fabricates status with correct details' do - expect(status.text).to eq 'failed' + expect(status.text).to eq s_('CiStatusText|failed') expect(status.icon).to eq 'status_failed' expect(status.favicon).to eq 'favicon_status_failed' - expect(status.label).to eq 'failed' - expect(status.status_tooltip).to eq 'failed - (unknown failure)' + expect(status.label).to eq s_('CiStatusLabel|failed') + expect(status.status_tooltip).to eq "#{s_('CiStatusText|failed')} - (unknown failure)" expect(status).to have_details expect(status).to have_action end @@ -115,7 +115,7 @@ describe Gitlab::Ci::Status::Build::Factory do end it 'fabricates status with correct details' do - expect(status.text).to eq 'failed' + expect(status.text).to eq s_('CiStatusText|failed') expect(status.icon).to eq 'status_warning' expect(status.favicon).to eq 'favicon_status_failed' expect(status.label).to eq 'failed (allowed to fail)' @@ -144,10 +144,10 @@ describe Gitlab::Ci::Status::Build::Factory do end it 'fabricates status with correct details' do - expect(status.text).to eq 'failed' + expect(status.text).to eq s_('CiStatusText|failed') expect(status.icon).to eq 'status_failed' expect(status.favicon).to eq 'favicon_status_failed' - expect(status.label).to eq 'failed' + expect(status.label).to eq s_('CiStatusLabel|failed') expect(status).to have_details expect(status).to have_action expect(status.action_title).to include 'Retry' @@ -173,11 +173,11 @@ describe Gitlab::Ci::Status::Build::Factory do end it 'fabricates status with correct details' do - expect(status.text).to eq 'canceled' + expect(status.text).to eq s_('CiStatusText|canceled') expect(status.icon).to eq 'status_canceled' expect(status.favicon).to eq 'favicon_status_canceled' expect(status.illustration).to include(:image, :size, :title) - expect(status.label).to eq 'canceled' + expect(status.label).to eq s_('CiStatusLabel|canceled') expect(status).to have_details expect(status).to have_action end @@ -200,10 +200,10 @@ describe Gitlab::Ci::Status::Build::Factory do end it 'fabricates status with correct details' do - expect(status.text).to eq 'running' + expect(status.text).to eq s_('CiStatus|running') expect(status.icon).to eq 'status_running' expect(status.favicon).to eq 'favicon_status_running' - expect(status.label).to eq 'running' + expect(status.label).to eq s_('CiStatus|running') expect(status).to have_details expect(status).to have_action end @@ -226,11 +226,11 @@ describe Gitlab::Ci::Status::Build::Factory do end it 'fabricates status with correct details' do - expect(status.text).to eq 'pending' + expect(status.text).to eq s_('CiStatusText|pending') expect(status.icon).to eq 'status_pending' expect(status.favicon).to eq 'favicon_status_pending' expect(status.illustration).to include(:image, :size, :title, :content) - expect(status.label).to eq 'pending' + expect(status.label).to eq s_('CiStatusLabel|pending') expect(status).to have_details expect(status).to have_action end @@ -252,11 +252,11 @@ describe Gitlab::Ci::Status::Build::Factory do end it 'fabricates status with correct details' do - expect(status.text).to eq 'skipped' + expect(status.text).to eq s_('CiStatusText|skipped') expect(status.icon).to eq 'status_skipped' expect(status.favicon).to eq 'favicon_status_skipped' expect(status.illustration).to include(:image, :size, :title) - expect(status.label).to eq 'skipped' + expect(status.label).to eq s_('CiStatusLabel|skipped') expect(status).to have_details expect(status).not_to have_action end @@ -282,7 +282,7 @@ describe Gitlab::Ci::Status::Build::Factory do end it 'fabricates status with correct details' do - expect(status.text).to eq 'manual' + expect(status.text).to eq s_('CiStatusText|manual') expect(status.group).to eq 'manual' expect(status.icon).to eq 'status_manual' expect(status.favicon).to eq 'favicon_status_manual' @@ -339,7 +339,7 @@ describe Gitlab::Ci::Status::Build::Factory do end it 'fabricates status with correct details' do - expect(status.text).to eq 'manual' + expect(status.text).to eq s_('CiStatusText|manual') expect(status.group).to eq 'manual' expect(status.icon).to eq 'status_manual' expect(status.favicon).to eq 'favicon_status_manual' @@ -370,7 +370,7 @@ describe Gitlab::Ci::Status::Build::Factory do end it 'fabricates status with correct details' do - expect(status.text).to eq 'delayed' + expect(status.text).to eq s_('CiStatusText|delayed') expect(status.group).to eq 'scheduled' expect(status.icon).to eq 'status_scheduled' expect(status.favicon).to eq 'favicon_status_scheduled' diff --git a/spec/lib/gitlab/ci/status/pipeline/blocked_spec.rb b/spec/lib/gitlab/ci/status/pipeline/blocked_spec.rb index 876ba712d05..664915ba552 100644 --- a/spec/lib/gitlab/ci/status/pipeline/blocked_spec.rb +++ b/spec/lib/gitlab/ci/status/pipeline/blocked_spec.rb @@ -23,6 +23,7 @@ describe Gitlab::Ci::Status::Pipeline::Blocked do describe '.matches?' do let(:user) { double('user') } + subject { described_class.matches?(pipeline, user) } context 'when pipeline is blocked' do diff --git a/spec/lib/gitlab/ci/status/pipeline/delayed_spec.rb b/spec/lib/gitlab/ci/status/pipeline/delayed_spec.rb index 90b797965b3..aba403de712 100644 --- a/spec/lib/gitlab/ci/status/pipeline/delayed_spec.rb +++ b/spec/lib/gitlab/ci/status/pipeline/delayed_spec.rb @@ -23,6 +23,7 @@ describe Gitlab::Ci::Status::Pipeline::Delayed do describe '.matches?' do let(:user) { double('user') } + subject { described_class.matches?(pipeline, user) } context 'when pipeline is scheduled' do diff --git a/spec/lib/gitlab/ci/trace/section_parser_spec.rb b/spec/lib/gitlab/ci/trace/section_parser_spec.rb index 5e2efe083be..6e8504a1584 100644 --- a/spec/lib/gitlab/ci/trace/section_parser_spec.rb +++ b/spec/lib/gitlab/ci/trace/section_parser_spec.rb @@ -21,6 +21,7 @@ describe Gitlab::Ci::Trace::SectionParser do end let(:lines) { build_lines('') } + subject { described_class.new(lines) } describe '#sections' do diff --git a/spec/lib/gitlab/ci/yaml_processor_spec.rb b/spec/lib/gitlab/ci/yaml_processor_spec.rb index fc57341b5bc..6083aac44f5 100644 --- a/spec/lib/gitlab/ci/yaml_processor_spec.rb +++ b/spec/lib/gitlab/ci/yaml_processor_spec.rb @@ -1723,6 +1723,7 @@ module Gitlab describe "Hidden jobs" do let(:config_processor) { Gitlab::Ci::YamlProcessor.new(config) } + subject { config_processor.stage_builds_attributes("test") } shared_examples 'hidden_job_handling' do @@ -1767,6 +1768,7 @@ module Gitlab describe "YAML Alias/Anchor" do let(:config_processor) { Gitlab::Ci::YamlProcessor.new(config) } + subject { config_processor.stage_builds_attributes("build") } shared_examples 'job_templates_handling' do diff --git a/spec/lib/gitlab/cleanup/orphan_job_artifact_files_spec.rb b/spec/lib/gitlab/cleanup/orphan_job_artifact_files_spec.rb index fc9792e16d7..75ef75fccc9 100644 --- a/spec/lib/gitlab/cleanup/orphan_job_artifact_files_spec.rb +++ b/spec/lib/gitlab/cleanup/orphan_job_artifact_files_spec.rb @@ -4,6 +4,7 @@ require 'spec_helper' describe Gitlab::Cleanup::OrphanJobArtifactFiles do let(:null_logger) { Logger.new('/dev/null') } + subject(:cleanup) { described_class.new(logger: null_logger) } before do diff --git a/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_base_spec.rb b/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_base_spec.rb index 612c418e8bb..7b8437e4874 100644 --- a/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_base_spec.rb +++ b/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_base_spec.rb @@ -83,6 +83,7 @@ describe Gitlab::Database::RenameReservedPathsMigration::V1::RenameBase, :delete describe '#rename_path_for_routable' do context 'for namespaces' do let(:namespace) { create(:namespace, path: 'the-path') } + it "renames namespaces called the-path" do subject.rename_path_for_routable(migration_namespace(namespace)) @@ -159,6 +160,7 @@ describe Gitlab::Database::RenameReservedPathsMigration::V1::RenameBase, :delete describe '#perform_rename' do describe 'for namespaces' do let(:namespace) { create(:namespace, path: 'the-path') } + it 'renames the path' do subject.perform_rename(migration_namespace(namespace), 'the-path', 'renamed') diff --git a/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_namespaces_spec.rb b/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_namespaces_spec.rb index 8c4d7e323fa..46fc48ab3fc 100644 --- a/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_namespaces_spec.rb +++ b/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_namespaces_spec.rb @@ -95,6 +95,7 @@ describe Gitlab::Database::RenameReservedPathsMigration::V1::RenameNamespaces, : describe '#move_repositories' do let(:namespace) { create(:group, name: 'hello-group') } + it 'moves a project for a namespace' do create(:project, :repository, :legacy_storage, namespace: namespace, path: 'hello-project') expected_path = File.join(TestEnv.repos_path, 'bye-group', 'hello-project.git') diff --git a/spec/lib/gitlab/diff/diff_refs_spec.rb b/spec/lib/gitlab/diff/diff_refs_spec.rb index e12b46c15ad..33a7cf5ae12 100644 --- a/spec/lib/gitlab/diff/diff_refs_spec.rb +++ b/spec/lib/gitlab/diff/diff_refs_spec.rb @@ -7,6 +7,7 @@ describe Gitlab::Diff::DiffRefs do describe '#==' do let(:commit) { project.commit('1a0b36b3cdad1d2ee32457c102a8c0b7056fa863') } + subject { commit.diff_refs } context 'when shas are missing' do @@ -63,6 +64,7 @@ describe Gitlab::Diff::DiffRefs do describe '#compare_in' do context 'with diff refs for the initial commit' do let(:commit) { project.commit('1a0b36b3cdad1d2ee32457c102a8c0b7056fa863') } + subject { commit.diff_refs } it 'returns an appropriate comparison' do @@ -74,6 +76,7 @@ describe Gitlab::Diff::DiffRefs do context 'with diff refs for a commit' do let(:commit) { project.commit('6f6d7e7ed97bb5f0054f2b1df789b39ca89b6ff9') } + subject { commit.diff_refs } it 'returns an appropriate comparison' do diff --git a/spec/lib/gitlab/diff/line_mapper_spec.rb b/spec/lib/gitlab/diff/line_mapper_spec.rb index 1739bcd14a8..6a86f885c3b 100644 --- a/spec/lib/gitlab/diff/line_mapper_spec.rb +++ b/spec/lib/gitlab/diff/line_mapper_spec.rb @@ -11,6 +11,7 @@ describe Gitlab::Diff::LineMapper do let(:diffs) { commit.raw_diffs } let(:diff) { diffs.first } let(:diff_file) { Gitlab::Diff::File.new(diff, diff_refs: commit.diff_refs, repository: repository) } + subject { described_class.new(diff_file) } describe '#old_to_new' do diff --git a/spec/lib/gitlab/diff/parallel_diff_spec.rb b/spec/lib/gitlab/diff/parallel_diff_spec.rb index 7540da71086..d275bf2c223 100644 --- a/spec/lib/gitlab/diff/parallel_diff_spec.rb +++ b/spec/lib/gitlab/diff/parallel_diff_spec.rb @@ -11,6 +11,7 @@ describe Gitlab::Diff::ParallelDiff do let(:diffs) { commit.raw_diffs } let(:diff) { diffs.first } let(:diff_file) { Gitlab::Diff::File.new(diff, diff_refs: commit.diff_refs, repository: repository) } + subject { described_class.new(diff_file) } describe '#parallelize' do diff --git a/spec/lib/gitlab/email/handler/create_merge_request_handler_spec.rb b/spec/lib/gitlab/email/handler/create_merge_request_handler_spec.rb index 50e425f2bc1..9f5413f9607 100644 --- a/spec/lib/gitlab/email/handler/create_merge_request_handler_spec.rb +++ b/spec/lib/gitlab/email/handler/create_merge_request_handler_spec.rb @@ -191,6 +191,7 @@ describe Gitlab::Email::Handler::CreateMergeRequestHandler do describe '#patch_attachments' do let(:email_raw) { email_fixture('emails/merge_request_multiple_patches.eml') } let(:mail) { Mail::Message.new(email_raw) } + subject(:handler) { described_class.new(mail, mail_key) } it 'orders attachments ending in `.patch` by name' do diff --git a/spec/lib/gitlab/external_authorization/client_spec.rb b/spec/lib/gitlab/external_authorization/client_spec.rb index a17d933e3bb..e28a155a47f 100644 --- a/spec/lib/gitlab/external_authorization/client_spec.rb +++ b/spec/lib/gitlab/external_authorization/client_spec.rb @@ -5,6 +5,7 @@ require 'spec_helper' describe Gitlab::ExternalAuthorization::Client do let(:user) { build(:user, email: 'dummy_user@example.com') } let(:dummy_url) { 'https://dummy.net/' } + subject(:client) { described_class.new(user, 'dummy_label') } before do diff --git a/spec/lib/gitlab/external_authorization/response_spec.rb b/spec/lib/gitlab/external_authorization/response_spec.rb index e1f6e9ac1fa..5ce3325ef77 100644 --- a/spec/lib/gitlab/external_authorization/response_spec.rb +++ b/spec/lib/gitlab/external_authorization/response_spec.rb @@ -4,6 +4,7 @@ require 'spec_helper' describe Gitlab::ExternalAuthorization::Response do let(:excon_response) { double } + subject(:response) { described_class.new(excon_response) } describe '#valid?' do diff --git a/spec/lib/gitlab/file_finder_spec.rb b/spec/lib/gitlab/file_finder_spec.rb index 7ea9d43c9f7..6cc5141a6fe 100644 --- a/spec/lib/gitlab/file_finder_spec.rb +++ b/spec/lib/gitlab/file_finder_spec.rb @@ -5,6 +5,7 @@ require 'spec_helper' describe Gitlab::FileFinder do describe '#find' do let(:project) { create(:project, :public, :repository) } + subject { described_class.new(project, project.default_branch) } it_behaves_like 'file finder' do diff --git a/spec/lib/gitlab/gfm/reference_rewriter_spec.rb b/spec/lib/gitlab/gfm/reference_rewriter_spec.rb index 026fd1fedde..d16f34af325 100644 --- a/spec/lib/gitlab/gfm/reference_rewriter_spec.rb +++ b/spec/lib/gitlab/gfm/reference_rewriter_spec.rb @@ -54,11 +54,13 @@ describe Gitlab::Gfm::ReferenceRewriter do context 'code' do let(:text) { "#1, but not `[#1]`" } + it { is_expected.to eq "#{issue_first.to_reference(new_project)}, but not `[#1]`" } end context 'code reverse' do let(:text) { "not `#1`, but #1" } + it { is_expected.to eq "not `#1`, but #{issue_first.to_reference(new_project)}" } end @@ -74,11 +76,13 @@ describe Gitlab::Gfm::ReferenceRewriter do context 'label referenced by id' do let(:text) { '#1 and ~123' } + it { is_expected.to eq %Q{#{old_project_ref}#1 and #{old_project_ref}~123} } end context 'label referenced by text' do let(:text) { '#1 and ~"test"' } + it { is_expected.to eq %Q{#{old_project_ref}#1 and #{old_project_ref}~123} } end end @@ -93,11 +97,13 @@ describe Gitlab::Gfm::ReferenceRewriter do context 'label referenced by id' do let(:text) { '#1 and ~321' } + it { is_expected.to eq %Q{#{old_project_ref}#1 and #{old_project_ref}~321} } end context 'label referenced by text' do let(:text) { '#1 and ~"group label"' } + it { is_expected.to eq %Q{#{old_project_ref}#1 and #{old_project_ref}~321} } end end diff --git a/spec/lib/gitlab/git/commit_spec.rb b/spec/lib/gitlab/git/commit_spec.rb index 63f443e19d2..7ec655eb113 100644 --- a/spec/lib/gitlab/git/commit_spec.rb +++ b/spec/lib/gitlab/git/commit_spec.rb @@ -542,6 +542,7 @@ describe Gitlab::Git::Commit, :seed_helper do skip 'move this test to gitaly-ruby' do describe '#init_from_rugged' do let(:gitlab_commit) { described_class.new(repository, rugged_commit) } + subject { gitlab_commit } describe '#id' do @@ -553,6 +554,7 @@ describe Gitlab::Git::Commit, :seed_helper do describe '#init_from_hash' do let(:commit) { described_class.new(repository, sample_commit_hash) } + subject { commit } describe '#id' do @@ -608,6 +610,7 @@ describe Gitlab::Git::Commit, :seed_helper do describe '#to_hash' do let(:hash) { commit.to_hash } + subject { hash } it { is_expected.to be_kind_of Hash } @@ -629,6 +632,7 @@ describe Gitlab::Git::Commit, :seed_helper do describe '#ref_names' do let(:commit) { described_class.find(repository, 'master') } + subject { commit.ref_names(repository) } it 'has 2 element' do diff --git a/spec/lib/gitlab/git/diff_spec.rb b/spec/lib/gitlab/git/diff_spec.rb index 456d6af7bd8..ac606da5cc1 100644 --- a/spec/lib/gitlab/git/diff_spec.rb +++ b/spec/lib/gitlab/git/diff_spec.rb @@ -149,6 +149,7 @@ EOT describe '.between' do let(:diffs) { described_class.between(repository, 'feature', 'master') } + subject { diffs } it { is_expected.to be_kind_of Gitlab::Git::DiffCollection } diff --git a/spec/lib/gitlab/git/hook_env_spec.rb b/spec/lib/gitlab/git/hook_env_spec.rb index ca6a4ad42a3..22b016cee3e 100644 --- a/spec/lib/gitlab/git/hook_env_spec.rb +++ b/spec/lib/gitlab/git/hook_env_spec.rb @@ -57,6 +57,7 @@ describe Gitlab::Git::HookEnv do using RSpec::Parameterized::TableSyntax let(:key) { 'GIT_OBJECT_DIRECTORY_RELATIVE' } + subject { described_class.to_env_hash(gl_repository) } where(:input, :output) do diff --git a/spec/lib/gitlab/git/merge_base_spec.rb b/spec/lib/gitlab/git/merge_base_spec.rb index dbb4e3d0b3e..fa95a1664ea 100644 --- a/spec/lib/gitlab/git/merge_base_spec.rb +++ b/spec/lib/gitlab/git/merge_base_spec.rb @@ -5,6 +5,7 @@ require 'spec_helper' describe Gitlab::Git::MergeBase do set(:project) { create(:project, :repository) } let(:repository) { project.repository } + subject(:merge_base) { described_class.new(repository, refs) } shared_context 'existing refs with a merge base', :existing_refs do diff --git a/spec/lib/gitlab/git/remote_repository_spec.rb b/spec/lib/gitlab/git/remote_repository_spec.rb index 556cc692231..b53eee293f0 100644 --- a/spec/lib/gitlab/git/remote_repository_spec.rb +++ b/spec/lib/gitlab/git/remote_repository_spec.rb @@ -4,6 +4,7 @@ require 'spec_helper' describe Gitlab::Git::RemoteRepository, :seed_helper do let(:repository) { Gitlab::Git::Repository.new('default', TEST_REPO_PATH, '', 'group/project') } + subject { described_class.new(repository) } describe '#empty?' do diff --git a/spec/lib/gitlab/git/repository_spec.rb b/spec/lib/gitlab/git/repository_spec.rb index 20a74af7a45..6854d514dcc 100644 --- a/spec/lib/gitlab/git/repository_spec.rb +++ b/spec/lib/gitlab/git/repository_spec.rb @@ -212,6 +212,7 @@ describe Gitlab::Git::Repository, :seed_helper do describe '#ref_names' do let(:ref_names) { repository.ref_names } + subject { ref_names } it { is_expected.to be_kind_of Array } diff --git a/spec/lib/gitlab/git/user_spec.rb b/spec/lib/gitlab/git/user_spec.rb index 277b1c48355..6761413320a 100644 --- a/spec/lib/gitlab/git/user_spec.rb +++ b/spec/lib/gitlab/git/user_spec.rb @@ -26,6 +26,7 @@ describe Gitlab::Git::User do describe '.from_gitlab' do context 'when no commit_email has been set' do let(:user) { build(:user, email: 'alice@example.com', commit_email: nil) } + subject { described_class.from_gitlab(user) } it { expect(subject).to eq(described_class.new(user.username, user.name, user.email, 'user-')) } @@ -33,6 +34,7 @@ describe Gitlab::Git::User do context 'when commit_email has been set' do let(:user) { build(:user, email: 'alice@example.com', commit_email: 'bob@example.com') } + subject { described_class.from_gitlab(user) } it { expect(subject).to eq(described_class.new(user.username, user.name, user.commit_email, 'user-')) } diff --git a/spec/lib/gitlab/gitaly_client/commit_service_spec.rb b/spec/lib/gitlab/gitaly_client/commit_service_spec.rb index 1abdabe17bb..820578dfc6e 100644 --- a/spec/lib/gitlab/gitaly_client/commit_service_spec.rb +++ b/spec/lib/gitlab/gitaly_client/commit_service_spec.rb @@ -188,6 +188,7 @@ describe Gitlab::GitalyClient::CommitService do describe '#find_commit' do let(:revision) { Gitlab::Git::EMPTY_TREE_ID } + it 'sends an RPC request' do request = Gitaly::FindCommitRequest.new( repository: repository_message, revision: revision diff --git a/spec/lib/gitlab/gitaly_client/ref_service_spec.rb b/spec/lib/gitlab/gitaly_client/ref_service_spec.rb index 2b4fe2ea5c0..d4a7f6e6df9 100644 --- a/spec/lib/gitlab/gitaly_client/ref_service_spec.rb +++ b/spec/lib/gitlab/gitaly_client/ref_service_spec.rb @@ -22,6 +22,7 @@ describe Gitlab::GitalyClient::RefService do describe '#remote_branches' do let(:remote_name) { 'my_remote' } + subject { client.remote_branches(remote_name) } it 'sends a find_all_remote_branches message' do diff --git a/spec/lib/gitlab/google_code_import/client_spec.rb b/spec/lib/gitlab/google_code_import/client_spec.rb index bd63cabecd6..2e929a62ebc 100644 --- a/spec/lib/gitlab/google_code_import/client_spec.rb +++ b/spec/lib/gitlab/google_code_import/client_spec.rb @@ -4,6 +4,7 @@ require "spec_helper" describe Gitlab::GoogleCodeImport::Client do let(:raw_data) { JSON.parse(fixture_file("GoogleCodeProjectHosting.json")) } + subject { described_class.new(raw_data) } describe "#valid?" do diff --git a/spec/lib/gitlab/graphql/authorize/authorize_field_service_spec.rb b/spec/lib/gitlab/graphql/authorize/authorize_field_service_spec.rb index aada9285b31..98659dbed57 100644 --- a/spec/lib/gitlab/graphql/authorize/authorize_field_service_spec.rb +++ b/spec/lib/gitlab/graphql/authorize/authorize_field_service_spec.rb @@ -25,6 +25,7 @@ describe Gitlab::Graphql::Authorize::AuthorizeFieldService do end let(:current_user) { double(:current_user) } + subject(:service) { described_class.new(field) } describe '#authorized_resolve' do @@ -34,6 +35,7 @@ describe Gitlab::Graphql::Authorize::AuthorizeFieldService do let(:schema) { GraphQL::Schema.define(query: query_type, mutation: nil)} let(:query_context) { OpenStruct.new(schema: schema) } let(:context) { GraphQL::Query::Context.new(query: OpenStruct.new(schema: schema, context: query_context), values: { current_user: current_user }, object: nil) } + subject(:resolved) { service.authorized_resolve.call(presented_type, {}, context) } context 'scalar types' do diff --git a/spec/lib/gitlab/graphql/authorize/authorize_resource_spec.rb b/spec/lib/gitlab/graphql/authorize/authorize_resource_spec.rb index 8f02b979598..67cb064b966 100644 --- a/spec/lib/gitlab/graphql/authorize/authorize_resource_spec.rb +++ b/spec/lib/gitlab/graphql/authorize/authorize_resource_spec.rb @@ -27,6 +27,7 @@ describe Gitlab::Graphql::Authorize::AuthorizeResource do let(:user) { build(:user) } let(:project) { build(:project) } + subject(:loading_resource) { fake_class.new(user, project) } context 'when the user is allowed to perform the action' do diff --git a/spec/lib/gitlab/graphql/connections/filterable_array_connection_spec.rb b/spec/lib/gitlab/graphql/connections/filterable_array_connection_spec.rb index 1fda84f777e..20e87daa0d6 100644 --- a/spec/lib/gitlab/graphql/connections/filterable_array_connection_spec.rb +++ b/spec/lib/gitlab/graphql/connections/filterable_array_connection_spec.rb @@ -6,6 +6,7 @@ describe Gitlab::Graphql::Connections::FilterableArrayConnection do let(:callback) { proc { |nodes| nodes } } let(:all_nodes) { Gitlab::Graphql::FilterableArray.new(callback, 1, 2, 3, 4, 5) } let(:arguments) { {} } + subject(:connection) do described_class.new(all_nodes, arguments, max_page_size: 3) end diff --git a/spec/lib/gitlab/graphql/connections/keyset/connection_spec.rb b/spec/lib/gitlab/graphql/connections/keyset/connection_spec.rb index 36955019863..bd0fcbbdeb2 100644 --- a/spec/lib/gitlab/graphql/connections/keyset/connection_spec.rb +++ b/spec/lib/gitlab/graphql/connections/keyset/connection_spec.rb @@ -5,6 +5,7 @@ require 'spec_helper' describe Gitlab::Graphql::Connections::Keyset::Connection do let(:nodes) { Project.all.order(id: :asc) } let(:arguments) { {} } + subject(:connection) do described_class.new(nodes, arguments, max_page_size: 3) end diff --git a/spec/lib/gitlab/hook_data/base_builder_spec.rb b/spec/lib/gitlab/hook_data/base_builder_spec.rb index ce8610a2108..4c3fd854c09 100644 --- a/spec/lib/gitlab/hook_data/base_builder_spec.rb +++ b/spec/lib/gitlab/hook_data/base_builder_spec.rb @@ -15,6 +15,7 @@ describe Gitlab::HookData::BaseBuilder do context 'with an upload prefix specified' do let(:project_with_path) { double(full_path: 'baz/bar') } let(:object_with_project) { double(project: project_with_path) } + subject { subclass.new(object_with_project) } where do diff --git a/spec/lib/gitlab/i18n/translation_entry_spec.rb b/spec/lib/gitlab/i18n/translation_entry_spec.rb index 3f0b922cc51..880da38052e 100644 --- a/spec/lib/gitlab/i18n/translation_entry_spec.rb +++ b/spec/lib/gitlab/i18n/translation_entry_spec.rb @@ -136,6 +136,7 @@ describe Gitlab::I18n::TranslationEntry do describe '#contains_unescaped_chars' do let(:data) { { msgid: '' } } let(:entry) { described_class.new(data, 2) } + it 'is true when the msgid is an array' do string = '「100%確定」' diff --git a/spec/lib/gitlab/import_export/lfs_restorer_spec.rb b/spec/lib/gitlab/import_export/lfs_restorer_spec.rb index 75d6da48f33..a932dc3ee4e 100644 --- a/spec/lib/gitlab/import_export/lfs_restorer_spec.rb +++ b/spec/lib/gitlab/import_export/lfs_restorer_spec.rb @@ -9,6 +9,7 @@ describe Gitlab::ImportExport::LfsRestorer do let(:project) { create(:project) } let(:shared) { project.import_export_shared } let(:saver) { Gitlab::ImportExport::LfsSaver.new(project: project, shared: shared) } + subject(:restorer) { described_class.new(project: project, shared: shared) } before do diff --git a/spec/lib/gitlab/import_export/saver_spec.rb b/spec/lib/gitlab/import_export/saver_spec.rb index 279d99dc820..450ae2a2083 100644 --- a/spec/lib/gitlab/import_export/saver_spec.rb +++ b/spec/lib/gitlab/import_export/saver_spec.rb @@ -7,6 +7,7 @@ describe Gitlab::ImportExport::Saver do let!(:project) { create(:project, :public, name: 'project') } let(:export_path) { "#{Dir.tmpdir}/project_tree_saver_spec" } let(:shared) { project.import_export_shared } + subject { described_class.new(exportable: project, shared: shared) } before do diff --git a/spec/lib/gitlab/import_export/shared_spec.rb b/spec/lib/gitlab/import_export/shared_spec.rb index 2b94610a074..8d522252e2d 100644 --- a/spec/lib/gitlab/import_export/shared_spec.rb +++ b/spec/lib/gitlab/import_export/shared_spec.rb @@ -5,6 +5,7 @@ require 'fileutils' describe Gitlab::ImportExport::Shared do let(:project) { build(:project) } + subject { project.import_export_shared } context 'with a repository on disk' do diff --git a/spec/lib/gitlab/json_cache_spec.rb b/spec/lib/gitlab/json_cache_spec.rb index 3bb67600ec9..9d986abb8dd 100644 --- a/spec/lib/gitlab/json_cache_spec.rb +++ b/spec/lib/gitlab/json_cache_spec.rb @@ -7,6 +7,7 @@ describe Gitlab::JsonCache do let(:namespace) { 'geo' } let(:key) { 'foo' } let(:expanded_key) { "#{namespace}:#{key}:#{Gitlab::VERSION}:#{Rails.version}" } + set(:broadcast_message) { create(:broadcast_message) } subject(:cache) { described_class.new(namespace: namespace, backend: backend) } diff --git a/spec/lib/gitlab/kubernetes/config_map_spec.rb b/spec/lib/gitlab/kubernetes/config_map_spec.rb index 64f97379926..0203772e069 100644 --- a/spec/lib/gitlab/kubernetes/config_map_spec.rb +++ b/spec/lib/gitlab/kubernetes/config_map_spec.rb @@ -18,6 +18,7 @@ describe Gitlab::Kubernetes::ConfigMap do describe '#generate' do let(:resource) { ::Kubeclient::Resource.new(metadata: metadata, data: application.files) } + subject { config_map.generate } it 'builds a Kubeclient Resource' do diff --git a/spec/lib/gitlab/kubernetes/namespace_spec.rb b/spec/lib/gitlab/kubernetes/namespace_spec.rb index 6dbb34c2930..16634cc48e6 100644 --- a/spec/lib/gitlab/kubernetes/namespace_spec.rb +++ b/spec/lib/gitlab/kubernetes/namespace_spec.rb @@ -5,6 +5,7 @@ require 'spec_helper' describe Gitlab::Kubernetes::Namespace do let(:name) { 'a_namespace' } let(:client) { double('kubernetes client') } + subject { described_class.new(name, client) } it { expect(subject.name).to eq(name) } diff --git a/spec/lib/gitlab/kubernetes_spec.rb b/spec/lib/gitlab/kubernetes_spec.rb index 31bfd20449d..40c3e7d0b3c 100644 --- a/spec/lib/gitlab/kubernetes_spec.rb +++ b/spec/lib/gitlab/kubernetes_spec.rb @@ -27,6 +27,7 @@ describe Gitlab::Kubernetes do context 'with a path prefix in the API URL' do let(:api_url) { 'https://example.com/prefix/' } + it { expect(result.path).to eq('/prefix/api/v1/namespaces/default/pods/pod1/exec') } end diff --git a/spec/lib/gitlab/legacy_github_import/importer_spec.rb b/spec/lib/gitlab/legacy_github_import/importer_spec.rb index b54f30947aa..c6ee0a3c094 100644 --- a/spec/lib/gitlab/legacy_github_import/importer_spec.rb +++ b/spec/lib/gitlab/legacy_github_import/importer_spec.rb @@ -265,6 +265,7 @@ describe Gitlab::LegacyGithubImport::Importer do context 'when importing a GitHub project' do let(:api_root) { 'https://api.github.com' } let(:repo_root) { 'https://github.com' } + subject { described_class.new(project) } it_behaves_like 'Gitlab::LegacyGithubImport::Importer#execute' @@ -287,6 +288,7 @@ describe Gitlab::LegacyGithubImport::Importer do context 'when importing a Gitea project' do let(:api_root) { 'https://try.gitea.io/api/v1' } let(:repo_root) { 'https://try.gitea.io' } + subject { described_class.new(project) } before do diff --git a/spec/lib/gitlab/legacy_github_import/milestone_formatter_spec.rb b/spec/lib/gitlab/legacy_github_import/milestone_formatter_spec.rb index 9fa72b3cd90..f5d71888ac9 100644 --- a/spec/lib/gitlab/legacy_github_import/milestone_formatter_spec.rb +++ b/spec/lib/gitlab/legacy_github_import/milestone_formatter_spec.rb @@ -89,6 +89,7 @@ describe Gitlab::LegacyGithubImport::MilestoneFormatter do context 'when importing a Gitea project' do let(:iid_attr) { :id } + before do project.update(import_type: 'gitea') end diff --git a/spec/lib/gitlab/lets_encrypt/client_spec.rb b/spec/lib/gitlab/lets_encrypt/client_spec.rb index cbb862cb0c9..e86de04b5cf 100644 --- a/spec/lib/gitlab/lets_encrypt/client_spec.rb +++ b/spec/lib/gitlab/lets_encrypt/client_spec.rb @@ -86,6 +86,7 @@ describe ::Gitlab::LetsEncrypt::Client do describe '#load_order' do let(:url) { 'https://example.com/order' } + subject { client.load_order(url) } before do @@ -102,6 +103,7 @@ describe ::Gitlab::LetsEncrypt::Client do describe '#load_challenge' do let(:url) { 'https://example.com/challenge' } + subject { client.load_challenge(url) } before do diff --git a/spec/lib/gitlab/markdown_cache/active_record/extension_spec.rb b/spec/lib/gitlab/markdown_cache/active_record/extension_spec.rb index 6d89d22bd0e..5b6c769d6eb 100644 --- a/spec/lib/gitlab/markdown_cache/active_record/extension_spec.rb +++ b/spec/lib/gitlab/markdown_cache/active_record/extension_spec.rb @@ -126,6 +126,7 @@ describe Gitlab::MarkdownCache::ActiveRecord::Extension do describe '#cached_html_up_to_date?' do let(:thing) { klass.create(title: updated_markdown, title_html: html, cached_markdown_version: nil) } + subject { thing.cached_html_up_to_date?(:title) } it 'returns false if markdown has been changed but html has not' do diff --git a/spec/lib/gitlab/metrics/requests_rack_middleware_spec.rb b/spec/lib/gitlab/metrics/requests_rack_middleware_spec.rb index 335670278c4..1fc6fdcf622 100644 --- a/spec/lib/gitlab/metrics/requests_rack_middleware_spec.rb +++ b/spec/lib/gitlab/metrics/requests_rack_middleware_spec.rb @@ -4,6 +4,7 @@ require 'spec_helper' describe Gitlab::Metrics::RequestsRackMiddleware do let(:app) { double('app') } + subject { described_class.new(app) } describe '#call' do diff --git a/spec/lib/gitlab/metrics/samplers/unicorn_sampler_spec.rb b/spec/lib/gitlab/metrics/samplers/unicorn_sampler_spec.rb index cdfd95e3885..a64aae73d43 100644 --- a/spec/lib/gitlab/metrics/samplers/unicorn_sampler_spec.rb +++ b/spec/lib/gitlab/metrics/samplers/unicorn_sampler_spec.rb @@ -52,6 +52,7 @@ describe Gitlab::Metrics::Samplers::UnicornSampler do context 'unicorn listens on tcp sockets' do let(:tcp_socket_address) { '0.0.0.0:8080' } let(:tcp_sockets) { [tcp_socket_address] } + before do allow(unicorn).to receive(:listener_names).and_return(tcp_sockets) end diff --git a/spec/lib/gitlab/pagination/keyset_spec.rb b/spec/lib/gitlab/pagination/keyset_spec.rb index 755c422c46a..5c2576d7b45 100644 --- a/spec/lib/gitlab/pagination/keyset_spec.rb +++ b/spec/lib/gitlab/pagination/keyset_spec.rb @@ -49,6 +49,7 @@ describe Gitlab::Pagination::Keyset do context 'with other order-by columns' do let(:order_by) { { created_at: :desc, id: :desc } } + it 'returns false for Project' do expect(subject.available?(request_context, Project.all)).to be_falsey end diff --git a/spec/lib/gitlab/phabricator_import/cache/map_spec.rb b/spec/lib/gitlab/phabricator_import/cache/map_spec.rb index b6629fad453..14a5d40d445 100644 --- a/spec/lib/gitlab/phabricator_import/cache/map_spec.rb +++ b/spec/lib/gitlab/phabricator_import/cache/map_spec.rb @@ -5,6 +5,7 @@ require 'spec_helper' describe Gitlab::PhabricatorImport::Cache::Map, :clean_gitlab_redis_cache do set(:project) { create(:project) } let(:redis) { Gitlab::Redis::Cache } + subject(:map) { described_class.new(project) } describe '#get_gitlab_model' do diff --git a/spec/lib/gitlab/phabricator_import/importer_spec.rb b/spec/lib/gitlab/phabricator_import/importer_spec.rb index 99a6e4dad6b..2715b785379 100644 --- a/spec/lib/gitlab/phabricator_import/importer_spec.rb +++ b/spec/lib/gitlab/phabricator_import/importer_spec.rb @@ -11,6 +11,7 @@ describe Gitlab::PhabricatorImport::Importer do describe '#execute' do let(:project) { create(:project, :import_scheduled) } + subject(:importer) { described_class.new(project) } it 'sets a custom jid that will be kept up to date' do diff --git a/spec/lib/gitlab/phabricator_import/project_creator_spec.rb b/spec/lib/gitlab/phabricator_import/project_creator_spec.rb index fd17284eea2..0b6a71290ed 100644 --- a/spec/lib/gitlab/phabricator_import/project_creator_spec.rb +++ b/spec/lib/gitlab/phabricator_import/project_creator_spec.rb @@ -8,6 +8,7 @@ describe Gitlab::PhabricatorImport::ProjectCreator do phabricator_server_url: 'http://phab.example.com', api_token: 'the-token' } end + subject(:creator) { described_class.new(user, params) } describe '#execute' do diff --git a/spec/lib/gitlab/phabricator_import/user_finder_spec.rb b/spec/lib/gitlab/phabricator_import/user_finder_spec.rb index 918ff28c8f5..14a00deeb16 100644 --- a/spec/lib/gitlab/phabricator_import/user_finder_spec.rb +++ b/spec/lib/gitlab/phabricator_import/user_finder_spec.rb @@ -4,6 +4,7 @@ require 'spec_helper' describe Gitlab::PhabricatorImport::UserFinder, :clean_gitlab_redis_cache do let(:project) { create(:project, namespace: create(:group)) } + subject(:finder) { described_class.new(project, ['first-phid', 'second-phid']) } before do diff --git a/spec/lib/gitlab/project_search_results_spec.rb b/spec/lib/gitlab/project_search_results_spec.rb index 99078f19361..6f4844d4543 100644 --- a/spec/lib/gitlab/project_search_results_spec.rb +++ b/spec/lib/gitlab/project_search_results_spec.rb @@ -53,6 +53,7 @@ describe Gitlab::ProjectSearchResults do context "when #{entity_type} is disabled" do let(:project) { disabled_project } + it "hides #{blob_kind} from members" do project.add_reporter(user) diff --git a/spec/lib/gitlab/prometheus/queries/deployment_query_spec.rb b/spec/lib/gitlab/prometheus/queries/deployment_query_spec.rb index 0ad2de218fe..d82b7665f85 100644 --- a/spec/lib/gitlab/prometheus/queries/deployment_query_spec.rb +++ b/spec/lib/gitlab/prometheus/queries/deployment_query_spec.rb @@ -5,8 +5,8 @@ require 'spec_helper' describe Gitlab::Prometheus::Queries::DeploymentQuery do let(:environment) { create(:environment, slug: 'environment-slug') } let(:deployment) { create(:deployment, environment: environment) } - let(:client) { double('prometheus_client') } + subject { described_class.new(client) } around do |example| diff --git a/spec/lib/gitlab/prometheus/queries/knative_invocation_query_spec.rb b/spec/lib/gitlab/prometheus/queries/knative_invocation_query_spec.rb index 6361893c53c..0936d895453 100644 --- a/spec/lib/gitlab/prometheus/queries/knative_invocation_query_spec.rb +++ b/spec/lib/gitlab/prometheus/queries/knative_invocation_query_spec.rb @@ -7,8 +7,8 @@ describe Gitlab::Prometheus::Queries::KnativeInvocationQuery do let(:project) { create(:project) } let(:serverless_func) { Serverless::Function.new(project, 'test-name', 'test-ns') } - let(:client) { double('prometheus_client') } + subject { described_class.new(client) } context 'verify queries' do diff --git a/spec/lib/gitlab/prometheus_client_spec.rb b/spec/lib/gitlab/prometheus_client_spec.rb index 86a1c14ed3f..4f9315e28e9 100644 --- a/spec/lib/gitlab/prometheus_client_spec.rb +++ b/spec/lib/gitlab/prometheus_client_spec.rb @@ -327,6 +327,7 @@ describe Gitlab::PrometheusClient do context "without response code" do let(:response_error) { Gitlab::HTTP::ResponseError } + it 'raises PrometheusClient::Error' do expect { subject.proxy('query', { query: prometheus_query }) }.to( raise_error(Gitlab::PrometheusClient::Error, 'Network connection error') diff --git a/spec/lib/gitlab/quick_actions/substitution_definition_spec.rb b/spec/lib/gitlab/quick_actions/substitution_definition_spec.rb index e4f25bc35a9..d0bb032f776 100644 --- a/spec/lib/gitlab/quick_actions/substitution_definition_spec.rb +++ b/spec/lib/gitlab/quick_actions/substitution_definition_spec.rb @@ -9,6 +9,7 @@ Hello! Let's do this! /sub_name I like this stuff EOF end + subject do described_class.new(:sub_name, action_block: proc { |text| "#{text} foo" }) end diff --git a/spec/lib/gitlab/slash_commands/command_spec.rb b/spec/lib/gitlab/slash_commands/command_spec.rb index 5a8c721a634..73b93589fac 100644 --- a/spec/lib/gitlab/slash_commands/command_spec.rb +++ b/spec/lib/gitlab/slash_commands/command_spec.rb @@ -113,11 +113,13 @@ describe Gitlab::SlashCommands::Command do context 'IssueMove is triggered' do let(:params) { { text: 'issue move #78291 to gitlab/gitlab-ci' } } + it { is_expected.to eq(Gitlab::SlashCommands::IssueMove) } end context 'IssueComment is triggered' do let(:params) { { text: "issue comment #503\ncomment body" } } + it { is_expected.to eq(Gitlab::SlashCommands::IssueComment) } end end diff --git a/spec/lib/gitlab/slash_commands/issue_search_spec.rb b/spec/lib/gitlab/slash_commands/issue_search_spec.rb index b766a9a1361..a142c8e4c92 100644 --- a/spec/lib/gitlab/slash_commands/issue_search_spec.rb +++ b/spec/lib/gitlab/slash_commands/issue_search_spec.rb @@ -42,6 +42,7 @@ describe Gitlab::SlashCommands::IssueSearch do describe 'self.match' do let(:query) { "my search keywords" } + it 'matches the query' do match = described_class.match("issue search #{query}") diff --git a/spec/lib/gitlab/slash_commands/presenters/issue_comment_spec.rb b/spec/lib/gitlab/slash_commands/presenters/issue_comment_spec.rb index b5ef417cb93..3741563a744 100644 --- a/spec/lib/gitlab/slash_commands/presenters/issue_comment_spec.rb +++ b/spec/lib/gitlab/slash_commands/presenters/issue_comment_spec.rb @@ -10,6 +10,7 @@ describe Gitlab::SlashCommands::Presenters::IssueComment do describe '#present' do let(:attachment) { subject[:attachments].first } + subject { described_class.new(note).present } it { is_expected.to be_a(Hash) } diff --git a/spec/lib/gitlab/workhorse_spec.rb b/spec/lib/gitlab/workhorse_spec.rb index 88bc5034da5..89381057f6b 100644 --- a/spec/lib/gitlab/workhorse_spec.rb +++ b/spec/lib/gitlab/workhorse_spec.rb @@ -116,6 +116,7 @@ describe Gitlab::Workhorse do describe '.send_git_patch' do let(:diff_refs) { double(base_sha: "base", head_sha: "head") } + subject { described_class.send_git_patch(repository, diff_refs) } it 'sets the header correctly' do @@ -178,6 +179,7 @@ describe Gitlab::Workhorse do describe '.send_git_diff' do let(:diff_refs) { double(base_sha: "base", head_sha: "head") } + subject { described_class.send_git_diff(repository, diff_refs) } it 'sets the header correctly' do diff --git a/spec/lib/json_web_token/rsa_token_spec.rb b/spec/lib/json_web_token/rsa_token_spec.rb index a127c787e28..62fddbb97c7 100644 --- a/spec/lib/json_web_token/rsa_token_spec.rb +++ b/spec/lib/json_web_token/rsa_token_spec.rb @@ -41,6 +41,7 @@ describe JSONWebToken::RSAToken do context 'for invalid key to raise an exception' do let(:new_key) { OpenSSL::PKey::RSA.generate(512) } + subject { JWT.decode(rsa_encoded, new_key, true, { algorithm: 'RS256' }) } it { expect {subject}.to raise_error(JWT::DecodeError) } |