Add paramaterized with example of refactor

reduce test name size

fix imports
This commit is contained in:
Grant Lanham 2024-08-31 18:04:37 -04:00 committed by Markus Heiser
parent ea16c82d78
commit 14241e7dac
2 changed files with 6 additions and 14 deletions

View file

@ -22,4 +22,4 @@ wlc==1.15
coloredlogs==15.0.1 coloredlogs==15.0.1
docutils<=0.21; python_version == '3.8' docutils<=0.21; python_version == '3.8'
docutils>=0.21.2; python_version > '3.8' docutils>=0.21.2; python_version > '3.8'
parameterized==0.9.0

View file

@ -5,6 +5,7 @@
from datetime import datetime from datetime import datetime
from unittest.mock import Mock from unittest.mock import Mock
from requests import HTTPError from requests import HTTPError
from parameterized import parameterized
from searx.engines import load_engines, tineye from searx.engines import load_engines, tineye
from tests import SearxTestCase from tests import SearxTestCase
@ -23,12 +24,12 @@ class TinEyeTests(SearxTestCase): # pylint: disable=missing-class-docstring
response.raise_for_status.side_effect = HTTPError() response.raise_for_status.side_effect = HTTPError()
self.assertRaises(HTTPError, lambda: tineye.response(response)) self.assertRaises(HTTPError, lambda: tineye.response(response))
def test_returns_empty_list_for_422(self): @parameterized.expand([(400), (422)])
def test_returns_empty_list(self, status_code):
response = Mock() response = Mock()
response.json.return_value = {} response.json.return_value = {}
response.status_code = 422 response.status_code = status_code
response.raise_for_status.side_effect = HTTPError() response.raise_for_status.side_effect = HTTPError()
with self.assertLogs(tineye.logger) as _dev_null:
results = tineye.response(response) results = tineye.response(response)
self.assertEqual(0, len(results)) self.assertEqual(0, len(results))
@ -62,15 +63,6 @@ class TinEyeTests(SearxTestCase): # pylint: disable=missing-class-docstring
tineye.response(response) tineye.response(response)
self.assertIn(tineye.DOWNLOAD_ERROR, ','.join(assert_logs_context.output)) self.assertIn(tineye.DOWNLOAD_ERROR, ','.join(assert_logs_context.output))
def test_empty_list_for_400(self):
response = Mock()
response.json.return_value = {}
response.status_code = 400
response.raise_for_status.side_effect = HTTPError()
with self.assertLogs(tineye.logger) as _dev_null:
results = tineye.response(response)
self.assertEqual(0, len(results))
def test_logs_description_for_400(self): def test_logs_description_for_400(self):
description = 'There was a problem with that request. Error ID: ad5fc955-a934-43c1-8187-f9a61d301645' description = 'There was a problem with that request. Error ID: ad5fc955-a934-43c1-8187-f9a61d301645'
response = Mock() response = Mock()