From ec293eec2d8ae545c40b145b3db2c2a608f66988 Mon Sep 17 00:00:00 2001 From: nonamethanks Date: Sat, 22 Oct 2022 20:04:11 +0200 Subject: [PATCH] Plurk: rewrite tests --- test/unit/sources/plurk_test.rb | 164 +++++++++++++------------------- 1 file changed, 67 insertions(+), 97 deletions(-) diff --git a/test/unit/sources/plurk_test.rb b/test/unit/sources/plurk_test.rb index dfd6087e4..40ac70e4c 100644 --- a/test/unit/sources/plurk_test.rb +++ b/test/unit/sources/plurk_test.rb @@ -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