35 lines
1.1 KiB
Python
35 lines
1.1 KiB
Python
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
# pylint: disable=missing-module-docstring,disable=missing-class-docstring,invalid-name
|
|
|
|
from parameterized import parameterized
|
|
|
|
import searx.plugins
|
|
import searx.answerers
|
|
import searx.preferences
|
|
|
|
from searx.extended_types import sxng_request
|
|
|
|
from tests import SearxTestCase
|
|
|
|
|
|
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)
|