Merge branch 'master' into rkh-better-login
This commit is contained in:
commit
ac318df762
5
Gemfile
5
Gemfile
|
@ -4,8 +4,8 @@ source :rubygems
|
|||
gemspec
|
||||
|
||||
gem 'travis-support', github: 'travis-ci/travis-support'
|
||||
gem 'travis-core', github: 'travis-ci/travis-core'
|
||||
gem 'travis-sidekiqs', github: 'travis-ci/travis-sidekiqs', require: nil, ref: 'cde9741'
|
||||
gem 'travis-core', github: 'travis-ci/travis-core', branch: 'regenerate-repo-key'
|
||||
gem 'travis-sidekiqs', github: 'travis-ci/travis-sidekiqs', require: nil
|
||||
|
||||
gem 'unicorn'
|
||||
gem "sentry-raven", github: 'getsentry/raven-ruby'
|
||||
|
@ -16,6 +16,7 @@ gem 'gh', github: 'rkh/gh'
|
|||
gem 'bunny'
|
||||
gem 'dalli'
|
||||
gem 'pry'
|
||||
gem 'metriks', '0.9.9.2'
|
||||
|
||||
group :test do
|
||||
gem 'rspec', '~> 2.11'
|
||||
|
|
|
@ -42,7 +42,8 @@ GIT
|
|||
|
||||
GIT
|
||||
remote: git://github.com/travis-ci/travis-core.git
|
||||
revision: e1034dc248883d30e21518a4a65665abe4523fe8
|
||||
revision: b9edfcd3de6a1cfcbe24747cbf2b0ee62847a4ab
|
||||
branch: regenerate-repo-key
|
||||
specs:
|
||||
travis-core (0.0.1)
|
||||
actionmailer (~> 3.2.3)
|
||||
|
@ -63,8 +64,7 @@ GIT
|
|||
|
||||
GIT
|
||||
remote: git://github.com/travis-ci/travis-sidekiqs.git
|
||||
revision: cde9741f8e6811fe3929bdd0dd653b87289c5eef
|
||||
ref: cde9741
|
||||
revision: af303f1d5e6454231668611451e7c67d52998026
|
||||
specs:
|
||||
travis-sidekiqs (0.0.1)
|
||||
sidekiq (~> 2.5.0)
|
||||
|
@ -283,6 +283,7 @@ DEPENDENCIES
|
|||
factory_girl (~> 2.4.0)
|
||||
foreman
|
||||
gh!
|
||||
metriks (= 0.9.9.2)
|
||||
micro_migrations!
|
||||
mocha (~> 0.12)
|
||||
pry
|
||||
|
|
|
@ -1,23 +1,4 @@
|
|||
# http://michaelvanrooijen.com/articles/2011/06/01-more-concurrency-on-a-single-heroku-dyno-with-the-new-celadon-cedar-stack/
|
||||
|
||||
worker_processes 3 # amount of unicorn workers to spin up
|
||||
worker_processes 4 # amount of unicorn workers to spin up
|
||||
timeout 30 # restarts workers that hang for 15 seconds
|
||||
|
||||
preload_app true
|
||||
|
||||
before_fork do |server, worker|
|
||||
ActiveRecord::Base.connection.disconnect! if defined?(ActiveRecord::Base)
|
||||
end
|
||||
|
||||
after_fork do |server, worker|
|
||||
require 'travis'
|
||||
|
||||
Travis::Amqp.connect
|
||||
|
||||
ActiveRecord::Base.establish_connection if defined?(ActiveRecord::Base)
|
||||
|
||||
if $metriks_reporter
|
||||
$metriks_reporter.stop
|
||||
$metriks_reporter.start
|
||||
end
|
||||
end
|
||||
|
|
|
@ -9,6 +9,8 @@ require 'redis'
|
|||
require 'gh'
|
||||
require 'raven'
|
||||
require 'sidekiq'
|
||||
require 'metriks/reporter/logger'
|
||||
require 'travis/support/log_subscriber/active_record_metrics'
|
||||
|
||||
# Rack class implementing the HTTP API.
|
||||
# Instances respond to #call.
|
||||
|
@ -112,6 +114,9 @@ module Travis::Api
|
|||
Raven.configure do |config|
|
||||
config.dsn = Travis.config.sentry.dsn
|
||||
end if Travis.config.sentry
|
||||
|
||||
Travis::LogSubscriber::ActiveRecordMetrics.attach
|
||||
$metriks_reporter = Metriks::Reporter::Logger.new
|
||||
end
|
||||
|
||||
def self.load_endpoints
|
||||
|
|
|
@ -24,6 +24,10 @@ class Travis::Api::App
|
|||
respond_with service(:find_repo_key, params), version: :v2
|
||||
end
|
||||
|
||||
post '/:id/key' do
|
||||
respond_with service(:regenerate_repo_key, params), version: :v2
|
||||
end
|
||||
|
||||
get '/:owner_name/:name' do
|
||||
respond_with service(:find_repo, params)
|
||||
end
|
||||
|
@ -43,6 +47,10 @@ class Travis::Api::App
|
|||
get '/:owner_name/:name/key' do
|
||||
respond_with service(:find_repo_key, params), version: :v2
|
||||
end
|
||||
|
||||
post '/:owner_name/:name/key' do
|
||||
respond_with service(:regenerate_repo_key, params), version: :v2
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -3,6 +3,6 @@ cd "$(dirname "$0")/.."
|
|||
[ $PORT ] || PORT=3000
|
||||
[ $RACK_ENV ] || RACK_ENV=development
|
||||
|
||||
cmd="ruby -I lib -S bundle exec ruby -I lib -S unicorn config.ru -p $PORT -E $RACK_ENV"
|
||||
cmd="ruby -I lib -S bundle exec ruby -I lib -S unicorn config.ru -c config/unicorn.rb -p $PORT -E $RACK_ENV"
|
||||
[[ $RACK_ENV == "development" ]] && exec rerun "$cmd -l 127.0.0.1:$PORT"
|
||||
exec $cmd
|
||||
|
|
|
@ -6,6 +6,38 @@ describe 'Repos' do
|
|||
let(:repo) { Repository.by_slug('svenfuchs/minimal').first }
|
||||
let(:headers) { { 'HTTP_ACCEPT' => 'application/vnd.travis-ci.2+json' } }
|
||||
|
||||
describe 'with authenticated user' do
|
||||
let(:user) { User.where(login: 'svenfuchs').first }
|
||||
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}" } }
|
||||
|
||||
before { user.permissions.create!(:repository_id => repo.id, :push => true) }
|
||||
|
||||
it 'POST /repos/:id/key' do
|
||||
expect {
|
||||
response = post "/repos/#{repo.id}/key", {}, headers
|
||||
}.to change { repo.reload.key.private_key }
|
||||
end
|
||||
|
||||
it 'POST /repos/:owner/:name/key' do
|
||||
expect {
|
||||
response = post "/repos/#{repo.slug}/key", {}, headers
|
||||
}.to change { repo.reload.key.private_key }
|
||||
end
|
||||
end
|
||||
|
||||
describe 'without authenticated user' do
|
||||
it 'POST /repos/:id/key' do
|
||||
response = post "/repos/#{repo.id}/key", {}, headers
|
||||
response.should be_not_found
|
||||
end
|
||||
|
||||
it 'POST /repos/:owner/:name/key' do
|
||||
response = post "/repos/#{repo.id}/key", {}, headers
|
||||
response.should be_not_found
|
||||
end
|
||||
end
|
||||
|
||||
it 'GET /repos/:id/key' do
|
||||
response = get "/repos/#{repo.id}/key", {}, headers
|
||||
response.should deliver_json_for(repo.key, version: 'v2')
|
||||
|
|
Loading…
Reference in New Issue
Block a user