Commit 349e4231 authored by Rémy Coutable's avatar Rémy Coutable

Merge branch...

Merge branch '29673-500-internal-server-error-when-enabling-a-deploy-key-more-than-once-through-api' into 'master'

Detect already enabled DeployKeys in EnableDeployKeyService

Closes #29673

See merge request !11010
parents 552013b4 d02e7226
...@@ -4,7 +4,10 @@ module Projects ...@@ -4,7 +4,10 @@ module Projects
key = accessible_keys.find_by(id: params[:key_id] || params[:id]) key = accessible_keys.find_by(id: params[:key_id] || params[:id])
return unless key return unless key
project.deploy_keys << key unless project.deploy_keys.include?(key)
project.deploy_keys << key
end
key key
end end
......
---
title: Detect already enabled DeployKeys in EnableDeployKeyService
merge_request:
author:
...@@ -21,6 +21,16 @@ describe Projects::EnableDeployKeyService, services: true do ...@@ -21,6 +21,16 @@ describe Projects::EnableDeployKeyService, services: true do
end end
end end
context 'add the same key twice' do
before do
project.deploy_keys << deploy_key
end
it 'returns existing key' do
expect(service.execute).to eq(deploy_key)
end
end
def service def service
Projects::EnableDeployKeyService.new(project, user, params) Projects::EnableDeployKeyService.new(project, user, params)
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