Respond with 404 Not Found for non-existent tags
Non-existent tags should be handled with 404 Not Found.
This commit is contained in:
parent
c36544de9f
commit
6b9671388d
|
@ -90,6 +90,8 @@ v 8.12.1
|
|||
- Fix issue with search filter labels not displaying
|
||||
|
||||
v 8.12.0
|
||||
v 8.12.0 (unreleased)
|
||||
- Respond with 404 Not Found for non-existent tags
|
||||
- Update the rouge gem to 2.0.6, which adds highlighting support for JSX, Prometheus, and others. !6251
|
||||
- Only check :can_resolve permission if the note is resolvable
|
||||
- Bump fog-aws to v0.11.0 to support ap-south-1 region
|
||||
|
|
|
@ -20,6 +20,8 @@ class Projects::TagsController < Projects::ApplicationController
|
|||
def show
|
||||
@tag = @repository.find_tag(params[:id])
|
||||
|
||||
return render_404 if @tag.nil?
|
||||
|
||||
@release = @project.releases.find_or_initialize_by(tag: @tag.name)
|
||||
@commit = @repository.commit(@tag.target)
|
||||
end
|
||||
|
|
|
@ -17,4 +17,18 @@ describe Projects::TagsController do
|
|||
expect(assigns(:releases)).not_to include(invalid_release)
|
||||
end
|
||||
end
|
||||
|
||||
describe 'GET show' do
|
||||
before { get :show, namespace_id: project.namespace.to_param, project_id: project.to_param, id: id }
|
||||
|
||||
context "valid tag" do
|
||||
let(:id) { 'v1.0.0' }
|
||||
it { is_expected.to respond_with(:success) }
|
||||
end
|
||||
|
||||
context "invalid tag" do
|
||||
let(:id) { 'latest' }
|
||||
it { is_expected.to respond_with(:not_found) }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue