diff options
Diffstat (limited to 'test/test_playlists.py')
| -rw-r--r-- | test/test_playlists.py | 111 | 
1 files changed, 79 insertions, 32 deletions
| diff --git a/test/test_playlists.py b/test/test_playlists.py index cc871698a..6448fea38 100644 --- a/test/test_playlists.py +++ b/test/test_playlists.py @@ -1,6 +1,17 @@  #!/usr/bin/env python  # encoding: utf-8 +## DEPRECATED FILE! +# Add new tests to the extractors themselves, like this: +# _TEST = { +#    'url': 'http://example.com/playlist/42', +#    'playlist_mincount': 99, +#    'info_dict': { +#        'id': '42', +#        'title': 'Playlist number forty-two', +#    } +# } +  from __future__ import unicode_literals  # Allow direct execution @@ -11,6 +22,7 @@ sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))  from test.helper import (      assertRegexpMatches, +    assertGreaterEqual,      expect_info_dict,      FakeYDL,  ) @@ -28,7 +40,9 @@ from youtube_dl.extractor import (      SoundcloudSetIE,      SoundcloudUserIE,      SoundcloudPlaylistIE, +    TeacherTubeUserIE,      LivestreamIE, +    LivestreamOriginalIE,      NHLVideocenterIE,      BambuserChannelIE,      BandcampAlbumIE, @@ -39,6 +53,7 @@ from youtube_dl.extractor import (      KhanAcademyIE,      EveryonesMixtapeIE,      RutubeChannelIE, +    RutubePersonIE,      GoogleSearchIE,      GenericIE,      TEDIE, @@ -68,8 +83,8 @@ class TestPlaylists(unittest.TestCase):          ie = DailymotionUserIE(dl)          result = ie.extract('https://www.dailymotion.com/user/nqtv')          self.assertIsPlaylist(result) +        assertGreaterEqual(self, len(result['entries']), 100)          self.assertEqual(result['title'], 'Rémi Gaillard') -        self.assertTrue(len(result['entries']) >= 100)      def test_vimeo_channel(self):          dl = FakeYDL() @@ -108,15 +123,15 @@ class TestPlaylists(unittest.TestCase):          ie = VineUserIE(dl)          result = ie.extract('https://vine.co/Visa')          self.assertIsPlaylist(result) -        self.assertTrue(len(result['entries']) >= 50) +        assertGreaterEqual(self, len(result['entries']), 47)      def test_ustream_channel(self):          dl = FakeYDL()          ie = UstreamChannelIE(dl) -        result = ie.extract('http://www.ustream.tv/channel/young-americans-for-liberty') +        result = ie.extract('http://www.ustream.tv/channel/channeljapan')          self.assertIsPlaylist(result) -        self.assertEqual(result['id'], '5124905') -        self.assertTrue(len(result['entries']) >= 6) +        self.assertEqual(result['id'], '10874166') +        assertGreaterEqual(self, len(result['entries']), 54)      def test_soundcloud_set(self):          dl = FakeYDL() @@ -124,7 +139,7 @@ class TestPlaylists(unittest.TestCase):          result = ie.extract('https://soundcloud.com/the-concept-band/sets/the-royal-concept-ep')          self.assertIsPlaylist(result)          self.assertEqual(result['title'], 'The Royal Concept EP') -        self.assertTrue(len(result['entries']) >= 6) +        assertGreaterEqual(self, len(result['entries']), 6)      def test_soundcloud_user(self):          dl = FakeYDL() @@ -132,7 +147,15 @@ class TestPlaylists(unittest.TestCase):          result = ie.extract('https://soundcloud.com/the-concept-band')          self.assertIsPlaylist(result)          self.assertEqual(result['id'], '9615865') -        self.assertTrue(len(result['entries']) >= 12) +        assertGreaterEqual(self, len(result['entries']), 12) + +    def test_soundcloud_likes(self): +        dl = FakeYDL() +        ie = SoundcloudUserIE(dl) +        result = ie.extract('https://soundcloud.com/the-concept-band/likes') +        self.assertIsPlaylist(result) +        self.assertEqual(result['id'], '9615865') +        assertGreaterEqual(self, len(result['entries']), 1)      def test_soundcloud_playlist(self):          dl = FakeYDL() @@ -142,7 +165,7 @@ class TestPlaylists(unittest.TestCase):          self.assertEqual(result['id'], '4110309')          self.assertEqual(result['title'], 'TILT Brass - Bowery Poetry Club, August \'03 [Non-Site SCR 02]')          assertRegexpMatches( -            self, result['description'], r'TILT Brass - Bowery Poetry Club') +            self, result['description'], r'.*?TILT Brass - Bowery Poetry Club')          self.assertEqual(len(result['entries']), 6)      def test_livestream_event(self): @@ -151,7 +174,15 @@ class TestPlaylists(unittest.TestCase):          result = ie.extract('http://new.livestream.com/tedx/cityenglish')          self.assertIsPlaylist(result)          self.assertEqual(result['title'], 'TEDCity2.0 (English)') -        self.assertTrue(len(result['entries']) >= 4) +        assertGreaterEqual(self, len(result['entries']), 4) + +    def test_livestreamoriginal_folder(self): +        dl = FakeYDL() +        ie = LivestreamOriginalIE(dl) +        result = ie.extract('https://www.livestream.com/newplay/folder?dirId=a07bf706-d0e4-4e75-a747-b021d84f2fd3') +        self.assertIsPlaylist(result) +        self.assertEqual(result['id'], 'a07bf706-d0e4-4e75-a747-b021d84f2fd3') +        assertGreaterEqual(self, len(result['entries']), 28)      def test_nhl_videocenter(self):          dl = FakeYDL() @@ -168,15 +199,15 @@ class TestPlaylists(unittest.TestCase):          result = ie.extract('http://bambuser.com/channel/pixelversity')          self.assertIsPlaylist(result)          self.assertEqual(result['title'], 'pixelversity') -        self.assertTrue(len(result['entries']) >= 60) +        assertGreaterEqual(self, len(result['entries']), 60)      def test_bandcamp_album(self):          dl = FakeYDL()          ie = BandcampAlbumIE(dl) -        result = ie.extract('http://mpallante.bandcamp.com/album/nightmare-night-ep') +        result = ie.extract('http://nightbringer.bandcamp.com/album/hierophany-of-the-open-grave')          self.assertIsPlaylist(result) -        self.assertEqual(result['title'], 'Nightmare Night EP') -        self.assertTrue(len(result['entries']) >= 4) +        self.assertEqual(result['title'], 'Hierophany of the Open Grave') +        assertGreaterEqual(self, len(result['entries']), 9)      def test_smotri_community(self):          dl = FakeYDL() @@ -185,7 +216,7 @@ class TestPlaylists(unittest.TestCase):          self.assertIsPlaylist(result)          self.assertEqual(result['id'], 'kommuna')          self.assertEqual(result['title'], 'КПРФ') -        self.assertTrue(len(result['entries']) >= 4) +        assertGreaterEqual(self, len(result['entries']), 4)      def test_smotri_user(self):          dl = FakeYDL() @@ -194,7 +225,7 @@ class TestPlaylists(unittest.TestCase):          self.assertIsPlaylist(result)          self.assertEqual(result['id'], 'inspector')          self.assertEqual(result['title'], 'Inspector') -        self.assertTrue(len(result['entries']) >= 9) +        assertGreaterEqual(self, len(result['entries']), 9)      def test_AcademicEarthCourse(self):          dl = FakeYDL() @@ -209,20 +240,20 @@ class TestPlaylists(unittest.TestCase):      def test_ivi_compilation(self):          dl = FakeYDL()          ie = IviCompilationIE(dl) -        result = ie.extract('http://www.ivi.ru/watch/dezhurnyi_angel') +        result = ie.extract('http://www.ivi.ru/watch/dvoe_iz_lartsa')          self.assertIsPlaylist(result) -        self.assertEqual(result['id'], 'dezhurnyi_angel') -        self.assertEqual(result['title'], 'Дежурный ангел (2010 - 2012)') -        self.assertTrue(len(result['entries']) >= 23) +        self.assertEqual(result['id'], 'dvoe_iz_lartsa') +        self.assertEqual(result['title'], 'Двое из ларца (2006 - 2008)') +        assertGreaterEqual(self, len(result['entries']), 24)      def test_ivi_compilation_season(self):          dl = FakeYDL()          ie = IviCompilationIE(dl) -        result = ie.extract('http://www.ivi.ru/watch/dezhurnyi_angel/season2') +        result = ie.extract('http://www.ivi.ru/watch/dvoe_iz_lartsa/season1')          self.assertIsPlaylist(result) -        self.assertEqual(result['id'], 'dezhurnyi_angel/season2') -        self.assertEqual(result['title'], 'Дежурный ангел (2010 - 2012) 2 сезон') -        self.assertTrue(len(result['entries']) >= 7) +        self.assertEqual(result['id'], 'dvoe_iz_lartsa/season1') +        self.assertEqual(result['title'], 'Двое из ларца (2006 - 2008) 1 сезон') +        assertGreaterEqual(self, len(result['entries']), 12)      def test_imdb_list(self):          dl = FakeYDL() @@ -241,7 +272,7 @@ class TestPlaylists(unittest.TestCase):          self.assertEqual(result['id'], 'cryptography')          self.assertEqual(result['title'], 'Journey into cryptography')          self.assertEqual(result['description'], 'How have humans protected their secret messages through history? What has changed today?') -        self.assertTrue(len(result['entries']) >= 3) +        assertGreaterEqual(self, len(result['entries']), 3)      def test_EveryonesMixtape(self):          dl = FakeYDL() @@ -255,10 +286,18 @@ class TestPlaylists(unittest.TestCase):      def test_rutube_channel(self):          dl = FakeYDL()          ie = RutubeChannelIE(dl) -        result = ie.extract('http://rutube.ru/tags/video/1409') +        result = ie.extract('http://rutube.ru/tags/video/1800/') +        self.assertIsPlaylist(result) +        self.assertEqual(result['id'], '1800') +        assertGreaterEqual(self, len(result['entries']), 68) + +    def test_rutube_person(self): +        dl = FakeYDL() +        ie = RutubePersonIE(dl) +        result = ie.extract('http://rutube.ru/video/person/313878/')          self.assertIsPlaylist(result) -        self.assertEqual(result['id'], '1409') -        self.assertTrue(len(result['entries']) >= 34) +        self.assertEqual(result['id'], '313878') +        assertGreaterEqual(self, len(result['entries']), 37)      def test_multiple_brightcove_videos(self):          # https://github.com/rg3/youtube-dl/issues/2283 @@ -295,7 +334,7 @@ class TestPlaylists(unittest.TestCase):          self.assertIsPlaylist(result)          self.assertEqual(result['id'], '10')          self.assertEqual(result['title'], 'Who are the hackers?') -        self.assertTrue(len(result['entries']) >= 6) +        assertGreaterEqual(self, len(result['entries']), 6)      def test_toypics_user(self):          dl = FakeYDL() @@ -303,7 +342,7 @@ class TestPlaylists(unittest.TestCase):          result = ie.extract('http://videos.toypics.net/Mikey')          self.assertIsPlaylist(result)          self.assertEqual(result['id'], 'Mikey') -        self.assertTrue(len(result['entries']) >= 17) +        assertGreaterEqual(self, len(result['entries']), 17)      def test_xtube_user(self):          dl = FakeYDL() @@ -311,7 +350,7 @@ class TestPlaylists(unittest.TestCase):          result = ie.extract('http://www.xtube.com/community/profile.php?user=greenshowers')          self.assertIsPlaylist(result)          self.assertEqual(result['id'], 'greenshowers') -        self.assertTrue(len(result['entries']) >= 155) +        assertGreaterEqual(self, len(result['entries']), 155)      def test_InstagramUser(self):          dl = FakeYDL() @@ -319,7 +358,7 @@ class TestPlaylists(unittest.TestCase):          result = ie.extract('http://instagram.com/porsche')          self.assertIsPlaylist(result)          self.assertEqual(result['id'], 'porsche') -        self.assertTrue(len(result['entries']) >= 2) +        assertGreaterEqual(self, len(result['entries']), 2)          test_video = next(              e for e in result['entries']              if e['id'] == '614605558512799803_462752227') @@ -358,7 +397,15 @@ class TestPlaylists(unittest.TestCase):          self.assertEqual(result['id'], '152147')          self.assertEqual(              result['title'], 'Brace Yourself - Today\'s Weirdest News') -        self.assertTrue(len(result['entries']) >= 10) +        assertGreaterEqual(self, len(result['entries']), 10) + +    def test_TeacherTubeUser(self): +        dl = FakeYDL() +        ie = TeacherTubeUserIE(dl) +        result = ie.extract('http://www.teachertube.com/user/profile/rbhagwati2') +        self.assertIsPlaylist(result) +        self.assertEqual(result['id'], 'rbhagwati2') +        assertGreaterEqual(self, len(result['entries']), 179)  if __name__ == '__main__':      unittest.main() | 
