rescue HTTP::ConnectionError in RemoteFollowController#create (#4726)

lolsob-rspec
abcang 2017-08-29 02:12:09 +09:00 committed by Eugen Rochko
parent 67223002d8
commit 4fb007764b
2 changed files with 9 additions and 1 deletions

View File

@ -42,7 +42,7 @@ class RemoteFollow
def acct_resource def acct_resource
@_acct_resource ||= Goldfinger.finger("acct:#{acct}") @_acct_resource ||= Goldfinger.finger("acct:#{acct}")
rescue Goldfinger::Error rescue Goldfinger::Error, HTTP::ConnectionError
nil nil
end end

View File

@ -87,6 +87,14 @@ describe RemoteFollowController do
expect(response).to render_template(:new) expect(response).to render_template(:new)
expect(response.body).to include(I18n.t('remote_follow.missing_resource')) expect(response.body).to include(I18n.t('remote_follow.missing_resource'))
end end
it 'renders new when occur HTTP::ConnectionError' do
allow(Goldfinger).to receive(:finger).with('acct:user@unknown').and_raise(HTTP::ConnectionError)
post :create, params: { account_username: @account.to_param, remote_follow: { acct: 'user@unknown' } }
expect(response).to render_template(:new)
expect(response.body).to include(I18n.t('remote_follow.missing_resource'))
end
end end
end end