]> jfr.im git - yt-dlp.git/blobdiff - test/test_youtube_lists.py
[cleanup] Add more ruff rules (#10149)
[yt-dlp.git] / test / test_youtube_lists.py
index 8691abb67a3f161d9a27259d8fefc9b9f1b6541b..b3f323e21e52037fcc8f2a2b928ff38ee37e14ba 100644 (file)
@@ -1,16 +1,16 @@
 #!/usr/bin/env python3
+
 # Allow direct execution
 import os
 import sys
 import unittest
+
 sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
 
-from test.helper import FakeYDL, is_download_test
 
-from yt_dlp.extractor import (
-    YoutubeIE,
-    YoutubeTabIE,
-)
+from test.helper import FakeYDL, is_download_test
+from yt_dlp.extractor import YoutubeIE, YoutubeTabIE
+from yt_dlp.utils import ExtractorError
 
 
 @is_download_test
@@ -54,6 +54,18 @@ def test_youtube_flat_playlist_extraction(self):
         self.assertEqual(video['duration'], 10)
         self.assertEqual(video['uploader'], 'Philipp Hagemeister')
 
+    def test_youtube_channel_no_uploads(self):
+        dl = FakeYDL()
+        dl.params['extract_flat'] = True
+        ie = YoutubeTabIE(dl)
+        # no uploads
+        with self.assertRaisesRegex(ExtractorError, r'no uploads'):
+            ie.extract('https://www.youtube.com/channel/UC2yXPzFejc422buOIzn_0CA')
+
+        # no uploads and no UCID given
+        with self.assertRaisesRegex(ExtractorError, r'no uploads'):
+            ie.extract('https://www.youtube.com/news')
+
 
 if __name__ == '__main__':
     unittest.main()