diff options
| author | Alexandre Flament <alex@al-f.net> | 2020-09-22 16:55:59 +0200 |
|---|---|---|
| committer | Alexandre Flament <alex@al-f.net> | 2020-09-22 18:59:51 +0200 |
| commit | 691d12726be1411d8c80895e927293bdcc3e9572 (patch) | |
| tree | 37007ff7216726d9d5476db285d9c2d8a01d047d /tests/unit/test_webadapter.py | |
| parent | eecfff268913045f957c0fceb2a1caf56f236a1f (diff) | |
[mod] check the engine tokens in searx/webadapter.py instead of searx/search.py
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) |