summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorLéon Tiekötter <leon@tiekoetter.com>2022-11-21 23:55:04 +0100
committerAlexandre Flament <alex@al-f.net>2023-01-15 09:00:32 +0000
commit0cedb1c6d8d38c911176cab954d858fe937cef71 (patch)
treebf76db64f14e00515bd7fd64aa73e1cfab902bf5 /tests
parentb720a495f0cc5372d07ed68e0d8a5ffa89a14b51 (diff)
Add search.suspended_times settings
Make suspended_time changeable in settings.yml Allow different values to be set for different exceptions. Co-authored-by: Alexandre Flament <alex@al-f.net>
Diffstat (limited to 'tests')
-rw-r--r--tests/unit/test_exceptions.py41
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/unit/test_exceptions.py b/tests/unit/test_exceptions.py
new file mode 100644
index 00000000..13d00432
--- /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)