Commit 23955b6b authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Render 404 for packages pages when feature is not allowed by license

Signed-off-by: default avatarDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
parent 5a085e6e
...@@ -11,6 +11,7 @@ module PackagesAccess ...@@ -11,6 +11,7 @@ module PackagesAccess
private private
def verify_packages_enabled! def verify_packages_enabled!
render_404 unless Gitlab.config.packages.enabled render_404 unless Gitlab.config.packages.enabled &&
project.feature_available?(:packages)
end end
end end
...@@ -10,6 +10,7 @@ describe 'PackageFiles' do ...@@ -10,6 +10,7 @@ describe 'PackageFiles' do
before do before do
sign_in(user) sign_in(user)
stub_licensed_features(packages: true)
end end
context 'user with master role' do context 'user with master role' do
...@@ -41,6 +42,14 @@ describe 'PackageFiles' do ...@@ -41,6 +42,14 @@ describe 'PackageFiles' do
expect(status_code).to eq(404) expect(status_code).to eq(404)
end end
it 'gives 404 when packages feature is not available' do
stub_licensed_features(packages: false)
visit download_project_package_file_path(project, package_file)
expect(status_code).to eq(404)
end
end end
it 'does not allow direct download when no access to the project' do it 'does not allow direct download when no access to the project' do
......
...@@ -9,6 +9,31 @@ describe 'Packages' do ...@@ -9,6 +9,31 @@ describe 'Packages' do
before do before do
sign_in(user) sign_in(user)
project.add_master(user) project.add_master(user)
stub_licensed_features(packages: true)
end
context 'packages feature is not available because of license' do
before do
stub_licensed_features(packages: false)
end
it 'gives 404' do
visit_project_packages
expect(status_code).to eq(404)
end
end
context 'packages feature is disabled by config' do
before do
allow(Gitlab.config.packages).to receive(:enabled).and_return(false)
end
it 'gives 404' do
visit_project_packages
expect(status_code).to eq(404)
end
end end
context 'when there are no packages' do context 'when there are no packages' do
......
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