Commit 5e35f216 authored by Jakub Zienkiewicz's avatar Jakub Zienkiewicz
Browse files

allow all git-upload-* commands for deploy keys

parent aad38e8a99eb
......@@ -26,7 +26,7 @@ class Internal < Grape::API
if key.is_a? DeployKey
key.projects.include?(project) && git_cmd == 'git-upload-pack'
key.projects.include?(project) && git_cmd.starts_with?('git-upload-')
else
user = key.user
......
......@@ -100,6 +100,32 @@
end
end
end
context "deploy key" do
let(:key) { create(:deploy_key) }
context "added to project" do
before do
key.projects << project
end
it do
archive(key, project)
response.status.should == 200
response.body.should == 'true'
end
end
context "not added to project" do
it do
archive(key, project)
response.status.should == 200
response.body.should == 'false'
end
end
end
end
def pull(key, project)
......@@ -121,4 +147,14 @@ def push(key, project)
action: 'git-receive-pack'
)
end
def archive(key, project)
get(
api("/internal/allowed"),
ref: 'master',
key_id: key.id,
project: project.path_with_namespace,
action: 'git-upload-archive'
)
end
end
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