From 71557c7aac06137f2c6efe46e9a4dc0eacdc9aef Mon Sep 17 00:00:00 2001 From: Nicolas Gelot Date: Thu, 10 Jan 2019 19:01:41 +0100 Subject: [PATCH 1/2] Rework tests The infra to run selenium these tests was too complex, and the test are not updated since 2016. This patch removes the dependencies of these tests and it adds `pytest` as runner for the unit tests. --- Dockerfile.env | 7 +- manage.sh | 49 +--------- requirements-dev.txt | 8 +- searx/settings_robot.yml | 41 -------- searx/testing.py | 98 ------------------- tests/__init__.py | 0 tests/robot/__init__.py | 75 -------------- tests/test_robot.py | 23 ----- tests/unit/engines/pubmed.py | 4 +- tests/unit/engines/test_acgsou.py | 4 +- tests/unit/engines/test_archlinux.py | 4 +- tests/unit/engines/test_arxiv.py | 4 +- tests/unit/engines/test_base.py | 4 +- tests/unit/engines/test_bing.py | 4 +- tests/unit/engines/test_bing_images.py | 4 +- tests/unit/engines/test_bing_news.py | 4 +- tests/unit/engines/test_bing_videos.py | 4 +- tests/unit/engines/test_btdigg.py | 4 +- tests/unit/engines/test_currency_convert.py | 4 +- tests/unit/engines/test_dailymotion.py | 4 +- tests/unit/engines/test_deezer.py | 4 +- tests/unit/engines/test_deviantart.py | 4 +- tests/unit/engines/test_digbt.py | 4 +- tests/unit/engines/test_digg.py | 4 +- tests/unit/engines/test_doku.py | 4 +- tests/unit/engines/test_duckduckgo.py | 4 +- .../engines/test_duckduckgo_definitions.py | 4 +- tests/unit/engines/test_duckduckgo_images.py | 4 +- tests/unit/engines/test_duden.py | 4 +- tests/unit/engines/test_dummy.py | 4 +- tests/unit/engines/test_faroo.py | 4 +- tests/unit/engines/test_fdroid.py | 4 +- tests/unit/engines/test_flickr.py | 4 +- tests/unit/engines/test_flickr_noapi.py | 4 +- tests/unit/engines/test_framalibre.py | 4 +- tests/unit/engines/test_frinkiac.py | 4 +- tests/unit/engines/test_genius.py | 4 +- tests/unit/engines/test_gigablast.py | 4 +- tests/unit/engines/test_github.py | 4 +- tests/unit/engines/test_google.py | 4 +- tests/unit/engines/test_google_images.py | 4 +- tests/unit/engines/test_google_news.py | 4 +- tests/unit/engines/test_google_videos.py | 4 +- tests/unit/engines/test_ina.py | 4 +- tests/unit/engines/test_kickass.py | 4 +- tests/unit/engines/test_mediawiki.py | 4 +- tests/unit/engines/test_mixcloud.py | 4 +- tests/unit/engines/test_nyaa.py | 4 +- tests/unit/engines/test_openstreetmap.py | 4 +- tests/unit/engines/test_pdbe.py | 4 +- tests/unit/engines/test_photon.py | 4 +- tests/unit/engines/test_piratebay.py | 4 +- tests/unit/engines/test_qwant.py | 4 +- tests/unit/engines/test_reddit.py | 4 +- tests/unit/engines/test_scanr_structures.py | 4 +- tests/unit/engines/test_searchcode_code.py | 4 +- tests/unit/engines/test_searchcode_doc.py | 4 +- tests/unit/engines/test_seedpeer.py | 4 +- tests/unit/engines/test_soundcloud.py | 4 +- tests/unit/engines/test_spotify.py | 4 +- tests/unit/engines/test_stackoverflow.py | 4 +- tests/unit/engines/test_startpage.py | 4 +- tests/unit/engines/test_subtitleseeker.py | 4 +- tests/unit/engines/test_swisscows.py | 4 +- tests/unit/engines/test_tokyotoshokan.py | 4 +- tests/unit/engines/test_torrentz.py | 4 +- tests/unit/engines/test_twitter.py | 4 +- tests/unit/engines/test_vimeo.py | 4 +- tests/unit/engines/test_wikidata.py | 4 +- tests/unit/engines/test_wikipedia.py | 4 +- tests/unit/engines/test_wolframalpha_api.py | 4 +- tests/unit/engines/test_wolframalpha_noapi.py | 4 +- tests/unit/engines/test_www1x.py | 4 +- tests/unit/engines/test_yacy.py | 4 +- tests/unit/engines/test_yahoo.py | 4 +- tests/unit/engines/test_yahoo_news.py | 4 +- tests/unit/engines/test_youtube_api.py | 4 +- tests/unit/engines/test_youtube_noapi.py | 4 +- tests/unit/test_answerers.py | 4 +- tests/unit/test_plugins.py | 6 +- tests/unit/test_preferences.py | 4 +- tests/unit/test_query.py | 4 +- tests/unit/test_results.py | 4 +- tests/unit/test_search.py | 4 +- tests/unit/test_utils.py | 8 +- tests/unit/test_webapp.py | 4 +- 86 files changed, 167 insertions(+), 452 deletions(-) delete mode 100644 searx/settings_robot.yml delete mode 100644 searx/testing.py delete mode 100644 tests/__init__.py delete mode 100644 tests/robot/__init__.py delete mode 100644 tests/test_robot.py diff --git a/Dockerfile.env b/Dockerfile.env index 6d6542976..23ab4ec19 100644 --- a/Dockerfile.env +++ b/Dockerfile.env @@ -1,8 +1,13 @@ FROM fedora +COPY requirements.txt requirements-dev.txt / + RUN dnf install -y\ wget\ python2-pip\ npm\ && dnf groupinstall -y "Development Tools" \ -&& pip3 install pytest ipdb ipython +&& pip3 install ipdb ipython \ +&& pip3 install -r /requirements.txt \ +&& pip3 install -r /requirements-dev.txt \ +&& rm -f /requirements.txt /requirements-dev.txt diff --git a/manage.sh b/manage.sh index fbbcc5cb7..10e9083d0 100755 --- a/manage.sh +++ b/manage.sh @@ -26,46 +26,6 @@ update_dev_packages() { pip3 install -r "$BASE_DIR/requirements-dev.txt" } -install_geckodriver() { - echo '[!] Checking geckodriver' - # TODO : check the current geckodriver version - set -e - geckodriver -V > /dev/null 2>&1 || NOTFOUND=1 - set +e - if [ -z "$NOTFOUND" ]; then - return - fi - GECKODRIVER_VERSION="v0.19.1" - PLATFORM="`python3 -c "import platform; print(platform.system().lower(), platform.architecture()[0])"`" - case "$PLATFORM" in - "linux 32bit" | "linux2 32bit") ARCH="linux32";; - "linux 64bit" | "linux2 64bit") ARCH="linux64";; - "windows 32 bit") ARCH="win32";; - "windows 64 bit") ARCH="win64";; - "mac 64bit") ARCH="macos";; - esac - GECKODRIVER_URL="https://github.com/mozilla/geckodriver/releases/download/$GECKODRIVER_VERSION/geckodriver-$GECKODRIVER_VERSION-$ARCH.tar.gz"; - - if [ -z "$1" ]; then - if [ -z "$VIRTUAL_ENV" ]; then - printf "geckodriver can't be installed because VIRTUAL_ENV is not set, you should download it from\n %s" "$GECKODRIVER_URL" - exit - else - GECKODRIVER_DIR="$VIRTUAL_ENV/bin" - fi - else - GECKODRIVER_DIR="$1" - mkdir -p -- "$GECKODRIVER_DIR" - fi - - printf "Installing %s/geckodriver from\n %s" "$GECKODRIVER_DIR" "$GECKODRIVER_URL" - - FILE="`mktemp`" - wget -qO "$FILE" -- "$GECKODRIVER_URL" && tar xz -C "$GECKODRIVER_DIR" -f "$FILE" geckodriver - rm -- "$FILE" - chmod 777 -- "$GECKODRIVER_DIR/geckodriver" -} - locales() { pybabel compile -d "$SEARX_DIR/translations" } @@ -80,7 +40,7 @@ pep8_check() { unit_tests() { echo '[!] Running unit tests' - python3 -m nose2 -s "$BASE_DIR/tests/unit" + PYTHONPATH="$BASE_DIR" pytest --disable-pytest-warnings "$BASE_DIR/tests/unit" } py_test_coverage() { @@ -90,17 +50,10 @@ py_test_coverage() { && coverage html } -robot_tests() { - echo '[!] Running robot tests' - PYTHONPATH="`pwd`" python3 "$SEARX_DIR/testing.py" robot -} - tests() { set -e pep8_check unit_tests - install_geckodriver - robot_tests set +e } diff --git a/requirements-dev.txt b/requirements-dev.txt index d95ed2cc0..74bed3ec5 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,12 +1,6 @@ babel==2.3.4 mock==2.0.0 -nose2[coverage-plugin] cov-core==1.15.0 pep8==1.7.0 -plone.testing==5.0.0 -splinter==0.7.5 -transifex-client==0.12.2 -unittest2==1.1.0 -zope.testrunner==4.5.1 -selenium==3.5.0 mockredispy==2.9.3 +pytest==4.1.0 diff --git a/searx/settings_robot.yml b/searx/settings_robot.yml deleted file mode 100644 index e5f163aef..000000000 --- a/searx/settings_robot.yml +++ /dev/null @@ -1,41 +0,0 @@ -general: - debug : False - instance_name : "searx_test" - -search: - safe_search : 0 - autocomplete : "" - language: "en-US" - -server: - port : 11111 - bind_address : 127.0.0.1 - secret_key : "ultrasecretkey" # change this! - base_url : False - image_proxy : False - http_protocol_version : "1.0" - -ui: - static_path : "" - templates_path : "" - default_theme : oscar - default_locale : "" - -outgoing: - request_timeout : 1.0 # seconds - useragent_suffix : "" - -engines: - - name : general dummy - engine : dummy - categories : general - shortcut : gd - - - name : dummy dummy - engine : dummy - categories : dummy - shortcut : dd - -locales: - en : English - hu : Magyar diff --git a/searx/testing.py b/searx/testing.py deleted file mode 100644 index 279ae0b7a..000000000 --- a/searx/testing.py +++ /dev/null @@ -1,98 +0,0 @@ -# -*- coding: utf-8 -*- -"""Shared testing code.""" - - -import os -import subprocess -import traceback - - -from os.path import dirname, join, abspath - -from splinter import Browser -from unittest2 import TestCase - - -class SearxTestLayer: - """Base layer for non-robot tests.""" - - __name__ = 'SearxTestLayer' - - def setUp(cls): - pass - setUp = classmethod(setUp) - - def tearDown(cls): - pass - tearDown = classmethod(tearDown) - - def testSetUp(cls): - pass - testSetUp = classmethod(testSetUp) - - def testTearDown(cls): - pass - testTearDown = classmethod(testTearDown) - - -class SearxRobotLayer(): - """Searx Robot Test Layer""" - - def setUp(self): - os.setpgrp() # create new process group, become its leader - - # get program paths - webapp = os.path.join( - os.path.abspath(os.path.dirname(os.path.realpath(__file__))), - 'webapp.py' - ) - exe = 'python' - - # set robot settings path - os.environ['SEARX_SETTINGS_PATH'] = abspath( - dirname(__file__) + '/settings_robot.yml') - - # run the server - self.server = subprocess.Popen( - [exe, webapp], - stdout=subprocess.PIPE, - stderr=subprocess.STDOUT - ) - - def tearDown(self): - os.kill(self.server.pid, 9) - # remove previously set environment variable - del os.environ['SEARX_SETTINGS_PATH'] - - -# SEARXROBOTLAYER = SearxRobotLayer() -def run_robot_tests(tests): - print('Running {0} tests'.format(len(tests))) - for test in tests: - with Browser() as browser: - test(browser) - - -class SearxTestCase(TestCase): - """Base test case for non-robot tests.""" - - layer = SearxTestLayer - - -if __name__ == '__main__': - import sys - # test cases - from tests import robot - - base_dir = abspath(join(dirname(__file__), '../tests')) - if sys.argv[1] == 'robot': - test_layer = SearxRobotLayer() - errors = False - try: - test_layer.setUp() - run_robot_tests([getattr(robot, x) for x in dir(robot) if x.startswith('test_')]) - except Exception: - errors = True - print('Error occured: {0}'.format(traceback.format_exc())) - test_layer.tearDown() - sys.exit(1 if errors else 0) diff --git a/tests/__init__.py b/tests/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/tests/robot/__init__.py b/tests/robot/__init__.py deleted file mode 100644 index 038a3196f..000000000 --- a/tests/robot/__init__.py +++ /dev/null @@ -1,75 +0,0 @@ -# -*- coding: utf-8 -*- - -from time import sleep - -url = "http://localhost:11111/" - - -def test_index(browser): - # Visit URL - browser.visit(url) - assert browser.is_text_present('about') - - -def test_404(browser): - # Visit URL - browser.visit(url + 'missing_link') - assert browser.is_text_present('Page not found') - - -def test_about(browser): - browser.visit(url) - browser.click_link_by_text('about') - assert browser.is_text_present('Why use searx?') - - -def test_preferences(browser): - browser.visit(url) - browser.click_link_by_text('preferences') - assert browser.is_text_present('Preferences') - assert browser.is_text_present('Cookies') - - assert browser.is_element_present_by_xpath('//label[@for="checkbox_dummy"]') - - -def test_preferences_engine_select(browser): - browser.visit(url) - browser.click_link_by_text('preferences') - - assert browser.is_element_present_by_xpath('//a[@href="#tab_engine"]') - browser.find_by_xpath('//a[@href="#tab_engine"]').first.click() - - assert not browser.find_by_xpath('//input[@id="engine_general_dummy__general"]').first.checked - browser.find_by_xpath('//label[@for="engine_general_dummy__general"]').first.check() - browser.find_by_xpath('//input[@value="save"]').first.click() - - # waiting for the redirect - without this the test is flaky.. - sleep(1) - - browser.visit(url) - browser.click_link_by_text('preferences') - browser.find_by_xpath('//a[@href="#tab_engine"]').first.click() - - assert browser.find_by_xpath('//input[@id="engine_general_dummy__general"]').first.checked - - -def test_preferences_locale(browser): - browser.visit(url) - browser.click_link_by_text('preferences') - - browser.select('locale', 'hu') - browser.find_by_xpath('//input[@value="save"]').first.click() - - # waiting for the redirect - without this the test is flaky.. - sleep(1) - - browser.visit(url) - browser.click_link_by_text('beállítások') - browser.is_text_present('Beállítások') - - -def test_search(browser): - browser.visit(url) - browser.fill('q', 'test search query') - browser.find_by_xpath('//button[@type="submit"]').first.click() - assert browser.is_text_present('didn\'t find any results') diff --git a/tests/test_robot.py b/tests/test_robot.py deleted file mode 100644 index b48153fe4..000000000 --- a/tests/test_robot.py +++ /dev/null @@ -1,23 +0,0 @@ -# -*- coding: utf-8 -*- - -import os -import unittest2 as unittest -from plone.testing import layered -from robotsuite import RobotTestSuite -from searx.testing import SEARXROBOTLAYER - - -def test_suite(): - suite = unittest.TestSuite() - current_dir = os.path.abspath(os.path.dirname(__file__)) - robot_dir = os.path.join(current_dir, 'robot') - tests = [ - os.path.join('robot', f) for f in - os.listdir(robot_dir) if f.endswith('.robot') and - f.startswith('test_') - ] - for test in tests: - suite.addTests([ - layered(RobotTestSuite(test), layer=SEARXROBOTLAYER), - ]) - return suite diff --git a/tests/unit/engines/pubmed.py b/tests/unit/engines/pubmed.py index 17f3a253f..b2a657f93 100644 --- a/tests/unit/engines/pubmed.py +++ b/tests/unit/engines/pubmed.py @@ -2,10 +2,10 @@ from collections import defaultdict import mock from searx.engines import pubmed -from searx.testing import SearxTestCase +from unittest import TestCase -class TestPubmedEngine(SearxTestCase): +class TestPubmedEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_acgsou.py b/tests/unit/engines/test_acgsou.py index fa920dcda..57a800527 100644 --- a/tests/unit/engines/test_acgsou.py +++ b/tests/unit/engines/test_acgsou.py @@ -2,10 +2,10 @@ from collections import defaultdict import mock from searx.engines import acgsou -from searx.testing import SearxTestCase +from unittest import TestCase -class TestAcgsouEngine(SearxTestCase): +class TestAcgsouEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_archlinux.py b/tests/unit/engines/test_archlinux.py index f2ba483c1..bc1b7a07e 100644 --- a/tests/unit/engines/test_archlinux.py +++ b/tests/unit/engines/test_archlinux.py @@ -1,7 +1,7 @@ from collections import defaultdict import mock from searx.engines import archlinux -from searx.testing import SearxTestCase +from unittest import TestCase domains = { 'en': 'https://wiki.archlinux.org', @@ -13,7 +13,7 @@ domains = { } -class TestArchLinuxEngine(SearxTestCase): +class TestArchLinuxEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_arxiv.py b/tests/unit/engines/test_arxiv.py index b32c0e605..0cba7641d 100644 --- a/tests/unit/engines/test_arxiv.py +++ b/tests/unit/engines/test_arxiv.py @@ -2,10 +2,10 @@ from collections import defaultdict import mock from searx.engines import arxiv -from searx.testing import SearxTestCase +from unittest import TestCase -class TestBaseEngine(SearxTestCase): +class TestBaseEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_base.py b/tests/unit/engines/test_base.py index f6e7cb6c5..71c560ca6 100644 --- a/tests/unit/engines/test_base.py +++ b/tests/unit/engines/test_base.py @@ -2,10 +2,10 @@ from collections import defaultdict import mock from searx.engines import base -from searx.testing import SearxTestCase +from unittest import TestCase -class TestBaseEngine(SearxTestCase): +class TestBaseEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_bing.py b/tests/unit/engines/test_bing.py index 34989d8db..1fcb73822 100644 --- a/tests/unit/engines/test_bing.py +++ b/tests/unit/engines/test_bing.py @@ -1,10 +1,10 @@ from collections import defaultdict import mock from searx.engines import bing -from searx.testing import SearxTestCase +from unittest import TestCase -class TestBingEngine(SearxTestCase): +class TestBingEngine(TestCase): def test_request(self): bing.supported_languages = ['en', 'fr', 'zh-CHS', 'zh-CHT', 'pt-PT', 'pt-BR'] diff --git a/tests/unit/engines/test_bing_images.py b/tests/unit/engines/test_bing_images.py index cb1d550d9..46e35b439 100644 --- a/tests/unit/engines/test_bing_images.py +++ b/tests/unit/engines/test_bing_images.py @@ -2,10 +2,10 @@ from collections import defaultdict import mock from searx.engines import bing_images -from searx.testing import SearxTestCase +from unittest import TestCase -class TestBingImagesEngine(SearxTestCase): +class TestBingImagesEngine(TestCase): def test_request(self): bing_images.supported_languages = ['fr-FR', 'en-US'] diff --git a/tests/unit/engines/test_bing_news.py b/tests/unit/engines/test_bing_news.py index e5f80c00b..a02e75e5e 100644 --- a/tests/unit/engines/test_bing_news.py +++ b/tests/unit/engines/test_bing_news.py @@ -1,11 +1,11 @@ from collections import defaultdict import mock from searx.engines import bing_news -from searx.testing import SearxTestCase +from unittest import TestCase import lxml -class TestBingNewsEngine(SearxTestCase): +class TestBingNewsEngine(TestCase): def test_request(self): bing_news.supported_languages = ['en', 'fr'] diff --git a/tests/unit/engines/test_bing_videos.py b/tests/unit/engines/test_bing_videos.py index 24387c888..cd5d3a3af 100644 --- a/tests/unit/engines/test_bing_videos.py +++ b/tests/unit/engines/test_bing_videos.py @@ -2,10 +2,10 @@ from collections import defaultdict import mock from searx.engines import bing_videos -from searx.testing import SearxTestCase +from unittest import TestCase -class TestBingVideosEngine(SearxTestCase): +class TestBingVideosEngine(TestCase): def test_request(self): bing_videos.supported_languages = ['fr-FR', 'en-US'] diff --git a/tests/unit/engines/test_btdigg.py b/tests/unit/engines/test_btdigg.py index 4947b71da..876388f0f 100644 --- a/tests/unit/engines/test_btdigg.py +++ b/tests/unit/engines/test_btdigg.py @@ -2,10 +2,10 @@ from collections import defaultdict import mock from searx.engines import btdigg -from searx.testing import SearxTestCase +from unittest import TestCase -class TestBtdiggEngine(SearxTestCase): +class TestBtdiggEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_currency_convert.py b/tests/unit/engines/test_currency_convert.py index e066fde08..dee745110 100644 --- a/tests/unit/engines/test_currency_convert.py +++ b/tests/unit/engines/test_currency_convert.py @@ -2,10 +2,10 @@ from collections import defaultdict from datetime import datetime import mock from searx.engines import currency_convert -from searx.testing import SearxTestCase +from unittest import TestCase -class TestCurrencyConvertEngine(SearxTestCase): +class TestCurrencyConvertEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_dailymotion.py b/tests/unit/engines/test_dailymotion.py index 63659490e..9a5a17757 100644 --- a/tests/unit/engines/test_dailymotion.py +++ b/tests/unit/engines/test_dailymotion.py @@ -2,10 +2,10 @@ from collections import defaultdict import mock from searx.engines import dailymotion -from searx.testing import SearxTestCase +from unittest import TestCase -class TestDailymotionEngine(SearxTestCase): +class TestDailymotionEngine(TestCase): def test_request(self): dailymotion.supported_languages = ['en', 'fr'] diff --git a/tests/unit/engines/test_deezer.py b/tests/unit/engines/test_deezer.py index 5b9f55c33..aaa1af907 100644 --- a/tests/unit/engines/test_deezer.py +++ b/tests/unit/engines/test_deezer.py @@ -1,10 +1,10 @@ from collections import defaultdict import mock from searx.engines import deezer -from searx.testing import SearxTestCase +from unittest import TestCase -class TestDeezerEngine(SearxTestCase): +class TestDeezerEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_deviantart.py b/tests/unit/engines/test_deviantart.py index bd2cf182f..729718512 100644 --- a/tests/unit/engines/test_deviantart.py +++ b/tests/unit/engines/test_deviantart.py @@ -1,10 +1,10 @@ from collections import defaultdict import mock from searx.engines import deviantart -from searx.testing import SearxTestCase +from unittest import TestCase -class TestDeviantartEngine(SearxTestCase): +class TestDeviantartEngine(TestCase): def test_request(self): dicto = defaultdict(dict) diff --git a/tests/unit/engines/test_digbt.py b/tests/unit/engines/test_digbt.py index 3fec6773d..88401b6ed 100644 --- a/tests/unit/engines/test_digbt.py +++ b/tests/unit/engines/test_digbt.py @@ -1,10 +1,10 @@ from collections import defaultdict import mock from searx.engines import digbt -from searx.testing import SearxTestCase +from unittest import TestCase -class TestDigBTEngine(SearxTestCase): +class TestDigBTEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_digg.py b/tests/unit/engines/test_digg.py index 6e7c9cc99..2ce61a019 100644 --- a/tests/unit/engines/test_digg.py +++ b/tests/unit/engines/test_digg.py @@ -1,10 +1,10 @@ from collections import defaultdict import mock from searx.engines import digg -from searx.testing import SearxTestCase +from unittest import TestCase -class TestDiggEngine(SearxTestCase): +class TestDiggEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_doku.py b/tests/unit/engines/test_doku.py index 115bdd8e0..af5b4802f 100644 --- a/tests/unit/engines/test_doku.py +++ b/tests/unit/engines/test_doku.py @@ -2,10 +2,10 @@ from collections import defaultdict import mock from searx.engines import doku -from searx.testing import SearxTestCase +from unittest import TestCase -class TestDokuEngine(SearxTestCase): +class TestDokuEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_duckduckgo.py b/tests/unit/engines/test_duckduckgo.py index c39bc1bf3..03ad258d4 100644 --- a/tests/unit/engines/test_duckduckgo.py +++ b/tests/unit/engines/test_duckduckgo.py @@ -2,10 +2,10 @@ from collections import defaultdict import mock from searx.engines import load_engine, duckduckgo -from searx.testing import SearxTestCase +from unittest import TestCase -class TestDuckduckgoEngine(SearxTestCase): +class TestDuckduckgoEngine(TestCase): def test_request(self): duckduckgo = load_engine({'engine': 'duckduckgo', 'name': 'duckduckgo'}) diff --git a/tests/unit/engines/test_duckduckgo_definitions.py b/tests/unit/engines/test_duckduckgo_definitions.py index 37587ed8d..2c432a5b8 100644 --- a/tests/unit/engines/test_duckduckgo_definitions.py +++ b/tests/unit/engines/test_duckduckgo_definitions.py @@ -1,10 +1,10 @@ from collections import defaultdict import mock from searx.engines import duckduckgo_definitions -from searx.testing import SearxTestCase +from unittest import TestCase -class TestDDGDefinitionsEngine(SearxTestCase): +class TestDDGDefinitionsEngine(TestCase): def test_result_to_text(self): url = '' diff --git a/tests/unit/engines/test_duckduckgo_images.py b/tests/unit/engines/test_duckduckgo_images.py index 35bb029f4..f77b27c7c 100644 --- a/tests/unit/engines/test_duckduckgo_images.py +++ b/tests/unit/engines/test_duckduckgo_images.py @@ -2,10 +2,10 @@ from collections import defaultdict import mock from searx.engines import duckduckgo_images -from searx.testing import SearxTestCase +from unittest import TestCase -class TestDuckduckgoImagesEngine(SearxTestCase): +class TestDuckduckgoImagesEngine(TestCase): def test_request(self): duckduckgo_images.supported_languages = ['de-CH', 'en-US'] diff --git a/tests/unit/engines/test_duden.py b/tests/unit/engines/test_duden.py index d9bbfef8b..44cd17014 100644 --- a/tests/unit/engines/test_duden.py +++ b/tests/unit/engines/test_duden.py @@ -1,11 +1,11 @@ from collections import defaultdict import mock from searx.engines import duden -from searx.testing import SearxTestCase +from unittest import TestCase from datetime import datetime -class TestDudenEngine(SearxTestCase): +class TestDudenEngine(TestCase): def test_request(self): query = 'Haus' diff --git a/tests/unit/engines/test_dummy.py b/tests/unit/engines/test_dummy.py index 9399beaaf..7fe1d0a4e 100644 --- a/tests/unit/engines/test_dummy.py +++ b/tests/unit/engines/test_dummy.py @@ -1,8 +1,8 @@ from searx.engines import dummy -from searx.testing import SearxTestCase +from unittest import TestCase -class TestDummyEngine(SearxTestCase): +class TestDummyEngine(TestCase): def test_request(self): test_params = [ diff --git a/tests/unit/engines/test_faroo.py b/tests/unit/engines/test_faroo.py index 0cc8bc3e0..750c32a74 100644 --- a/tests/unit/engines/test_faroo.py +++ b/tests/unit/engines/test_faroo.py @@ -2,10 +2,10 @@ from collections import defaultdict import mock from searx.engines import faroo -from searx.testing import SearxTestCase +from unittest import TestCase -class TestFarooEngine(SearxTestCase): +class TestFarooEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_fdroid.py b/tests/unit/engines/test_fdroid.py index d75f4f0b4..f7ca46297 100644 --- a/tests/unit/engines/test_fdroid.py +++ b/tests/unit/engines/test_fdroid.py @@ -1,10 +1,10 @@ import mock from collections import defaultdict from searx.engines import fdroid -from searx.testing import SearxTestCase +from unittest import TestCase -class TestFdroidEngine(SearxTestCase): +class TestFdroidEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_flickr.py b/tests/unit/engines/test_flickr.py index be97647ce..12fcbc248 100644 --- a/tests/unit/engines/test_flickr.py +++ b/tests/unit/engines/test_flickr.py @@ -1,10 +1,10 @@ from collections import defaultdict import mock from searx.engines import flickr -from searx.testing import SearxTestCase +from unittest import TestCase -class TestFlickrEngine(SearxTestCase): +class TestFlickrEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_flickr_noapi.py b/tests/unit/engines/test_flickr_noapi.py index 5f8b069e3..3fa4e7eba 100644 --- a/tests/unit/engines/test_flickr_noapi.py +++ b/tests/unit/engines/test_flickr_noapi.py @@ -1,10 +1,10 @@ from collections import defaultdict import mock from searx.engines import flickr_noapi -from searx.testing import SearxTestCase +from unittest import TestCase -class TestFlickrNoapiEngine(SearxTestCase): +class TestFlickrNoapiEngine(TestCase): def test_build_flickr_url(self): url = flickr_noapi.build_flickr_url("uid", "pid") diff --git a/tests/unit/engines/test_framalibre.py b/tests/unit/engines/test_framalibre.py index f0d0a9ebb..fe8402c54 100644 --- a/tests/unit/engines/test_framalibre.py +++ b/tests/unit/engines/test_framalibre.py @@ -2,10 +2,10 @@ from collections import defaultdict import mock from searx.engines import framalibre -from searx.testing import SearxTestCase +from unittest import TestCase -class TestFramalibreEngine(SearxTestCase): +class TestFramalibreEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_frinkiac.py b/tests/unit/engines/test_frinkiac.py index 49344cad1..97fe1f72e 100644 --- a/tests/unit/engines/test_frinkiac.py +++ b/tests/unit/engines/test_frinkiac.py @@ -2,10 +2,10 @@ from collections import defaultdict import mock from searx.engines import frinkiac -from searx.testing import SearxTestCase +from unittest import TestCase -class TestFrinkiacEngine(SearxTestCase): +class TestFrinkiacEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_genius.py b/tests/unit/engines/test_genius.py index ea721943a..31c33e47f 100644 --- a/tests/unit/engines/test_genius.py +++ b/tests/unit/engines/test_genius.py @@ -2,10 +2,10 @@ from collections import defaultdict import mock from datetime import datetime from searx.engines import genius -from searx.testing import SearxTestCase +from unittest import TestCase -class TestGeniusEngine(SearxTestCase): +class TestGeniusEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_gigablast.py b/tests/unit/engines/test_gigablast.py index f0ddb63bc..aef18daad 100644 --- a/tests/unit/engines/test_gigablast.py +++ b/tests/unit/engines/test_gigablast.py @@ -1,10 +1,10 @@ from collections import defaultdict import mock from searx.engines import gigablast -from searx.testing import SearxTestCase +from unittest import TestCase -class TestGigablastEngine(SearxTestCase): +class TestGigablastEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_github.py b/tests/unit/engines/test_github.py index 460be8c3d..6983ca9b7 100644 --- a/tests/unit/engines/test_github.py +++ b/tests/unit/engines/test_github.py @@ -1,10 +1,10 @@ from collections import defaultdict import mock from searx.engines import github -from searx.testing import SearxTestCase +from unittest import TestCase -class TestGitHubEngine(SearxTestCase): +class TestGitHubEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_google.py b/tests/unit/engines/test_google.py index 3c4e2837f..749e1f0bc 100644 --- a/tests/unit/engines/test_google.py +++ b/tests/unit/engines/test_google.py @@ -3,10 +3,10 @@ from collections import defaultdict import mock import lxml from searx.engines import google -from searx.testing import SearxTestCase +from unittest import TestCase -class TestGoogleEngine(SearxTestCase): +class TestGoogleEngine(TestCase): def mock_response(self, text): response = mock.Mock(text=text, url='https://www.google.com/search?q=test&start=0&gbv=1&gws_rd=cr') diff --git a/tests/unit/engines/test_google_images.py b/tests/unit/engines/test_google_images.py index 8366e1b08..7a1fcb9fe 100644 --- a/tests/unit/engines/test_google_images.py +++ b/tests/unit/engines/test_google_images.py @@ -1,10 +1,10 @@ from collections import defaultdict import mock from searx.engines import google_images -from searx.testing import SearxTestCase +from unittest import TestCase -class TestGoogleImagesEngine(SearxTestCase): +class TestGoogleImagesEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_google_news.py b/tests/unit/engines/test_google_news.py index f6eaff76a..db85d61c3 100644 --- a/tests/unit/engines/test_google_news.py +++ b/tests/unit/engines/test_google_news.py @@ -3,10 +3,10 @@ from collections import defaultdict import mock from searx.engines import google_news -from searx.testing import SearxTestCase +from unittest import TestCase -class TestGoogleNewsEngine(SearxTestCase): +class TestGoogleNewsEngine(TestCase): def test_request(self): google_news.supported_languages = ['en-US', 'fr-FR'] diff --git a/tests/unit/engines/test_google_videos.py b/tests/unit/engines/test_google_videos.py index cdc6fcd42..fcb3893fb 100644 --- a/tests/unit/engines/test_google_videos.py +++ b/tests/unit/engines/test_google_videos.py @@ -1,10 +1,10 @@ from collections import defaultdict import mock from searx.engines import google_videos -from searx.testing import SearxTestCase +from unittest import TestCase -class TestGoogleVideosEngine(SearxTestCase): +class TestGoogleVideosEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_ina.py b/tests/unit/engines/test_ina.py index 521a6ff87..074dd0e9c 100644 --- a/tests/unit/engines/test_ina.py +++ b/tests/unit/engines/test_ina.py @@ -1,10 +1,10 @@ from collections import defaultdict import mock from searx.engines import ina -from searx.testing import SearxTestCase +from unittest import TestCase -class TestInaEngine(SearxTestCase): +class TestInaEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_kickass.py b/tests/unit/engines/test_kickass.py index 3a75c6697..ba2239a13 100644 --- a/tests/unit/engines/test_kickass.py +++ b/tests/unit/engines/test_kickass.py @@ -2,10 +2,10 @@ from collections import defaultdict import mock from searx.engines import kickass -from searx.testing import SearxTestCase +from unittest import TestCase -class TestKickassEngine(SearxTestCase): +class TestKickassEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_mediawiki.py b/tests/unit/engines/test_mediawiki.py index 1fc43dea3..c8c6a8eb6 100644 --- a/tests/unit/engines/test_mediawiki.py +++ b/tests/unit/engines/test_mediawiki.py @@ -2,10 +2,10 @@ from collections import defaultdict import mock from searx.engines import mediawiki -from searx.testing import SearxTestCase +from unittest import TestCase -class TestMediawikiEngine(SearxTestCase): +class TestMediawikiEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_mixcloud.py b/tests/unit/engines/test_mixcloud.py index 9c79a478e..ccde14dc0 100644 --- a/tests/unit/engines/test_mixcloud.py +++ b/tests/unit/engines/test_mixcloud.py @@ -1,10 +1,10 @@ from collections import defaultdict import mock from searx.engines import mixcloud -from searx.testing import SearxTestCase +from unittest import TestCase -class TestMixcloudEngine(SearxTestCase): +class TestMixcloudEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_nyaa.py b/tests/unit/engines/test_nyaa.py index 6dcafc6b7..a017d9621 100644 --- a/tests/unit/engines/test_nyaa.py +++ b/tests/unit/engines/test_nyaa.py @@ -1,10 +1,10 @@ from collections import defaultdict import mock from searx.engines import nyaa -from searx.testing import SearxTestCase +from unittest import TestCase -class TestNyaaEngine(SearxTestCase): +class TestNyaaEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_openstreetmap.py b/tests/unit/engines/test_openstreetmap.py index 7b7783f04..f85fabe32 100644 --- a/tests/unit/engines/test_openstreetmap.py +++ b/tests/unit/engines/test_openstreetmap.py @@ -2,10 +2,10 @@ from collections import defaultdict import mock from searx.engines import openstreetmap -from searx.testing import SearxTestCase +from unittest import TestCase -class TestOpenstreetmapEngine(SearxTestCase): +class TestOpenstreetmapEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_pdbe.py b/tests/unit/engines/test_pdbe.py index ea5adf9dc..6558a9245 100644 --- a/tests/unit/engines/test_pdbe.py +++ b/tests/unit/engines/test_pdbe.py @@ -1,10 +1,10 @@ import mock from collections import defaultdict from searx.engines import pdbe -from searx.testing import SearxTestCase +from unittest import TestCase -class TestPdbeEngine(SearxTestCase): +class TestPdbeEngine(TestCase): def test_request(self): query = 'test_query' dicto = defaultdict(dict) diff --git a/tests/unit/engines/test_photon.py b/tests/unit/engines/test_photon.py index 002000d50..f86b1c480 100644 --- a/tests/unit/engines/test_photon.py +++ b/tests/unit/engines/test_photon.py @@ -2,10 +2,10 @@ from collections import defaultdict import mock from searx.engines import photon -from searx.testing import SearxTestCase +from unittest import TestCase -class TestPhotonEngine(SearxTestCase): +class TestPhotonEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_piratebay.py b/tests/unit/engines/test_piratebay.py index 89a78e796..1d985f9cc 100644 --- a/tests/unit/engines/test_piratebay.py +++ b/tests/unit/engines/test_piratebay.py @@ -2,10 +2,10 @@ from collections import defaultdict import mock from searx.engines import piratebay -from searx.testing import SearxTestCase +from unittest import TestCase -class TestPiratebayEngine(SearxTestCase): +class TestPiratebayEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_qwant.py b/tests/unit/engines/test_qwant.py index 86bfb22da..c458f1f0a 100644 --- a/tests/unit/engines/test_qwant.py +++ b/tests/unit/engines/test_qwant.py @@ -1,10 +1,10 @@ from collections import defaultdict import mock from searx.engines import qwant -from searx.testing import SearxTestCase +from unittest import TestCase -class TestQwantEngine(SearxTestCase): +class TestQwantEngine(TestCase): def test_request(self): qwant.supported_languages = ['en-US', 'fr-CA', 'fr-FR'] diff --git a/tests/unit/engines/test_reddit.py b/tests/unit/engines/test_reddit.py index 9c94f4e2b..53e25f5ee 100644 --- a/tests/unit/engines/test_reddit.py +++ b/tests/unit/engines/test_reddit.py @@ -1,11 +1,11 @@ from collections import defaultdict import mock from searx.engines import reddit -from searx.testing import SearxTestCase +from unittest import TestCase from datetime import datetime -class TestRedditEngine(SearxTestCase): +class TestRedditEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_scanr_structures.py b/tests/unit/engines/test_scanr_structures.py index 2e8c097b3..04e442a16 100644 --- a/tests/unit/engines/test_scanr_structures.py +++ b/tests/unit/engines/test_scanr_structures.py @@ -1,10 +1,10 @@ from collections import defaultdict import mock from searx.engines import scanr_structures -from searx.testing import SearxTestCase +from unittest import TestCase -class TestScanrStructuresEngine(SearxTestCase): +class TestScanrStructuresEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_searchcode_code.py b/tests/unit/engines/test_searchcode_code.py index 955aea111..911c0dd22 100644 --- a/tests/unit/engines/test_searchcode_code.py +++ b/tests/unit/engines/test_searchcode_code.py @@ -1,10 +1,10 @@ from collections import defaultdict import mock from searx.engines import searchcode_code -from searx.testing import SearxTestCase +from unittest import TestCase -class TestSearchcodeCodeEngine(SearxTestCase): +class TestSearchcodeCodeEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_searchcode_doc.py b/tests/unit/engines/test_searchcode_doc.py index d02bb7a44..cda9fd4af 100644 --- a/tests/unit/engines/test_searchcode_doc.py +++ b/tests/unit/engines/test_searchcode_doc.py @@ -1,10 +1,10 @@ from collections import defaultdict import mock from searx.engines import searchcode_doc -from searx.testing import SearxTestCase +from unittest import TestCase -class TestSearchcodeDocEngine(SearxTestCase): +class TestSearchcodeDocEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_seedpeer.py b/tests/unit/engines/test_seedpeer.py index 37b2de8e4..486ecad7a 100644 --- a/tests/unit/engines/test_seedpeer.py +++ b/tests/unit/engines/test_seedpeer.py @@ -1,11 +1,11 @@ import mock from collections import defaultdict from searx.engines import seedpeer -from searx.testing import SearxTestCase +from unittest import TestCase from datetime import datetime -class TestSeedPeerEngine(SearxTestCase): +class TestSeedPeerEngine(TestCase): html = '' with open('./tests/unit/engines/seedpeer_fixture.html') as fixture: diff --git a/tests/unit/engines/test_soundcloud.py b/tests/unit/engines/test_soundcloud.py index 3077d3b4b..bf06965ba 100644 --- a/tests/unit/engines/test_soundcloud.py +++ b/tests/unit/engines/test_soundcloud.py @@ -1,11 +1,11 @@ from collections import defaultdict import mock from searx.engines import soundcloud -from searx.testing import SearxTestCase +from unittest import TestCase from searx.url_utils import quote_plus -class TestSoundcloudEngine(SearxTestCase): +class TestSoundcloudEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_spotify.py b/tests/unit/engines/test_spotify.py index e37c344d2..aaed51763 100644 --- a/tests/unit/engines/test_spotify.py +++ b/tests/unit/engines/test_spotify.py @@ -1,10 +1,10 @@ from collections import defaultdict import mock from searx.engines import spotify -from searx.testing import SearxTestCase +from unittest import TestCase -class TestSpotifyEngine(SearxTestCase): +class TestSpotifyEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_stackoverflow.py b/tests/unit/engines/test_stackoverflow.py index 18a1ff4bd..f71920bc5 100644 --- a/tests/unit/engines/test_stackoverflow.py +++ b/tests/unit/engines/test_stackoverflow.py @@ -1,10 +1,10 @@ from collections import defaultdict import mock from searx.engines import stackoverflow -from searx.testing import SearxTestCase +from unittest import TestCase -class TestStackoverflowEngine(SearxTestCase): +class TestStackoverflowEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_startpage.py b/tests/unit/engines/test_startpage.py index f3571a5f4..9b23bac1f 100644 --- a/tests/unit/engines/test_startpage.py +++ b/tests/unit/engines/test_startpage.py @@ -2,10 +2,10 @@ from collections import defaultdict import mock from searx.engines import startpage -from searx.testing import SearxTestCase +from unittest import TestCase -class TestStartpageEngine(SearxTestCase): +class TestStartpageEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_subtitleseeker.py b/tests/unit/engines/test_subtitleseeker.py index 96b253943..eeeabc49a 100644 --- a/tests/unit/engines/test_subtitleseeker.py +++ b/tests/unit/engines/test_subtitleseeker.py @@ -1,10 +1,10 @@ from collections import defaultdict import mock from searx.engines import subtitleseeker -from searx.testing import SearxTestCase +from unittest import TestCase -class TestSubtitleseekerEngine(SearxTestCase): +class TestSubtitleseekerEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_swisscows.py b/tests/unit/engines/test_swisscows.py index 8fa595663..b3a65603e 100644 --- a/tests/unit/engines/test_swisscows.py +++ b/tests/unit/engines/test_swisscows.py @@ -1,10 +1,10 @@ from collections import defaultdict import mock from searx.engines import swisscows -from searx.testing import SearxTestCase +from unittest import TestCase -class TestSwisscowsEngine(SearxTestCase): +class TestSwisscowsEngine(TestCase): def test_request(self): swisscows.supported_languages = ['de-AT', 'de-DE'] diff --git a/tests/unit/engines/test_tokyotoshokan.py b/tests/unit/engines/test_tokyotoshokan.py index b5c6fad17..991b43ea2 100644 --- a/tests/unit/engines/test_tokyotoshokan.py +++ b/tests/unit/engines/test_tokyotoshokan.py @@ -1,11 +1,11 @@ import mock from collections import defaultdict from searx.engines import tokyotoshokan -from searx.testing import SearxTestCase +from unittest import TestCase from datetime import datetime -class TestTokyotoshokanEngine(SearxTestCase): +class TestTokyotoshokanEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_torrentz.py b/tests/unit/engines/test_torrentz.py index f483bf68c..35256a813 100644 --- a/tests/unit/engines/test_torrentz.py +++ b/tests/unit/engines/test_torrentz.py @@ -1,11 +1,11 @@ import mock from collections import defaultdict from searx.engines import torrentz -from searx.testing import SearxTestCase +from unittest import TestCase from datetime import datetime -class TestTorrentzEngine(SearxTestCase): +class TestTorrentzEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_twitter.py b/tests/unit/engines/test_twitter.py index b3818714f..88baa1df4 100644 --- a/tests/unit/engines/test_twitter.py +++ b/tests/unit/engines/test_twitter.py @@ -2,10 +2,10 @@ from collections import defaultdict import mock from searx.engines import twitter -from searx.testing import SearxTestCase +from unittest import TestCase -class TestTwitterEngine(SearxTestCase): +class TestTwitterEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_vimeo.py b/tests/unit/engines/test_vimeo.py index 549ea114c..ac492094a 100644 --- a/tests/unit/engines/test_vimeo.py +++ b/tests/unit/engines/test_vimeo.py @@ -2,10 +2,10 @@ from collections import defaultdict import mock from searx.engines import vimeo -from searx.testing import SearxTestCase +from unittest import TestCase -class TestVimeoEngine(SearxTestCase): +class TestVimeoEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_wikidata.py b/tests/unit/engines/test_wikidata.py index bcceb5e54..a8ef7094a 100644 --- a/tests/unit/engines/test_wikidata.py +++ b/tests/unit/engines/test_wikidata.py @@ -3,10 +3,10 @@ from lxml.html import fromstring from collections import defaultdict import mock from searx.engines import wikidata -from searx.testing import SearxTestCase +from unittest import TestCase -class TestWikidataEngine(SearxTestCase): +class TestWikidataEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_wikipedia.py b/tests/unit/engines/test_wikipedia.py index f720d6afc..0b79975a9 100644 --- a/tests/unit/engines/test_wikipedia.py +++ b/tests/unit/engines/test_wikipedia.py @@ -2,10 +2,10 @@ from collections import defaultdict import mock from searx.engines import wikipedia -from searx.testing import SearxTestCase +from unittest import TestCase -class TestWikipediaEngine(SearxTestCase): +class TestWikipediaEngine(TestCase): def test_request(self): wikipedia.supported_languages = ['fr', 'en'] diff --git a/tests/unit/engines/test_wolframalpha_api.py b/tests/unit/engines/test_wolframalpha_api.py index 3f3f93a4f..586f9061f 100644 --- a/tests/unit/engines/test_wolframalpha_api.py +++ b/tests/unit/engines/test_wolframalpha_api.py @@ -3,10 +3,10 @@ from collections import defaultdict import mock from requests import Request from searx.engines import wolframalpha_api -from searx.testing import SearxTestCase +from unittest import TestCase -class TestWolframAlphaAPIEngine(SearxTestCase): +class TestWolframAlphaAPIEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_wolframalpha_noapi.py b/tests/unit/engines/test_wolframalpha_noapi.py index 982edd9f2..d60ed0625 100644 --- a/tests/unit/engines/test_wolframalpha_noapi.py +++ b/tests/unit/engines/test_wolframalpha_noapi.py @@ -3,10 +3,10 @@ from collections import defaultdict import mock from requests import Request from searx.engines import wolframalpha_noapi -from searx.testing import SearxTestCase +from unittest import TestCase -class TestWolframAlphaNoAPIEngine(SearxTestCase): +class TestWolframAlphaNoAPIEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_www1x.py b/tests/unit/engines/test_www1x.py index 9df8de6bf..67081a3a5 100644 --- a/tests/unit/engines/test_www1x.py +++ b/tests/unit/engines/test_www1x.py @@ -1,10 +1,10 @@ from collections import defaultdict import mock from searx.engines import www1x -from searx.testing import SearxTestCase +from unittest import TestCase -class TestWww1xEngine(SearxTestCase): +class TestWww1xEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_yacy.py b/tests/unit/engines/test_yacy.py index a60614d3d..922ab8a63 100644 --- a/tests/unit/engines/test_yacy.py +++ b/tests/unit/engines/test_yacy.py @@ -1,10 +1,10 @@ from collections import defaultdict import mock from searx.engines import yacy -from searx.testing import SearxTestCase +from unittest import TestCase -class TestYacyEngine(SearxTestCase): +class TestYacyEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_yahoo.py b/tests/unit/engines/test_yahoo.py index 5037bfc7d..479d5599c 100644 --- a/tests/unit/engines/test_yahoo.py +++ b/tests/unit/engines/test_yahoo.py @@ -2,10 +2,10 @@ from collections import defaultdict import mock from searx.engines import yahoo -from searx.testing import SearxTestCase +from unittest import TestCase -class TestYahooEngine(SearxTestCase): +class TestYahooEngine(TestCase): def test_parse_url(self): test_url = 'http://r.search.yahoo.com/_ylt=A0LEb9JUSKcAEGRXNyoA;_ylu=X3oDMTEzZm1qazYwBHNlYwNzcgRwb3MDMQRjb' +\ diff --git a/tests/unit/engines/test_yahoo_news.py b/tests/unit/engines/test_yahoo_news.py index c3297dacf..9cb7a6fc2 100644 --- a/tests/unit/engines/test_yahoo_news.py +++ b/tests/unit/engines/test_yahoo_news.py @@ -3,10 +3,10 @@ from collections import defaultdict from datetime import datetime import mock from searx.engines import yahoo_news -from searx.testing import SearxTestCase +from unittest import TestCase -class TestYahooNewsEngine(SearxTestCase): +class TestYahooNewsEngine(TestCase): def test_request(self): yahoo_news.supported_languages = ['en', 'fr'] diff --git a/tests/unit/engines/test_youtube_api.py b/tests/unit/engines/test_youtube_api.py index 0d4d478c3..789d8b194 100644 --- a/tests/unit/engines/test_youtube_api.py +++ b/tests/unit/engines/test_youtube_api.py @@ -1,10 +1,10 @@ from collections import defaultdict import mock from searx.engines import youtube_api -from searx.testing import SearxTestCase +from unittest import TestCase -class TestYoutubeAPIEngine(SearxTestCase): +class TestYoutubeAPIEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/engines/test_youtube_noapi.py b/tests/unit/engines/test_youtube_noapi.py index 41dcbb749..f102936ff 100644 --- a/tests/unit/engines/test_youtube_noapi.py +++ b/tests/unit/engines/test_youtube_noapi.py @@ -2,10 +2,10 @@ from collections import defaultdict import mock from searx.engines import youtube_noapi -from searx.testing import SearxTestCase +from unittest import TestCase -class TestYoutubeNoAPIEngine(SearxTestCase): +class TestYoutubeNoAPIEngine(TestCase): def test_request(self): query = 'test_query' diff --git a/tests/unit/test_answerers.py b/tests/unit/test_answerers.py index 73d8d26f2..756edc37d 100644 --- a/tests/unit/test_answerers.py +++ b/tests/unit/test_answerers.py @@ -3,10 +3,10 @@ from mock import Mock from searx.answerers import answerers -from searx.testing import SearxTestCase +from unittest import TestCase -class AnswererTest(SearxTestCase): +class AnswererTest(TestCase): def test_unicode_input(self): query = Mock() diff --git a/tests/unit/test_plugins.py b/tests/unit/test_plugins.py index 5b2ec48b4..729b8fc91 100644 --- a/tests/unit/test_plugins.py +++ b/tests/unit/test_plugins.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from searx.testing import SearxTestCase +from unittest import TestCase from searx import plugins from mock import Mock @@ -9,7 +9,7 @@ def get_search_mock(query, **kwargs): return Mock(query=query, answers=set(), **kwargs) -class PluginStoreTest(SearxTestCase): +class PluginStoreTest(TestCase): def test_PluginStore_init(self): store = plugins.PluginStore() @@ -36,7 +36,7 @@ class PluginStoreTest(SearxTestCase): self.assertTrue(testplugin.asdf.called) -class SelfIPTest(SearxTestCase): +class SelfIPTest(TestCase): def test_PluginStore_init(self): store = plugins.PluginStore() diff --git a/tests/unit/test_preferences.py b/tests/unit/test_preferences.py index 07ca61f09..6fcd0cee4 100644 --- a/tests/unit/test_preferences.py +++ b/tests/unit/test_preferences.py @@ -1,6 +1,6 @@ from searx.preferences import (EnumStringSetting, MapSetting, MissingArgumentException, SearchLanguageSetting, MultipleChoiceSetting, PluginsSetting, ValidationException) -from searx.testing import SearxTestCase +from unittest import TestCase class PluginStub(object): @@ -10,7 +10,7 @@ class PluginStub(object): self.default_on = default_on -class TestSettings(SearxTestCase): +class TestSettings(TestCase): # map settings def test_map_setting_invalid_initialization(self): diff --git a/tests/unit/test_query.py b/tests/unit/test_query.py index 1006434cf..7c5755726 100644 --- a/tests/unit/test_query.py +++ b/tests/unit/test_query.py @@ -1,8 +1,8 @@ from searx.query import RawTextQuery -from searx.testing import SearxTestCase +from unittest import TestCase -class TestQuery(SearxTestCase): +class TestQuery(TestCase): def test_simple_query(self): query_text = 'the query' diff --git a/tests/unit/test_results.py b/tests/unit/test_results.py index 274b5b37a..b659daafa 100644 --- a/tests/unit/test_results.py +++ b/tests/unit/test_results.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- from searx.results import ResultContainer -from searx.testing import SearxTestCase +from unittest import TestCase def fake_result(url='https://aa.bb/cc?dd=ee#ff', @@ -17,7 +17,7 @@ def fake_result(url='https://aa.bb/cc?dd=ee#ff', # TODO -class ResultContainerTestCase(SearxTestCase): +class ResultContainerTestCase(TestCase): def test_empty(self): c = ResultContainer() diff --git a/tests/unit/test_search.py b/tests/unit/test_search.py index af5fffd8b..62c46f8ad 100644 --- a/tests/unit/test_search.py +++ b/tests/unit/test_search.py @@ -1,10 +1,10 @@ # -*- coding: utf-8 -*- -from searx.testing import SearxTestCase +from unittest import TestCase # TODO -class SearchTestCase(SearxTestCase): +class SearchTestCase(TestCase): def test_(self): pass diff --git a/tests/unit/test_utils.py b/tests/unit/test_utils.py index 75a855c6b..211cd0bc2 100644 --- a/tests/unit/test_utils.py +++ b/tests/unit/test_utils.py @@ -1,10 +1,10 @@ # -*- coding: utf-8 -*- import mock -from searx.testing import SearxTestCase +from unittest import TestCase from searx import utils -class TestUtils(SearxTestCase): +class TestUtils(TestCase): def test_gen_useragent(self): self.assertIsInstance(utils.gen_useragent(), str) @@ -87,7 +87,7 @@ class TestUtils(SearxTestCase): self.assertEqual(utils.match_language('he-IL', ['iw-IL'], aliases), 'iw-IL') -class TestHTMLTextExtractor(SearxTestCase): +class TestHTMLTextExtractor(TestCase): def setUp(self): self.html_text_extractor = utils.HTMLTextExtractor() @@ -110,7 +110,7 @@ class TestHTMLTextExtractor(SearxTestCase): self.assertIn(entity, self.html_text_extractor.result) -class TestUnicodeWriter(SearxTestCase): +class TestUnicodeWriter(TestCase): def setUp(self): self.unicode_writer = utils.UnicodeWriter(mock.MagicMock()) diff --git a/tests/unit/test_webapp.py b/tests/unit/test_webapp.py index 165426e59..f8aa531fc 100644 --- a/tests/unit/test_webapp.py +++ b/tests/unit/test_webapp.py @@ -4,12 +4,12 @@ import json from mock import Mock, patch from mockredis import mock_strict_redis_client from searx import webapp -from searx.testing import SearxTestCase +from unittest import TestCase from searx.search import Search from searx.url_utils import ParseResult -class ViewsTestCase(SearxTestCase): +class ViewsTestCase(TestCase): def setUp(self): webapp.app.config['TESTING'] = True # to get better error messages -- GitLab From 35e4c544c9bef38d64506ca65860e7d5ab2f1487 Mon Sep 17 00:00:00 2001 From: Nicolas Gelot Date: Thu, 10 Jan 2019 23:51:24 +0100 Subject: [PATCH 2/2] Use pytest-cov to get the coverage --- .codecov.yml | 31 ------------------------------- .coveragerc | 20 -------------------- .gitlab-ci.yml | 1 + manage.sh | 2 +- requirements-dev.txt | 2 +- 5 files changed, 3 insertions(+), 53 deletions(-) delete mode 100644 .codecov.yml delete mode 100644 .coveragerc diff --git a/.codecov.yml b/.codecov.yml deleted file mode 100644 index 6cdbc2885..000000000 --- a/.codecov.yml +++ /dev/null @@ -1,31 +0,0 @@ -comment: false -coverage: - status: - project: - default: - # basic - target: auto - threshold: null - base: auto - # advanced - branches: null - if_no_uploads: error - if_not_found: success - if_ci_failed: error - only_pulls: false - flags: null - paths: null - patch: - default: - # basic - target: auto - threshold: null - base: auto - # advanced - branches: null - if_no_uploads: error - if_not_found: success - if_ci_failed: error - only_pulls: false - flags: null - paths: null diff --git a/.coveragerc b/.coveragerc deleted file mode 100644 index 4f50efc40..000000000 --- a/.coveragerc +++ /dev/null @@ -1,20 +0,0 @@ -[run] -branch = True -source = - searx/engines - searx/__init__.py - searx/autocomplete.py - searx/https_rewrite.py - searx/languages.py - searx/search.py - searx/testing.py - searx/utils.py - searx/webapp.py - -[report] -show_missing = True -exclude_lines = - if __name__ == .__main__.: - -[html] -directory = coverage diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 29e70ddf3..96c4c67cb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -27,3 +27,4 @@ unittest: - ./manage.sh update_dev_packages script: - ./manage.sh unit_tests + coverage: '/TOTAL.*\s+(\d+%)$/' diff --git a/manage.sh b/manage.sh index 10e9083d0..4bfd69a39 100755 --- a/manage.sh +++ b/manage.sh @@ -40,7 +40,7 @@ pep8_check() { unit_tests() { echo '[!] Running unit tests' - PYTHONPATH="$BASE_DIR" pytest --disable-pytest-warnings "$BASE_DIR/tests/unit" + PYTHONPATH="$BASE_DIR" pytest --cov=searx --disable-pytest-warnings "$BASE_DIR/tests/unit" } py_test_coverage() { diff --git a/requirements-dev.txt b/requirements-dev.txt index 74bed3ec5..0929b0ea8 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,6 +1,6 @@ babel==2.3.4 mock==2.0.0 -cov-core==1.15.0 pep8==1.7.0 mockredispy==2.9.3 pytest==4.1.0 +pytest-cov==2.6.1 -- GitLab