diff options
Diffstat (limited to 'tests/unit/test_webadapter.py')
| -rw-r--r-- | tests/unit/test_webadapter.py | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/tests/unit/test_webadapter.py b/tests/unit/test_webadapter.py new file mode 100644 index 000000000..7806353d3 --- /dev/null +++ b/tests/unit/test_webadapter.py @@ -0,0 +1,54 @@ +# -*- coding: utf-8 -*- + +from searx.testing import SearxTestCase +from searx.preferences import Preferences +from searx.engines import engines + +import searx.search +from searx.search import EngineRef, SearchQuery +from searx.webadapter import validate_engineref_list + + +PRIVATE_ENGINE_NAME = 'general private offline' +TEST_ENGINES = [ + { + 'name': PRIVATE_ENGINE_NAME, + 'engine': 'dummy-offline', + 'categories': 'general', + 'shortcut': 'do', + 'timeout': 3.0, + 'offline': True, + 'tokens': ['my-token'], + }, +] +SEARCHQUERY = [EngineRef(PRIVATE_ENGINE_NAME, 'general')] + + +class ValidateQueryCase(SearxTestCase): + + @classmethod + def setUpClass(cls): + searx.engines.initialize_engines(TEST_ENGINES) + + def test_query_private_engine_without_token(self): + preferences = Preferences(['oscar'], ['general'], engines, []) + 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_query_private_engine_with_incorrect_token(self): + preferences_with_tokens = Preferences(['oscar'], ['general'], engines, []) + 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_query_private_engine_with_correct_token(self): + preferences_with_tokens = Preferences(['oscar'], ['general'], engines, []) + 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) |