# 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)