diff options
Diffstat (limited to 'tests/unit/test_answerers.py')
| -rw-r--r-- | tests/unit/test_answerers.py | 37 |
1 files changed, 27 insertions, 10 deletions
diff --git a/tests/unit/test_answerers.py b/tests/unit/test_answerers.py index 716b544de..4b7809796 100644 --- a/tests/unit/test_answerers.py +++ b/tests/unit/test_answerers.py @@ -1,17 +1,34 @@ # SPDX-License-Identifier: AGPL-3.0-or-later -# pylint: disable=missing-module-docstring +# pylint: disable=missing-module-docstring,disable=missing-class-docstring,invalid-name -from mock import Mock from parameterized import parameterized -from searx.answerers import answerers +import searx.plugins +import searx.answerers +import searx.preferences + +from searx.extended_types import sxng_request + from tests import SearxTestCase -class AnswererTest(SearxTestCase): # pylint: disable=missing-class-docstring - @parameterized.expand(answerers) - def test_unicode_input(self, answerer): - query = Mock() - unicode_payload = 'árvíztűrő tükörfúrógép' - query.query = '{} {}'.format(answerer.keywords[0], unicode_payload) - self.assertIsInstance(answerer.answer(query), list) +class AnswererTest(SearxTestCase): + + def setUp(self): + super().setUp() + + self.storage = searx.plugins.PluginStorage() + engines = {} + self.pref = searx.preferences.Preferences(["simple"], ["general"], engines, self.storage) + self.pref.parse_dict({"locale": "en"}) + + @parameterized.expand(searx.answerers.STORAGE.answerer_list) + def test_unicode_input(self, answerer_obj: searx.answerers.Answerer): + + with self.app.test_request_context(): + sxng_request.preferences = self.pref + + unicode_payload = "árvíztűrő tükörfúrógép" + for keyword in answerer_obj.keywords: + query = f"{keyword} {unicode_payload}" + self.assertIsInstance(answerer_obj.answer(query), list) |