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