Commit 7c89f8e0 authored by Michael Kozono's avatar Michael Kozono

Merge branch '34558-revert-es-project-snippets' into 'master'

Remove ES parent relation for project snippets

See merge request gitlab-org/gitlab!19715
parents 90b0a920 dcd27c69
---
title: Revert ES support for public/internal project snippets
merge_request: 19715
author:
type: fixed
...@@ -66,7 +66,6 @@ module Elastic ...@@ -66,7 +66,6 @@ module Elastic
blob blob
wiki_blob wiki_blob
commit commit
snippet
) )
} }
# ES6 requires a single type per index, so we implement our own "type" # ES6 requires a single type per index, so we implement our own "type"
......
...@@ -74,28 +74,6 @@ module Elastic ...@@ -74,28 +74,6 @@ module Elastic
filter_conditions = [] filter_conditions = []
# Include public/internal project snippets for accessible projects
filter_conditions << {
bool: {
filter: [
{ terms: { visibility_level: Gitlab::VisibilityLevel.levels_for_user(user) } },
{
has_parent: {
parent_type: 'project',
query: {
bool: project_ids_query(
user,
options[:project_ids],
options[:public_and_internal_projects],
'snippets'
)
}
}
}
]
}
}
# Include all project snippets for authorized projects # Include all project snippets for authorized projects
if user if user
filter_conditions << { filter_conditions << {
......
...@@ -30,6 +30,12 @@ module Elastic ...@@ -30,6 +30,12 @@ module Elastic
data.merge(generic_attributes) data.merge(generic_attributes)
end end
# TODO: Reenable support for public/internal project snippets
# https://gitlab.com/gitlab-org/gitlab/issues/2358
def es_parent
nil
end
end end
end end
end end
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
require 'spec_helper' require 'spec_helper'
describe 'Snippet elastic search', :js, :elastic, :sidekiq_might_not_need_inline do describe 'Snippet elastic search', :js, :elastic, :aggregate_failures, :sidekiq_might_not_need_inline do
let(:public_project) { create(:project, :public) } let(:public_project) { create(:project, :public) }
let(:authorized_user) { create(:user) } let(:authorized_user) { create(:user) }
let(:authorized_project) { create(:project, namespace: authorized_user.namespace) } let(:authorized_project) { create(:project, namespace: authorized_user.namespace) }
...@@ -31,13 +31,16 @@ describe 'Snippet elastic search', :js, :elastic, :sidekiq_might_not_need_inline ...@@ -31,13 +31,16 @@ describe 'Snippet elastic search', :js, :elastic, :sidekiq_might_not_need_inline
submit_search('snippet') submit_search('snippet')
end end
# TODO: Reenable support for public/internal project snippets
# https://gitlab.com/gitlab-org/gitlab/issues/35760
context 'as anonymous user' do context 'as anonymous user' do
let(:current_user) { nil } let(:current_user) { nil }
it 'finds only public snippets' do it 'finds only public snippets' do
within('.results') do within('.results') do
expect(page).to have_content('public personal snippet') expect(page).to have_content('public personal snippet')
expect(page).to have_content('public project snippet') expect(page).not_to have_content('public project snippet')
expect(page).not_to have_content('internal personal snippet') expect(page).not_to have_content('internal personal snippet')
expect(page).not_to have_content('internal project snippet') expect(page).not_to have_content('internal project snippet')
...@@ -57,10 +60,10 @@ describe 'Snippet elastic search', :js, :elastic, :sidekiq_might_not_need_inline ...@@ -57,10 +60,10 @@ describe 'Snippet elastic search', :js, :elastic, :sidekiq_might_not_need_inline
it 'finds only public and internal snippets' do it 'finds only public and internal snippets' do
within('.results') do within('.results') do
expect(page).to have_content('public personal snippet') expect(page).to have_content('public personal snippet')
expect(page).to have_content('public project snippet') expect(page).not_to have_content('public project snippet')
expect(page).to have_content('internal personal snippet') expect(page).to have_content('internal personal snippet')
expect(page).to have_content('internal project snippet') expect(page).not_to have_content('internal project snippet')
expect(page).not_to have_content('private personal snippet') expect(page).not_to have_content('private personal snippet')
expect(page).not_to have_content('private project snippet') expect(page).not_to have_content('private project snippet')
...@@ -77,10 +80,10 @@ describe 'Snippet elastic search', :js, :elastic, :sidekiq_might_not_need_inline ...@@ -77,10 +80,10 @@ describe 'Snippet elastic search', :js, :elastic, :sidekiq_might_not_need_inline
it 'finds only public, internal, and authorized private snippets' do it 'finds only public, internal, and authorized private snippets' do
within('.results') do within('.results') do
expect(page).to have_content('public personal snippet') expect(page).to have_content('public personal snippet')
expect(page).to have_content('public project snippet') expect(page).not_to have_content('public project snippet')
expect(page).to have_content('internal personal snippet') expect(page).to have_content('internal personal snippet')
expect(page).to have_content('internal project snippet') expect(page).not_to have_content('internal project snippet')
expect(page).not_to have_content('private personal snippet') expect(page).not_to have_content('private personal snippet')
expect(page).not_to have_content('private project snippet') expect(page).not_to have_content('private project snippet')
......
...@@ -137,11 +137,7 @@ describe Snippet, :elastic do ...@@ -137,11 +137,7 @@ describe Snippet, :elastic do
'author_id', 'author_id',
'visibility_level' 'visibility_level'
).merge({ ).merge({
'type' => snippet.es_type, 'type' => snippet.es_type
'join_field' => {
'name' => snippet.es_type,
'parent' => snippet.es_parent
}
}) })
expect(snippet.__elasticsearch__.as_indexed_json).to eq(expected_hash) expect(snippet.__elasticsearch__.as_indexed_json).to eq(expected_hash)
......
...@@ -101,8 +101,7 @@ describe Elastic::IndexRecordService, :elastic do ...@@ -101,8 +101,7 @@ describe Elastic::IndexRecordService, :elastic do
'issue', 'issue',
'merge_request', 'merge_request',
'milestone', 'milestone',
'note', 'note'
'snippet'
) )
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment