diff --git a/lib/travis/api/app/endpoint/requests.rb b/lib/travis/api/app/endpoint/requests.rb index 4dccf61a..a72506b9 100644 --- a/lib/travis/api/app/endpoint/requests.rb +++ b/lib/travis/api/app/endpoint/requests.rb @@ -19,7 +19,7 @@ class Travis::Api::App post '/', scope: :private do if params[:request] && params[:request][:repository] - respond_with service(:schedule_request, params[:request]) + status 404 else # DEPRECATED: this will be removed by 1st of December Metriks.meter("api.request.restart").mark diff --git a/spec/integration/v2/requests_spec.rb b/spec/integration/v2/requests_spec.rb index 02207446..d786e396 100644 --- a/spec/integration/v2/requests_spec.rb +++ b/spec/integration/v2/requests_spec.rb @@ -26,31 +26,4 @@ describe 'Requests' do response.should deliver_json_for(request, version: 'v2', type: 'request') end end - - describe 'POST /requests' do - let(:payload) { { request: { repository: { owner_name: repo.owner_name, name: repo.name } } } } - - before do - Travis::Features.stubs(:owner_active?).returns(true) - end - - it 'schedules a request' do - response = post '/requests', payload, headers - expect(response.status).to eq 200 - end - - it 'requires activation' do - Travis::Features.stubs(:owner_active?).returns(false) - response = post '/requests', payload, headers - json = JSON.parse(response.body) - expect(json['result']).to eq 'not_active' - end - - it 'throttles requests' do - Travis::Api::App::Services::ScheduleRequest::Throttle.any_instance.stubs(:throttled?).returns(true) - response = post '/requests', payload, headers - json = JSON.parse(response.body) - expect(json['result']).to eq 'throttled' - end - end end diff --git a/spec/unit/endpoint/requests_spec.rb b/spec/unit/endpoint/requests_spec.rb deleted file mode 100644 index a6eb4eda..00000000 --- a/spec/unit/endpoint/requests_spec.rb +++ /dev/null @@ -1,56 +0,0 @@ -require 'spec_helper' - -describe Travis::Api::App::Endpoint::Requests do - include Travis::Testing::Stubs - - let(:token) { Travis::Api::App::AccessToken.create(user: user, app_id: -1) } - let(:data) { { request: { repository: { owner_name: 'owner', name: 'name' }, branch: 'branch', config: { env: ['FOO=foo'] } } } } - let(:headers) { { 'HTTP_ACCEPT' => 'application/vnd.travis-ci.2+json, */*; q=0.01', 'HTTP_AUTHORIZATION' => %(token "#{token.token}") } } - let(:response) { post('/requests', data, headers) } - - before do - User.stubs(:find_by_github_id).returns(user) - User.stubs(:find).returns(user) - end - - describe 'POST to /' do - it 'needs to be authenticated' do - Travis::Api::App::AccessToken.stubs(:find_by_token).returns(nil) - expect(response.status).to eq 403 - end - - describe 'if the repository does not exist' do - it 'returns 404' do - expect(response.status).to eq 404 - end - - it 'includes a notice' do - expect(response.body).to eq '{"result":"not_found","flash":[{"error":"Repository owner/name not found."}]}' - end - end - - describe 'if successful' do - before do - Repository.stubs(:by_slug).returns([repo]) - Travis::Sidekiq::BuildRequest.stubs(:perform_async) - Travis::Features.stubs(:owner_active?).returns(true) - end - - it 'returns 200' do - expect(response.status).to eq 200 - end - - it 'includes a notice' do - expect(response.body).to eq '{"result":"success","flash":[{"notice":"Build request scheduled."}]}' - end - - it 'schedules the build request' do - payload = data[:request].merge(user: { id: user.id }) - payload[:repository][:id] = repo.github_id - Travis::Sidekiq::BuildRequest.expects(:perform_async).with(type: 'api', payload: MultiJson.encode(payload), credentials: {}) - response - end - end - end -end -