mirror of
				https://github.com/searxng/searxng
				synced 2024-01-01 19:24:07 +01:00 
			
		
		
		
	Digg's unit test
This commit is contained in:
		
							parent
							
								
									92368a4107
								
							
						
					
					
						commit
						1d255061c7
					
				
					 3 changed files with 59 additions and 1 deletions
				
			
		|  | @ -44,7 +44,7 @@ def response(resp): | |||
| 
 | ||||
|     search_result = loads(resp.text) | ||||
| 
 | ||||
|     if search_result['html'] == '': | ||||
|     if 'html' not in search_result or search_result['html'] == '': | ||||
|         return results | ||||
| 
 | ||||
|     dom = html.fromstring(search_result['html']) | ||||
|  |  | |||
							
								
								
									
										57
									
								
								searx/tests/engines/test_digg.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								searx/tests/engines/test_digg.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,57 @@ | |||
| from collections import defaultdict | ||||
| import mock | ||||
| from searx.engines import digg | ||||
| from searx.testing import SearxTestCase | ||||
| 
 | ||||
| 
 | ||||
| class TestDiggEngine(SearxTestCase): | ||||
| 
 | ||||
|     def test_request(self): | ||||
|         query = 'test_query' | ||||
|         dicto = defaultdict(dict) | ||||
|         dicto['pageno'] = 1 | ||||
|         params = digg.request(query, dicto) | ||||
|         self.assertIn('url', params) | ||||
|         self.assertIn(query, params['url']) | ||||
|         self.assertIn('digg.com', params['url']) | ||||
| 
 | ||||
|     def test_response(self): | ||||
|         self.assertRaises(AttributeError, digg.response, None) | ||||
|         self.assertRaises(AttributeError, digg.response, []) | ||||
|         self.assertRaises(AttributeError, digg.response, '') | ||||
|         self.assertRaises(AttributeError, digg.response, '[]') | ||||
| 
 | ||||
|         response = mock.Mock(text='{}') | ||||
|         self.assertEqual(digg.response(response), []) | ||||
| 
 | ||||
|         response = mock.Mock(text='{"data": []}') | ||||
|         self.assertEqual(digg.response(response), []) | ||||
| 
 | ||||
|         json = """ | ||||
|         { | ||||
|         "status": "ok", | ||||
|         "num": 10, | ||||
|         "next_position": 20, | ||||
|         "html": "<article itemscope itemtype=\\"http://schema.org/Article\\" class=\\"story-container digg-story-el hentry entry story-1sRANah col-1\\" data-content-id=\\"1sRANah\\" data-contenturl=\\"http://url.of.link\\" data-position=\\"0\\" data-diggs=\\"24\\" data-tweets=\\"69\\" data-digg-score=\\"1190\\"> <div class=\\"story-image story-image-thumb\\"> <a data-position=\\"0\\" data-content-id=\\"1sRANah\\" class=\\"story-link\\" href=\\"http://www.thedailybeast.com/\\" target=\\"_blank\\"><img class=\\"story-image-img\\" src=\\"http://url.of.image.jpeg\\" width=\\"312\\" height=\\"170\\" alt=\\"\\" /> </a> </div> <div class=\\"story-content\\"><header class=\\"story-header\\"> <div itemprop=\\"alternativeHeadline\\" class=\\"story-kicker\\" >Kicker</div> <h2 itemprop=\\"headline\\" class=\\"story-title entry-title\\"><a class=\\"story-title-link story-link\\" rel=\\"bookmark\\" itemprop=\\"url\\" href=\\"http://www.thedailybeast.com/\\" target=\\"_blank\\">Title of article</h2> <div class=\\"story-meta\\"><div class=\\"story-score \\"> <div class=\\"story-score-diggscore diggscore-1sRANah\\">1190</div> <div class=\\"story-score-details\\"> <div class=\\"arrow\\"></div><ul class=\\"story-score-details-list\\"> <li class=\\"story-score-detail story-score-diggs\\"><span class=\\"label\\">Diggs:</span> <span class=\\"count diggs-1sRANah\\">24</span></li> <li class=\\"story-score-detail story-score-twitter\\"><span class=\\"label\\">Tweets:</span> <span class=\\"count tweets-1sRANah\\">69</span></li> <li class=\\"story-score-detail story-score-facebook\\"><span class=\\"label\\">Facebook Shares:</span> <span class=\\"count fb_shares-1sRANah\\">1097</span></li> </ul> </div> </div> <span class=\\"story-meta-item story-source\\"> <a itemprop=\\"publisher copyrightHolder sourceOrganization provider\\" class=\\"story-meta-item-link story-source-link\\" href=\\"/source/thedailybeast.com\\">The Daily Beast </a> </span> <span class=\\"story-meta-item story-tag first-tag\\"> <a itemprop=\\"keywords\\" rel=\\"tag\\" class=\\"story-meta-item-link story-tag-link\\" href=\\"/tag/news\\">News</a> </span> <abbr class=\\"published story-meta-item story-timestamp\\" title=\\"2014-10-18 14:53:45\\"> <time datetime=\\"2014-10-18 14:53:45\\">18 Oct 2014</time> </abbr> </div> </header> </div> <ul class=\\"story-actions\\"> <li class=\\"story-action story-action-digg btn-story-action-container\\"><a class=\\"target digg-1sRANah\\" href=\\"#\\">Digg</a></li> <li class=\\"story-action story-action-save btn-story-action-container\\"><a class=\\"target save-1sRANah\\" href=\\"#\\">Save</a></li> <li class=\\"story-action story-action-share\\"><a class=\\"target share-facebook\\" href=\\"https://www.facebook.com/\\">Facebook</a></li> <li class=\\"story-action story-action-share\\"><a class=\\"target share-twitter\\" href=\\"https://twitter.com/\\">Twitter</a></li> </ul> </article>" | ||||
|         } | ||||
|         """ | ||||
|         response = mock.Mock(text=json) | ||||
|         results = digg.response(response) | ||||
|         self.assertEqual(type(results), list) | ||||
|         self.assertEqual(len(results), 1) | ||||
|         self.assertEqual(results[0]['title'], 'Title of article') | ||||
|         self.assertEqual(results[0]['url'], 'http://url.of.link') | ||||
|         self.assertEqual(results[0]['thumbnail'], 'http://url.of.image.jpeg') | ||||
|         self.assertEqual(results[0]['content'], '') | ||||
| 
 | ||||
|         json = """ | ||||
|         { | ||||
|         "status": "error", | ||||
|         "num": 10, | ||||
|         "next_position": 20 | ||||
|         } | ||||
|         """ | ||||
|         response = mock.Mock(text=json) | ||||
|         results = digg.response(response) | ||||
|         self.assertEqual(type(results), list) | ||||
|         self.assertEqual(len(results), 0) | ||||
|  | @ -1,6 +1,7 @@ | |||
| from searx.tests.engines.test_bing import *  # noqa | ||||
| from searx.tests.engines.test_dailymotion import *  # noqa | ||||
| from searx.tests.engines.test_deezer import *  # noqa | ||||
| from searx.tests.engines.test_digg import *  # noqa | ||||
| from searx.tests.engines.test_dummy import *  # noqa | ||||
| from searx.tests.engines.test_flickr import *  # noqa | ||||
| from searx.tests.engines.test_github import *  # noqa | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Cqoicebordel
						Cqoicebordel