Merge branch 'rs-issue-2152' into 'master'
Render a 404 when RefsController#logs_tree gets an HTML request Fixes #2152 See merge request !1748
This commit is contained in:
commit
4902dca966
2 changed files with 46 additions and 0 deletions
|
@ -55,5 +55,10 @@ class Projects::RefsController < Projects::ApplicationController
|
||||||
commit: last_commit
|
commit: last_commit
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
respond_to do |format|
|
||||||
|
format.html { render_404 }
|
||||||
|
format.js
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
41
spec/controllers/projects/refs_controller_spec.rb
Normal file
41
spec/controllers/projects/refs_controller_spec.rb
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
require 'spec_helper'
|
||||||
|
|
||||||
|
describe Projects::RefsController do
|
||||||
|
let(:project) { create(:project) }
|
||||||
|
let(:user) { create(:user) }
|
||||||
|
|
||||||
|
before do
|
||||||
|
sign_in(user)
|
||||||
|
project.team << [user, :developer]
|
||||||
|
end
|
||||||
|
|
||||||
|
describe 'GET #logs_tree' do
|
||||||
|
def default_get(format = :html)
|
||||||
|
get :logs_tree, namespace_id: project.namespace.to_param,
|
||||||
|
project_id: project.to_param, id: 'master',
|
||||||
|
path: 'foo/bar/baz.html', format: format
|
||||||
|
end
|
||||||
|
|
||||||
|
def xhr_get(format = :html)
|
||||||
|
xhr :get, :logs_tree, namespace_id: project.namespace.to_param,
|
||||||
|
project_id: project.to_param, id: 'master',
|
||||||
|
path: 'foo/bar/baz.html', format: format
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'never throws MissingTemplate' do
|
||||||
|
expect { default_get }.not_to raise_error
|
||||||
|
expect { xhr_get }.not_to raise_error
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'renders 404 for non-JS requests' do
|
||||||
|
xhr_get
|
||||||
|
|
||||||
|
expect(response).to be_not_found
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'renders JS' do
|
||||||
|
xhr_get(:js)
|
||||||
|
expect(response).to be_success
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in a new issue