Commit cd660b3e authored by Grzegorz Bizon's avatar Grzegorz Bizon

Merge branch 'fix-namespace-lookup-by-pages-host' into 'master'

Fix lookup of namespace by pages host

See merge request gitlab-org/gitlab!27081
parents 64cedf39 185a8b2d
...@@ -130,7 +130,7 @@ class Namespace < ApplicationRecord ...@@ -130,7 +130,7 @@ class Namespace < ApplicationRecord
return unless host.ends_with?(gitlab_host) return unless host.ends_with?(gitlab_host)
name = host.delete_suffix(gitlab_host) name = host.delete_suffix(gitlab_host)
Namespace.find_by_path(name) Namespace.where(parent_id: nil).find_by_path(name)
end end
# overridden in ee # overridden in ee
......
...@@ -201,6 +201,26 @@ describe Namespace do ...@@ -201,6 +201,26 @@ describe Namespace do
expect(described_class.find_by_pages_host(host)).to eq(namespace) expect(described_class.find_by_pages_host(host)).to eq(namespace)
end end
context 'when there is non-top-level group with searched name' do
before do
create(:group, :nested, path: 'pages')
end
it 'ignores this group' do
host = "pages.#{Settings.pages.host.upcase}"
expect(described_class.find_by_pages_host(host)).to be_nil
end
it 'finds right top level group' do
group = create(:group, path: 'pages')
host = "pages.#{Settings.pages.host.upcase}"
expect(described_class.find_by_pages_host(host)).to eq(group)
end
end
it "returns no result if the provided host is not subdomain of the Pages host" do it "returns no result if the provided host is not subdomain of the Pages host" do
create(:namespace, name: 'namespace.io') create(:namespace, name: 'namespace.io')
host = "namespace.io" host = "namespace.io"
......
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