# SPDX-License-Identifier: AGPL-3.0-or-later # pylint: disable=missing-module-docstring from parameterized import parameterized from tests import SearxTestCase import searx.exceptions from searx import get_setting class TestExceptions(SearxTestCase): # pylint: disable=missing-class-docstring @parameterized.expand( [ searx.exceptions.SearxEngineAccessDeniedException, searx.exceptions.SearxEngineCaptchaException, searx.exceptions.SearxEngineTooManyRequestsException, ] ) def test_default_suspend_time(self, exception): with self.assertRaises(exception) as e: raise exception() self.assertEqual( e.exception.suspended_time, get_setting(exception.SUSPEND_TIME_SETTING), ) @parameterized.expand( [ searx.exceptions.SearxEngineAccessDeniedException, searx.exceptions.SearxEngineCaptchaException, searx.exceptions.SearxEngineTooManyRequestsException, ] ) def test_custom_suspend_time(self, exception): with self.assertRaises(exception) as e: raise exception(suspended_time=1337) self.assertEqual(e.exception.suspended_time, 1337)