diff options
author | gcmalloc <gcmalloc@gmail.com> | 2012-09-28 15:34:56 +0200 |
---|---|---|
committer | gcmalloc <gcmalloc@gmail.com> | 2012-10-12 20:24:58 +0200 |
commit | efe8902f0b354bc43ea36cd09778b1454fbd4bb3 (patch) | |
tree | 839816f8e2565e558e5930af0d808cf2d4bb6b2e | |
parent | 44fb345437553801184377dde05cc8a312fd2da2 (diff) |
adding download test with md5 check
-rw-r--r-- | test/test_download.py | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/test/test_download.py b/test/test_download.py new file mode 100644 index 000000000..ff0d69300 --- /dev/null +++ b/test/test_download.py @@ -0,0 +1,37 @@ +#!/usr/bin/env python2 +import unittest +import hashlib +import os + +from youtube_dl.FileDownloader import FileDownloader +from youtube_dl.InfoExtractors import YoutubeIE + +class DownloadTest(unittest.TestCase): + #calculated with the md5sum utility + #md5sum (GNU coreutils) 8.19 + YOUTUBE_MD5 = "ba4092da68c9ded8ef3aaace5ffd1860" + YOUTUBE_URL = "http://www.youtube.com/watch?v=u0VbyYcljx8&feature=related" + YOUTUBE_FILE = "u0VbyYcljx8.flv" + + def test_youtube(self): + #let's download a file from youtube + global YOUTUBE_URL + fd = FileDownloader({}) + fd.add_info_extractor(YoutubeIE()) + fd.download([DownloadTest.YOUTUBE_URL]) + self.assertTrue(os.path.exists(DownloadTest.YOUTUBE_FILE)) + md5_down_file = md5_for_file(DownloadTest.YOUTUBE_FILE) + self.assertEqual(md5_down_file, DownloadTest.YOUTUBE_MD5) + + def cleanUp(self): + if os.path.exists(DownloadTest.YOUTUBE_FILE): + os.remove(DownloadTest.YOUTUBE_FILE) + +def md5_for_file(f, block_size=2**20): + md5 = hashlib.md5() + while True: + data = f.read(block_size) + if not data: + break + md5.update(data) + return md5.digest() |