logo

mastofe

My custom branche(s) on git.pleroma.social/pleroma/mastofe
commit: 90712d42933efd9978e4bbae82f81a4650aa4d84
parent: 6867681c7c0b4a5ec48511c013c3f3aa8684bdae
Author: Eugen Rochko <eugen@zeonfederated.com>
Date:   Sat,  9 Sep 2017 17:36:27 +0200

Fix errors preventing UnsubscribeService from working (#4866)


Diffstat:

Mapp/services/unsubscribe_service.rb13++++++++-----
Mspec/services/unsubscribe_service_spec.rb2+-
2 files changed, 9 insertions(+), 6 deletions(-)

diff --git 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 @@ -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