Merge pull request #179 from travis-ci/pass-token-to-request-create

Include token in requests/create payload
This commit is contained in:
Piotr Sarnacki 2015-07-08 14:30:18 +02:00
commit 2ce1220ef5
3 changed files with 12 additions and 4 deletions

View File

@ -1,6 +1,6 @@
module Travis::API::V3 module Travis::API::V3
class Queries::Request < Query class Queries::Request < Query
params :message, :branch, :config, prefix: :request params :message, :branch, :config, :token, prefix: :request
def schedule(repository, user) def schedule(repository, user)
raise ServerError, 'repository does not have a github_id'.freeze unless repository.github_id raise ServerError, 'repository does not have a github_id'.freeze unless repository.github_id
@ -14,7 +14,7 @@ module Travis::API::V3
config: config || {} config: config || {}
} }
perform_async(:build_request, type: 'api'.freeze, credentials: {}, payload: JSON.dump(payload)) perform_async(:build_request, type: 'api'.freeze, credentials: { token: token }, payload: JSON.dump(payload))
payload payload
end end
end end

View File

@ -5,7 +5,7 @@ module Travis::API::V3
private_constant :TIME_FRAME, :LIMIT private_constant :TIME_FRAME, :LIMIT
result_type :request result_type :request
params "request", "user", :config, :message, :branch params "request", "user", :config, :message, :branch, :token
def run def run
raise LoginRequired unless access_control.logged_in? or access_control.full_access? raise LoginRequired unless access_control.logged_in? or access_control.full_access?

View File

@ -3,6 +3,7 @@ require 'spec_helper'
describe Travis::API::V3::Services::Requests::Create do describe Travis::API::V3::Services::Requests::Create do
let(:repo) { Travis::API::V3::Models::Repository.where(owner_name: 'svenfuchs', name: 'minimal').first } let(:repo) { Travis::API::V3::Models::Repository.where(owner_name: 'svenfuchs', name: 'minimal').first }
let(:sidekiq_payload) { JSON.load(Sidekiq::Client.last['args'].last[:payload]).deep_symbolize_keys } let(:sidekiq_payload) { JSON.load(Sidekiq::Client.last['args'].last[:payload]).deep_symbolize_keys }
let(:sidekiq_params) { Sidekiq::Client.last['args'].last.deep_symbolize_keys }
before { repo.requests.each(&:delete) } before { repo.requests.each(&:delete) }
before do before do
@ -231,6 +232,13 @@ describe Travis::API::V3::Services::Requests::Create do
"repository" => {"@type"=>"repository", "@href"=>"/repo/#{repo.id}", "id"=>repo.id, "slug"=>"svenfuchs/minimal" } "repository" => {"@type"=>"repository", "@href"=>"/repo/#{repo.id}", "id"=>repo.id, "slug"=>"svenfuchs/minimal" }
}} }}
end end
describe "passing the token in params" do
let(:params) {{ request: { token: 'foo-bar' }}}
example { expect(sidekiq_params[:credentials]).to be == {
token: 'foo-bar'
}}
end
end end
@ -277,4 +285,4 @@ describe Travis::API::V3::Services::Requests::Create do
}} }}
end end
end end
end end