test_results.py 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. # -*- coding: utf-8 -*-
  2. from searx.results import ResultContainer
  3. from tests import SearxTestCase
  4. def fake_result(url='https://aa.bb/cc?dd=ee#ff',
  5. title='aaa',
  6. content='bbb',
  7. engine='wikipedia', **kwargs):
  8. result = {
  9. # fmt: off
  10. 'url': url,
  11. 'title': title,
  12. 'content': content,
  13. 'engine': engine,
  14. # fmt: on
  15. }
  16. result.update(kwargs)
  17. return result
  18. # TODO
  19. class ResultContainerTestCase(SearxTestCase):
  20. def test_empty(self):
  21. c = ResultContainer()
  22. self.assertEqual(c.get_ordered_results(), [])
  23. def test_one_result(self):
  24. c = ResultContainer()
  25. c.extend('wikipedia', [fake_result()])
  26. self.assertEqual(c.results_length(), 1)
  27. def test_one_suggestion(self):
  28. c = ResultContainer()
  29. c.extend('wikipedia', [fake_result(suggestion=True)])
  30. self.assertEqual(len(c.suggestions), 1)
  31. self.assertEqual(c.results_length(), 0)
  32. def test_result_merge(self):
  33. c = ResultContainer()
  34. c.extend('wikipedia', [fake_result()])
  35. c.extend('wikidata', [fake_result(), fake_result(url='https://example.com/')])
  36. self.assertEqual(c.results_length(), 2)