uploads: fix upload failure when given nil source (fix #3168).
This commit is contained in:
@@ -393,7 +393,7 @@ class Upload < ApplicationRecord
|
|||||||
|
|
||||||
module DownloaderMethods
|
module DownloaderMethods
|
||||||
def strip_source
|
def strip_source
|
||||||
source.try(:strip)
|
source.to_s.strip
|
||||||
end
|
end
|
||||||
|
|
||||||
# Determines whether the source is downloadable
|
# Determines whether the source is downloadable
|
||||||
|
|||||||
@@ -16,9 +16,11 @@ FactoryGirl.define do
|
|||||||
|
|
||||||
factory(:jpg_upload) do
|
factory(:jpg_upload) do
|
||||||
content_type "image/jpeg"
|
content_type "image/jpeg"
|
||||||
file_path do
|
file do
|
||||||
FileUtils.cp("#{Rails.root}/test/files/test.jpg", "#{Rails.root}/tmp")
|
f = Tempfile.new
|
||||||
"#{Rails.root}/tmp/test.jpg"
|
f.write(File.read("#{Rails.root}/test/files/test.jpg"))
|
||||||
|
f.seek(0)
|
||||||
|
f
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -308,6 +308,14 @@ class UploadTest < ActiveSupport::TestCase
|
|||||||
assert_equal("completed", @upload.status)
|
assert_equal("completed", @upload.status)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
should "process completely for a null source" do
|
||||||
|
@upload = FactoryGirl.create(:jpg_upload, :source => nil)
|
||||||
|
|
||||||
|
assert_difference("Post.count") do
|
||||||
|
assert_nothing_raised {@upload.process!}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
should "delete the temporary file upon completion" do
|
should "delete the temporary file upon completion" do
|
||||||
@upload = FactoryGirl.create(:source_upload,
|
@upload = FactoryGirl.create(:source_upload,
|
||||||
:rating => "s",
|
:rating => "s",
|
||||||
|
|||||||
Reference in New Issue
Block a user