added tests
Browse files- pytube/request.py +1 -1
- tests/test_captions.py +9 -0
- tests/test_cli.py +11 -0
- tests/test_request.py +7 -0
pytube/request.py
CHANGED
@@ -8,7 +8,7 @@ from urllib.request import urlopen
|
|
8 |
def _execute_request(url: str) -> Any:
|
9 |
if not url.lower().startswith("http"):
|
10 |
raise ValueError
|
11 |
-
return urlopen(Request(url, headers={"User-Agent": "Mozilla/5.0"}))
|
12 |
|
13 |
|
14 |
def get(url) -> str:
|
|
|
8 |
def _execute_request(url: str) -> Any:
|
9 |
if not url.lower().startswith("http"):
|
10 |
raise ValueError
|
11 |
+
return urlopen(Request(url, headers={"User-Agent": "Mozilla/5.0"})) # nosec
|
12 |
|
13 |
|
14 |
def get(url) -> str:
|
tests/test_captions.py
CHANGED
@@ -85,3 +85,12 @@ def test_repr():
|
|
85 |
{"url": "url1", "name": {"simpleText": "name1"}, "languageCode": "en"}
|
86 |
)
|
87 |
assert str(caption) == '<Caption lang="name1" code="en">'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
85 |
{"url": "url1", "name": {"simpleText": "name1"}, "languageCode": "en"}
|
86 |
)
|
87 |
assert str(caption) == '<Caption lang="name1" code="en">'
|
88 |
+
|
89 |
+
|
90 |
+
@mock.patch("pytube.request.get")
|
91 |
+
def test_xml_captions(request_get):
|
92 |
+
request_get.return_value = "test"
|
93 |
+
caption = Caption(
|
94 |
+
{"url": "url1", "name": {"simpleText": "name1"}, "languageCode": "en"}
|
95 |
+
)
|
96 |
+
assert caption.xml_captions == "test"
|
tests/test_cli.py
CHANGED
@@ -156,3 +156,14 @@ def test_main_download_caption(youtube):
|
|
156 |
cli.main()
|
157 |
youtube.assert_called()
|
158 |
cli.download_caption.assert_called()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
156 |
cli.main()
|
157 |
youtube.assert_called()
|
158 |
cli.download_caption.assert_called()
|
159 |
+
|
160 |
+
|
161 |
+
@mock.patch("pytube.cli.YouTube.__init__", return_value=None)
|
162 |
+
def test_download_by_resolution(youtube):
|
163 |
+
parser = argparse.ArgumentParser()
|
164 |
+
args = parse_args(parser, ["urlhere", "-r", "720p"])
|
165 |
+
cli._parse_args = MagicMock(return_value=args)
|
166 |
+
cli.download_by_resolution = MagicMock()
|
167 |
+
cli.main()
|
168 |
+
youtube.assert_called()
|
169 |
+
cli.download_by_resolution.assert_called()
|
tests/test_request.py
CHANGED
@@ -3,6 +3,8 @@ import os
|
|
3 |
|
4 |
from unittest import mock
|
5 |
|
|
|
|
|
6 |
from pytube import request
|
7 |
|
8 |
|
@@ -39,3 +41,8 @@ def test_get(mock_urlopen):
|
|
39 |
mock_urlopen.return_value = response
|
40 |
response = request.get("http://fakeassurl.gov")
|
41 |
assert response == "<html></html>"
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
4 |
from unittest import mock
|
5 |
|
6 |
+
import pytest
|
7 |
+
|
8 |
from pytube import request
|
9 |
|
10 |
|
|
|
41 |
mock_urlopen.return_value = response
|
42 |
response = request.get("http://fakeassurl.gov")
|
43 |
assert response == "<html></html>"
|
44 |
+
|
45 |
+
|
46 |
+
def test_get_non_http():
|
47 |
+
with pytest.raises(ValueError):
|
48 |
+
request.get("file://bad")
|