diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2017-09-09 17:36:27 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-09 17:36:27 +0200 |
commit | 90712d42933efd9978e4bbae82f81a4650aa4d84 (patch) | |
tree | 93300daea81cc1843f02a2a3edbbcd8b2a2c5d67 | |
parent | 6867681c7c0b4a5ec48511c013c3f3aa8684bdae (diff) |
Fix errors preventing UnsubscribeService from working (#4866)
-rw-r--r-- | app/services/unsubscribe_service.rb | 13 | ||||
-rw-r--r-- | spec/services/unsubscribe_service_spec.rb | 2 |
2 files changed, 9 insertions, 6 deletions
diff --git a/app/services/unsubscribe_service.rb b/app/services/unsubscribe_service.rb index 865f783bc..b99046712 100644 --- a/app/services/unsubscribe_service.rb +++ b/app/services/unsubscribe_service.rb @@ -4,16 +4,19 @@ class UnsubscribeService < BaseService def call(account) return if account.hub_url.blank? - @account = account - @response = build_request.perform + @account = account - Rails.logger.debug "PuSH unsubscribe for #{@account.acct} failed: #{@response.status}" unless @response.status.success? + begin + @response = build_request.perform + + Rails.logger.debug "PuSH unsubscribe for #{@account.acct} failed: #{@response.status}" unless @response.status.success? + rescue HTTP::Error, OpenSSL::SSL::SSLError => e + Rails.logger.debug "PuSH unsubscribe for #{@account.acct} failed: #{e}" + end @account.secret = '' @account.subscription_expires_at = nil @account.save! - rescue HTTP::Error, OpenSSL::SSL::SSLError - Rails.logger.debug "PuSH subscription request for #{@account.acct} could not be made due to HTTP or SSL error" end private diff --git a/spec/services/unsubscribe_service_spec.rb b/spec/services/unsubscribe_service_spec.rb index c81772037..2a02f4c75 100644 --- a/spec/services/unsubscribe_service_spec.rb +++ b/spec/services/unsubscribe_service_spec.rb @@ -26,7 +26,7 @@ RSpec.describe UnsubscribeService do stub_request(:post, 'http://hub.example.com/').to_raise(HTTP::Error) subject.call(account) - expect(logger).to have_received(:debug).with(/PuSH subscription request for bob@example.com could not be made due to HTTP or SSL error/) + expect(logger).to have_received(:debug).with(/unsubscribe for bob@example.com failed/) end def stub_logger |