test_online.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. # SPDX-License-Identifier: AGPL-3.0-or-later
  2. # pylint: disable=missing-module-docstring,disable=missing-class-docstring,invalid-name
  3. from searx.search import SearchQuery, EngineRef
  4. from searx.search.processors import online
  5. from searx import engines
  6. from tests import SearxTestCase
  7. TEST_ENGINE_NAME = "dummy engine" # from the ./settings/test_settings.yml
  8. class TestOnlineProcessor(SearxTestCase):
  9. def _get_params(self, online_processor, search_query, engine_category):
  10. params = online_processor.get_params(search_query, engine_category)
  11. self.assertIsNotNone(params)
  12. assert params is not None
  13. return params
  14. def test_get_params_default_params(self):
  15. engine = engines.engines[TEST_ENGINE_NAME]
  16. online_processor = online.OnlineProcessor(engine, TEST_ENGINE_NAME)
  17. search_query = SearchQuery('test', [EngineRef(TEST_ENGINE_NAME, 'general')], 'all', 0, 1, None, None, None)
  18. params = self._get_params(online_processor, search_query, 'general')
  19. self.assertIn('method', params)
  20. self.assertIn('headers', params)
  21. self.assertIn('data', params)
  22. self.assertIn('url', params)
  23. self.assertIn('cookies', params)
  24. self.assertIn('auth', params)
  25. def test_get_params_useragent(self):
  26. engine = engines.engines[TEST_ENGINE_NAME]
  27. online_processor = online.OnlineProcessor(engine, TEST_ENGINE_NAME)
  28. search_query = SearchQuery('test', [EngineRef(TEST_ENGINE_NAME, 'general')], 'all', 0, 1, None, None, None)
  29. params = self._get_params(online_processor, search_query, 'general')
  30. self.assertIn('User-Agent', params['headers'])