refactor source pixiv test
refactor pixiv download tests refactor upload test refactor nico seiga test refactor twitter tests
This commit is contained in:
@@ -2,41 +2,28 @@ require 'test_helper'
|
||||
|
||||
module Downloads
|
||||
class DeviantArtTest < ActiveSupport::TestCase
|
||||
def setup
|
||||
super
|
||||
@record = false
|
||||
setup_vcr
|
||||
end
|
||||
|
||||
context "a download for a deviant art html page" do
|
||||
setup do
|
||||
@source = "http://mochikko.deviantart.com/art/RESOLUTION-339610451"
|
||||
@source = "http://starbitt.deviantart.com/art/09271X-636962118"
|
||||
@tempfile = Tempfile.new("danbooru-test")
|
||||
@download = Downloads::File.new(@source, @tempfile.path)
|
||||
VCR.use_cassette("download-deviant-art-html", :record => :once) do
|
||||
VCR.use_cassette("downloads-deviant-art-test/html", :record => @vcr_record_option) do
|
||||
@download.download!
|
||||
end
|
||||
end
|
||||
|
||||
should "set the html page as the source" do
|
||||
assert_equal("http://orig02.deviantart.net/a45d/f/2012/330/e/7/resolution_by_mochikko-d5m713n.jpg", @download.source)
|
||||
assert_equal("http://orig00.deviantart.net/82ef/f/2016/271/7/1/aaaaaa_by_starbitt-daj8b46.gif", @download.source)
|
||||
end
|
||||
|
||||
should "work" do
|
||||
assert_equal(255_683, ::File.size(@tempfile.path))
|
||||
end
|
||||
end
|
||||
|
||||
context "a download for a deviant art thumbnail" do
|
||||
setup do
|
||||
@source = "http://fc03.deviantart.net/fs71/200H/f/2012/330/e/7/resolution_by_mochikko-d5m713n.jpg"
|
||||
@tempfile = Tempfile.new("danbooru-test")
|
||||
@download = Downloads::File.new(@source, @tempfile.path)
|
||||
VCR.use_cassette("download-deviant-art-thumb", :record => :once) do
|
||||
@download.download!
|
||||
end
|
||||
end
|
||||
|
||||
should "instead download the original version" do
|
||||
assert_equal("http://orig02.deviantart.net/a45d/f/2012/330/e/7/resolution_by_mochikko-d5m713n.jpg", @download.source)
|
||||
end
|
||||
|
||||
should "work" do
|
||||
assert_equal(255_683, ::File.size(@tempfile.path))
|
||||
assert_equal(2948, ::File.size(@tempfile.path))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -2,6 +2,12 @@ require 'test_helper'
|
||||
|
||||
module Downloads
|
||||
class FileTest < ActiveSupport::TestCase
|
||||
def setup
|
||||
super
|
||||
@record = false
|
||||
setup_vcr
|
||||
end
|
||||
|
||||
context "A post download" do
|
||||
setup do
|
||||
@source = "http://www.google.com/intl/en_ALL/images/logo.gif"
|
||||
@@ -26,7 +32,7 @@ module Downloads
|
||||
end
|
||||
|
||||
should "stream a file from an HTTP source" do
|
||||
VCR.use_cassette("download-file-http", :record => :none) do
|
||||
VCR.use_cassette("downloads-file-test/http", :record => @vcr_record_option) do
|
||||
@download.http_get_streaming(@source) do |resp|
|
||||
assert_equal("200", resp.code)
|
||||
assert(resp["Content-Length"].to_i > 0, "File should be larger than 0 bytes")
|
||||
@@ -36,7 +42,7 @@ module Downloads
|
||||
|
||||
should "throw an exception when the file is larger than the maximum" do
|
||||
assert_raise(Downloads::File::Error) do
|
||||
VCR.use_cassette("download-file-http", :record => :none) do
|
||||
VCR.use_cassette("downloads-file-test/http", :record => @vcr_record_option) do
|
||||
@download.http_get_streaming(@source, {}, :max_size => 1) do |resp|
|
||||
end
|
||||
end
|
||||
@@ -44,7 +50,7 @@ module Downloads
|
||||
end
|
||||
|
||||
should "store the file in the tempfile path" do
|
||||
VCR.use_cassette("download-file-http", :record => :none) do
|
||||
VCR.use_cassette("downloads-file-test/http", :record => @vcr_record_option) do
|
||||
@download.download!
|
||||
end
|
||||
|
||||
@@ -54,7 +60,7 @@ module Downloads
|
||||
end
|
||||
|
||||
should "initialize the content type" do
|
||||
VCR.use_cassette("download-file-http", :record => :once) do
|
||||
VCR.use_cassette("downloads-file-test/http", :record => @vcr_record_option) do
|
||||
@download.download!
|
||||
end
|
||||
|
||||
@@ -74,7 +80,7 @@ module Downloads
|
||||
end
|
||||
|
||||
should "stream a file from an HTTPS source" do
|
||||
VCR.use_cassette("download-file-https", :record => :none) do
|
||||
VCR.use_cassette("downloads-file-test/https", :record => @vcr_record_option) do
|
||||
@download.http_get_streaming(@source) do |resp|
|
||||
assert_equal("200", resp.code)
|
||||
assert(resp["Content-Length"].to_i > 0, "File should be larger than 0 bytes")
|
||||
|
||||
@@ -2,11 +2,11 @@ require 'test_helper'
|
||||
|
||||
module Downloads
|
||||
class PixivTest < ActiveSupport::TestCase
|
||||
def assert_downloaded(expected_filesize, source, cassette, record = :once)
|
||||
def assert_downloaded(expected_filesize, source, cassette, record = nil)
|
||||
tempfile = Tempfile.new("danbooru-test")
|
||||
download = Downloads::File.new(source, tempfile.path)
|
||||
|
||||
VCR.use_cassette(cassette, :record => record) do
|
||||
VCR.use_cassette(cassette, :record => (record || @vcr_record_option)) do
|
||||
assert_nothing_raised(Downloads::File::Error) do
|
||||
download.download!
|
||||
end
|
||||
@@ -15,22 +15,23 @@ module Downloads
|
||||
assert_equal(expected_filesize, tempfile.size, "Tested source URL: #{source}")
|
||||
end
|
||||
|
||||
def assert_rewritten(expected_source, test_source, cassette, record = :once)
|
||||
def assert_rewritten(expected_source, test_source, cassette, record = nil)
|
||||
tempfile = Tempfile.new("danbooru-test")
|
||||
download = Downloads::File.new(test_source, tempfile.path)
|
||||
|
||||
VCR.use_cassette(cassette, :record => record) do
|
||||
VCR.use_cassette(cassette, :record => (record || @vcr_record_option)) do
|
||||
rewritten_source, headers, _ = download.before_download(test_source, {}, {})
|
||||
assert_equal(expected_source, rewritten_source, "Tested source URL: #{test_source}")
|
||||
end
|
||||
end
|
||||
|
||||
def assert_not_rewritten(source, cassette, record = :once)
|
||||
def assert_not_rewritten(source, cassette, record = nil)
|
||||
assert_rewritten(source, source, cassette, record)
|
||||
end
|
||||
|
||||
def setup
|
||||
super
|
||||
@record = false
|
||||
setup_vcr
|
||||
end
|
||||
|
||||
@@ -39,7 +40,7 @@ module Downloads
|
||||
Delayed::Worker.delay_jobs = false
|
||||
@tempfile = Tempfile.new("danbooru-test")
|
||||
@download = Downloads::File.new("http://www.pixiv.net/member_illust.php?mode=medium&illust_id=46378654", @tempfile.path)
|
||||
VCR.use_cassette("download-ugoira-converter", :record => :once) do
|
||||
VCR.use_cassette("downloads-pixiv-test/ugoira-converter", :record => @vcr_record_option) do
|
||||
@download.download!
|
||||
end
|
||||
end
|
||||
@@ -72,9 +73,9 @@ module Downloads
|
||||
|
||||
should "work when using new URLs" do
|
||||
# Don't know the actual file size of the thumbnails since they don't work.
|
||||
assert_downloaded(1083, @new_small_thumbnail, "download-pixiv-old-png-new-small-thumbnail")
|
||||
assert_downloaded(1083, @new_medium_thumbnail, "download-pixiv-old-png-new-medium-thumbnail")
|
||||
assert_downloaded(@file_size, @new_full_size_image, "download-pixiv-old-png-new-full-size")
|
||||
assert_downloaded(1083, @new_small_thumbnail, "downloads-pixiv-test/download-old-png-new-small-thumbnail")
|
||||
assert_downloaded(1083, @new_medium_thumbnail, "downloads-pixiv-test/download-old-png-new-medium-thumbnail")
|
||||
assert_downloaded(@file_size, @new_full_size_image, "downloads-pixiv-test/download-old-png-new-full-size")
|
||||
end
|
||||
end
|
||||
|
||||
@@ -95,20 +96,20 @@ module Downloads
|
||||
end
|
||||
|
||||
should "download the full size image" do
|
||||
assert_not_rewritten(@full_size_image, "rewrite-pixiv-new-png-full-size")
|
||||
assert_downloaded(@file_size, @full_size_image, "download-pixiv-new-png-full-size")
|
||||
assert_not_rewritten(@full_size_image, "downloads-pixiv-test/rewrite-new-png-full-size")
|
||||
assert_downloaded(@file_size, @full_size_image, "downloads-pixiv-test/download-new-png-full-size")
|
||||
end
|
||||
|
||||
should "download the full size image instead of the HTML page" do
|
||||
assert_rewritten(@full_size_image, @medium_page, "rewrite-pixiv-new-png-medium-html")
|
||||
assert_rewritten(@full_size_image, @big_page, "rewrite-pixiv-new-png-big-html")
|
||||
assert_downloaded(@file_size, @medium_page, "download-pixiv-new-png-medium-html")
|
||||
assert_downloaded(@file_size, @big_page, "download-pixiv-new-png-big-html")
|
||||
assert_rewritten(@full_size_image, @medium_page, "downloads-pixiv-test/rewrite-new-png-medium-html")
|
||||
assert_rewritten(@full_size_image, @big_page, "downloads-pixiv-test/rewrite-new-png-big-html")
|
||||
assert_downloaded(@file_size, @medium_page, "downloads-pixiv-test/download-new-png-medium-html")
|
||||
assert_downloaded(@file_size, @big_page, "downloads-pixiv-test/download-new-png-big-html")
|
||||
end
|
||||
|
||||
should "download the full size image instead of the thumbnail" do
|
||||
assert_rewritten(@full_size_image, @medium_thumbnail, "rewrite-pixiv-new-png-medium-thumbnail")
|
||||
assert_downloaded(@file_size, @medium_thumbnail, "download-pixiv-new-png-medium-thumbnail")
|
||||
assert_rewritten(@full_size_image, @medium_thumbnail, "downloads-pixiv-test/rewrite-new-png-medium-thumbnail")
|
||||
assert_downloaded(@file_size, @medium_thumbnail, "downloads-pixiv-test/download-new-png-medium-thumbnail")
|
||||
end
|
||||
end
|
||||
|
||||
@@ -130,27 +131,27 @@ module Downloads
|
||||
end
|
||||
|
||||
should "download the full size image" do
|
||||
assert_not_rewritten(@p0_full_size_image, "rewrite-pixiv-new-manga-p0-full-size")
|
||||
assert_not_rewritten(@p1_full_size_image, "rewrite-pixiv-new-manga-p1-full-size")
|
||||
assert_not_rewritten(@p0_full_size_image, "downloads-pixiv-test/rewrite-new-manga-p0-full-size")
|
||||
assert_not_rewritten(@p1_full_size_image, "downloads-pixiv-test/rewrite-new-manga-p1-full-size")
|
||||
|
||||
assert_downloaded(@p0_file_size, @p0_full_size_image, "download-pixiv-new-manga-p0-full-size")
|
||||
assert_downloaded(@p1_file_size, @p1_full_size_image, "download-pixiv-new-manga-p1-full-size")
|
||||
assert_downloaded(@p0_file_size, @p0_full_size_image, "downloads-pixiv-test/download-new-manga-p0-full-size")
|
||||
assert_downloaded(@p1_file_size, @p1_full_size_image, "downloads-pixiv-test/download-new-manga-p1-full-size")
|
||||
end
|
||||
|
||||
should "download the full size image instead of the HTML page" do
|
||||
assert_rewritten(@p0_full_size_image_3, @medium_page, "rewrite-pixiv-new-manga-p0-medium-html")
|
||||
assert_rewritten(@p0_full_size_image_3, @manga_page, "rewrite-pixiv-new-manga-p0-big-html")
|
||||
assert_rewritten(@p1_full_size_image_3, @manga_big_p1_page, "rewrite-pixiv-new-manga-p1-big-html")
|
||||
assert_downloaded(@p0_file_size, @medium_page, "download-pixiv-new-manga-p0-medium-html")
|
||||
assert_downloaded(@p0_file_size, @manga_page, "download-pixiv-new-manga-p0-big-html")
|
||||
assert_downloaded(@p1_file_size, @manga_big_p1_page, "download-pixiv-new-manga-p1-big-html")
|
||||
assert_rewritten(@p0_full_size_image_3, @medium_page, "downloads-pixiv-test/rewrite-new-manga-p0-medium-html")
|
||||
assert_rewritten(@p0_full_size_image_3, @manga_page, "downloads-pixiv-test/rewrite-new-manga-p0-big-html")
|
||||
assert_rewritten(@p1_full_size_image_3, @manga_big_p1_page, "downloads-pixiv-test/rewrite-new-manga-p1-big-html")
|
||||
assert_downloaded(@p0_file_size, @medium_page, "downloads-pixiv-test/download-new-manga-p0-medium-html")
|
||||
assert_downloaded(@p0_file_size, @manga_page, "downloads-pixiv-test/download-new-manga-p0-big-html")
|
||||
assert_downloaded(@p1_file_size, @manga_big_p1_page, "downloads-pixiv-test/download-new-manga-p1-big-html")
|
||||
end
|
||||
|
||||
should "download the full size image instead of the thumbnail" do
|
||||
assert_rewritten(@p0_full_size_image_3, @p0_large_thumbnail, "rewrite-pixiv-new-manga-p0-large-thumbnail")
|
||||
assert_rewritten(@p1_full_size_image_3, @p1_large_thumbnail, "rewrite-pixiv-new-manga-p1-large-thumbnail")
|
||||
assert_downloaded(@p0_file_size, @p0_large_thumbnail, "download-pixiv-new-manga-p0-large-thumbnail")
|
||||
assert_downloaded(@p1_file_size, @p1_large_thumbnail, "download-pixiv-new-manga-p1-large-thumbnail")
|
||||
assert_rewritten(@p0_full_size_image_3, @p0_large_thumbnail, "downloads-pixiv-test/rewrite-new-manga-p0-large-thumbnail")
|
||||
assert_rewritten(@p1_full_size_image_3, @p1_large_thumbnail, "downloads-pixiv-test/rewrite-new-manga-p1-large-thumbnail")
|
||||
assert_downloaded(@p0_file_size, @p0_large_thumbnail, "downloads-pixiv-test/download-new-manga-p0-large-thumbnail")
|
||||
assert_downloaded(@p1_file_size, @p1_large_thumbnail, "downloads-pixiv-test/download-new-manga-p1-large-thumbnail")
|
||||
end
|
||||
end
|
||||
|
||||
@@ -163,18 +164,18 @@ module Downloads
|
||||
end
|
||||
|
||||
should "download the zip file instead of the HTML page" do
|
||||
assert_rewritten(@zip_file, @medium_page, "rewrite-pixiv-ugoira-medium-page")
|
||||
assert_downloaded(@file_size, @medium_page, "download-pixiv-ugoira-medium-page")
|
||||
assert_rewritten(@zip_file, @medium_page, "downloads-pixiv-test/rewrite-ugoira-medium-page")
|
||||
assert_downloaded(@file_size, @medium_page, "downloads-pixiv-test/download-ugoira-medium-page")
|
||||
end
|
||||
|
||||
should "download the zip file instead of the thumbnail" do
|
||||
assert_rewritten(@zip_file, @small_thumbnail, "rewrite-pixiv-ugoira-small-thumbnail")
|
||||
assert_downloaded(@file_size, @small_thumbnail, "download-pixiv-ugoira-small-thumbnail")
|
||||
assert_rewritten(@zip_file, @small_thumbnail, "downloads-pixiv-test/rewrite-ugoira-small-thumbnail")
|
||||
assert_downloaded(@file_size, @small_thumbnail, "downloads-pixiv-test/download-ugoira-small-thumbnail")
|
||||
end
|
||||
|
||||
should "download the zip file" do
|
||||
assert_not_rewritten(@zip_file, "rewrite-pixiv-ugoira-zip-file")
|
||||
assert_downloaded(@file_size, @zip_file, "download-pixiv-ugoira-zip-file")
|
||||
assert_not_rewritten(@zip_file, "downloads-pixiv-test/rewrite-ugoira-zip-file")
|
||||
assert_downloaded(@file_size, @zip_file, "downloads-pixiv-test/download-ugoira-zip-file")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -2,12 +2,18 @@ require 'test_helper'
|
||||
|
||||
module Downloads
|
||||
class TumblrTest < ActiveSupport::TestCase
|
||||
def setup
|
||||
super
|
||||
@record = true
|
||||
setup_vcr
|
||||
end
|
||||
|
||||
context "a download for a tumblr 500 sample" do
|
||||
setup do
|
||||
@source = "http://24.media.tumblr.com/fc328250915434e66e8e6a92773f79d0/tumblr_mf4nshfibc1s0oswoo1_500.jpg"
|
||||
@tempfile = Tempfile.new("danbooru-test")
|
||||
@download = Downloads::File.new(@source, @tempfile.path)
|
||||
VCR.use_cassette("download-tumblr-sample", :record => :new_episodes) do
|
||||
VCR.use_cassette("downloads-tumblr-test/sample", :record => @vcr_record_option) do
|
||||
@download.download!
|
||||
end
|
||||
end
|
||||
@@ -26,7 +32,7 @@ module Downloads
|
||||
@source = "http://25.media.tumblr.com/tumblr_lxbzel2H5y1r9yjhso1_500.jpg"
|
||||
@tempfile = Tempfile.new("danbooru-test")
|
||||
@download = Downloads::File.new(@source, @tempfile.path)
|
||||
VCR.use_cassette("download-tumblr-sample", :record => :new_episodes) do
|
||||
VCR.use_cassette("downloads-tumblr-test/sample", :record => @vcr_record_option) do
|
||||
@download.download!
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user