feat: add AAZ音乐 playback support
This commit is contained in:
@@ -97,6 +97,9 @@ FOLDER_DETAIL_HTML = """
|
||||
</body></html>
|
||||
"""
|
||||
|
||||
PLAY_JSON = '{"url":"https://cdn.example.com/aaz/song2001.mp3","pic":"https://cdn.example.com/cover.jpg"}'
|
||||
EMPTY_PLAY_JSON = '{"url":""}'
|
||||
|
||||
|
||||
class TestAAZMusicSpider(unittest.TestCase):
|
||||
def setUp(self):
|
||||
@@ -191,6 +194,20 @@ class TestAAZMusicSpider(unittest.TestCase):
|
||||
def test_detail_content_returns_empty_list_for_invalid_vod_id(self):
|
||||
self.assertEqual(self.spider.detailContent(["bad"])["list"], [])
|
||||
|
||||
@patch.object(Spider, "fetch")
|
||||
def test_player_content_resolves_song_id_to_direct_url(self, mock_fetch):
|
||||
mock_fetch.return_value = SimpleNamespace(status_code=200, text=PLAY_JSON)
|
||||
result = self.spider.playerContent("AAZ音乐", "song:2001", {})
|
||||
self.assertEqual(result["parse"], 0)
|
||||
self.assertEqual(result["url"], "https://cdn.example.com/aaz/song2001.mp3")
|
||||
self.assertEqual(result["header"]["Referer"], "https://www.aaz.cx/")
|
||||
|
||||
@patch.object(Spider, "fetch")
|
||||
def test_player_content_returns_empty_url_for_invalid_or_empty_payload(self, mock_fetch):
|
||||
mock_fetch.return_value = SimpleNamespace(status_code=200, text=EMPTY_PLAY_JSON)
|
||||
self.assertEqual(self.spider.playerContent("AAZ音乐", "song:2001", {})["url"], "")
|
||||
self.assertEqual(self.spider.playerContent("AAZ音乐", "bad", {})["url"], "")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user