Plurk: rewrite tests

This commit is contained in:
nonamethanks
2022-10-22 20:04:11 +02:00
parent 1b11321161
commit ec293eec2d

View File

@@ -2,105 +2,75 @@ require "test_helper"
module Sources
class PlurkTest < ActiveSupport::TestCase
context "The source for a Plurk picture" do
setup do
@post_url = "https://www.plurk.com/p/om6zv4"
@adult_post_url = "https://www.plurk.com/p/omc64y"
@image_url = "https://images.plurk.com/5wj6WD0r6y4rLN0DL3sqag.jpg"
@profile_url = "https://www.plurk.com/redeyehare"
@post1 = Source::Extractor.find(@post_url)
@post2 = Source::Extractor.find(@image_url)
@post3 = Source::Extractor.find(@profile_url)
@post4 = Source::Extractor.find(@adult_post_url)
end
context "A plurk post" do
strategy_should_work(
"https://www.plurk.com/p/om6zv4",
image_urls: ["https://images.plurk.com/5wj6WD0r6y4rLN0DL3sqag.jpg"],
download_size: 627_697,
artist_name: "紅眼兔@姑且是個畫圖的",
tag_name: "redeyehare",
profile_url: "https://www.plurk.com/redeyehare",
dtext_artist_commentary_desc: "Trick or Treat!\n很久沒畫萬聖賀圖了,畫一波大的 感覺持續復健中"
)
end
should "not raise errors" do
assert_nothing_raised { @post1.to_h }
assert_nothing_raised { @post2.to_h }
assert_nothing_raised { @post3.to_h }
assert_nothing_raised { @post4.to_h }
end
should "get the artist name" do
assert_equal("紅眼兔@姑且是個畫圖的", @post1.artist_name)
assert_equal("redeyehare", @post1.tag_name)
assert_equal("BOW99", @post4.tag_name)
end
should "get profile url" do
assert_equal(@profile_url, @post1.profile_url)
end
should "get the image url" do
assert_equal([@image_url], @post1.image_urls)
assert_equal([@image_url], @post2.image_urls)
end
should "get the image urls for an adult post" do
images = %w[
https://images.plurk.com/yfnumBJqqoQt50Em6xKwf.png
https://images.plurk.com/5NaqqO3Yi6bQW1wKXq1Dc2.png
https://images.plurk.com/3HzNcbMhCozHPk5YY8j9fI.png
https://images.plurk.com/2e0duwn8BpSW9MGuUvbrim.png
https://images.plurk.com/1OuiMDp82hYPEUn64CWFFB.png
https://images.plurk.com/3F3KzZOabeMYkgTeseEZ0r.png
https://images.plurk.com/7onKKTAIXkY4pASszrBys8.png
https://images.plurk.com/6aotmjLGbtMLiI3slN7ODv.png
https://images.plurk.com/6pzn7jE2nkj9EV7H25L0x1.png
https://images.plurk.com/yA8egjDuhy0eNG9yxRj1d.png
https://images.plurk.com/55tbTkH3cKTTYkZe9fu1Pv.png
https://images.plurk.com/5z64F9uUipJ0fMJWXNGHTw.png
https://images.plurk.com/6cwurMe6jymEu6INzmyg74.png
https://images.plurk.com/7zyTReS8UVyCFYtU1DJRYt.png
https://images.plurk.com/1PiRWGzaXozU15Scx1ZC4T.png
https://images.plurk.com/2xzB5qacdLVV75GhaFifaY.png
https://images.plurk.com/7uQENFmFNtWSKF0AAQKffr.png
https://images.plurk.com/7ChGLokdAezvbEjPCLUr8f.png
https://images.plurk.com/3AzjLxynamDGxNDTq4wt5x.png
https://images.plurk.com/3SYjvKc3IBbz6ZXWeG1pY8.png
https://images.plurk.com/7bk2kYN2fEVV0kiT5qoiuO.png
https://images.plurk.com/6mgCwWjSqOfi0BtSg6THcZ.png
https://images.plurk.com/3BwtMvr6S13gr96r5TLIFd.png
https://images.plurk.com/22CPzkRM71frDR5eRMPthC.png
https://images.plurk.com/1IFScoxA7m0FXNu6XirBwa.jpg
https://images.plurk.com/5v1ZXQxbS7ocV4BybwbCSs.jpg
https://images.plurk.com/4n1og7pg4KP3wRYSKpFzF7.png
https://images.plurk.com/5gK1PyPTrVYoeZBr10lEYu.png
https://images.plurk.com/3m8YZS3D9vaAH8Lw1LDTix.png
https://images.plurk.com/3oy7joPrEFm0Wlo7NplXOl.png
https://images.plurk.com/2IBA93ghmCJCJT72mQyLUK.png
https://images.plurk.com/16jqEhVqtuLJwnRjpIDRCr.png
https://images.plurk.com/7cKzaSigAvKc6DKNxeGmnH.png
https://images.plurk.com/ypfkOMsC24hIPGSEWjJ8A.png
https://images.plurk.com/5qW11yr06e9u3t5Zt9Jxmm.png
https://images.plurk.com/4H5st1xsFDSFgLd7gNXgD8.png
https://images.plurk.com/4nf49mWygwQyrYriZ453Qx.png
https://images.plurk.com/2Y0TXcYZkni94j7yxxosV9.png
https://images.plurk.com/5ih71C9XNJDq88wzKbBdNp.png
https://images.plurk.com/UmoZjSHx0Y4NYa3mgKffU.png
https://images.plurk.com/4IHGG5mQNw95vqClFEBoOM.png
https://images.plurk.com/5J3bRPjGBZV8fDxo7cTwGs.png
https://images.plurk.com/3uAjR5oBfe4d6MFThFQ0Gt.png
https://images.plurk.com/3fFJ8RN3HkmfcuUdn7OpnQ.png
https://images.plurk.com/sxkaWnhmDrCSsUEg6Kn9Y.png
https://images.plurk.com/1f3W8JnHlwpt3OlT4ZJhiu.gif
https://images.plurk.com/5lNGKqPCf6opXu21f5DdbU.gif
context "An adult plurk post" do
strategy_should_work(
"https://www.plurk.com/p/omc64y",
profile_url: "https://www.plurk.com/BOW99",
artist_name: "BOW🔞",
tag_name: "BOW99",
dtext_artist_commentary_desc: "[十月號]",
image_urls: [
"https://images.plurk.com/yfnumBJqqoQt50Em6xKwf.png",
"https://images.plurk.com/5NaqqO3Yi6bQW1wKXq1Dc2.png",
"https://images.plurk.com/3HzNcbMhCozHPk5YY8j9fI.png",
"https://images.plurk.com/2e0duwn8BpSW9MGuUvbrim.png",
"https://images.plurk.com/1OuiMDp82hYPEUn64CWFFB.png",
"https://images.plurk.com/3F3KzZOabeMYkgTeseEZ0r.png",
"https://images.plurk.com/7onKKTAIXkY4pASszrBys8.png",
"https://images.plurk.com/6aotmjLGbtMLiI3slN7ODv.png",
"https://images.plurk.com/6pzn7jE2nkj9EV7H25L0x1.png",
"https://images.plurk.com/yA8egjDuhy0eNG9yxRj1d.png",
"https://images.plurk.com/55tbTkH3cKTTYkZe9fu1Pv.png",
"https://images.plurk.com/5z64F9uUipJ0fMJWXNGHTw.png",
"https://images.plurk.com/6cwurMe6jymEu6INzmyg74.png",
"https://images.plurk.com/7zyTReS8UVyCFYtU1DJRYt.png",
"https://images.plurk.com/1PiRWGzaXozU15Scx1ZC4T.png",
"https://images.plurk.com/2xzB5qacdLVV75GhaFifaY.png",
"https://images.plurk.com/7uQENFmFNtWSKF0AAQKffr.png",
"https://images.plurk.com/7ChGLokdAezvbEjPCLUr8f.png",
"https://images.plurk.com/3AzjLxynamDGxNDTq4wt5x.png",
"https://images.plurk.com/3SYjvKc3IBbz6ZXWeG1pY8.png",
"https://images.plurk.com/7bk2kYN2fEVV0kiT5qoiuO.png",
"https://images.plurk.com/6mgCwWjSqOfi0BtSg6THcZ.png",
"https://images.plurk.com/3BwtMvr6S13gr96r5TLIFd.png",
"https://images.plurk.com/22CPzkRM71frDR5eRMPthC.png",
"https://images.plurk.com/1IFScoxA7m0FXNu6XirBwa.jpg",
"https://images.plurk.com/5v1ZXQxbS7ocV4BybwbCSs.jpg",
"https://images.plurk.com/4n1og7pg4KP3wRYSKpFzF7.png",
"https://images.plurk.com/5gK1PyPTrVYoeZBr10lEYu.png",
"https://images.plurk.com/3m8YZS3D9vaAH8Lw1LDTix.png",
"https://images.plurk.com/3oy7joPrEFm0Wlo7NplXOl.png",
"https://images.plurk.com/2IBA93ghmCJCJT72mQyLUK.png",
"https://images.plurk.com/16jqEhVqtuLJwnRjpIDRCr.png",
"https://images.plurk.com/7cKzaSigAvKc6DKNxeGmnH.png",
"https://images.plurk.com/ypfkOMsC24hIPGSEWjJ8A.png",
"https://images.plurk.com/5qW11yr06e9u3t5Zt9Jxmm.png",
"https://images.plurk.com/4H5st1xsFDSFgLd7gNXgD8.png",
"https://images.plurk.com/4nf49mWygwQyrYriZ453Qx.png",
"https://images.plurk.com/2Y0TXcYZkni94j7yxxosV9.png",
"https://images.plurk.com/5ih71C9XNJDq88wzKbBdNp.png",
"https://images.plurk.com/UmoZjSHx0Y4NYa3mgKffU.png",
"https://images.plurk.com/4IHGG5mQNw95vqClFEBoOM.png",
"https://images.plurk.com/5J3bRPjGBZV8fDxo7cTwGs.png",
"https://images.plurk.com/3uAjR5oBfe4d6MFThFQ0Gt.png",
"https://images.plurk.com/3fFJ8RN3HkmfcuUdn7OpnQ.png",
"https://images.plurk.com/sxkaWnhmDrCSsUEg6Kn9Y.png",
"https://images.plurk.com/1f3W8JnHlwpt3OlT4ZJhiu.gif",
"https://images.plurk.com/5lNGKqPCf6opXu21f5DdbU.gif",
]
assert_equal(images, @post4.image_urls)
end
should "download an image" do
assert_downloaded(627_697, @post1.image_urls.sole)
assert_downloaded(627_697, @post2.image_urls.sole)
end
should "find the correct artist" do
@artist = FactoryBot.create(:artist, name: "redeyehare", url_string: @profile_url)
assert_equal([@artist], @post1.artists)
@adult_artist = FactoryBot.create(:artist, name: "bow", url_string: "https://www.plurk.com/BOW99")
assert_equal([@adult_artist], @post4.artists)
end
)
end
should "Parse Plurk URLs correctly" do