diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/test_YoutubeDL.py | 7 | ||||
| -rw-r--r-- | test/test_update.py | 30 | ||||
| -rw-r--r-- | test/test_write_annotations.py | 2 | ||||
| -rw-r--r-- | test/versions.json | 34 | 
4 files changed, 71 insertions, 2 deletions
diff --git a/test/test_YoutubeDL.py b/test/test_YoutubeDL.py index 0388c0bf3..0caa43843 100644 --- a/test/test_YoutubeDL.py +++ b/test/test_YoutubeDL.py @@ -12,7 +12,7 @@ import copy  from test.helper import FakeYDL, assertRegexpMatches  from youtube_dl import YoutubeDL -from youtube_dl.compat import compat_str +from youtube_dl.compat import compat_str, compat_urllib_error  from youtube_dl.extractor import YoutubeIE  from youtube_dl.postprocessor.common import PostProcessor  from youtube_dl.utils import ExtractorError, match_filter_func @@ -631,6 +631,11 @@ class TestYoutubeDL(unittest.TestCase):          result = get_ids({'playlist_items': '10'})          self.assertEqual(result, []) +    def test_urlopen_no_file_protocol(self): +        # see https://github.com/rg3/youtube-dl/issues/8227 +        ydl = YDL() +        self.assertRaises(compat_urllib_error.URLError, ydl.urlopen, 'file:///etc/passwd') +  if __name__ == '__main__':      unittest.main() diff --git a/test/test_update.py b/test/test_update.py new file mode 100644 index 000000000..d9c71511d --- /dev/null +++ b/test/test_update.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python + +from __future__ import unicode_literals + +# Allow direct execution +import os +import sys +import unittest +sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + + +import json +from youtube_dl.update import rsa_verify + + +class TestUpdate(unittest.TestCase): +    def test_rsa_verify(self): +        UPDATES_RSA_KEY = (0x9d60ee4d8f805312fdb15a62f87b95bd66177b91df176765d13514a0f1754bcd2057295c5b6f1d35daa6742c3ffc9a82d3e118861c207995a8031e151d863c9927e304576bc80692bc8e094896fcf11b66f3e29e04e3a71e9a11558558acea1840aec37fc396fb6b65dc81a1c4144e03bd1c011de62e3f1357b327d08426fe93, 65537) +        with open(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'versions.json'), 'rb') as f: +            versions_info = f.read().decode() +        versions_info = json.loads(versions_info) +        signature = versions_info['signature'] +        del versions_info['signature'] +        self.assertTrue(rsa_verify( +            json.dumps(versions_info, sort_keys=True).encode('utf-8'), +            signature, UPDATES_RSA_KEY)) + + +if __name__ == '__main__': +    unittest.main() diff --git a/test/test_write_annotations.py b/test/test_write_annotations.py index 84b8f39e0..8de08f2d6 100644 --- a/test/test_write_annotations.py +++ b/test/test_write_annotations.py @@ -66,7 +66,7 @@ class TestAnnotations(unittest.TestCase):                  textTag = a.find('TEXT')                  text = textTag.text                  self.assertTrue(text in expected)  # assertIn only added in python 2.7 -                # remove the first occurance, there could be more than one annotation with the same text +                # remove the first occurrence, there could be more than one annotation with the same text                  expected.remove(text)          # We should have seen (and removed) all the expected annotation texts.          self.assertEqual(len(expected), 0, 'Not all expected annotations were found.') diff --git a/test/versions.json b/test/versions.json new file mode 100644 index 000000000..6cccc2259 --- /dev/null +++ b/test/versions.json @@ -0,0 +1,34 @@ +{ +    "latest": "2013.01.06",  +    "signature": "72158cdba391628569ffdbea259afbcf279bbe3d8aeb7492690735dc1cfa6afa754f55c61196f3871d429599ab22f2667f1fec98865527b32632e7f4b3675a7ef0f0fbe084d359256ae4bba68f0d33854e531a70754712f244be71d4b92e664302aa99653ee4df19800d955b6c4149cd2b3f24288d6e4b40b16126e01f4c8ce6",  +    "versions": { +        "2013.01.02": { +            "bin": [ +                "http://youtube-dl.org/downloads/2013.01.02/youtube-dl",  +                "f5b502f8aaa77675c4884938b1e4871ebca2611813a0c0e74f60c0fbd6dcca6b" +            ],  +            "exe": [ +                "http://youtube-dl.org/downloads/2013.01.02/youtube-dl.exe",  +                "75fa89d2ce297d102ff27675aa9d92545bbc91013f52ec52868c069f4f9f0422" +            ],  +            "tar": [ +                "http://youtube-dl.org/downloads/2013.01.02/youtube-dl-2013.01.02.tar.gz",  +                "6a66d022ac8e1c13da284036288a133ec8dba003b7bd3a5179d0c0daca8c8196" +            ] +        },  +        "2013.01.06": { +            "bin": [ +                "http://youtube-dl.org/downloads/2013.01.06/youtube-dl",  +                "64b6ed8865735c6302e836d4d832577321b4519aa02640dc508580c1ee824049" +            ],  +            "exe": [ +                "http://youtube-dl.org/downloads/2013.01.06/youtube-dl.exe",  +                "58609baf91e4389d36e3ba586e21dab882daaaee537e4448b1265392ae86ff84" +            ],  +            "tar": [ +                "http://youtube-dl.org/downloads/2013.01.06/youtube-dl-2013.01.06.tar.gz",  +                "fe77ab20a95d980ed17a659aa67e371fdd4d656d19c4c7950e7b720b0c2f1a86" +            ] +        } +    } +}
\ No newline at end of file  | 
