mirror of
https://github.com/mastodon/mastodon.git
synced 2024-05-19 10:28:08 +00:00
Merge 2dc09d3c31
into 5cd13ee4f1
This commit is contained in:
commit
bfe84b0509
|
@ -19,21 +19,21 @@ describe Api::ErrorHandling do
|
|||
end
|
||||
|
||||
{
|
||||
ActiveRecord::RecordInvalid => 422,
|
||||
ActiveRecord::RecordNotFound => 404,
|
||||
ActiveRecord::RecordNotUnique => 422,
|
||||
Date::Error => 422,
|
||||
HTTP::Error => 503,
|
||||
Mastodon::InvalidParameterError => 400,
|
||||
Mastodon::NotPermittedError => 403,
|
||||
Mastodon::RaceConditionError => 503,
|
||||
Mastodon::RateLimitExceededError => 429,
|
||||
Mastodon::UnexpectedResponseError => 503,
|
||||
Mastodon::ValidationError => 422,
|
||||
OpenSSL::SSL::SSLError => 503,
|
||||
Seahorse::Client::NetworkingError => 503,
|
||||
Stoplight::Error::RedLight => 503,
|
||||
}.each do |error, code|
|
||||
ActiveRecord::RecordInvalid => { code: 422, message: /invalid/i },
|
||||
ActiveRecord::RecordNotFound => { code: 404, message: /record not found/i },
|
||||
ActiveRecord::RecordNotUnique => { code: 422, message: /duplicate record/i },
|
||||
Date::Error => { code: 422, message: /invalid date/i },
|
||||
HTTP::Error => { code: 503, message: /remote data could not/i },
|
||||
Mastodon::InvalidParameterError => { code: 400, message: // },
|
||||
Mastodon::NotPermittedError => { code: 403, message: /action is not allowed/i },
|
||||
Mastodon::RaceConditionError => { code: 503, message: /temporary problem serving/i },
|
||||
Mastodon::RateLimitExceededError => { code: 429, message: /too many requests/i },
|
||||
Mastodon::UnexpectedResponseError => { code: 503, message: /remote data could not/i },
|
||||
Mastodon::ValidationError => { code: 422, message: /validation/i },
|
||||
OpenSSL::SSL::SSLError => { code: 503, message: /ssl certificate could not/i },
|
||||
Seahorse::Client::NetworkingError => { code: 503, message: /temporary problem serving/i },
|
||||
Stoplight::Error::RedLight => { code: 503, message: /temporary problem serving/i },
|
||||
}.each do |error, options|
|
||||
it "Handles error class of #{error}" do
|
||||
allow(FakeService)
|
||||
.to receive(:new)
|
||||
|
@ -42,9 +42,13 @@ describe Api::ErrorHandling do
|
|||
get :failure
|
||||
|
||||
expect(response)
|
||||
.to have_http_status(code)
|
||||
.to have_http_status(options[:code])
|
||||
expect(FakeService)
|
||||
.to have_received(:new)
|
||||
expect(body_as_json)
|
||||
.to include(
|
||||
error: match(options[:message])
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue