summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/unit/test_exceptions.py41
-rw-r--r--tests/unit/test_webutils.py19
2 files changed, 51 insertions, 9 deletions
diff --git a/tests/unit/test_exceptions.py b/tests/unit/test_exceptions.py
new file mode 100644
index 000000000..13d004322
--- /dev/null
+++ b/tests/unit/test_exceptions.py
@@ -0,0 +1,41 @@
+# SPDX-License-Identifier: AGPL-3.0-or-later
+
+from tests import SearxTestCase
+import searx.exceptions
+from searx import get_setting
+
+
+class TestExceptions(SearxTestCase):
+ def test_default_suspend_time(self):
+ with self.assertRaises(searx.exceptions.SearxEngineAccessDeniedException) as e:
+ raise searx.exceptions.SearxEngineAccessDeniedException()
+ self.assertEqual(
+ e.exception.suspended_time,
+ get_setting(searx.exceptions.SearxEngineAccessDeniedException.SUSPEND_TIME_SETTING),
+ )
+
+ with self.assertRaises(searx.exceptions.SearxEngineCaptchaException) as e:
+ raise searx.exceptions.SearxEngineCaptchaException()
+ self.assertEqual(
+ e.exception.suspended_time, get_setting(searx.exceptions.SearxEngineCaptchaException.SUSPEND_TIME_SETTING)
+ )
+
+ with self.assertRaises(searx.exceptions.SearxEngineTooManyRequestsException) as e:
+ raise searx.exceptions.SearxEngineTooManyRequestsException()
+ self.assertEqual(
+ e.exception.suspended_time,
+ get_setting(searx.exceptions.SearxEngineTooManyRequestsException.SUSPEND_TIME_SETTING),
+ )
+
+ def test_custom_suspend_time(self):
+ with self.assertRaises(searx.exceptions.SearxEngineAccessDeniedException) as e:
+ raise searx.exceptions.SearxEngineAccessDeniedException(suspended_time=1337)
+ self.assertEqual(e.exception.suspended_time, 1337)
+
+ with self.assertRaises(searx.exceptions.SearxEngineCaptchaException) as e:
+ raise searx.exceptions.SearxEngineCaptchaException(suspended_time=1409)
+ self.assertEqual(e.exception.suspended_time, 1409)
+
+ with self.assertRaises(searx.exceptions.SearxEngineTooManyRequestsException) as e:
+ raise searx.exceptions.SearxEngineTooManyRequestsException(suspended_time=1543)
+ self.assertEqual(e.exception.suspended_time, 1543)
diff --git a/tests/unit/test_webutils.py b/tests/unit/test_webutils.py
index 31a0f86ce..acf1aeeb7 100644
--- a/tests/unit/test_webutils.py
+++ b/tests/unit/test_webutils.py
@@ -28,32 +28,33 @@ class TestWebUtils(SearxTestCase):
content = 'a'
query = 'test'
- self.assertEqual(webutils.highlight_content(content, query), content)
+ self.assertEqual(webutils.highlight_content(content, query), 'a')
query = 'a test'
- self.assertEqual(webutils.highlight_content(content, query), content)
+ self.assertEqual(webutils.highlight_content(content, query), '<span class="highlight">a</span>')
data = (
('" test "', 'a test string', 'a <span class="highlight">test</span> string'),
- ('"a"', 'this is a test string', 'this is<span class="highlight"> a </span>test string'),
+ ('"a"', 'this is a test string', 'this is <span class="highlight">a</span> test string'),
(
'a test',
'this is a test string that matches entire query',
- 'this is <span class="highlight">a test</span> string that matches entire query',
+ 'this is <span class="highlight">a</span> <span class="highlight">test</span> string that matches entire query',
),
(
'this a test',
'this is a string to test.',
(
- '<span class="highlight">this</span> is<span class="highlight"> a </span>'
- 'string to <span class="highlight">test</span>.'
+ '<span class="highlight">this</span> is <span class="highlight">a</span> string to <span class="highlight">test</span>.'
),
),
(
'match this "exact phrase"',
'this string contains the exact phrase we want to match',
- (
- '<span class="highlight">this</span> string contains the <span class="highlight">exact</span>'
- ' <span class="highlight">phrase</span> we want to <span class="highlight">match</span>'
+ ''.join(
+ [
+ '<span class="highlight">this</span> string contains the <span class="highlight">exact</span> ',
+ '<span class="highlight">phrase</span> we want to <span class="highlight">match</span>',
+ ]
),
),
)