From 65637c5731467d47a0c8f21a000895fbd051f9f0 Mon Sep 17 00:00:00 2001 From: Piotr Sarnacki Date: Mon, 26 Nov 2012 02:26:34 +0100 Subject: [PATCH] Add endpoint for getting repo public key --- lib/travis/api/app/endpoint/repos.rb | 8 ++++++++ spec/integration/v2/repositories_spec.rb | 10 ++++++++++ 2 files changed, 18 insertions(+) diff --git a/lib/travis/api/app/endpoint/repos.rb b/lib/travis/api/app/endpoint/repos.rb index 42f97e4b..09be4d5e 100644 --- a/lib/travis/api/app/endpoint/repos.rb +++ b/lib/travis/api/app/endpoint/repos.rb @@ -20,6 +20,10 @@ class Travis::Api::App respond_with service(:find_repo, params.merge(schema: 'cc')) end + get '/:id/key' do + respond_with service(:find_repo_key, params) + end + get '/:owner_name/:name' do respond_with service(:find_repo, params) end @@ -35,6 +39,10 @@ class Travis::Api::App get '/:owner_name/:name/cc' do respond_with service(:find_repo, params.merge(schema: 'cc')) end + + get '/:owner_name/:name/key' do + respond_with service(:find_repo_key, params) + end end end end diff --git a/spec/integration/v2/repositories_spec.rb b/spec/integration/v2/repositories_spec.rb index a4de23a4..1a0166e6 100644 --- a/spec/integration/v2/repositories_spec.rb +++ b/spec/integration/v2/repositories_spec.rb @@ -6,6 +6,16 @@ describe 'Repos' do let(:repo) { Repository.by_slug('svenfuchs/minimal').first } let(:headers) { { 'HTTP_ACCEPT' => 'application/vnd.travis-ci.2+json' } } + it 'GET /repos/:id/key' do + response = get "/repos/#{repo.id}/key", {}, headers + response.should deliver_json_for(repo.key, version: 'v2') + end + + it 'GET /repos/:slug/key' do + response = get "/repos/#{repo.slug}/key", {}, headers + response.should deliver_json_for(repo.key, version: 'v2') + end + it 'GET /repos' do response = get '/repos', {}, headers response.should deliver_json_for(Repository.timeline, version: 'v2')