mirror of
https://github.com/discourse/discourse.git
synced 2025-03-26 03:55:38 +08:00
FIX: Don't do anything if avatar url returns an invalid status code.
This commit is contained in:
parent
0ded5af616
commit
e57d2f5cb8
@ -75,6 +75,8 @@ class UserAvatar < ActiveRecord::Base
|
|||||||
follow_redirect: true
|
follow_redirect: true
|
||||||
)
|
)
|
||||||
|
|
||||||
|
return unless tempfile
|
||||||
|
|
||||||
ext = FastImage.type(tempfile).to_s
|
ext = FastImage.type(tempfile).to_s
|
||||||
tempfile.rewind
|
tempfile.rewind
|
||||||
|
|
||||||
|
@ -1,10 +1,8 @@
|
|||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe UserAvatar do
|
describe UserAvatar do
|
||||||
let(:avatar){
|
let(:user) { Fabricate(:user) }
|
||||||
user = Fabricate(:user)
|
let(:avatar) { user.create_user_avatar! }
|
||||||
user.create_user_avatar!
|
|
||||||
}
|
|
||||||
|
|
||||||
it 'can update gravatars' do
|
it 'can update gravatars' do
|
||||||
temp = Tempfile.new('test')
|
temp = Tempfile.new('test')
|
||||||
@ -18,7 +16,7 @@ describe UserAvatar do
|
|||||||
expect(avatar.gravatar_upload).not_to eq(nil)
|
expect(avatar.gravatar_upload).not_to eq(nil)
|
||||||
end
|
end
|
||||||
|
|
||||||
context '#import_url_for_user' do
|
context '.import_url_for_user' do
|
||||||
|
|
||||||
it 'creates user_avatar record if missing' do
|
it 'creates user_avatar record if missing' do
|
||||||
user = Fabricate(:user)
|
user = Fabricate(:user)
|
||||||
@ -44,7 +42,20 @@ describe UserAvatar do
|
|||||||
|
|
||||||
user.reload
|
user.reload
|
||||||
expect(user.uploaded_avatar_id).to eq(1)
|
expect(user.uploaded_avatar_id).to eq(1)
|
||||||
expect(user.user_avatar.custom_upload_id).not_to eq(nil)
|
expect(user.user_avatar.custom_upload_id).to eq(Upload.last.id)
|
||||||
|
end
|
||||||
|
|
||||||
|
describe 'when avatar url returns an invalid status code' do
|
||||||
|
it 'should not do anything' do
|
||||||
|
url = "http://thisfakesomething.something.com/"
|
||||||
|
stub_request(:head, url).to_return(status: 404)
|
||||||
|
UserAvatar.import_url_for_user(url, user)
|
||||||
|
|
||||||
|
user.reload
|
||||||
|
|
||||||
|
expect(user.uploaded_avatar_id).to eq(nil)
|
||||||
|
expect(user.user_avatar.custom_upload_id).to eq(nil)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user