File size: 2,942 Bytes
ca1059b 0cf8d94 2f4cd16 811e7aa 5e51daa dab9a64 17e4141 0cf8d94 91a4ea9 17e4141 5e51daa 17e4141 dc3bd9b d2eed62 dc3bd9b d2eed62 2f4cd16 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
# -*- coding: utf-8 -*-
from unittest import mock
from unittest.mock import MagicMock
from pytube import Playlist
@mock.patch("pytube.contrib.playlist.request.get")
def test_title(request_get):
request_get.return_value = (
"<title>(149) Python Tutorial for Beginners "
"(For Absolute Beginners) - YouTube</title>"
)
url = "https://www.fakeurl.com/playlist?list=PLsyeobzWxl7poL9JTVyndKe62ieoN"
pl = Playlist(url)
pl_title = pl.title()
assert pl_title == "(149) Python Tutorial for Beginners (For Absolute Beginners)"
def test_init_with_playlist_url():
url = "https://www.youtube.com/playlist?list=PLynhp4cZEpTbRs_PYISQ8v_uwO0_mDg_X"
playlist = Playlist(url)
assert playlist.playlist_url == url
def test_init_with_watch_url():
url = (
"https://www.youtube.com/watch?v=1KeYzjILqDo&"
"list=PLynhp4cZEpTbRs_PYISQ8v_uwO0_mDg_X&index=2&t=661s"
)
playlist = Playlist(url)
assert (
playlist.playlist_url
== "https://www.youtube.com/playlist?list=PLynhp4cZEpTbRs_PYISQ8v_uwO0_mDg_X"
)
@mock.patch("pytube.contrib.playlist.request.get")
def test_parse_links(request_get, playlist_html):
url = "https://www.fakeurl.com/playlist?list=whatever"
request_get.return_value = playlist_html
playlist = Playlist(url)
playlist._find_load_more_url = MagicMock(return_value=None)
links = playlist.parse_links()
request_get.assert_called()
assert links == [
"/watch?v=ujTCoH21GlA",
"/watch?v=45ryDIPHdGg",
"/watch?v=1BYu65vLKdA",
"/watch?v=3AQ_74xrch8",
"/watch?v=ddqQUz9mZaM",
"/watch?v=vwLT6bZrHEE",
"/watch?v=TQKI0KE-JYY",
"/watch?v=dNBvQ38MlT8",
"/watch?v=JHxyrMgOUWI",
"/watch?v=l2I8NycJMCY",
"/watch?v=g1Zbuk1gAfk",
"/watch?v=zixd-si9Q-o",
]
@mock.patch("pytube.contrib.playlist.request.get")
def test_populate_video_urls(request_get, playlist_html):
url = "https://www.fakeurl.com/playlist?list=whatever"
request_get.return_value = playlist_html
playlist = Playlist(url)
playlist._find_load_more_url = MagicMock(return_value=None)
playlist.populate_video_urls()
request_get.assert_called()
assert playlist.video_urls == [
"https://www.youtube.com/watch?v=ujTCoH21GlA",
"https://www.youtube.com/watch?v=45ryDIPHdGg",
"https://www.youtube.com/watch?v=1BYu65vLKdA",
"https://www.youtube.com/watch?v=3AQ_74xrch8",
"https://www.youtube.com/watch?v=ddqQUz9mZaM",
"https://www.youtube.com/watch?v=vwLT6bZrHEE",
"https://www.youtube.com/watch?v=TQKI0KE-JYY",
"https://www.youtube.com/watch?v=dNBvQ38MlT8",
"https://www.youtube.com/watch?v=JHxyrMgOUWI",
"https://www.youtube.com/watch?v=l2I8NycJMCY",
"https://www.youtube.com/watch?v=g1Zbuk1gAfk",
"https://www.youtube.com/watch?v=zixd-si9Q-o",
]
|