refactor source pixiv test

refactor pixiv download tests
refactor upload test
refactor nico seiga test
refactor twitter tests
This commit is contained in:
r888888888
2016-09-27 16:22:54 -07:00
parent 4fa2741ed2
commit fc7afd44ea
134 changed files with 66158 additions and 70930 deletions

View File

@@ -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

View File

@@ -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")

View File

@@ -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

View File

@@ -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