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