updated internal.rb and spec based on MR feedback
This commit is contained in:
parent
5c271ee95f
commit
c401e8338b
|
@ -16,7 +16,7 @@ module API
|
||||||
#
|
#
|
||||||
|
|
||||||
helpers do
|
helpers do
|
||||||
def wiki
|
def wiki?
|
||||||
@wiki ||= params[:project].end_with?('.wiki') &&
|
@wiki ||= params[:project].end_with?('.wiki') &&
|
||||||
!Project.find_with_namespace(params[:project])
|
!Project.find_with_namespace(params[:project])
|
||||||
end
|
end
|
||||||
|
@ -38,12 +38,12 @@ module API
|
||||||
# Strip out the .wiki from the pathname before finding the
|
# Strip out the .wiki from the pathname before finding the
|
||||||
# project. This applies the correct project permissions to
|
# project. This applies the correct project permissions to
|
||||||
# the wiki repository as well.
|
# the wiki repository as well.
|
||||||
project_path.chomp!('.wiki') if wiki
|
project_path.chomp!('.wiki') if wiki?
|
||||||
|
|
||||||
project = Project.find_with_namespace(project_path)
|
project = Project.find_with_namespace(project_path)
|
||||||
|
|
||||||
access =
|
access =
|
||||||
if wiki
|
if wiki?
|
||||||
Gitlab::GitAccessWiki.new(actor, project)
|
Gitlab::GitAccessWiki.new(actor, project)
|
||||||
else
|
else
|
||||||
Gitlab::GitAccess.new(actor, project)
|
Gitlab::GitAccess.new(actor, project)
|
||||||
|
|
|
@ -6,6 +6,8 @@ describe API::API, api: true do
|
||||||
let(:key) { create(:key, user: user) }
|
let(:key) { create(:key, user: user) }
|
||||||
let(:project) { create(:project) }
|
let(:project) { create(:project) }
|
||||||
let(:secret_token) { File.read Gitlab.config.gitlab_shell.secret_file }
|
let(:secret_token) { File.read Gitlab.config.gitlab_shell.secret_file }
|
||||||
|
# Project with path ending in .wiki
|
||||||
|
let(:project_wiki) { create(:project, name: 'my.wiki', path: 'my.wiki') }
|
||||||
|
|
||||||
describe "GET /internal/check", no_db: true do
|
describe "GET /internal/check", no_db: true do
|
||||||
it do
|
it do
|
||||||
|
@ -55,9 +57,13 @@ describe API::API, api: true do
|
||||||
end
|
end
|
||||||
|
|
||||||
context "git push with project.wiki" do
|
context "git push with project.wiki" do
|
||||||
let(:project) { create(:project, name: 'my.wiki', path: 'my.wiki') }
|
|
||||||
|
before do
|
||||||
|
project_wiki.team << [user, :developer]
|
||||||
|
end
|
||||||
|
|
||||||
it do
|
it do
|
||||||
push(key, project)
|
push(key, project_wiki)
|
||||||
|
|
||||||
expect(response.status).to eq(200)
|
expect(response.status).to eq(200)
|
||||||
expect(json_response["status"]).to be_truthy
|
expect(json_response["status"]).to be_truthy
|
||||||
|
|
Loading…
Reference in New Issue