Commit 4a91d958 authored by Robert May's avatar Robert May

Check commit limit is used

parent bb179a08
...@@ -6,6 +6,8 @@ class Projects::CommitsController < Projects::ApplicationController ...@@ -6,6 +6,8 @@ class Projects::CommitsController < Projects::ApplicationController
include ExtractsPath include ExtractsPath
include RendersCommits include RendersCommits
COMMITS_DEFAULT_LIMIT = 40
prepend_before_action(only: [:show]) { authenticate_sessionless_user!(:rss) } prepend_before_action(only: [:show]) { authenticate_sessionless_user!(:rss) }
around_action :allow_gitaly_ref_name_caching around_action :allow_gitaly_ref_name_caching
before_action :require_non_empty_project before_action :require_non_empty_project
...@@ -65,7 +67,7 @@ class Projects::CommitsController < Projects::ApplicationController ...@@ -65,7 +67,7 @@ class Projects::CommitsController < Projects::ApplicationController
render_404 unless @path.empty? || request.format == :atom || @repository.blob_at(@commit.id, @path) || @repository.tree(@commit.id, @path).entries.present? render_404 unless @path.empty? || request.format == :atom || @repository.blob_at(@commit.id, @path) || @repository.tree(@commit.id, @path).entries.present?
limit = params[:limit].to_i limit = params[:limit].to_i
@limit = limit > 0 ? limit : 40 # limit can only ever be a positive number @limit = limit > 0 ? limit : COMMITS_DEFAULT_LIMIT # limit can only ever be a positive number
@offset = (params[:offset] || 0).to_i @offset = (params[:offset] || 0).to_i
search = params[:search] search = params[:search]
author = params[:author] author = params[:author]
......
...@@ -68,7 +68,16 @@ RSpec.describe Projects::CommitsController do ...@@ -68,7 +68,16 @@ RSpec.describe Projects::CommitsController do
end end
context "with an invalid limit" do context "with an invalid limit" do
before do let(:id) { "master/README.md" }
it "uses the default limit" do
expect_any_instance_of(Repository).to receive(:commits).with(
"master",
path: "README.md",
limit: described_class::COMMITS_DEFAULT_LIMIT,
offset: 0
).and_call_original
get(:show, get(:show,
params: { params: {
namespace_id: project.namespace, namespace_id: project.namespace,
...@@ -76,11 +85,9 @@ RSpec.describe Projects::CommitsController do ...@@ -76,11 +85,9 @@ RSpec.describe Projects::CommitsController do
id: id, id: id,
limit: "foo" limit: "foo"
}) })
end
let(:id) { 'master/README.md' } expect(response).to be_successful
end
it { is_expected.to respond_with(:success) }
end end
context "when the ref name ends in .atom" do context "when the ref name ends in .atom" 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