Merge pull request #229 from travis-ci/error-handling
create MethodNotAllowed error
This commit is contained in:
commit
fa5f65606e
|
@ -35,6 +35,7 @@ module Travis
|
|||
NotImplemented = ServerError .create('request not (yet) implemented', status: 501)
|
||||
RequestLimitReached = ClientError .create('request limit reached for resource', status: 429)
|
||||
AlreadySyncing = ClientError .create('sync already in progress', status: 409)
|
||||
MethodNotAllowed = ClientError .create('method not allowed', status: 405)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -15,8 +15,9 @@ module Travis::API::V3
|
|||
return service_index(env) if env['PATH_INFO'.freeze] == ?/.freeze
|
||||
metrics = @metrics_processor.create
|
||||
access_control = AccessControl.new(env)
|
||||
factory, params = routes.factory_for(env['REQUEST_METHOD'.freeze], env['PATH_INFO'.freeze])
|
||||
env_params = params(env)
|
||||
factory, params = routes.factory_for(env['REQUEST_METHOD'.freeze], env['PATH_INFO'.freeze])
|
||||
|
||||
|
||||
raise NotFound unless factory
|
||||
metrics.name_after(factory)
|
||||
|
|
15
spec/v3/error_handling_spec.rb
Normal file
15
spec/v3/error_handling_spec.rb
Normal file
|
@ -0,0 +1,15 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe Travis::API::V3::ServiceIndex do
|
||||
let(:headers) {{ }}
|
||||
let(:path) { "/v3/repo/1/enable" }
|
||||
let(:json) { JSON.load(response.body) }
|
||||
let(:response) { get(path, {}, headers) }
|
||||
let(:resources) { json.fetch('resources') }
|
||||
|
||||
it "handles wrong HTTP method with 405 status" do
|
||||
|
||||
response.status.should == 405
|
||||
end
|
||||
|
||||
end
|
Loading…
Reference in New Issue
Block a user