diff --git a/.rubocop_todo/layout/argument_alignment.yml b/.rubocop_todo/layout/argument_alignment.yml index 8c8fcb52e22f11a24a20a9060ec097380f04adac..a8035ac1af5daa0fd149e5f4eaf91158b8364980 100644 --- a/.rubocop_todo/layout/argument_alignment.yml +++ b/.rubocop_todo/layout/argument_alignment.yml @@ -1120,7 +1120,6 @@ Layout/ArgumentAlignment: - 'ee/spec/lib/ee/gitlab/scim/provisioning_service_spec.rb' - 'ee/spec/lib/ee/gitlab/usage/service_ping_report_spec.rb' - 'ee/spec/lib/ee/gitlab/usage_data_spec.rb' - - 'ee/spec/lib/elastic/latest/project_wiki_class_proxy_spec.rb' - 'ee/spec/lib/gitlab/analytics/cycle_analytics/data_collector_spec.rb' - 'ee/spec/lib/gitlab/analytics/cycle_analytics/distinct_stage_loader_spec.rb' - 'ee/spec/lib/gitlab/analytics/cycle_analytics/summary/stage_time_summary_spec.rb' diff --git a/.rubocop_todo/rspec/missing_feature_category.yml b/.rubocop_todo/rspec/missing_feature_category.yml index 4d635a3071c7d8f83d37511b822c25970d74dac9..e3829a97b02007b139d853e6a945174cda0eae58 100644 --- a/.rubocop_todo/rspec/missing_feature_category.yml +++ b/.rubocop_todo/rspec/missing_feature_category.yml @@ -723,8 +723,6 @@ RSpec/MissingFeatureCategory: - 'ee/spec/lib/elastic/latest/issue_config_spec.rb' - 'ee/spec/lib/elastic/latest/merge_request_config_spec.rb' - 'ee/spec/lib/elastic/latest/note_config_spec.rb' - - 'ee/spec/lib/elastic/latest/project_wiki_class_proxy_spec.rb' - - 'ee/spec/lib/elastic/latest/project_wiki_instance_proxy_spec.rb' - 'ee/spec/lib/elastic/latest/routing_spec.rb' - 'ee/spec/lib/elastic/latest/snippet_instance_proxy_spec.rb' - 'ee/spec/lib/elastic/latest/user_config_spec.rb' diff --git a/.rubocop_todo/search/namespaced_class.yml b/.rubocop_todo/search/namespaced_class.yml index ba2dbafb3c7cf0ca9267648e8bab46f2e81f54d9..71067dd4e1cdf278734b59523aeb41f919b48088 100644 --- a/.rubocop_todo/search/namespaced_class.yml +++ b/.rubocop_todo/search/namespaced_class.yml @@ -108,8 +108,6 @@ Search/NamespacedClass: - 'ee/lib/elastic/latest/note_instance_proxy.rb' - 'ee/lib/elastic/latest/project_class_proxy.rb' - 'ee/lib/elastic/latest/project_instance_proxy.rb' - - 'ee/lib/elastic/latest/project_wiki_class_proxy.rb' - - 'ee/lib/elastic/latest/project_wiki_instance_proxy.rb' - 'ee/lib/elastic/latest/query_context.rb' - 'ee/lib/elastic/latest/repository_class_proxy.rb' - 'ee/lib/elastic/latest/repository_instance_proxy.rb' @@ -142,8 +140,6 @@ Search/NamespacedClass: - 'ee/lib/elastic/v12p1/note_instance_proxy.rb' - 'ee/lib/elastic/v12p1/project_class_proxy.rb' - 'ee/lib/elastic/v12p1/project_instance_proxy.rb' - - 'ee/lib/elastic/v12p1/project_wiki_class_proxy.rb' - - 'ee/lib/elastic/v12p1/project_wiki_instance_proxy.rb' - 'ee/lib/elastic/v12p1/repository_class_proxy.rb' - 'ee/lib/elastic/v12p1/repository_instance_proxy.rb' - 'ee/lib/elastic/v12p1/routing.rb' diff --git a/ee/config/feature_flags/development/simplify_logic_to_find_search_proxy_class.yml b/ee/config/feature_flags/development/simplify_logic_to_find_search_proxy_class.yml deleted file mode 100644 index 1a2f53dcff1bdeeb47ed65cef7e04d4109d543c6..0000000000000000000000000000000000000000 --- a/ee/config/feature_flags/development/simplify_logic_to_find_search_proxy_class.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: simplify_logic_to_find_search_proxy_class -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/121928 -rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/413420 -milestone: '16.1' -type: development -group: group::global search -default_enabled: false diff --git a/ee/lib/elastic/latest/project_wiki_class_proxy.rb b/ee/lib/elastic/latest/project_wiki_class_proxy.rb deleted file mode 100644 index 350e5d7c068c639ab477addc1758b21d2f3188c8..0000000000000000000000000000000000000000 --- a/ee/lib/elastic/latest/project_wiki_class_proxy.rb +++ /dev/null @@ -1,19 +0,0 @@ -# frozen_string_literal: true - -module Elastic - module Latest - class ProjectWikiClassProxy < ApplicationClassProxy - include GitClassProxy - - def es_type - 'wiki_blob' - end - - def elastic_search_as_wiki_page(*args) - elastic_search_as_found_blob(*args).map! do |blob| - Gitlab::Search::FoundWikiPage.new(blob) - end - end - end - end -end diff --git a/ee/lib/elastic/latest/project_wiki_instance_proxy.rb b/ee/lib/elastic/latest/project_wiki_instance_proxy.rb deleted file mode 100644 index 271c330272578cc875a0e11ff7d30741fddd1bb9..0000000000000000000000000000000000000000 --- a/ee/lib/elastic/latest/project_wiki_instance_proxy.rb +++ /dev/null @@ -1,29 +0,0 @@ -# frozen_string_literal: true - -module Elastic - module Latest - class ProjectWikiInstanceProxy < ApplicationInstanceProxy - include GitInstanceProxy - - delegate :project, to: :target - delegate :id, to: :project, prefix: true - - # @return [Kaminari::PaginatableArray] - def elastic_search_as_wiki_page(query, page: 1, per: 20, options: {}) - options = repository_specific_options(options) - - self.class.elastic_search_as_wiki_page(query, page: page, per: per, options: options) - end - - private - - def repository_id - if ::Elastic::DataMigrationService.migration_has_finished?(:add_suffix_project_in_wiki_rid) - "wiki_project_#{project.id}" - else - "wiki_#{project.id}" - end - end - end - end -end diff --git a/ee/lib/elastic/multi_version_util.rb b/ee/lib/elastic/multi_version_util.rb index 170b0705d8f0910dee256e02c3ec0a08ff6dca4b..b27923513e777b46da2f1d0d41c54f9b00c7bcb0 100644 --- a/ee/lib/elastic/multi_version_util.rb +++ b/ee/lib/elastic/multi_version_util.rb @@ -34,9 +34,7 @@ def elastic_writing_targets private def get_data_class(klass) - return (klass.try(:base_class) || klass) if Feature.enabled?(:simplify_logic_to_find_search_proxy_class) - - klass < ActiveRecord::Base ? klass.base_class : klass + klass.try(:base_class) || klass end # Handles which method calls should be forwarded to all targets, diff --git a/ee/lib/elastic/v12p1/project_wiki_class_proxy.rb b/ee/lib/elastic/v12p1/project_wiki_class_proxy.rb deleted file mode 100644 index 5f401784a5bd58b2e725581c00925b0eb1a69b88..0000000000000000000000000000000000000000 --- a/ee/lib/elastic/v12p1/project_wiki_class_proxy.rb +++ /dev/null @@ -1,10 +0,0 @@ -# rubocop:disable Naming/FileName -# frozen_string_literal: true - -module Elastic - module V12p1 - ProjectWikiClassProxy = Elastic::Latest::ProjectWikiClassProxy - end -end - -# rubocop:enable Naming/FileName diff --git a/ee/lib/elastic/v12p1/project_wiki_instance_proxy.rb b/ee/lib/elastic/v12p1/project_wiki_instance_proxy.rb deleted file mode 100644 index c0931ee029e859263f4b90b500f70bf0f0d5b3dc..0000000000000000000000000000000000000000 --- a/ee/lib/elastic/v12p1/project_wiki_instance_proxy.rb +++ /dev/null @@ -1,10 +0,0 @@ -# rubocop:disable Naming/FileName -# frozen_string_literal: true - -module Elastic - module V12p1 - ProjectWikiInstanceProxy = Elastic::Latest::ProjectWikiInstanceProxy - end -end - -# rubocop:enable Naming/FileName diff --git a/ee/spec/lib/elastic/latest/project_wiki_class_proxy_spec.rb b/ee/spec/lib/elastic/latest/project_wiki_class_proxy_spec.rb deleted file mode 100644 index 9020788fb9d89fa5887b192a2d7ae890071c7821..0000000000000000000000000000000000000000 --- a/ee/spec/lib/elastic/latest/project_wiki_class_proxy_spec.rb +++ /dev/null @@ -1,40 +0,0 @@ -# frozen_string_literal: true - -require 'spec_helper' - -RSpec.describe Elastic::Latest::ProjectWikiClassProxy, :elastic, feature_category: :global_search do - let(:project) { create(:project, :wiki_repo) } - - subject { described_class.new(project.wiki.class, use_separate_indices: ProjectWiki.use_separate_indices?) } - - describe '#elastic_search_as_wiki_page' do - let!(:page) { create(:wiki_page, wiki: project.wiki) } - - before do - stub_ee_application_setting(elasticsearch_search: true, elasticsearch_indexing: true) - - Gitlab::Elastic::Indexer.new(project, wiki: true).run - ensure_elasticsearch_index! - end - - it 'returns FoundWikiPage', :sidekiq_inline do - results = subject.elastic_search_as_wiki_page('*') - - expect(results.size).to eq(1) - expect(results).to all(be_a(Gitlab::Search::FoundWikiPage)) - - result = results.first - - expect(result.path).to eq(page.path) - expect(result.startline).to eq(1) - expect(result.data).to include(page.content) - expect(result.project).to eq(project) - end - end - - it 'names elasticsearch queries' do - subject.elastic_search_as_wiki_page('*') - - assert_named_queries('doc:is_a:wiki_blob', 'blob:match:search_terms') - end -end diff --git a/ee/spec/lib/elastic/latest/project_wiki_instance_proxy_spec.rb b/ee/spec/lib/elastic/latest/project_wiki_instance_proxy_spec.rb deleted file mode 100644 index 701c60beb3d54c8dc7cc48d54dad01f78d982909..0000000000000000000000000000000000000000 --- a/ee/spec/lib/elastic/latest/project_wiki_instance_proxy_spec.rb +++ /dev/null @@ -1,36 +0,0 @@ -# frozen_string_literal: true - -require 'spec_helper' - -RSpec.describe Elastic::Latest::ProjectWikiInstanceProxy, feature_category: :global_search do - let_it_be(:project) { create(:project, :wiki_repo) } - - subject { described_class.new(project.wiki, use_separate_indices: true) } - - describe '#elastic_search_as_wiki_page' do - let(:params) do - { - page: 2, - per: 30, - options: { foo: :bar } - } - end - - it 'provides repository_id if not provided' do - expected_params = params.deep_dup - expected_params[:options][:repository_id] = "wiki_#{project.id}" - - expect(subject.class).to receive(:elastic_search_as_wiki_page).with('foo', expected_params) - - subject.elastic_search_as_wiki_page('foo', **params) - end - - it 'uses provided repository_id' do - params[:options][:repository_id] = "wiki_63" - - expect(subject.class).to receive(:elastic_search_as_wiki_page).with('foo', params) - - subject.elastic_search_as_wiki_page('foo', **params) - end - end -end diff --git a/ee/spec/lib/elastic/multi_version_class_proxy_spec.rb b/ee/spec/lib/elastic/multi_version_class_proxy_spec.rb index a609f1732f487f874bd70142b7ea96c09b3c32a3..be066f602dea4b4374e697cfc94d3a1534810f30 100644 --- a/ee/spec/lib/elastic/multi_version_class_proxy_spec.rb +++ b/ee/spec/lib/elastic/multi_version_class_proxy_spec.rb @@ -25,18 +25,6 @@ expect(wiki_result).to be_a(Elastic::V12p1::WikiClassProxy) expect(wiki_result.target).to eq(ProjectWiki) end - - context 'when feature_flag simplify_logic_to_find_search_proxy_class is disabled' do - before do - stub_feature_flags(simplify_logic_to_find_search_proxy_class: false) - end - - it 'returns ProjectWikiClassProxy for wiki' do - wiki_proxy = described_class.new(ProjectWiki) - wiki_result = wiki_proxy.version('V12p1') - expect(wiki_result).to be_a(Elastic::V12p1::ProjectWikiClassProxy) - end - end end end diff --git a/spec/support/rspec_order_todo.yml b/spec/support/rspec_order_todo.yml index adee31ca644133d85f212a77188a52c06ab0a9e6..b9ce1f80c02311e8ee9a0336973094c6bbaa0ee4 100644 --- a/spec/support/rspec_order_todo.yml +++ b/spec/support/rspec_order_todo.yml @@ -1213,8 +1213,6 @@ - './ee/spec/lib/elastic/latest/merge_request_config_spec.rb' - './ee/spec/lib/elastic/latest/note_config_spec.rb' - './ee/spec/lib/elastic/latest/project_instance_proxy_spec.rb' -- './ee/spec/lib/elastic/latest/project_wiki_class_proxy_spec.rb' -- './ee/spec/lib/elastic/latest/project_wiki_instance_proxy_spec.rb' - './ee/spec/lib/elastic/latest/routing_spec.rb' - './ee/spec/lib/elastic/latest/snippet_instance_proxy_spec.rb' - './ee/spec/lib/elastic/migration_spec.rb'