Currency converter's unit test + DDG correction
Does anyone know how to trigger the except in the currency converter while still being matched by the regex ?
This commit is contained in:
		
							parent
							
								
									efe6dead55
								
							
						
					
					
						commit
						1ea5bc63a5
					
				
							
								
								
									
										44
									
								
								searx/tests/engines/test_currency_convert.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								searx/tests/engines/test_currency_convert.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,44 @@ | |||||||
|  | from collections import defaultdict | ||||||
|  | from datetime import datetime | ||||||
|  | import mock | ||||||
|  | from searx.engines import currency_convert | ||||||
|  | from searx.testing import SearxTestCase | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class TestCurrencyConvertEngine(SearxTestCase): | ||||||
|  | 
 | ||||||
|  |     def test_request(self): | ||||||
|  |         query = 'test_query' | ||||||
|  |         dicto = defaultdict(dict) | ||||||
|  |         dicto['pageno'] = 1 | ||||||
|  |         params = currency_convert.request(query, dicto) | ||||||
|  |         self.assertNotIn('url', params) | ||||||
|  | 
 | ||||||
|  |         query = '1.1.1 EUR in USD' | ||||||
|  |         params = currency_convert.request(query, dicto) | ||||||
|  |         self.assertNotIn('url', params) | ||||||
|  | 
 | ||||||
|  |         query = '10 eur in usd' | ||||||
|  |         params = currency_convert.request(query, dicto) | ||||||
|  |         self.assertIn('url', params) | ||||||
|  |         self.assertIn('finance.yahoo.com', params['url']) | ||||||
|  |         self.assertIn('EUR', params['url']) | ||||||
|  |         self.assertIn('USD', params['url']) | ||||||
|  | 
 | ||||||
|  |     def test_response(self): | ||||||
|  |         dicto = defaultdict(dict) | ||||||
|  |         dicto['ammount'] = 10 | ||||||
|  |         dicto['from'] = "EUR" | ||||||
|  |         dicto['to'] = "USD" | ||||||
|  |         response = mock.Mock(text='a,b,c,d', search_params=dicto) | ||||||
|  |         self.assertEqual(currency_convert.response(response), []) | ||||||
|  | 
 | ||||||
|  |         csv = "2,0.5,1" | ||||||
|  |         response = mock.Mock(text=csv, search_params=dicto) | ||||||
|  |         results = currency_convert.response(response) | ||||||
|  |         self.assertEqual(type(results), list) | ||||||
|  |         self.assertEqual(len(results), 1) | ||||||
|  |         self.assertEqual(results[0]['answer'], '10 EUR = 5.0 USD (1 EUR = 0.5 USD)') | ||||||
|  |         now_date = datetime.now().strftime('%Y%m%d') | ||||||
|  |         self.assertEqual(results[0]['url'], 'http://finance.yahoo.com/currency/converter-results/' + | ||||||
|  |                                             now_date + '/10-eur-to-usd.html') | ||||||
| @ -4,7 +4,7 @@ from searx.engines import duckduckgo | |||||||
| from searx.testing import SearxTestCase | from searx.testing import SearxTestCase | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class TestBingEngine(SearxTestCase): | class TestDuckduckgoEngine(SearxTestCase): | ||||||
| 
 | 
 | ||||||
|     def test_request(self): |     def test_request(self): | ||||||
|         query = 'test_query' |         query = 'test_query' | ||||||
|  | |||||||
| @ -2,6 +2,7 @@ from searx.tests.engines.test_bing import *  # noqa | |||||||
| from searx.tests.engines.test_bing_images import *  # noqa | from searx.tests.engines.test_bing_images import *  # noqa | ||||||
| from searx.tests.engines.test_bing_news import *  # noqa | from searx.tests.engines.test_bing_news import *  # noqa | ||||||
| from searx.tests.engines.test_btdigg import *  # noqa | from searx.tests.engines.test_btdigg import *  # noqa | ||||||
|  | from searx.tests.engines.test_currency_convert import *  # noqa | ||||||
| from searx.tests.engines.test_dailymotion import *  # noqa | from searx.tests.engines.test_dailymotion import *  # noqa | ||||||
| from searx.tests.engines.test_deezer import *  # noqa | from searx.tests.engines.test_deezer import *  # noqa | ||||||
| from searx.tests.engines.test_deviantart import *  # noqa | from searx.tests.engines.test_deviantart import *  # noqa | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user