From 564e95be6b177057ff37e8d3b2e948edb01d7a9a Mon Sep 17 00:00:00 2001 From: Ana Rosas Date: Mon, 11 Jul 2016 13:35:17 -0500 Subject: [PATCH 1/3] Use params instead of payload and return error message --- lib/travis/api/app/endpoint/requests.rb | 8 ++++---- spec/integration/v2/requests_spec.rb | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/travis/api/app/endpoint/requests.rb b/lib/travis/api/app/endpoint/requests.rb index 590ec331..56464de3 100644 --- a/lib/travis/api/app/endpoint/requests.rb +++ b/lib/travis/api/app/endpoint/requests.rb @@ -35,10 +35,10 @@ class Travis::Api::App if !Travis::Features.enabled_for_all?(:enqueue_to_hub) && !Travis::Features.owner_active?(:enqueue_to_hub, repository_owner) respond_with service(:reset_model, params) elsif service.respond_to?(:push) - payload = {id: params[:build_id], user_id: current_user.id} - service.push("job:restart", payload) - status 202 - true + payload = { build_id: params[:build_id], user_id: current_user.id } + service.push("job:restart", params) + + respond_with(result: true, flash: service.messages) end end end diff --git a/spec/integration/v2/requests_spec.rb b/spec/integration/v2/requests_spec.rb index cd023599..cc6ce1e8 100644 --- a/spec/integration/v2/requests_spec.rb +++ b/spec/integration/v2/requests_spec.rb @@ -37,7 +37,7 @@ describe 'Requests', set_app: true do Travis::Features.activate_owner(:enqueue_to_hub, repo.owner) response = post "/requests", { build_id: build.id }, headers - response.status.should be(202) + response.status.should be(200) end end end From 2ab8af66591c96f5e5316c64153d94387d5ad66e Mon Sep 17 00:00:00 2001 From: Ana Rosas Date: Mon, 11 Jul 2016 13:59:22 -0500 Subject: [PATCH 2/3] Use build:restart event --- lib/travis/api/app/endpoint/requests.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/travis/api/app/endpoint/requests.rb b/lib/travis/api/app/endpoint/requests.rb index 56464de3..29847c2c 100644 --- a/lib/travis/api/app/endpoint/requests.rb +++ b/lib/travis/api/app/endpoint/requests.rb @@ -1,5 +1,6 @@ require 'travis/api/app' require 'travis/api/app/services/schedule_request' +require 'travis/api/enqueue/services/restart_model' class Travis::Api::App class Endpoint @@ -35,8 +36,8 @@ class Travis::Api::App if !Travis::Features.enabled_for_all?(:enqueue_to_hub) && !Travis::Features.owner_active?(:enqueue_to_hub, repository_owner) respond_with service(:reset_model, params) elsif service.respond_to?(:push) - payload = { build_id: params[:build_id], user_id: current_user.id } - service.push("job:restart", params) + payload = { id: params[:build_id], user_id: current_user.id } + service.push("build:restart", payload) respond_with(result: true, flash: service.messages) end From b234ad73bec9c4e82b12d24c3ea4a8291b6617f3 Mon Sep 17 00:00:00 2001 From: Ana Rosas Date: Mon, 11 Jul 2016 14:19:02 -0500 Subject: [PATCH 3/3] Use repo owner instead of current user --- lib/travis/api/app/endpoint/requests.rb | 2 +- spec/integration/v2/requests_spec.rb | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/lib/travis/api/app/endpoint/requests.rb b/lib/travis/api/app/endpoint/requests.rb index 29847c2c..ced72f00 100644 --- a/lib/travis/api/app/endpoint/requests.rb +++ b/lib/travis/api/app/endpoint/requests.rb @@ -36,7 +36,7 @@ class Travis::Api::App if !Travis::Features.enabled_for_all?(:enqueue_to_hub) && !Travis::Features.owner_active?(:enqueue_to_hub, repository_owner) respond_with service(:reset_model, params) elsif service.respond_to?(:push) - payload = { id: params[:build_id], user_id: current_user.id } + payload = { id: params[:build_id], user_id: repository_owner.id } service.push("build:restart", payload) respond_with(result: true, flash: service.messages) diff --git a/spec/integration/v2/requests_spec.rb b/spec/integration/v2/requests_spec.rb index cc6ce1e8..d92b568c 100644 --- a/spec/integration/v2/requests_spec.rb +++ b/spec/integration/v2/requests_spec.rb @@ -33,11 +33,12 @@ describe 'Requests', set_app: true do response.status.should be(200) end - it 'triggers a build request using Hub' do - Travis::Features.activate_owner(:enqueue_to_hub, repo.owner) - - response = post "/requests", { build_id: build.id }, headers - response.status.should be(200) + describe 'enqueues for Hub' do + it 'triggers a build request' do + payload = { build_id: build.id, user_id: repo.owner.id } + response = post "/requests", payload, headers + response.status.should be(200) + end end end end