0
0
Fork 0

Fix webfinger retries (#4275)

* Do not raise unretryable exceptions in ResolveRemoteAccountService

* Removed fatal exceptions from ResolveRemoteAccountService

Exceptions that cannot be retried should not be raised. New exception
class for those that can be retried (Mastodon::UnexpectedResponseError)
This commit is contained in:
Eugen Rochko 2017-07-20 01:59:07 +02:00 committed by GitHub
parent f24b81e27f
commit 1fcdaafa6f
14 changed files with 40 additions and 39 deletions

View file

@ -22,11 +22,11 @@ RSpec.describe ResolveRemoteAccountService do
end
it 'raises error if no such user can be resolved via webfinger' do
expect { subject.call('catsrgr8@quitter.no') }.to raise_error Goldfinger::Error
expect(subject.call('catsrgr8@quitter.no')).to be_nil
end
it 'raises error if the domain does not have webfinger' do
expect { subject.call('catsrgr8@example.com') }.to raise_error Goldfinger::Error
expect(subject.call('catsrgr8@example.com')).to be_nil
end
it 'returns an already existing remote account' do
@ -58,7 +58,7 @@ RSpec.describe ResolveRemoteAccountService do
end
it 'prevents hijacking inexisting accounts' do
expect { subject.call('hacker2@redirected.com') }.to raise_error Goldfinger::Error
expect(subject.call('hacker2@redirected.com')).to be_nil
end
it 'returns a new remote account' do

View file

@ -33,11 +33,11 @@ RSpec.describe SubscribeService do
it 'fails loudly if PuSH hub is unavailable' do
stub_request(:post, 'http://hub.example.com/').to_return(status: 503)
expect { subject.call(account) }.to raise_error(/Subscription attempt failed/)
expect { subject.call(account) }.to raise_error Mastodon::UnexpectedResponseError
end
it 'fails loudly if rate limited' do
stub_request(:post, 'http://hub.example.com/').to_return(status: 429)
expect { subject.call(account) }.to raise_error(/Subscription attempt failed/)
expect { subject.call(account) }.to raise_error Mastodon::UnexpectedResponseError
end
end