File size: 1,915 Bytes
cd0bfbf d2c119a 0bbb369 b4ef682 d2c119a b22e0c8 d2c119a 9fb6343 25de36d 9fb6343 0bbb369 b22e0c8 b043411 b4ef682 af1eeee |
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 |
from unittest import mock
import pytest
import pytube
from pytube import YouTube
from pytube.exceptions import RegexMatchError
@mock.patch("urllib.request.install_opener")
def test_install_proxy(opener):
proxies = {"http": "http://www.example.com:3128/"}
YouTube(
"https://www.youtube.com/watch?v=9bZkp7q19f0",
proxies=proxies,
)
opener.assert_called()
@mock.patch("pytube.request.get")
def test_video_unavailable(get):
get.return_value = ""
youtube = YouTube("https://www.youtube.com/watch?v=9bZkp7q19f0")
with pytest.raises(RegexMatchError):
youtube.check_availability()
def test_video_keywords(cipher_signature):
expected = [
'Rewind', 'Rewind 2019',
'youtube rewind 2019', '#YouTubeRewind',
'MrBeast', 'PewDiePie', 'James Charles',
'Shane Dawson', 'CaseyNeistat', 'RiceGum',
'Simone Giertz', 'JennaMarbles', 'Lilly Singh',
'emma chamberlain', 'The Try Guys', 'Fortnite',
'Minecraft', 'Roblox', 'Marshmello',
'Garena Free Fire', 'GTA V', 'Lachlan',
'Anaysa', 'jeffreestar', 'Noah Schnapp',
'Jennelle Eliana', 'T-Series', 'Azzyland',
'LazarBeam', 'Dude Perfect', 'David Dobrik',
'KSI', 'NikkieTutorials', 'Kurzgesagt',
'Jelly', 'Ariana Grande', 'Billie Eilish',
'BLACKPINK', 'Year in Review'
]
assert cipher_signature.keywords == expected
def test_js_caching(cipher_signature):
assert pytube.__js__ is not None
assert pytube.__js_url__ is not None
assert pytube.__js__ == cipher_signature.js
assert pytube.__js_url__ == cipher_signature.js_url
def test_channel_id(cipher_signature):
assert cipher_signature.channel_id == 'UCBR8-60-B28hp2BmDPdntcQ'
def test_channel_url(cipher_signature):
assert cipher_signature.channel_url == 'https://www.youtube.com/channel/UCBR8-60-B28hp2BmDPdntcQ' # noqa:E501
|