forked from Ponysearch/Ponysearch
42 lines
1.9 KiB
Python
42 lines
1.9 KiB
Python
|
# 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)
|