uploads: fix broken tests.
* Fix broken upload tests. * Fix uploads to return an error if both a file and a source are given at the same time, or if neither are given. Also fix the error message in this case so that it doesn't include "base" at the start of the string. * Fix uploads to percent-encode any Unicode characters in the source URL. * Add a max filesize validation to media assets.
This commit is contained in:
@@ -1,45 +1,25 @@
|
||||
require 'fileutils'
|
||||
|
||||
FactoryBot.define do
|
||||
factory(:upload) do
|
||||
rating {"s"}
|
||||
uploader :factory => :user, :level => 20
|
||||
uploader_ip_addr {"127.0.0.1"}
|
||||
tag_string {"special"}
|
||||
status {"pending"}
|
||||
server {Socket.gethostname}
|
||||
source {"xxx"}
|
||||
md5 { SecureRandom.hex(32) }
|
||||
media_asset { build(:media_asset) }
|
||||
uploader factory: :user
|
||||
uploader_ip_addr { "127.0.0.1" }
|
||||
status { "pending" }
|
||||
rating { "s" }
|
||||
tag_string { "" }
|
||||
source { "https://files.catbox.moe/om3tcw.webm" }
|
||||
|
||||
factory(:source_upload) do
|
||||
source {"http://www.google.com/intl/en_ALL/images/logo.gif"}
|
||||
factory(:completed_source_upload) do
|
||||
status { "completed" }
|
||||
source { "https://cdn.donmai.us/original/d3/4e/d34e4cf0a437a5d65f8e82b7bcd02606.jpg" }
|
||||
upload_media_assets { [build(:upload_media_asset)] }
|
||||
end
|
||||
|
||||
factory(:ugoira_upload) do
|
||||
file do
|
||||
f = Tempfile.new
|
||||
IO.copy_stream("#{Rails.root}/test/files/ugoira.zip", f.path)
|
||||
ActionDispatch::Http::UploadedFile.new(tempfile: f, filename: "ugoira.zip")
|
||||
end
|
||||
end
|
||||
factory(:completed_file_upload) do
|
||||
status { "completed" }
|
||||
source { nil }
|
||||
file { Rack::Test::UploadedFile.new("#{Rails.root}/test/files/test.jpg") }
|
||||
|
||||
factory(:jpg_upload) do
|
||||
file do
|
||||
f = Tempfile.new
|
||||
IO.copy_stream("#{Rails.root}/test/files/test.jpg", f.path)
|
||||
ActionDispatch::Http::UploadedFile.new(tempfile: f, filename: "test.jpg")
|
||||
end
|
||||
|
||||
md5 { MediaFile.open("test/files/test.jpg").md5 }
|
||||
media_asset { build(:media_asset, file: "test/files/test.jpg") }
|
||||
end
|
||||
|
||||
factory(:large_jpg_upload) do
|
||||
file do
|
||||
f = Tempfile.new
|
||||
IO.copy_stream("#{Rails.root}/test/files/test-large.jpg", f.path)
|
||||
ActionDispatch::Http::UploadedFile.new(tempfile: f, filename: "test.jpg")
|
||||
upload_media_assets do
|
||||
[build(:upload_media_asset, media_asset: build(:media_asset, file: "test/files/test.jpg"))]
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
6
test/factories/upload_media_asset.rb
Normal file
6
test/factories/upload_media_asset.rb
Normal file
@@ -0,0 +1,6 @@
|
||||
FactoryBot.define do
|
||||
factory(:upload_media_asset) do
|
||||
upload
|
||||
media_asset
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user