mirror of
				https://github.com/searxng/searxng.git
				synced 2025-10-31 10:37:06 -04:00 
			
		
		
		
	- pyright configuration [1]_ - stub files: types-lxml [2]_ - addition of various type hints - enable use of new type system features on older Python versions [3]_ - ``.tool-versions`` - set python to lowest version we support (3.10.18) [4]_: Older versions typically lack some typing features found in newer Python versions. Therefore, for local type checking (before commit), it is necessary to use the older Python interpreter. .. [1] https://docs.basedpyright.com/v1.20.0/configuration/config-files/ .. [2] https://pypi.org/project/types-lxml/ .. [3] https://typing-extensions.readthedocs.io/en/latest/# .. [4] https://mise.jdx.dev/configuration.html#tool-versions Signed-off-by: Markus Heiser <markus.heiser@darmarit.de> Format: reST
		
			
				
	
	
		
			41 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # SPDX-License-Identifier: AGPL-3.0-or-later
 | |
| # pylint: disable=missing-module-docstring,disable=missing-class-docstring,invalid-name
 | |
| 
 | |
| import searx.plugins
 | |
| 
 | |
| from searx.engines import engines
 | |
| from searx.preferences import Preferences
 | |
| from searx.search.models import EngineRef
 | |
| from searx.webadapter import validate_engineref_list
 | |
| 
 | |
| from tests import SearxTestCase
 | |
| 
 | |
| PRIVATE_ENGINE_NAME = "dummy private engine"  # from the ./settings/test_settings.yml
 | |
| SEARCHQUERY = [EngineRef(PRIVATE_ENGINE_NAME, "general")]
 | |
| 
 | |
| 
 | |
| class ValidateQueryCase(SearxTestCase):
 | |
| 
 | |
|     def test_without_token(self):
 | |
|         preferences = Preferences(['simple'], ['general'], engines, searx.plugins.STORAGE)
 | |
|         valid, unknown, invalid_token = validate_engineref_list(SEARCHQUERY, preferences)
 | |
|         self.assertEqual(len(valid), 0)
 | |
|         self.assertEqual(len(unknown), 0)
 | |
|         self.assertEqual(len(invalid_token), 1)
 | |
| 
 | |
|     def test_with_incorrect_token(self):
 | |
|         preferences_with_tokens = Preferences(['simple'], ['general'], engines, searx.plugins.STORAGE)
 | |
|         preferences_with_tokens.parse_dict({'tokens': 'bad-token'})
 | |
|         valid, unknown, invalid_token = validate_engineref_list(SEARCHQUERY, preferences_with_tokens)
 | |
|         self.assertEqual(len(valid), 0)
 | |
|         self.assertEqual(len(unknown), 0)
 | |
|         self.assertEqual(len(invalid_token), 1)
 | |
| 
 | |
|     def test_with_correct_token(self):
 | |
|         preferences_with_tokens = Preferences(['simple'], ['general'], engines, searx.plugins.STORAGE)
 | |
|         preferences_with_tokens.parse_dict({'tokens': 'my-token'})
 | |
|         valid, unknown, invalid_token = validate_engineref_list(SEARCHQUERY, preferences_with_tokens)
 | |
|         self.assertEqual(len(valid), 1)
 | |
|         self.assertEqual(len(unknown), 0)
 | |
|         self.assertEqual(len(invalid_token), 0)
 |