| 
									
										
										
										
											2016-02-20 23:10:39 +08:00
										 |  |  | #!/usr/bin/env python | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | from __future__ import unicode_literals | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # 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 | 
					
						
							|  |  |  | from youtube_dl.extractor import IqiyiIE | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class IqiyiIEWithCredentials(IqiyiIE): | 
					
						
							|  |  |  |     def _get_login_info(self): | 
					
						
							|  |  |  |         return 'foo', 'bar' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class WarningLogger(object): | 
					
						
							|  |  |  |     def __init__(self): | 
					
						
							|  |  |  |         self.messages = [] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def warning(self, msg): | 
					
						
							|  |  |  |         self.messages.append(msg) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def debug(self, msg): | 
					
						
							|  |  |  |         pass | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def error(self, msg): | 
					
						
							|  |  |  |         pass | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class TestIqiyiSDKInterpreter(unittest.TestCase): | 
					
						
							|  |  |  |     def test_iqiyi_sdk_interpreter(self): | 
					
						
							|  |  |  |         '''
 | 
					
						
							|  |  |  |         Test the functionality of IqiyiSDKInterpreter by trying to log in | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         If `sign` is incorrect, /validate call throws an HTTP 556 error | 
					
						
							|  |  |  |         '''
 | 
					
						
							|  |  |  |         logger = WarningLogger() | 
					
						
							|  |  |  |         ie = IqiyiIEWithCredentials(FakeYDL({'logger': logger})) | 
					
						
							|  |  |  |         ie._login() | 
					
						
							|  |  |  |         self.assertTrue('unable to log in:' in logger.messages[0]) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-17 19:42:56 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-02-20 23:10:39 +08:00
										 |  |  | if __name__ == '__main__': | 
					
						
							|  |  |  |     unittest.main() |