summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorKamil Trzcinski <ayufan@ayufan.eu>2017-03-05 20:58:08 +0100
committerKamil Trzcinski <ayufan@ayufan.eu>2017-03-05 20:58:08 +0100
commit140b51ce980bc519f3478bf4321dfd4a35d6bd3c (patch)
tree79b212a3e5e05b9e87acdd2ef04c3beaf5236d78 /lib
parentab972295bc0ec6db90ae451904a867788d66f49d (diff)
downloadgitlab-ce-140b51ce980bc519f3478bf4321dfd4a35d6bd3c.tar.gz
Introduce tests for pipeline triggers
Diffstat (limited to 'lib')
-rw-r--r--lib/api/entities.rb4
-rw-r--r--lib/api/triggers.rb22
2 files changed, 16 insertions, 10 deletions
diff --git a/lib/api/entities.rb b/lib/api/entities.rb
index 82d05d85ead..c0c94044ced 100644
--- a/lib/api/entities.rb
+++ b/lib/api/entities.rb
@@ -639,7 +639,9 @@ module API
end
class Trigger < Grape::Entity
- expose :token, :created_at, :updated_at, :deleted_at, :last_used
+ expose :token, :description
+ expose :created_at, :updated_at, :deleted_at, :last_used
+ expose :owner, using: Entities::UserBasic
end
class Variable < Grape::Entity
diff --git a/lib/api/triggers.rb b/lib/api/triggers.rb
index c324708a16d..157f3cef1fd 100644
--- a/lib/api/triggers.rb
+++ b/lib/api/triggers.rb
@@ -7,7 +7,7 @@ module API
end
resource :projects do
desc 'Trigger a GitLab project pipeline' do
- success Entities::TriggerRequest
+ success Entities::Pipeline
end
params do
requires :ref, type: String, desc: 'The commit sha or name of a branch or tag'
@@ -31,7 +31,7 @@ module API
if trigger_request
present trigger_request.pipeline, with: Entities::Pipeline
else
- errors = 'No pipeline create'
+ errors = 'No pipeline created'
render_api_error!(errors, 400)
end
end
@@ -61,7 +61,7 @@ module API
authenticate!
authorize! :admin_build, user_project
- trigger = user_project.triggers.find(params[:trigger_id])
+ trigger = user_project.triggers.find(params.delete(:trigger_id))
return not_found!('Trigger') unless trigger
present trigger, with: Entities::Trigger
@@ -94,15 +94,18 @@ module API
requires :trigger_id, type: Integer, desc: 'The trigger ID'
optional :description, type: String, desc: 'The trigger description'
end
- delete ':id/triggers/:trigger_id' do
+ put ':id/triggers/:trigger_id' do
authenticate!
authorize! :admin_build, user_project
- trigger = user_project.triggers.find(params[:trigger_id])
+ trigger = user_project.triggers.find(params.delete(:trigger_id))
return not_found!('Trigger') unless trigger
- trigger = trigger.update(declared_params(include_missing: false))
- present trigger, with: Entities::Trigger
+ if trigger.update(declared_params(include_missing: false))
+ present trigger, with: Entities::Trigger
+ else
+ render_validation_error!(trigger)
+ end
end
desc 'Take ownership of trigger' do
@@ -115,10 +118,11 @@ module API
authenticate!
authorize! :admin_build, user_project
- trigger = user_project.triggers.find(params[:trigger_id])
+ trigger = user_project.triggers.find(params.delete(:trigger_id))
return not_found!('Trigger') unless trigger
if trigger.update(owner: current_user)
+ status :ok
present trigger, with: Entities::Trigger
else
render_validation_error!(trigger)
@@ -135,7 +139,7 @@ module API
authenticate!
authorize! :admin_build, user_project
- trigger = user_project.triggers.find(params[:trigger_id])
+ trigger = user_project.triggers.find(params.delete(:trigger_id))
return not_found!('Trigger') unless trigger
trigger.destroy