def test_query_open_subtitles(tmpdir): filename1 = tmpdir.join('Drive (2011) BDRip XviD-COCAIN.avi').ensure() filename2 = tmpdir.join('Project.X.2012.DVDRip.XviD-AMIABLE.avi').ensure() with patch('ss.ServerProxy', autospec=True) as rpc_mock: with patch('ss.calculate_hash_for_file', autospec=True) as hash_mock: hash_mock.return_value = '13ab' rpc_mock.return_value = server = MagicMock(name='MockServer') server.LogIn.return_value = dict(token='TOKEN') server.SearchSubtitles.return_value = dict(data={'SubFileName' : 'movie.srt'}) search_results = ss.query_open_subtitles([str(filename1), str(filename2)], 'eng') rpc_mock.assert_called_once_with( 'http://api.opensubtitles.org/xml-rpc', use_datetime=True, allow_none=True, verbose=0, ) server.LogIn.assert_called_once_with('', '', 'en', 'OS Test User Agent') expected_calls = [ call('TOKEN', [dict(query=u'"Drive" "2011"', sublanguageid='eng'), dict(moviehash='13ab', moviebytesize='0', sublanguageid='eng')]), call('TOKEN', [dict(query=u'"Project X" "2012"', sublanguageid='eng'), dict(moviehash='13ab', moviebytesize='0', sublanguageid='eng')]), ] server.SearchSubtitles.assert_has_calls(expected_calls) server.LogOut.assert_called_once_with('TOKEN') assert search_results == { str(filename1) : {'SubFileName' : 'movie.srt'}, str(filename2) : {'SubFileName' : 'movie.srt'}, }
def test_query_open_subtitles(tmpdir, mocker): filename = tmpdir.join("Drive (2011) BDRip XviD-COCAIN.avi").ensure() rpc_mock = mocker.patch("ss.ServerProxy", autospec=True) hash_mock = mocker.patch("ss.calculate_hash_for_file", autospec=True) hash_mock.return_value = "13ab" rpc_mock.return_value = server = MagicMock(name="MockServer") server.LogIn.return_value = dict(token="TOKEN") server.SearchSubtitles.return_value = dict(data=[{"SubFileName": "movie.srt"}]) search_results = ss.query_open_subtitles(str(filename), "eng") rpc_mock.assert_called_once_with( "http://api.opensubtitles.org/xml-rpc", use_datetime=True, allow_none=True, verbose=0 ) server.LogIn.assert_called_once_with("", "", "en", "ss v" + ss.__version__) expected_calls = [ call( "TOKEN", [ dict(query=u'"Drive" "2011"', sublanguageid="eng"), dict(moviehash="13ab", moviebytesize="0", sublanguageid="eng"), ], ) ] server.SearchSubtitles.assert_has_calls(expected_calls) server.LogOut.assert_called_once_with("TOKEN") assert search_results == [{"SubFileName": "movie.srt"}]
def test_query_open_subtitles(tmpdir, mocker): filename = tmpdir.join('Drive (2011) BDRip XviD-COCAIN.avi').ensure() rpc_mock = mocker.patch('ss.ServerProxy', autospec=True) hash_mock = mocker.patch('ss.calculate_hash_for_file', autospec=True) hash_mock.return_value = '13ab' rpc_mock.return_value = server = MagicMock(name='MockServer') server.LogIn.return_value = dict(token='TOKEN') server.SearchSubtitles.return_value = dict(data=[{ 'SubFileName': 'movie.srt' }]) search_results = ss.query_open_subtitles(str(filename), 'eng') rpc_mock.assert_called_once_with('http://api.opensubtitles.org/xml-rpc', use_datetime=True, allow_none=True, verbose=0) server.LogIn.assert_called_once_with('', '', 'en', 'OS Test User Agent') expected_calls = [ call('TOKEN', [ dict(query=u'"Drive" "2011"', sublanguageid='eng'), dict(moviehash='13ab', moviebytesize='0', sublanguageid='eng') ]), ] server.SearchSubtitles.assert_has_calls(expected_calls) server.LogOut.assert_called_once_with('TOKEN') assert search_results == [{'SubFileName': 'movie.srt'}]
def test_query_open_subtitles(tmpdir, mocker): filename = tmpdir.join('Drive (2011) BDRip XviD-COCAIN.avi').ensure() rpc_mock = mocker.patch('ss.ServerProxy', autospec=True) hash_mock = mocker.patch('ss.calculate_hash_for_file', autospec=True) hash_mock.return_value = '13ab' rpc_mock.return_value = server = MagicMock(name='MockServer') server.LogIn.return_value = dict(token='TOKEN') server.SearchSubtitles.return_value = dict( data=[{'SubFileName': 'movie.srt'}]) search_results = ss.query_open_subtitles(str(filename), 'eng') rpc_mock.assert_called_once_with( 'http://api.opensubtitles.org/xml-rpc', use_datetime=True, allow_none=True, verbose=0) server.LogIn.assert_called_once_with('', '', 'en', 'ss v' + ss.__version__) expected_calls = [ call('TOKEN', [dict(query=u'"Drive" "2011"', sublanguageid='eng'), dict(moviehash='13ab', moviebytesize='0', sublanguageid='eng')]), ] server.SearchSubtitles.assert_has_calls(expected_calls) server.LogOut.assert_called_once_with('TOKEN') assert search_results == [{'SubFileName': 'movie.srt'}]