def test_on_channel(self): provider = Provider() for channel_id in Client.CHANNEL_ID_LIST: context = nightcrawler.Context('/%s/' % channel_id) result = provider.navigate(context) self.assertGreater(len(result), 0) context = nightcrawler.Context('/%s/library/' % channel_id) result = provider.navigate(context) self.assertGreater(len(result), 0) context = nightcrawler.Context('/%s/Beliebte Sendungen/' % channel_id) result = provider.navigate(context) self.assertGreater(len(result), 0) context = nightcrawler.Context('/%s/Aktuelle ganze Folgen/' % channel_id) result = provider.navigate(context) self.assertGreater(len(result), 0) context = nightcrawler.Context('/%s/Neueste Clips/' % channel_id) result = provider.navigate(context) self.assertGreater(len(result), 0) pass pass
def test_search(self): provider = Provider() context = nightcrawler.Context(provider.PATH_SEARCH_QUERY, {'q': 'angerfist'}) context.set_localization(provider.SOUNDCLOUD_LOCAL_GO_TO_USER, 'Go to %s') result = provider.navigate(context) self.assertGreaterEqual(len(result), 2) # playlist search path, params = nightcrawler.utils.path.from_uri(result[1]['uri']) context = nightcrawler.Context(provider.PATH_SEARCH_QUERY, params) context.set_localization(provider.SOUNDCLOUD_LOCAL_GO_TO_USER, 'Go to %s') result = provider.navigate(context) self.assertGreater(len(result), 0) # people search path, params = nightcrawler.utils.path.from_uri(result[0]['uri']) context = nightcrawler.Context(provider.PATH_SEARCH_QUERY, params) context.set_localization(provider.SOUNDCLOUD_LOCAL_GO_TO_USER, 'Go to %s') result = provider.navigate(context) self.assertGreater(len(result), 0) pass
def test_format_content(self): provider = Provider() # test full context = nightcrawler.Context(path='/pro7/library/pro7:789/') result = provider.navigate(context) context = nightcrawler.Context( path='/pro7/library/pro7:789/Ganze Folgen/') result = provider.navigate(context) pass
def test_on_categories(self): provider = Provider() client = provider._get_client(nightcrawler.Context()) categories = client.get_available() for category in categories: context = nightcrawler.Context(path='/category/%s/' % category['id']) result = provider.navigate(context) self.assertGreater(len(result), 0) pass pass
def test_on_search_query(self): provider = Provider() context = nightcrawler.Context('/search/query/', { 'q': 'trailer', 'limit': '10' }) context.get_search_history().clear() result = provider.navigate(context) self.assertGreaterEqual(len(result), 1) context = nightcrawler.Context(provider.PATH_SEARCH) result = provider.navigate(context) self.assertEquals(len(result), 2) pass
def test_on_play(self): provider = Provider() context = nightcrawler.Context(path='/browse/newest/') result = provider.navigate(context) video = result[0] path, params = nightcrawler.utils.path.from_uri(video['uri']) context = nightcrawler.Context(path, params) settings = context.get_settings() settings.set_int(settings.VIDEO_QUALITY, 1) result = provider.navigate(context) self.assertEquals(result['type'], 'uri') self.assertIsNotNone(result.get('uri', None)) pass
def test_get_follower(self): provider = Provider() context = nightcrawler.Context('/user/follower/2442230/') result = provider.navigate(context) self.assertEquals(len(result), 0) pass
def test_on_root(self): provider = Provider() context = nightcrawler.Context(path='/') result = provider.navigate(context) self.assertGreater(len(result), 0) pass
def test_search(self): provider = Provider() context = nightcrawler.Context(path=provider.PATH_SEARCH_QUERY, params={'q': 'halligalli'}) result = provider.navigate(context) pass
def test_on_year_and_month(self): now = datetime.datetime.now() context = nightcrawler.Context(path='/browse/date/%d/%d/' % (now.year, now.month)) result = Provider().navigate(context) self.assertGreater(len(result), 0) pass
def test_on_search_list(self): provider = Provider() context = nightcrawler.Context(provider.PATH_SEARCH) context.get_search_history().clear() result = provider.navigate(context) self.assertEquals(len(result), 1) pass
def test_get_favorites(self): provider = Provider() context = nightcrawler.Context('/user/favorites/2442230/') context.set_localization(provider.SOUNDCLOUD_LOCAL_GO_TO_USER, 'Go to %s') result = provider.navigate(context) self.assertGreater(len(result), 0) pass
def test_explore_trending(self): provider = Provider() # music context = nightcrawler.Context('/explore/trending/music/') context.set_localization(provider.SOUNDCLOUD_LOCAL_GO_TO_USER, 'Go to %s') result = provider.navigate(context) self.assertEquals(len(result), 51) # 50 + next page # audio context = nightcrawler.Context('/explore/trending/audio/') context.set_localization(provider.SOUNDCLOUD_LOCAL_GO_TO_USER, 'Go to %s') result = provider.navigate(context) self.assertEquals(len(result), 51) # 50 + next page pass
def test_root(self): provider = Provider() # clear all context = nightcrawler.Context('/') result = provider.navigate(context) self.assertGreater(len(result), 0) pass
def test_on_trailer(self): now = datetime.datetime.now() - datetime.timedelta(30) context = nightcrawler.Context(path='/browse/query/%d/%d/' % (now.year, now.month), params={'q': 'trailer'}) result = Provider().navigate(context) self.assertGreaterEqual(len(result), 1) pass
def test_explore_genres_drum_bass(self): provider = Provider() context = nightcrawler.Context('/explore/genre/music/Drum & Bass/') context.set_localization(provider.SOUNDCLOUD_LOCAL_GO_TO_USER, 'Go to %s') result = provider.navigate(context) self.assertEquals(len(result), 51) # 50 + next page pass
def test_get_recommended_for_track(self): provider = Provider() context = nightcrawler.Context( '/explore/recommended/tracks/193347852/') context.set_localization(provider.SOUNDCLOUD_LOCAL_GO_TO_USER, 'Go to %s') result = provider.navigate(context) self.assertGreater(len(result), 0) pass
def test_root(self): # without login context = nightcrawler.Context('/') result = Provider().navigate(context) self.assertEquals(len(result), 2) # 50 + next page # with login context = nightcrawler.Context('/') settings = context.get_settings() settings.set_string(settings.LOGIN_USERNAME, self.USERNAME) settings.set_string(settings.LOGIN_PASSWORD, self.PASSWORD) result = Provider().navigate(context) self.assertEquals(len(result), 4) # 50 + next page # with false login context = nightcrawler.Context('/') settings = context.get_settings() settings.set_string(settings.LOGIN_USERNAME, self.USERNAME) settings.set_string(settings.LOGIN_PASSWORD, 'fail') nightcrawler.run(Provider(), context) pass
def test_play(self): provider = Provider() client = Client() videos = client.get_feed(40) video_id = videos[1]['id'] context = nightcrawler.Context(path='/play/', params={'video_id': video_id}) settings = context.get_settings() settings.set_int(settings.VIDEO_QUALITY, 4) result = provider.navigate(context) pass
def test_on_week_in_review(self): # test years context = nightcrawler.Context(path='/browse/query/', params={'q': 'wochenrueckblick'}) result = Provider().navigate(context) self.assertGreaterEqual(len(result), 1) # test month now = datetime.datetime.now() - datetime.timedelta(30) context = nightcrawler.Context(path='/browse/query/%d/' % now.year, params={'q': 'wochenrueckblick'}) result = Provider().navigate(context) self.assertGreaterEqual(len(result), 1) # test end result context = nightcrawler.Context(path='/browse/query/%d/%d/' % (now.year, now.month), params={'q': 'wochenrueckblick'}) result = Provider().navigate(context) self.assertGreaterEqual(len(result), 1) pass
def test_on_browse_newest(self): context = nightcrawler.Context(path='/browse/newest/') result = Provider().navigate(context) self.assertEquals(len(result), 50) pass
def test_channel_formats(self): provider = Provider() context = nightcrawler.Context('/pro7/library/') result = provider.navigate(context) pass
def test_on_explore(self): context = nightcrawler.Context('/explore/') result = Provider().navigate(context) self.assertEquals(len(result), 4) pass
def test_feed(self): provider = Provider() context = nightcrawler.Context(path='/feed/40/') result = provider.navigate(context) pass
def test_get_user_tracks(self): provider = Provider() context = nightcrawler.Context('/user/tracks/2442230/') result = provider.navigate(context) self.assertGreater(len(result), 0) pass
def test_on_browse_all(self): context = nightcrawler.Context(path='/browse/all/') result = Provider().navigate(context) self.assertGreaterEqual(len(result), 100) pass
def test_on_root(self): context = nightcrawler.Context(path='/') result = Provider().navigate(context) self.assertGreaterEqual(len(result), 7) pass
def test_on_year(self): now = datetime.datetime.now() context = nightcrawler.Context(path='/browse/date/%d/' % now.year) result = Provider().navigate(context) self.assertEquals(len(result), now.month) pass
def test_play(self): provider = Provider() context = nightcrawler.Context('/play/', {'audio_id': 193347852}) result = provider.navigate(context) pass