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
private
def verify_packages_enabled!
render_404 unless Gitlab.config.packages.enabled
render_404 unless Gitlab.config.packages.enabled &&
project.feature_available?(:packages)
end
end
......@@ -10,6 +10,7 @@ describe 'PackageFiles' do
before do
sign_in(user)
stub_licensed_features(packages: true)
end
context 'user with master role' do
......@@ -41,6 +42,14 @@ describe 'PackageFiles' do
expect(status_code).to eq(404)
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
it 'does not allow direct download when no access to the project' do
......
......@@ -9,6 +9,31 @@ describe 'Packages' do
before do
sign_in(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
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