test_results.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  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', title='aaa', content='bbb', engine='wikipedia', **kwargs):
  5. result = {
  6. # fmt: off
  7. 'url': url,
  8. 'title': title,
  9. 'content': content,
  10. 'engine': engine,
  11. # fmt: on
  12. }
  13. result.update(kwargs)
  14. return result
  15. # TODO
  16. class ResultContainerTestCase(SearxTestCase):
  17. def test_empty(self):
  18. c = ResultContainer()
  19. self.assertEqual(c.get_ordered_results(), [])
  20. def test_one_result(self):
  21. c = ResultContainer()
  22. c.extend('wikipedia', [fake_result()])
  23. self.assertEqual(c.results_length(), 1)
  24. def test_one_suggestion(self):
  25. c = ResultContainer()
  26. c.extend('wikipedia', [fake_result(suggestion=True)])
  27. self.assertEqual(len(c.suggestions), 1)
  28. self.assertEqual(c.results_length(), 0)
  29. def test_result_merge(self):
  30. c = ResultContainer()
  31. c.extend('wikipedia', [fake_result()])
  32. c.extend('wikidata', [fake_result(), fake_result(url='https://example.com/')])
  33. self.assertEqual(c.results_length(), 2)