post replacements: fix self-replacements; don't swallow upload errors.

This commit is contained in:
evazion
2018-09-22 17:17:35 -05:00
parent 39fe5273a9
commit 3414d27c78
2 changed files with 5 additions and 3 deletions

View File

@@ -1,6 +1,7 @@
class UploadService
class Replacer
extend Memoist
class Error < Exception; end
attr_reader :post, :replacement
@@ -86,12 +87,13 @@ class UploadService
tag_string: replacement.tags,
source: replacement.replacement_url,
file: replacement.replacement_file,
replaced_post: post,
original_post_id: post.id
)
upload = preprocessor.start!
return if upload.is_errored?
raise Error, upload.status if upload.is_errored?
upload = preprocessor.finish!(upload)
return if upload.is_errored?
raise Error, upload.status if upload.is_errored?
md5_changed = upload.md5 != post.md5
replacement.replacement_url = find_replacement_url(replacement, upload)

View File

@@ -674,7 +674,7 @@ class UploadServiceTest < ActiveSupport::TestCase
end
should "throw an error" do
assert_raises(ActiveRecord::RecordNotUnique) do
assert_raises(UploadService::Replacer::Error) do
as_user { @post2.replace!(replacement_url: @new_url) }
end
end