summaryrefslogtreecommitdiff
path: root/tests/unit/test_webutils.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit/test_webutils.py')
-rw-r--r--tests/unit/test_webutils.py85
1 files changed, 49 insertions, 36 deletions
diff --git a/tests/unit/test_webutils.py b/tests/unit/test_webutils.py
index c6c441dab..cf9da5f10 100644
--- a/tests/unit/test_webutils.py
+++ b/tests/unit/test_webutils.py
@@ -2,52 +2,59 @@
# pylint: disable=missing-module-docstring
import mock
+from parameterized.parameterized import parameterized
from searx import webutils
from tests import SearxTestCase
class TestWebUtils(SearxTestCase): # pylint: disable=missing-class-docstring
- def test_prettify_url(self):
- data = (
+
+ @parameterized.expand(
+ [
('https://searx.me/', 'https://searx.me/'),
('https://searx.me/ű', 'https://searx.me/ű'),
('https://searx.me/' + (100 * 'a'), 'https://searx.me/[...]aaaaaaaaaaaaaaaaa'),
('https://searx.me/' + (100 * 'ű'), 'https://searx.me/[...]űűűűűűűűűűűűűűűűű'),
- )
-
- for test_url, expected in data:
- self.assertEqual(webutils.prettify_url(test_url, max_length=32), expected)
-
- def test_highlight_content(self):
- self.assertEqual(webutils.highlight_content(0, None), None)
- self.assertEqual(webutils.highlight_content(None, None), None)
- self.assertEqual(webutils.highlight_content('', None), None)
- self.assertEqual(webutils.highlight_content(False, None), None)
-
- contents = ['<html></html>not<']
- for content in contents:
- self.assertEqual(webutils.highlight_content(content, None), content)
-
- content = 'a'
- query = 'test'
- self.assertEqual(webutils.highlight_content(content, query), 'a')
- query = 'a test'
- self.assertEqual(webutils.highlight_content(content, query), '<span class="highlight">a</span>')
-
- # pylint: disable=line-too-long
- data = (
+ ]
+ )
+ def test_prettify_url(self, test_url: str, expected: str):
+ self.assertEqual(webutils.prettify_url(test_url, max_length=32), expected)
+
+ @parameterized.expand(
+ [
+ (0, None, None),
+ (None, None, None),
+ ('', None, None),
+ (False, None, None),
+ ]
+ )
+ def test_highlight_content_none(self, content, query, expected):
+ self.assertEqual(webutils.highlight_content(content, query), expected)
+
+ def test_highlight_content_same(self):
+ content = '<html></html>not<'
+ self.assertEqual(webutils.highlight_content(content, None), content)
+
+ @parameterized.expand(
+ [
+ ('test', 'a', 'a'),
+ ('a test', 'a', '<span class="highlight">a</span>'),
('" test "', 'a test string', 'a <span class="highlight">test</span> string'),
('"a"', 'this is a test string', 'this is <span class="highlight">a</span> test string'),
(
'a test',
'this is a test string that matches entire query',
- 'this is <span class="highlight">a</span> <span class="highlight">test</span> string that matches entire query',
+ 'this is <span class="highlight">a</span>'
+ ' <span class="highlight">test</span>'
+ ' string that matches entire query',
),
(
'this a test',
'this is a string to test.',
(
- '<span class="highlight">this</span> is <span class="highlight">a</span> string to <span class="highlight">test</span>.'
+ '<span class="highlight">this</span>'
+ ' is <span class="highlight">a</span>'
+ ' string to <span class="highlight">test</span>.'
),
),
(
@@ -65,9 +72,10 @@ class TestWebUtils(SearxTestCase): # pylint: disable=missing-class-docstring
'a string with class.',
'<span class="highlight">a</span> string with <span class="highlight">class</span>.',
),
- )
- for query, content, expected in data:
- self.assertEqual(webutils.highlight_content(content, query), expected)
+ ]
+ )
+ def test_highlight_content_equal(self, query: str, content: str, expected: str):
+ self.assertEqual(webutils.highlight_content(content, query), expected)
class TestUnicodeWriter(SearxTestCase): # pylint: disable=missing-class-docstring
@@ -76,7 +84,7 @@ class TestUnicodeWriter(SearxTestCase): # pylint: disable=missing-class-docstri
def test_write_row(self):
row = [1, 2, 3]
- self.assertEqual(self.unicode_writer.writerow(row), None)
+ self.assertIsNone(self.unicode_writer.writerow(row))
def test_write_rows(self):
self.unicode_writer.writerow = mock.MagicMock()
@@ -86,13 +94,18 @@ class TestUnicodeWriter(SearxTestCase): # pylint: disable=missing-class-docstri
class TestNewHmac(SearxTestCase): # pylint: disable=missing-class-docstring
- def test_bytes(self):
+ @parameterized.expand(
+ [
+ b'secret',
+ 1,
+ ]
+ )
+ def test_attribute_error(self, secret_key):
data = b'http://example.com'
with self.assertRaises(AttributeError):
- webutils.new_hmac(b'secret', data)
-
- with self.assertRaises(AttributeError):
- webutils.new_hmac(1, data)
+ webutils.new_hmac(secret_key, data)
+ def test_bytes(self):
+ data = b'http://example.com'
res = webutils.new_hmac('secret', data)
self.assertEqual(res, '23e2baa2404012a5cc8e4a18b4aabf0dde4cb9b56f679ddc0fd6d7c24339d819')