From 3fa44b2e3fc5728bff66ec5023e5065f9efa0d98 Mon Sep 17 00:00:00 2001 From: Piotr Sarnacki Date: Wed, 8 Jul 2015 12:55:24 +0200 Subject: [PATCH] Include token in requests/create payload --- lib/travis/api/v3/queries/request.rb | 4 ++-- lib/travis/api/v3/services/requests/create.rb | 2 +- spec/v3/services/requests/create_spec.rb | 10 +++++++++- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/lib/travis/api/v3/queries/request.rb b/lib/travis/api/v3/queries/request.rb index 54b8f024..939f4b43 100644 --- a/lib/travis/api/v3/queries/request.rb +++ b/lib/travis/api/v3/queries/request.rb @@ -1,6 +1,6 @@ module Travis::API::V3 class Queries::Request < Query - params :message, :branch, :config, prefix: :request + params :message, :branch, :config, :token, prefix: :request def schedule(repository, user) raise ServerError, 'repository does not have a github_id'.freeze unless repository.github_id @@ -14,7 +14,7 @@ module Travis::API::V3 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 end end diff --git a/lib/travis/api/v3/services/requests/create.rb b/lib/travis/api/v3/services/requests/create.rb index 40a299c5..6fbe5e18 100644 --- a/lib/travis/api/v3/services/requests/create.rb +++ b/lib/travis/api/v3/services/requests/create.rb @@ -5,7 +5,7 @@ module Travis::API::V3 private_constant :TIME_FRAME, :LIMIT result_type :request - params "request", "user", :config, :message, :branch + params "request", "user", :config, :message, :branch, :token def run raise LoginRequired unless access_control.logged_in? or access_control.full_access? diff --git a/spec/v3/services/requests/create_spec.rb b/spec/v3/services/requests/create_spec.rb index b316ca82..42a88706 100644 --- a/spec/v3/services/requests/create_spec.rb +++ b/spec/v3/services/requests/create_spec.rb @@ -3,6 +3,7 @@ require 'spec_helper' describe Travis::API::V3::Services::Requests::Create do 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_params) { Sidekiq::Client.last['args'].last.deep_symbolize_keys } before { repo.requests.each(&:delete) } 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" } }} 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 @@ -277,4 +285,4 @@ describe Travis::API::V3::Services::Requests::Create do }} end end -end \ No newline at end of file +end