Merge branch 'master' into jc-v3-env-vars
This commit is contained in:
commit
21f445ad64
|
@ -28,10 +28,20 @@ class Travis::Api::App
|
||||||
#
|
#
|
||||||
# I think we need to properly deprecate this by publishing a blog post.
|
# I think we need to properly deprecate this by publishing a blog post.
|
||||||
Metriks.meter("api.request.restart").mark
|
Metriks.meter("api.request.restart").mark
|
||||||
respond_with service(:reset_model, params)
|
|
||||||
|
service = Travis::Enqueue::Services::RestartModel.new(current_user, { build_id: params[:build_id] })
|
||||||
|
repository_owner = service.target.repository.owner
|
||||||
|
|
||||||
|
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
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@ require 'json'
|
||||||
describe 'Requests', set_app: true do
|
describe 'Requests', set_app: true do
|
||||||
let(:repo) { Factory.create(:repository) }
|
let(:repo) { Factory.create(:repository) }
|
||||||
let(:request) { Factory.create(:request, repository: repo) }
|
let(:request) { Factory.create(:request, repository: repo) }
|
||||||
|
let(:build) { Factory.create(:build, repository: repo) }
|
||||||
let(:user) { Factory.create(:user) }
|
let(:user) { Factory.create(:user) }
|
||||||
let(:token) { Travis::Api::App::AccessToken.create(user: user, app_id: -1) }
|
let(:token) { Travis::Api::App::AccessToken.create(user: user, app_id: -1) }
|
||||||
let(:headers) { { 'HTTP_ACCEPT' => 'application/vnd.travis-ci.2+json', 'HTTP_AUTHORIZATION' => "token #{token}" } }
|
let(:headers) { { 'HTTP_ACCEPT' => 'application/vnd.travis-ci.2+json', 'HTTP_AUTHORIZATION' => "token #{token}" } }
|
||||||
|
@ -25,4 +26,18 @@ describe 'Requests', set_app: true do
|
||||||
response.should deliver_json_for(request, version: 'v2', type: 'request')
|
response.should deliver_json_for(request, version: 'v2', type: 'request')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe 'POST /requests' do
|
||||||
|
it 'triggers a build request using Core code' do
|
||||||
|
response = post "/requests", { build_id: build.id }, headers
|
||||||
|
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(202)
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue
Block a user