summaryrefslogtreecommitdiff
path: root/tests/unit/test_answerers.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit/test_answerers.py')
-rw-r--r--tests/unit/test_answerers.py37
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)