]> jfr.im git - yt-dlp.git/blobdiff - test/test_downloader_http.py
[test:download] Raise on network errors (#10283)
[yt-dlp.git] / test / test_downloader_http.py
index c8e28bd3a3c51136077a1aa8adc11ec43c73b309..faba0bc9c8d604b71c9da806dd96a7a4a2ee69dd 100644 (file)
@@ -1,28 +1,30 @@
-#!/usr/bin/env python
-# coding: utf-8
-from __future__ import unicode_literals
+#!/usr/bin/env python3
 
 # Allow direct execution
 import os
-import re
 import sys
 import unittest
+
 sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
 
-from test.helper import http_server_port, try_rm
-from youtube_dlc import YoutubeDL
-from youtube_dlc.compat import compat_http_server
-from youtube_dlc.downloader.http import HttpFD
-from youtube_dlc.utils import encodeFilename
+
+import http.server
+import re
 import threading
 
+from test.helper import http_server_port, try_rm
+from yt_dlp import YoutubeDL
+from yt_dlp.downloader.http import HttpFD
+from yt_dlp.utils import encodeFilename
+from yt_dlp.utils._utils import _YDLLogger as FakeLogger
+
 TEST_DIR = os.path.dirname(os.path.abspath(__file__))
 
 
 TEST_SIZE = 10 * 1024
 
 
-class HTTPTestRequestHandler(compat_http_server.BaseHTTPRequestHandler):
+class HTTPTestRequestHandler(http.server.BaseHTTPRequestHandler):
     def log_message(self, format, *args):
         pass
 
@@ -36,9 +38,9 @@ def send_content_range(self, total=None):
                 end = int(mobj.group(2))
         valid_range = start is not None and end is not None
         if valid_range:
-            content_range = 'bytes %d-%d' % (start, end)
+            content_range = f'bytes {start}-{end}'
             if total:
-                content_range += '/%d' % total
+                content_range += f'/{total}'
             self.send_header('Content-Range', content_range)
         return (end - start + 1) if valid_range else total
 
@@ -66,20 +68,9 @@ def do_GET(self):
             assert False
 
 
-class FakeLogger(object):
-    def debug(self, msg):
-        pass
-
-    def warning(self, msg):
-        pass
-
-    def error(self, msg):
-        pass
-
-
 class TestHttpFD(unittest.TestCase):
     def setUp(self):
-        self.httpd = compat_http_server.HTTPServer(
+        self.httpd = http.server.HTTPServer(
             ('127.0.0.1', 0), HTTPTestRequestHandler)
         self.port = http_server_port(self.httpd)
         self.server_thread = threading.Thread(target=self.httpd.serve_forever)
@@ -93,9 +84,9 @@ def download(self, params, ep):
         filename = 'testfile.mp4'
         try_rm(encodeFilename(filename))
         self.assertTrue(downloader.real_download(filename, {
-            'url': 'http://127.0.0.1:%d/%s' % (self.port, ep),
-        }))
-        self.assertEqual(os.path.getsize(encodeFilename(filename)), TEST_SIZE)
+            'url': f'http://127.0.0.1:{self.port}/{ep}',
+        }), ep)
+        self.assertEqual(os.path.getsize(encodeFilename(filename)), TEST_SIZE, ep)
         try_rm(encodeFilename(filename))
 
     def download_all(self, params):