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:
parent
f24b81e27f
commit
1fcdaafa6f
14 changed files with 40 additions and 39 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue