From 0cedb1c6d8d38c911176cab954d858fe937cef71 Mon Sep 17 00:00:00 2001 From: Léon Tiekötter Date: Mon, 21 Nov 2022 23:55:04 +0100 Subject: 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 --- tests/unit/test_exceptions.py | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 tests/unit/test_exceptions.py (limited to 'tests') 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) -- cgit v1.2.3-54-g00ecf