on master help sign in
[fix] test: avoid HTTP requests
4415d25Alexandre Flament
tests/unit/test_engines_init.py+1−1
@@ -13,7 +13,7 @@ class TestEnginesInit(SearxTestCase):
13 engine_list = [{'engine': 'dummy', 'name': 'engine1', 'shortcut': 'e1'},
13 engine_list = [{'engine': 'dummy', 'name': 'engine1', 'shortcut': 'e1'},
14 {'engine': 'dummy', 'name': 'engine2', 'shortcut': 'e2'}]
14 {'engine': 'dummy', 'name': 'engine2', 'shortcut': 'e2'}]
15
15
16− engines.initialize_engines(engine_list)
16+ engines.load_engines(engine_list)
17 self.assertEqual(len(engines.engines), 2)
17 self.assertEqual(len(engines.engines), 2)
18 self.assertIn('engine1', engines.engines)
18 self.assertIn('engine1', engines.engines)
19 self.assertIn('engine2', engines.engines)
19 self.assertIn('engine2', engines.engines)
tests/unit/test_query.py+10−5
@@ -1,7 +1,11 @@
1+from mock import patch
2+
1from searx.search import initialize
3from searx.search import initialize
2from searx.query import RawTextQuery
4from searx.query import RawTextQuery
3from searx.testing import SearxTestCase
5from searx.testing import SearxTestCase
4
6
7+import searx.engines
8+
5
9
6TEST_ENGINES = [
10TEST_ENGINES = [
7 {
11 {
@@ -277,9 +281,10 @@ class TestBang(SearxTestCase):
277 self.assertEqual(query.getQuery(), '!dum the query')
281 self.assertEqual(query.getQuery(), '!dum the query')
278
282
279 def test_bang_autocomplete_empty(self):
283 def test_bang_autocomplete_empty(self):
284+ with patch.object(searx.engines, 'initialize_engines', searx.engines.load_engines):
280− initialize()
285+ initialize()
281− query = RawTextQuery('the query !', [])
286+ query = RawTextQuery('the query !', [])
282− self.assertEqual(query.autocomplete_list, ['!images', '!wikipedia', '!osm'])
287+ self.assertEqual(query.autocomplete_list, ['!images', '!wikipedia', '!osm'])
283
288
284− query = RawTextQuery('the query ?', ['osm'])
289+ query = RawTextQuery('the query ?', ['osm'])
285− self.assertEqual(query.autocomplete_list, ['?images', '?wikipedia'])
290+ self.assertEqual(query.autocomplete_list, ['?images', '?wikipedia'])
tests/unit/test_webapp.py+6−1
@@ -3,14 +3,19 @@
3import json
3import json
4from urllib.parse import ParseResult
4from urllib.parse import ParseResult
5from mock import Mock
5from mock import Mock
6−from searx import webapp
7from searx.testing import SearxTestCase
6from searx.testing import SearxTestCase
8from searx.search import Search
7from searx.search import Search
8+import searx.engines
9
9
10
10
11class ViewsTestCase(SearxTestCase):
11class ViewsTestCase(SearxTestCase):
12
12
13 def setUp(self):
13 def setUp(self):
14+ # skip init function (no external HTTP request)
15+ self.setattr4test(searx.engines, 'initialize_engines', searx.engines.load_engines)
16+
17+ from searx import webapp # pylint disable=import-outside-toplevel
18+
14 webapp.app.config['TESTING'] = True # to get better error messages
19 webapp.app.config['TESTING'] = True # to get better error messages
15 self.app = webapp.app.test_client()
20 self.app = webapp.app.test_client()
16
21