diff --git a/app/models/user_avatar.rb b/app/models/user_avatar.rb index 437f07949b0..4092d390339 100644 --- a/app/models/user_avatar.rb +++ b/app/models/user_avatar.rb @@ -34,6 +34,7 @@ class UserAvatar < ActiveRecord::Base else gravatar_upload end + rescue OpenURI::HTTPError save! ensure tempfile.unlink if tempfile diff --git a/spec/components/cooked_post_processor_spec.rb b/spec/components/cooked_post_processor_spec.rb index 403d5875cf1..d11ba90909e 100644 --- a/spec/components/cooked_post_processor_spec.rb +++ b/spec/components/cooked_post_processor_spec.rb @@ -82,8 +82,9 @@ describe CookedPostProcessor do let(:cpp) { CookedPostProcessor.new(post) } before do - SiteSetting.stubs(:max_image_height).returns(2000) - SiteSetting.stubs(:create_thumbnails?).returns(true) + SiteSetting.max_image_height = 2000 + SiteSetting.create_thumbnails = true + Upload.expects(:get_from_url).returns(upload) FastImage.stubs(:size).returns([1000, 2000]) # optimized_image diff --git a/spec/models/user_avatar_spec.rb b/spec/models/user_avatar_spec.rb index 052a648767c..93fc9a9cec0 100644 --- a/spec/models/user_avatar_spec.rb +++ b/spec/models/user_avatar_spec.rb @@ -13,6 +13,10 @@ describe UserAvatar do it 'can update gravatars' do temp = Tempfile.new('test') + temp.binmode + # tiny valid png + temp.write(Base64.decode64("R0lGODlhAQABALMAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwICAgP8AAAD/AP//AAAA//8A/wD//wBiZCH5BAEAAA8ALAAAAAABAAEAAAQC8EUAOw==")) + temp.rewind FileHelper.expects(:download).returns(temp) avatar.update_gravatar! temp.unlink