def test_query_episode(episodes): video = episodes['dallas_2012_s01e03'] expected_subtitles = {'264417', '256843', '256842'} with SubsCenterProvider() as provider: subtitles = provider.query(series=video.series, season=video.season, episode=video.episode) assert len(subtitles) == len(expected_subtitles) assert {subtitle.id for subtitle in subtitles} == expected_subtitles
def test_query_movie(movies): video = movies['enders_game'] expected_subtitles = {'267118', '266898', '267140'} with SubsCenterProvider() as provider: subtitles = provider.query(title=video.title) assert len(subtitles) == len(expected_subtitles) assert {subtitle.id for subtitle in subtitles} == expected_subtitles
def test_download_subtitle(movies): video = movies['enders_game'] languages = {Language('heb')} with SubsCenterProvider() as provider: subtitles = provider.list_subtitles(video, languages) provider.download_subtitle(subtitles[0]) assert subtitles[0].content is not None assert subtitles[0].is_valid() is True
def test_search_url_titles_episode(episodes): video = episodes['dallas_2012_s01e03'] with SubsCenterProvider() as provider: url_titles = provider._search_url_titles(video.series) assert 'movie' in url_titles assert 'series' in url_titles assert len(url_titles['series']) == 1 assert url_titles['series'][0] == 'dallas'
def test_search_url_titles_movies(movies): video = movies['man_of_steel'] with SubsCenterProvider() as provider: url_titles = provider._search_url_titles(video.title) assert 'movie' in url_titles assert 'series' not in url_titles assert len(url_titles['movie']) == 1 assert url_titles['movie'][0] == 'superman-man-of-steel'
def test_list_subtitles_episode(episodes): video = episodes['got_s03e10'] languages = {Language('heb')} expected_subtitles = {'263128', '263129', '263127', '263139', '263130'} with SubsCenterProvider() as provider: subtitles = provider.list_subtitles(video, languages) assert len(subtitles) == len(expected_subtitles) assert {subtitle.id for subtitle in subtitles} == expected_subtitles assert {subtitle.language for subtitle in subtitles} == languages
def test_list_subtitles_movie(movies): video = movies['man_of_steel'] languages = {Language('heb')} expected_subtitles = {'263600', '263610', '263628', '263607', '263470', '263609', '263630', '263481', '263627', '263493', '265320', '263608', '263479'} with SubsCenterProvider() as provider: subtitles = provider.list_subtitles(video, languages) assert len(subtitles) == len(expected_subtitles) assert {subtitle.id for subtitle in subtitles} == expected_subtitles assert {subtitle.language for subtitle in subtitles} == languages
def test_search_url_title_movies(movies): video = movies['man_of_steel'] with SubsCenterProvider() as provider: url_title = provider._search_url_title(video.title, 'movie') assert url_title == 'superman-man-of-steel'
def test_search_url_title_episode(episodes): video = episodes['dallas_2012_s01e03'] with SubsCenterProvider() as provider: url_title = provider._search_url_title(video.series, 'series') assert url_title == 'dallas'
def test_logout(): provider = SubsCenterProvider('*****@*****.**', 'subliminal') provider.initialize() provider.terminate() assert not provider.logged_in
def test_login_bad_password(): provider = SubsCenterProvider('*****@*****.**', 'lanimilbus') with pytest.raises(AuthenticationError): provider.initialize()
def test_configuration_error_no_password(): with pytest.raises(ConfigurationError): SubsCenterProvider(username='******')
def test_search_url_titles_no_suggestion(): with SubsCenterProvider() as provider: url_titles = provider._search_url_titles('DCs Legends of Tomorrow') assert len(url_titles) == 0